Tuesday, September 2, 2014

How to Stop Yak Shaving

Sometimes in the software development world, things go more or less according to plan.  I have a project, I work through said project in a relatively orderly fashion, and I finish and release the project more or less on the deadline.

And then there's the rest of the time.  I start in on a project thinking that everything that everything is under control, only to find that three weeks have passed and I'm no closer to achieving my original goal, but I'm sure that what I am building is going to be epic and if I can just finish this one thing that I thought of yesterday and started implementing this morning that is not even in the same hemisphere as my original goal but is very important, everything will be perfect and I'll be finished in no time.

Ever been there?  I certainly have, and apparently so have enough other people that there's even a term for it - yak shaving.

The term "yak shaving" was first popularized at MIT Media Labs, and later translated into non-technical terms by Seth Godin.  Personally, I like Seth's explanation the best:

Yak Shaving is the last step of a series of steps that occurs when you find something you need to do. "I want to wax the car today."
"Oops, the hose is still broken from the winter. I'll need to buy a new one at Home Depot."
"But Home Depot is on the other side of the Tappan Zee bridge and getting there without my EZPass is miserable because of the tolls."
"But, wait! I could borrow my neighbor's EZPass..."
"Bob won't lend me his EZPass until I return the mooshi pillow my son borrowed, though."
"And we haven't returned it because some of the stuffing fell out and we need to get some yak hair to restuff it."
And the next thing you know, you're at the zoo, shaving a yak, all so you can wax your car.
From Seth's Blog: Don't Shave That Yak! 

The danger of yak shaving is that it feels productive.  Perhaps all publicity is good publicity, but not all work is good work.  While waxing your car and fixing a yak hair pillow may both be important, fixing a yak hair pillow as a means to wax your car is not.

So how do I stop yak shaving?

Step 1: Admit that you have a problem

The first step, of course, is to admit that I'm yak shaving.  As with most problems, this step is the most difficult.

"No, this isn't yak shaving, this is really important." (I'm halfway to the zoo at this point.)

To decide (honestly) if I'm yak shaving, I have to remind myself of my original goal, and how closely what I'm currently working on relates to/helps with that goal.  If the relationship is "my goal is to wash the car, and I'm using the car to drive to the zoo", it's time to take action.

Step 2: Stop everything

The only way to stop yak shaving is, well, to stop yak shaving.  For me, this means stopping what I'm working on cold turkey.  There's a real temptation to work for "just five more minutes", but ultimately this isn't any more productive than hitting the snooze button in the morning.  One moment you're sleeping an extra five minutes, and the next you're running out of the house, one shoe half on, the other in your hand, and the third...wait, why do I have three shoes!?

Walking away is hard because it feels like giving up.  What drives yak shaving is the feeling of productivity combined with the promise of future excellence.  In reality, yak shaving is the work equivalent of an infinite loop - you're using CPU cycles, but you aren't really getting anywhere.

Step 3: Work on (and finish) something else

After completely walking away from my half-shaved yak (sorry buddy!), my next step is to find a bite-sized project that I can finish quickly and easily.  This new project must be completely unrelated to my yak disaster, it must be small and I must finish it.  Even if the project is incredibly trivial, the point is to re-train my brain to start and finish something, anything, without expanding and second guessing and finding a way to make it epic.  In addition to reminding me how to finish a project, this serves to restore my confidence that I can finish a project.

Step 4: Return to the original project (with a fresh perspective)

Once I've completed my unrelated project, I can go back to the zoo and assess the damages   Usually, with this much-needed distance and perspective, I can get back to washing my car like I originally planned.

Monday, January 13, 2014

I Can't Find Women Because They Don't Exist, and Other Myths

"I don't have any women on my [team, industry, board, etc] because they don't exist."

This is the obliquitous response to the question "where are the women?".

"I looked, but qualified women just aren't out there."

Sure, in some cases, there are actually fewer women available to fill a particular role, but by allowing this as an excuse, we miss the bigger issue.  If you're having to specifically "seek out women" and "just can't find women who are qualified", perhaps you're not offering something that is appealing to women, or at the very least, you're not offering it in a way that's appealing to women.

I'm not saying you don't have something that women want.  Do women want jobs?  Of course.  To work in technology?  Sure.  Hold board seats?  Absolutely.  However, having something that people want isn't the same thing as having something that is appealing.

Let's frame this same conversation a little differently.  A new marketing manager at a company has their first meeting with their new boss.  "I can't find any customers because they aren't out there.  I looked everywhere, but it seems that there just aren't people qualified to buy our product."  So as not to be completely remiss, the marketing manager offers an explanation.  "It seems the problem starts in school.  People just aren't interested in getting the education required to qualify them to buy our product."

Sufficed to say, our marketing manager soon finds himself out of a job.

The problem with the "we looked but we couldn't find them" excuse is that, either figuratively or literally, you're leaving money on the table.  It's no secret that startups with a female executives are more successful, and that companies with women on their boards are more profitable, and yet so many people are still embracing the "it's been working well enough so far, so why think about or risk changing it?" mentality.  In the startup world in particular, we pride ourselves on innovation.  We are hackers.  We are all about disruption and changing the status quo.  But as we look for industries to disrupt, we don't always consider what it means to disrupt our own.

In many cases, women who have succeeded in male-dominiated areas (the Sheryl Sandbergs of the world), have done so by learning to play a man's game.  Much of the current status quo was created by men, and therefore, as makes sense, is reflective of what makes men comfortable.  Women who want to succeed in male-dominated areas have to learn not only whatever specific skills are required for their actual job, but also have develop the skills to cope with considerably more discomfort than their male counterparts. (I'm intentionally leaving the whole "are men and women fundamentally different and is it because of nature/nurture/society/teddy bears" conversation aside for the moment.  Let's just assume that, whatever the reason, men and women have their differences.)  As an example, there is no shortage of books, articles, etc, giving advice to women on how to negotiate raises, because, as a sweeping generalization, this is something that is more uncomfortable for women than it is for men.

If you really want to bridge the gender gap, you have to go back to basics.  Instead of trying to find women who are willing to play a man's game, think about how to change your game so that women actually want to play.  Disruption isn't just about about introducing innovative technical solutions, it's about fundamentally changing the status quo for everyone's benefit.  If you want to attract women, figure out what women are attracted to (hint: in this process, sometimes it helps to get an actual woman's perspective).  Maybe it's creating a company where raises aren't given through negotiation, maybe it's about innovating a new way for founders to pitch your venture capital firm, maybe it's about holding your board meetings in the office, rather than a golf course.

The impetus is not on women to get interested in your company, industry, board, etc, it's on you make your board, company, etc, interesting to women.  Unless you enjoy leaving money on the table, in which case, be my guest.
More for me.

Wednesday, December 18, 2013

Product Design: What Can You Take Away?

I've been spending a lot of time blogging on my company's blog, and one of my most recent posts was on learning to design as a software engineer, aka someone with no design background.  One of the lessons I've learned is that a critical part of good design isn't what you add, it's what you take away.  When designing a product, the creator invariably wants to make sure the product includes All The Things to maximize the product's utility.  While some of The Things do enhance your product, others take away from it by making the product overly complex, sucking up development resources that could be better utilized on a different feature, etc.

Instead of "What should I add?", the better question to ask is "What can I take away?".

Figuring out what to remove is incredibly difficult, especially because at first glance everything seems critical.  In the game of elimination, it is important that no feature is safe.  Sometimes the thing that should be removed is the thing that's least obvious.

Let's consider my favorite real world example:

Have you ever noticed how at major airports, airplanes use trucks to push them when they need to go in reverse?  Commercial airplanes don't reverse.  At this point, major airports are aware of this and are set up to deal with it, but at first glance the ability for an airplane to reverse is not an obvious feature to remove.  Airplanes are motor vehicles - of course they can drive in reverse.  Cars reverse, boats reverse, go carts reverse, why wouldn't airplanes?  Not only is an airplane's ability to reverse an expected behavior, an airplane has to reverse as part of it's daily operation to back away from the gate, etc.  This makes the choice to remove this feature even less obvious.

With all these considerations in mind, certainly the airline industry has the resources to dedicate the time, effort, and man-power to building a airplane that is easy to reverse or capable of reversing.  The important question is: should they? Is the ability of an airplane to go in reverse something that is absolutely critical to the product, or can it be removed?

The answer, in this case, is that it can be removed.  (The internet informs me that while some airplanes are physically capable of reversing, it is usually not practical for them to do so.)  This, however, doesn't address the issue that airplanes do actually need to move in reverse, which brings me to my next point:

There's more than one way to solve a problem.

If airplanes need to move in reverse, and making airplanes that reverse easily is out, then what are the other solutions?  One solution would be to design airports in a way that airplanes never need to reverse (though I imagine you could potentially run into a Zoolander-style situation if something didn't go as planned).  Another solution is to use a different motor vehicle to move them backwards, like a reverse tow truck.  Ultimately, this is the solution that won.

In product development and design, asking what can be removed and looking for multiple solutions to a problem are key to building the best product possible.  When you break down expectations and allow yourself to really think outside the box, the least obvious and often best solutions arise.

Monday, April 15, 2013

I Can't Hit A Girl

Let's talk about hazing.

What is hazing? Well, as a former college athlete (and team captain who was forced to attend a workshop on the matter), I could tell you more than you or I ever wanted to know. Though it has been infamized by athletics in recent years, hazing exists in all walks of life. It's purpose, at least theoretically, is to introduce a new member or members to an existing group, and also, and perhaps more importantly, test their ability to join the group. Does making a new frat brother chuck a gallon of water really achieve that? No. But that's a conversation for another time.

Note: I do not in any way condone any/all hazing activities that go on in college, or any other venue really, that are harmful or hurtful.

So why is this relevant to software engineering?

As with many of my posts, this one stems from an interesting conversation I found myself in about a week ago. I was talking to a (male) programmer about hacking culture, and he started the conversation by discussing how hacking is FILLED with hazing. I quickly agreed, without thinking too much of it. And then I stopped...

Wait a minute. Of. Course. It. Is!

Male programmers test, badger, cajole, and downright come to blows with each other ALL THE TIME. They test each other's programming chops, they badger each other over languages, programming ideologies, code format, etc - and honestly, this constant competition is an important part of what creates great code. Constantly being questioned, challenged, etc, can lead to thinking about a problem a new way and innovating a completely revolutionary solution. Where this "hazing culture" breaks down is when a female programmer enters the equation.

"But I can't hit a girl."

While men will test, bother, and argue with each other all day long, there is a complete unwillingness to include women in this process. My guess (and correct me if I'm wrong, guys), is that this is an extension of the whole "I can't hit a girl" philosophy that starts on the playground. While in a literal sense this is a very good rule (a. very. good. rule.), in this particular case, it's misapplied and in fact detrimental.

Here's why: If men are unwilling to treat female programmers in the same way they treat each other - aka badger us, give us grief, question us - we are never really invited to participate because we can never prove our worth. And if we can't prove our worth and aren't in the game? Well, no one ever got any practice or won any metals sitting on the sidelines.

So men, don't be afraid to test a female programmer in the same way you'd test a man. If you think my code is shit, tell me my code is shit! If you think my choice of programming languages is stupid, hassle me about it. Think you can code better or faster than I can? Let's have a pissing match! I won't break, I promise, and I'm not afraid to get my hands dirty! In fact, I'd prefer it. Because that's when the best things happen.

Saturday, January 26, 2013

Don't Learn the Rules - They'll Just Change Anyway

"The rules" as they once were don't exist anymore. It used to be easy to be successful (or at the very least, straightforward). Go to school, get good grades, go to college, get good grades, get job at company, stay there for 20-30 years, make lots of money, retire, move to Florida.

Simple, right?

But then the internet came along, upending nearly every industry (and for the industries it hasn't upended yet, it's just a matter of time). And the recession hit, leaving many people with careers that were distinctly derailed. All of this left people saying "wait a minute, I did what I was told to do but I didn't get the life I was promised - what went wrong??".

Welp, the rules changed. Or maybe there were never really rules to begin with. Either way, the only consistent thing these days is change.

Crap! Now what??

It's all about adaptability.

A friend of mine was asking me recently for travel advice (I travel a bit) and the best advice I could give her was "be flexible and don't have a rigid plan." If you think back on any trips you've taken (either across the world or just across town), I would be willing to bet that the greatest moments of stress came from plans changing. Maybe your flight was delayed and you missed a connection. Maybe you hit some crazy, unexpected traffic. Maybe the hotel you'd booked lost your reservation. Whatever it was, your sense of calm came from knowing the rules (or plans), and your stress rose from having those rules change.

The solution: Have no plan!

Ok, that's a little extreme. You can have a plan. But perhaps we should take a look at what that actually means.

In the case of traveling, let's say you have a room booked in Paris for the night. You arrive there, tired and ready to check in, and the hotel has lost your reservation. Not only have they lost your reservation, they are completely booked solid. Even the couches in the lobby are spoken for - there is no way you are staying there for the night.


Now in your head, your plan may have been to stay at the specific hotel, but the REAL plan, your real goal, is to visit Paris. Which hotel you're staying at doesn't actually make a material difference in your REAL goal. So, use the hotel's wifi to find a new hotel, or ask around, or walk down the street (hotels are often in clumps). All you need is *a* place to stay not *this* place to stay.

(As it turns out, there's another hotel down the street that doesn't really do the whole "online" thing and therefore has much better rates and is much more unique - and you never would have found it if it weren't for hotel mishap #1!)

The same philosophy applies to most (probably all) aspects of life. Having an idea is good (I want to visit Paris). Having a rigid plan (must. stay. in. this. hotel.) is, well, limiting. Things change. Industries change, plans change, careers change, the world changes. And this is a GOOD thing (unless you'd like to go back to milling your own wheat...personally I would not). Change means innovation and innovation means progress.

So how do you plan for a world where the rules are constantly changing?

The best skill you can have is the ability to think on your feet - to adapt. Have your goals in mind, but be flexible about how you achieve them. Be willing to try a new way of doing something, be willing to explore until you find a better option, accept that if plans A-D fall through, plan E might have been the best option all along.

Breathe, relax, and enjoy the ride!

To illustrate my point,
while traveling last year I missed my bus
- the only one running that day -
and ended up going to a totally different place

...that looks like this.
Palaiochora, Crete, Greece

Saturday, December 29, 2012

The Best Cappuccino in the East Village

So I'm going to deviate a little bit from talking about technology, or things related to technology, and talk about coffee. I know, I know, not exactly a huge deviation, coffee is to coding as...I dunno something very important.

I moved to the East Village in New York a little over a year ago, and have spent the last year scouring the neighborhood for the best coffee. I have tried to sample as many different brews as possible in search of the best - and the list below is what I have come up with.

It should be noted that I am an avid cappuccino drinker and I am therefore using a cappuccino as my baseline at the places below. In fact, any time I say "coffee" you can assume I mean "cappuccino".

So, in a very particular order:

Fresco Gelateria
138 2nd Ave
Brewing: La Colombe
This is a new addition to the East Village (and also somewhat newly discovered by yours truly). I've walked by this place a million times, but always forgot about it when it was time for my morning coffee run. Finally I remember and went in and WOW I'm so glad I did! The coffee is amazing, the owner is incredibly sweet - she gives you a mini croissant with your coffee if she has extras, and the pastries are delicious! This has quickly become my favorite coffee spot.

Ninth Street Espresso
341 East 10th Street and 700 East 9th Street
Brewing: Their own roast
Whenever I come here I always joke that I'm going to "Ninth Street Espresso on Tenth". Unless of course I'm actually at the ninth street location - which is an amazing coffee shop. It sort of feels like you're in someone's backyard greenhouse - an impressive feat in the middle of Manhattan. The location on tenth boasts the same delicious coffee - one of my absolute favs.

86 East 7th Street
Brewing: Stumptown
Famous for its coffee snobbery, this place does actually live up to its reputation. The coffee is delicious, the pastries are to DIE for, and the ambiance is very hipsters-cafinating-their-hangovers. The olive oil cake alone is enough to keep you coming back, but put everything together and you've got the perfect coffee experience.

Everyman Espresso
136 East 13th Street
Brewing: Counter Culture Coffee
This coffee shop is in the front of a theater (the kind with plays, not the kind with movies), which I always get a kick out of. Their coffee is delicious, their staff is friendly, and the location is convenient (I often go here on my way to Union Square or some other part of the city).

Van Leeuwen
48 1/2 East 7th Street
Brewing: Intelligentsia
Mmmmm ice cream. I mean coffee! Yes, coffee. Though technically this is an ice cream place (which also means they do affogato...mmmm...), the coffee here is quite delicious. They have their own roast of intelligentsia, always a good sign, and the baristas work magic with it.

Momofuku Milk Bar
251 East 13th Street
Brewing: Stumptown
Again, not a place you'd expect to go for coffee. In addition to having some of the best desserts around, this place actually boasts some legitimate coffee as well. If you haven't tried their desserts...beware. They even have one called "Crack Pie".

Special mention (technically their locations are in NoHo and SoHo respectively):

La Colombe
270 and 400 Lafayette Street
Brewing: La Colombe
Delicious, delicious coffee, but this place makes the list for two other reasons. First, the cappuccinos are larger than most places (I know, I know, that means more milk, not more coffee, but hey sometimes you wanna savor your coffee that little bit longer). Second, they set your coffee on the bar with a plate and a spoon, even if you're getting it to go (just like in Italy, though the concept of "to go" would be a little lost on Italians). The idea that you can stand at the coffee bar and sip your cappuccino in an American coffee shop is pretty radical. And by radical, I mean awesome.

Wednesday, November 14, 2012

Hacking Entrepreneurship

I had a great conversation with a friend over dinner a few nights ago about what it means to be an entrepreneur.

When one thinks of an entrepreneur, specifically in the tech industry, the common image is someone who works 25 hours a day - someone who sleeps, eats, and breathes their company. Someone who codes/plans/networks/blogs until the wee hours of the morning. Someone who never stops working.

This image is not only the accepted standard - it is self perpetuating. If you're not working 25 hours a day, you are not working hard enough, and your company is not going to succeed. The most successful entrepreneur is the one who works the hardest, who eats ramen for the longest, who sleeps the least, who sacrifices the most.

When you're thinking about starting a company, as I am, this is a daunting image. The accepted model for entrepreneurship says "beware all ye who enter here - you are about to sacrifice every part of your life if you choose this path". A certain about of risk and sacrifice are inevitable, of course, that's part of the draw, but everything? I have to sacrifice everything? Live off ramen and sleep two hours a night and forego all social life and life in my parents' basement if I have any hope of success? I'm not so sure.

So let's take a step back. What is an entrepreneur, actually? We might think of an entrepreneur as someone who starts a company, or someone who is able to support themselves by some means other than a traditional 9-5 job. According to Merriam Webster, and entrepreneur is one who organizes, manages, and assumes the risks of a business or enterprise. So what does that really mean?

Let's start from the last point: "one who assumes risks". The emphasis on hard work and sacrifice stem mostly from the risk the entrepreneur assumes. Success? You get the accolades. Failure? That's on you too. No matter what happens, you as the entrepreneur are ultimately responsible. The fear of failure is hugely motivating. Everyone wants to found the next Facebook/Twitter/etc, not the next...wait what was the name of that company?

Assuming all the risk for a company is terrifying. The idea of never getting another good night's sleep is nerve wracking. Having to sacrifice every other aspect of your life makes one start to reconsider.

As someone who is in the process of starting their own tech company, this image of entrepreneurship has given me pause. Am I really ready to give up everything in my life? Am I ready to be tethered to a computer 25/7? Is this really what I want? Maybe I should just go back to working a 9-5 job.

Two of the most important parts of entrepreneurship are innovation and creative problem solving. To start a company is to create a new way of doing something, or to create a new thing to do. If you can innovate a product, what not innovate what it means to be an entrepreneur?

In addition to assuming risk, and entrepreneur is "one who organizes" and "one who manages". If you are the one organizing a company, why not organize it in a way that makes sense for you? Want to be able to hire talent regardless of geographic location? Who says you can't? (37 signals does it) Love working from home? Build telecommuting into your culture. Prefer to be around people? Find a good office or coworking space. You're the boss now - you get to make the rules.

Though the entrepreneur is the one who assumes all the risk of a company, that does not mean they have to be the one to do all the work. Part of building a company is building a competent team to surround you. Though your company is expected to be on call 25/7, you as an individual aren't. Your team is there to support you, to work with you, to take on their piece of the work. Hire people you trust, and trust them to do their jobs. Assume the roll of "one who manages".

As I move forward with my company, I am realizing that I don't need to fall into the trap of what entrepreneurship is "supposed" to be. I can create my own definition of what it means to be an entrepreneur - one that fits me. That doesn't mean I won't be working hard, I know I will be, but as they say when you're doing what you love (in the way that fits you), it doesn't feel like work at all.

Stay tuned.