I burned out at BigCo. Am I a fool for thinking I can avoid this at a startup?

156 points by thrwwy20120508 ↗ HN
(been on HN for half a decade, but posting anonymously because I could be perceived as damaged goods and hence unemployable)

The story is a familiar one to readers here, so I'll spare the details. Abusive management, perpetual "crisis mode," promises repeatedly broken, entrenched technical incompetence, smothering bureaucracy, vomit-inducing organizational politics -- the whole nine yards.

I started as a wide-eyed youngster desiring to prove myself, went through the denial phase, and ultimately suffered a total loss of motivation. Since then I've left the job to spend some time recovering, soul-searching, and gathering what I can as lessons learned.

Right now I'd say that I have the (financial) risk tolerance to work at a startup, as well as the desire to work on challenging and meaningful tasks, especially with growth and learning opportunities and a level of ownership such that I can take pride in my work. But I doubt I have the dedication or interest in the business aspects necessary to start a company of my own, hence my willingness to give the startup employee route a shot.

However, given my experience with burnout, I feel that I may be excessively skeptical of what any employer would have to offer. Of the problems I mentioned before, everything other than the red tape could just as well happen in a startup. The obsession with "rockstars" and "ninjas" who have unwavering "passion" just smells like a search for naïve, exploitable labor willing to give up evenings and weekends for foosball games and beer. The prevalence of social bubble-worthy companies whose value propositions are little more than "cat pictures" suggests an inflated sense of self-importance among the founders, and I can't expect to keep my level of enthusiasm in line with their irrational exuberance. And while I don't need much job security, having the specter of financial instability looming over the office tends to be at minimum somewhat distracting and most likely quite demotivating.

Perhaps a startup that has gone through the vetting process with YC would have less of these issues, but even then I have some doubts. I'm not in any position to question PG's judgment, but after seeing some of the announcements of companies funded and the infamous "YC company seeks brogrammer" job post, I have a feeling that his evaluation metrics for founders may significantly diverge from mine.

I recently passed up an opportunity at a very high-profile technology company mainly because everyone on the team was required to carry pagers. It just didn't feel right, especially for an established business that claimed it was being run like a lean startup. But it did get me thinking -- why would an actual startup not require the same?

tl,dr: Can I expect to find a position with the potential professional rewards of working at a startup, while still setting strict boundaries on work to preserve my sanity? Or am I trying to have my cake and eat it too?

140 comments

[ 2.9 ms ] story [ 275 ms ] thread
It depends on the source of your burnout.

Are you feeling oppressed by endless meetings and the sense of being rendered ineffective by mountains of bureaucracy? You will get much more actual work done at a startup.

Are you feeling like you want to spend more time drinking beer at home? Startups are not for you.

Boundaries and stability are unlikely to be found in a startup. Not my area of expertise, but it sounds like a med/large company with a positive work culture and less-toxic politics might serve you well for a few years.

Best of luck!

I am a student who hasnt even landed a summer internship, so take what I am about to say with a grain of salt.

I take "I have the (financial) risk tolerance to work at a startup" to mean you have some savings built up. Why not just take your time job searching? All companies aren't the same. Instead of focusing on looking for a "startup" instead look for any company that fosters the type of environment that you want to work in.

I went the opposite direction, burnt out by startups and went to a BigCo.

I have never been at a startup where you could remotely set strict boundaries on work. You have to be available at all times to deal with whatever crisis is happening.

Moving to a BigCo, they treat me way better than a startup, and there is less day to day stress. I have weekends and my time off work really is "off" again.

I couldn't be happier with the switch. Do I miss things about working at a startup? Sure.. but being treated like a professional and having a life again is more important than the chance at glory, money or being "the" guy to fix this critical unsolvable problem.

Now I'm one of many many people solving problems no startup I've been in could dream of solving.

Just my experience, I'm sure many people have divergent experiences.

Edit:

I would also like to add a key driver to my happiness is that I'm in a position of change at the BigCo. It's not just endless meetings, and I have a great deal of autonomy, and am working on exciting things.

I had this in startups too... so I didn't trade usefulness for constant meetings.

Thought that was important to add, I'd feel differently if I didn't have a useful, interesting and rewarding job at a BigCo... which I could have never gotten without working in startups for the beginning of my career.

How did you go about finding that BigCo job?

Perhaps its down to the job market in the UK and .NET that everything is handled by recruiters that hide lots of details about BigCo jobs or make them sound dull.

it sounds like you need a break...perhaps you should take six months off and do some consulting, relax and then wait for the right opportunity.
Being willing and able to walk away from it all to become an early employee is actually even less common than people who do it all to become a lone entrepreneur, so don't sell that aspect short.

Getting institutionalized in a toxic work environment is a good thing to escape, but it's important to recognize that making the transition to a startup requires casting a lot of the baggage associated therewith overboard; some of it doesn't even feel like baggage.

Many startups (like mine) don't crack the whip and force you to work outside the bounds of reality or past your optimum productivity. Just gotta seek us out.

Is there any company that has the rewards you desire and has strict boundaries on work time?

I would get specific with the things you want, then you can analyse opportunities against those criteria.

The first company I worked at freaking sucked as well, it's soul destroying I agree, but you live and learn.

Lastly one of the biggest lessons someone pointed out to me is we teach other people how to treat us. If someone calls you at 10pm at night and asks you to do something and you do it. You have just confirmed to that person this is ok.

> Lastly one of the biggest lessons someone pointed out to me is we teach other people how to treat us. If someone calls you at 10pm at night and asks you to do something and you do it. You have just confirmed to that person this is ok.

So true! I still did it after vehemently expressing my displeasure and taking my manager's word that it was "just this time only" -- then he did the same thing the next week!

After that experience, I'd much rather risk getting fired than subject myself to that sort of abuse repeatedly.

'It just didn't feel right'

If I had trusted this I would have dodged some 'bullets'

Likewise only by ignoring good advice have I learned to ignore bad...

Yes, go into academia. Do some research. That's the most comfortable job one can ever have. You have to like research though. Do masters in something you like. Just anything related to academia.
(comment deleted)
If you're still struggling with burnout and concerned your motivations and desires aren't going to line up with the company founder(s)' motivations, then listen to your gut! You know you the best, and you seem to be saying--via your post--you're unsure about jumping into the startup world at this point in time.

I understand where you're coming from, I've worked at BigCo. as well. If you want an opportunity that offers learning opportunities, task ownership, growth potential, and some policies of an established business (work/life balance, for instance), why don't you take a look at a small, growing "post-startup" company with <50 people? For purposes of clarification, post startup being defined as: Has at least one viable product or service being sold to and used by customers, established sources of revenue, corporate financial stability, been in existence for several years, and some level of defined business/HR practices. You get the benefits of working for a small company without the stresses of being in constant start up mode.

Such companies do exist, the industry they work in might not be glamorous and you will have to dig to find them, but if you find one you mesh well with, you'll learn alot. The most important part of this whole process is to ask questions about issues you care about and if you don't like the answer they give, ask a more penetrating follow up. Always make sure to ask to speak with someone you'd be working with, they'll have a trench level view of the system. And, at the end of the day, if you don't feel comfortable with the place and don't think you'd jive with their work environment, you don't have to take the gig. :)

tl,dr: Such places do exist, they just probably aren't startups, and you're going to have to dig to find 'em.

You talk of startups like they're only run by 20-something brogrammers. Find a small company that isn't, then work there. Find a company with a CEO / founder who's in their 30s, 40s, or 50s and has a family. There's tons out there. You'll find a better work/life balance and less foosball.

Don't be the first hire, be the 10th, after they've established themselves but are still small enough that it has that startup vibe. Don't expect stock options but the pay should be market rate by then.

At small companies, you ship. Or you go out of business. You also probably won't read about 99% of them on HN. Ignore HN (except for the who's hiring) and get to work building something awesome!

I couldn't agree more. I am 20-something and have always worked for startups with older founders - I actually respected them and always learned a lot.

Meanwhile, the atmosphere in some of the incubators is little better than a frat boy club house. Not really a work environment.

In the last year I left BigCo for the kind of company you describe. It's been mostly a positive experience so far. I've gone to a lot less meetings and learned a ton about technologies I never would have touched at my BigCo job.

At small companies, you ship. Or you go out of business.

This is important to keep in mind mainly because many people have a hard time with that sort of stress. Small companies, even profitable ones, have small margins of error. The upside is that in a small company you should have a lot more contribution to the success or failure.

This.

Many people seem to have this Platonic form in their head for "start-up", complete with brogrammers, X-box, and 70-hour work weeks (okay, perhaps a bit of an exaggeration, but you get this gist -- there are certain aspects with lots of hype right now). While those do companies exist and some of them are now in the spotlight, they are not actually a majority. Don't be fooled by that myth about start-ups. There are plenty of really good young, small start-ups in between that and big co, including some that are still small but already established in their niche, and these seem to be the sweet spot you're looking for.

Startups have their own pathologies, but I'm going to point you that if you think "perpetual crisis mode" is somehow a big-company problem, you're going to be disappointed. Especially at a startup that isn't profitable yet, you're essentially continually in "crisis" given that if you don't achieve profitability or sale, you're going to be out of work. It's a whole different grade of pressure from a big company where "crisis mode" rarely actually results in anyone losing their job.

Also, re this comment "The prevalence of social bubble-worthy companies whose value propositions are little more than "cat pictures" suggests an inflated sense of self-importance among the founders, and I can't expect to keep my level of enthusiasm in line with their irrational exuberance." ... I think you're over thinking this. There are silly startups because people (for one reason or another) are willing to invest in them, and generally those folks aren't the founders. Whatever startup you go to, you'd better believe in what they're doing, because you're going to be taking a huge financial risk and going through a lot of stress attempting to play out that belief.

If you don't believe in a startup, don't work there - but also don't denigrate whatever vision they're trying to implement, at least respect that they're trying.

> There are silly startups because people (for one reason or another) are willing to invest in them, and generally those folks aren't the founders.

I don't think I'd be happy at a company whose own founders don't believe in their mission and are only in it for the money. Built to flip, right?

Well, I was really just trying to point out that the fact there are companies whose "mission" he doesn't personally value doesn't mean that their founders have an "inflated sense of self-worth." It's the nature of startups that there are going to be a lot of long-shot and far-fetched ideas involved... if he happens to not disagree with the mission of a particular startup (or its valuation), he shouldn't then jump to the assumption that the founders are arrogant or self-important. He'd only be hurting himself to do that -- they could be perfectly nice people who happen to have stumbled onto a bit of a bubble in the market, and may be willing to help him out even if he's not going to directly get involved in their particular business.

It's just the nature of the Internet, and anything related to consumer entertainment, that there are going to be some really fluffy / inane things that become ridiculously popular / valuable. As long as the folks behind them realize they're not the new Shakespeare, there's no reason to assume they're any different from people working on more mundane or serious problems.

I agree with this. No doubt there are crappy jobs and crappy bosses that can make a situation unpleasant. But in my 24 year career I've noticed that some people are perpetually discontent in their job and they feel like there is something more important out there.

People who are actually doing "important" or "exciting" work I don't think have this attitude - they consider whatever they're working on to be important and exciting. I've found this to be true from executive positions at corporations making a ton of money, all the way down to flipping burgers on a grill for minimum wage. It isn't specific to software development.

If I felt I was being mistreated or forced to work unreasonable hours, that would be different story. Aside from that I really do believe that a job is largely what you make of it.

I think your gut is right-on; the issues you describe aren't just endemic to BigCo, you'll find them anywhere and everywhere...but...if you have the financial risk tolerance to work at a startup, why not start your own company instead? These days, it's really easy to get going and self-fund with very little capital if you can save up living expenses & tighten the belt for a year or so.

Set goals and a drop-dead date (i.e., if I'm not making money within $65_percent_living_expenses_depleted, time to head back to work) and I suspect you'll be happily surprised by the outcome...

> if you have the financial risk tolerance to work at a startup, why not start your own company instead?

I don't think I'm ready for that yet, and I'd like to think that working at a startup will better prepare me for starting my own.

What really sent me down this path was PG's comment suggesting that "you can titrate the amount of startupness you get in your job by the size of the company you join." (https://news.ycombinator.com/item?id=1346224) It's not a binary decision, but a sliding scale.

Find a startup with financial backing and a significant runway (like 2 years). They have usually put out enough fires already to have some stability. With enough runway, the focus will shift from day-to-day to long term code stability and design decisions. It will still move quickly, but the likelihood of put-everything-on-hold-and-pull-an-all-nighter decreases. Avoiding burnout is a priority, as the founders came pretty close just to get the money. You won't see a simple 9-5, but you will see keeping weekends free and keeping a balance between home and work.
Good call on the pagers, although I didn't know anyone used pagers anymore.

You'll never know until you try it w/a startup. However, being composed of people, like big company's are, all the human failings are evident there.

The upside to startups over big co is not having to deal w/bureaucracy and usually (but not always, lotta big egos in startup founders) more of an egalitarian vibe.

Other than that, I think they are all over the map, just like bigco, some of which are very nice to work at.

Try a week long vacation with no laptop or phone. You'd be surprised what a week away from work can do for burn out.
We don't wear pagers in Startups because we're always connected. We use new forms of communications & technologies to make life easier (Twitter, SMS, Shit... even emails). The great thing about being in a startup is that you have the power to build things in anyway you want, which usually means in a way that will make your life easier, thus you don't have to carry a pager.

Also, I don't even know where you would buy a pager anymore...

I went through the same thing.

All the problems you mention could also happen at a startup, but it is less likely, it really comes down to the people. My advice is when you interview with companies, ask a lot of questions and if something doesn't feel right to you ... keep poking and poking until you get a clearer picture about the questions you have.

Trust your gut and if you don't feel all the way good about it, then don't join. What I've learned in my career is that those little things you overlook at the start of that shiny new gig have a way of growing into massive problems.

Over all things, try to find a place where you really really care about the work, where you're excited to go to work in the morning, or something close to that. And if things go sour, don't waste time trying to 'fix' things, cut the cord and move on. Staying will only make you resentful and tarnish your image/reputation as the quality of your work suffers.

I'll leave you with a quote that has come to summarize my world view these days.

"Life is too short not to do something that matters" --- Hugh Mcleod

Good luck.

Excellent post. Gotta trust your gut. Gotta trust your gut.
Can anyone recommend a resource or list of good questions to ask in addition to or similar to what's posted here?

Thanks a lot for this.

It really comes down to you and the things you care about.

- For example, I'm a night owl so a company like github that doesn't care about hours appeals to me greatly, http://zachholman.com/posts/how-github-works-hours/, I'll ask about their attendance policy, how late is late? How much do they frown on lateness. More importantly how does the guy supervising you feel about it.

- I hate forced pair programming, so that's the first thing I ask. if they pair program even 40-50% of the time, I'm out.

- I don't like companies that scrimp on developer tools, so I ask about the equipment they get for developers. What the budget is for each dev? How often they replace the equipment? Do they pay for developer conferences or books or their employees have to take PTO and pay their way?

- I don't like walled gardens, where devs can't influence product design, you know ... just-code-this-spec devs ... So I'll ask things like, what was the last feature a developer suggested that made it into production? This one usually stumps the fakers, you know the people who try to recruit rockstars and turn them into code monkeys?

- I ask Devs when they get time to catch up on HN and read blogs, or play around with new technology and from their responses I can usually tell if doing that stuff at work is frowned upon (No bueno) or encouraged.

- I also ask what sideprojects they're working on. just like that. If the dev looks shocked, I run. If they say something like ... "I have so many ideas and after mentioning them to x they usually become product features" ... that warms my heart. If they say something like, "I have some stuff I'm working on, but I'm still trying to see how to get it in front of people", then I'll dig deeper.

Just ask about everything and take time to actually interview the company, on the things that matter to you.

I have a prepared list of questions in evernote that I add questions to and delete stuff from as they pop in my head reading HN or just hanging out, one list for the devs, another for the managers and another for the higher ups (if I get a chance to talk to them). I have cultivated it over 2 years and it really helps me get a feel for how I'm going to get along with my potential employers, whenever I sit down to talk to anybody.

My experience with startups (and started up and made its) has been pretty negative with respect to mental health and work life balance: I've got to tear myself away from the perf charts, server logs and IntelliJ to make sure I don't miss my sons growing up.

If you'd like a reasonable work-life balance with a lot of smart people, I can recommend my ex-employer, Guidewire. They don't work crazy hours and have a fairly adult work environment, and their recurring revenue model guarantees a level of stability underneath the technical innovation.

It sounds to me as if the causes of your burnout are not related to overwork and long hours, but more about poor management, too much bureaucracy and resentment. However, different companies have different attitudes to work boundaries, and it's up to you to find out what they are and whether those are aligned with your own attitudes or not. What are you willing to do?

In terms of general advice, coming back from burnout to a new job:

I'd advise you in the first instance to look for a workplace that is as free of assholes as possible. This is easier to accomplish in a small company just on a sheer scale basis, but there are still plenty of small companies that are full of assholes. When you interview, remember you are interviewing your coworkers as much as they are interviewing you. I chose my current job based heavily on this criterion, and I have never regretted it.

Next up, remember the three key things required for job happiness: autonomy, mastery, and purpose. You will generally speaking get more autonomy in smaller companies, although some medium - large companies have worked hard on maintaining this. (See the recently leaked Valve employee handbook for an example.)

Mastery - assuming you like to learn new stuff - is something you will be forced into at a startup, where everything is your job. It's mastery or failure.

Purpose depends on the company you choose. Basically this amounts to doing something you personally think is important. (I'd advise you to choose carefully here: I personally couldn't summon up enough passion to work on advertising-related products, for example.)

Spend time researching your options, and I hope you find something that makes you eager to get to work each morning. Best of luck to you.

Short answer: yes.

Long answer: talk to a lot of people in the kind of role you want. Find out what their work life is like. You need to get this information from employees, not from employers-that's how you'll get honest information.

(comment deleted)
The last time I did a job search, one of the questions I started asking in interviews was “what distinguishes an employee at your company who meets your expectations from someone who is truly outstanding”? If the response was phrased in terms of hours per week, I knew that was not the company for me.
I'm not surprised that employees are judged by hours worked, but I'm very surprised that an interviewer would have the awareness and honesty to say so in an interview. Was it at least rare?
I (fortunately) didn’t build up a very large sample size, but there was one junior guy I spoke to who started his answer with “a normal engineer will show up at 9:00 and leave at 6:00...”. He did backpedal a bit when I questioned him more closely about the time expectations, and I had other reasons for choosing not to work for that company.
This is probably the most important comment on HN this month. Seriously. Steal that line. Even if you /dev/null'ed the answer (which you shouldn't) the fact that you asked the question has significant value for you in terms of positioning.
As a manager, I personally stress having a sustainable work schedule and work-life balance.

In practice, over the course of 20 years, the developers I have managed that are "truly outstanding" work more at developing their craft and work habits, usually on their own time.

That usually manifests itself in being much more productive during work hours, which is what will actually distinguish them. I don't think that happens by accident and without working extra at it -- at least, I didn't find a way to do that for myself.

Shitty jobs happen. People don't always admit to them, but they're common. A lot of the most successful people seem to have pristine careers and nothing bad to say about any company where they've worked. That's called rewriting history. People want to be perceived as having an unbroken string of successes, but almost no one this in their actual track record. You had a bad job, and now you're depleted, and you probably think your situation is a lot worse than it actually is. No. This is not unusual, and I think 90% of the people reading this thought, "man, that could have been me at one time".

You're not "damaged" because you had a terrible job. This is as common as dirt. Don't take it personally and don't let it affect you emotionally. Almost everyone has had one. If you can afford to take two months off to do recover, do so. If not, then find a job that will allow you to work 9-to-5 and recover on your own time.

On work hours: most startups will have occasional spikes, but well-managed ones will try to keep a 40-45 hour per week average. When people are working 70 hours per week, the quality of work deteriorates quickly. It's a really short-sighted strategy. There are a lot of startups that push people to work 70 hours, but most of those are going to crash and burn.

Also, what happens to most people as they get older is that they have mostly negative work experiences, because most companies are badly managed, and they learn things to avoid. People learn things with experience like, "Working 70 hours per week for months on end doesn't actually work out well." IMO, that's what the 20s, for the smartest people, are actually about: watching people in power fuck up so you know what not to do when you're in charge. Eventually, you'll be in a position to do things properly. It might take a while.

Some things to avoid, going forward: (1) Don't take jobs where the company isn't willing to tell you what you'll be working on. That usually means you're going to be allocated to the least desirable projects. (2) Stay away from the VC darlings, which have (as of 2012, mid-bubble) been infested in MBA culture and are companies in which you're likely to get some insultingly low (~0.01% equity) "profit sharing" offer while making 60 percent of market salary. (3) Don't take an offer just because it's "a startup". Most of these hot startups won't exist in 5 years. Evaluate the job based on the people you'll be working with and the type of work you'll get, not the size of the company. (4) Don't think you're desperate or that your negative experience makes you less qualified for the types of jobs you actually want. Negative experiences are very common, and it gets easier to recover from them as you get older. (5) On job interviews, don't discuss the negative experiences or the bad employer. At all. Bad job experiences are too common to deserve the "silent shame" stigma, but nonetheless, a job interview is just not the place for that. Keep the conversation positive and focused on the future.

For the record, I don't think it actually matters what size of company you work for. There are groups within large companies doing amazing things, and there are awful startups. "Bureaucracy", in the toxic (rather than mildly annoying) sense, is about power dynamics and I've seen dysfunctional relationships in small companies and much as large. In 2006, it was pretty clear that startups were the place to go if you wanted to learn a lot quickly, because we were coming off a bust, startups were undervalued by labor as much as investors, and there were a lot of challenging technical problems in small companies. I don't think that's as true now as it was then. In Real Technology, yes, that's still true; but most of these VC darlings in "social media" are a joke and you won't learn much in them.

What seems to be a trend, in 2012, is that a lot of large companies are developing small and mostly-autonomous groups that I think of as akin to "honors colleges" in order to get a level of talent that would otherwise go exclusively to acade...

Great post that I agree with, except I don't know what a "VC Darling" is. Do you have any examples? How do I know if a startup is a "VC Darling"?
Thanks for taking the time to write this. I needed to hear a lot of these things too.
"that's what the 20s, for the smartest people, are actually about: watching people in power fuck up so you know what not to do when you're in charge. Eventually, you'll be in a position to do things properly. It might take a while."

I like this. That is exactly how I feel and it's great to read/hear about it outside of my head. :-)

well said!

Regarding "On job interviews, don't discuss the negative experiences or the bad employer. At all. Bad job experiences are too common to deserve the "silent shame" stigma, but nonetheless, a job interview is just not the place for that. Keep the conversation positive and focused on the future." . I see this very often when I interview people and when it happens I usually stop the interview not too long afterwards.

When I'm interviewing, I avoid discussing negative experiences precisely because this bias against it exists, but I find the bias to be somewhat irrational and wish I could be more honest.

I'm not saying I want to dwell on the negative, but if someone in an interview asks me "Why did you leave Company X?", honestly answering that I left because "Company X is badly managed" would be a lot easier on me than making up some bullshit reason, which is what I'm forced to do because everyone is so afraid to speak or hear anything negative.

Well put. As someone who does a lot of hiring, I know I'm not talking to a candidate because they're happy with their current job. But at the same time, I want to see that someone has the necessary judgement and discretion to not bad-mouth their current employer, especially when I know that one day, that could be my company.

Also, when a candidate does speak negatively about their current employer, you're left with two possibilities: it's really that bad, or they're not a good employee. As a candidate, you don't really want to raise that possibility in anyone's mind.

Another thing to watch out for: (6) during an interview, if questions about work environment (e.g., “how do you manage unit tests?” which of course is code for “do you have unit tests?”) are answered with “that depends on the project/product/client”.
This is pretty silly thing to watch out for. Being a zealot about anything, especially something like unit tests, is certainly not a good idea when searching for a good job. Setting aside the fact that whether unit tests exist and how they are managed often does depend on the project/product/client (and the fact that many good web start-ups don't do unit testing for very good reasons), it's just a bad idea to discount a company based on some technical aspects you may disagree with (especially if you only have a few years of experience and really don't have a strong foundation for evaluating this).

Instead, you are looking for good co-workers, good management, a comfortable work environment, and a compelling or at least interesting-enough business. You are not looking for a company that merely subscribes to your pet programming philosophy.

Unit tests was just an example. The issue is deeper than that.

When I ask a question in a job interview, it’s because I want to learn something about the company, because I want to know whether its corporate culture and its philosophy of how to run a software shop are in sync with how I want to work. If significant questions get the “it depends” answer, I take it as a sign that either the place is so chaotic that it doesn’t have a corporate culture, or that I won’t know what culture I will work in until I find out who my manager is.

But that's the case at any organization of non-trivial (> about 10 people) size. You can't enforce uniformity - if you do, you end up with a sicker system than if you'd just let everyone do the wrong thing.

One of the key signals I use to judge someone's intelligence is their willingness to say "It depends." Because that demonstrates their comfort with ambiguity, their ability to see distinctions in circumstances, and their confidence in being able to make sense of unfamiliar surroundings. All of these are absolutely essential in doing high-level creative work, where there's no roadmap of best practices because nobody's done it before.

It's great that you ask the question, but if you're looking for a specific answer, you're doing it wrong. You should then be able to drill down into "Depends on what?", and then if you can have a sensible conversation based on that, you've probably found someone worth working with.

In the cases I’m thinking of, “depends on what?” was met with more vagueness, or, in one case, “depends on what the client wants”. (This was at one of those companies whose business model involves a very small core product and a lot of per-customer consulting work to enhance it. Which is a perfectly respectable way to run a company, but the core-to-consulting ratio was too low for my taste.)
"If significant questions get the “it depends” answer, I take it as a sign that either the place is so chaotic that it doesn’t have a corporate culture, or that I won’t know what culture I will work in until I find out who my manager is."

Or, you know, it means "it depends". Because sometimes, it depends on the circumstance. As they say, the exceptions make the rule.

The larger point here is that if you go into an interview prepared to dump on a company because they're not absolutists about your particular favorite development philosophy, you shouldn't be surprised if you don't get the job. And nearly every company is going to have something that they're letting slack in order to keep the lights on.

So maybe not having unit testing is a deal-breaker for you. If so, fine. Don't work for companies that don't unit test. But I hope your list of deal-breakers is short.

So where is the line (for you) between not following a pet programming philosophy and incompetence?

If they don't use a bug tracker? If they don't use version control? If they edit the code on the live servers to make changes/add features?

(I've seen all these things)

I agree it depends a little on the specific project but a lot of these kinds of best practice stuff are more than just pet programming philosophies. If you are used to or function best in a place with a certain level of professionalism than working somewhere with some cowboys who just wing it or somewhere were the every piece of work is in a feature branch with a corresponding user story, conforms to a style guide and has proper tests is probably not a good fit.

Where a team falls on this spectrum is part of the company culture.

(comment deleted)
When I started at my current job 9 months ago (with me, there are now two programmers in the team), there was no bug tracker or formal version control. We still regularly edit the code on live servers for some bug fixes. The first two were (barely) workable for a one person team and got fixed once the team grew, and the third is honestly the right approach for the kind of software we write. The user base for most of our products numbers in the dozens, and I'd rather get a prod bug fix out there as soon as possible rather than having to mess with commit;cd $prod_dir;pull -u or having to deal with the complexity of having too many code environments. I have not yet succeeded at getting a proper testing framework in place - too much hassle dealing with selenium and we don't yet have enough tests written to justify spending more effort. It's the initial capital investment that'll make it worth it, but I just haven't gotten around to it. Rather work on building an actual product that'll add direct value rather than just saving my ass.

These are all practices that in a larger team, or with a larger user base, or with higher requirements, would be untenable. But they work for us, for now.

I've certainly been in that same situation and made the same choices (version control/bug tracker a must, tests would be great but no one finds the time and once it's been left a while then it never gets done). It was a defensible choice at the time.

I learned my lesson though, retroactively adding proper deployment practices is pretty easy, adding tests later is freaking impossible. It's harder to do later when the code isn't fresh in your head (or you didn't even write it) and it takes a lot of time to write tests for legacy code and getting approval to take that much time away is near impossible. Now I pay the 5% tax to do things right and develop features 2-3 times faster long term. (Those numbers are based on pulling some numbers from my work logs and time sheets a while ago, they are very rough and small sample size on a project where there was legacy code with no tests and new code with tests).

To go back to my point though, it's not some rabid devotion to some pet philosophy that would make me think seriously about starting a new job somewhere where they don't test. It's because I've done both and I like my job so much more when I don't have to deal with the bullshit that comes from years or even just months of developer laziness (often my laziness). I can spend more time concentrating on creative problem solving and actual features and less on debugging fragile code.

At this point, I'm not convinced that not testing necessarily leads to laziness.

In my job I deal with a fair amount of legacy code, and definitely find anecdotally that I work several times faster on new code, but that's because the legacy code is crap and the new code is clean and brilliant (just like all code written by yours truly). (Of course, the fact that the code is new and is being edited by the original author are the primary drivers, but I think my code quality is slightly better than my predecessors'.) Once the code is well-written, I don't think that adding tests would significantly improve my productivity. Having a test suite would give me confidence and save me time doing manual testing (no need to test features I haven't touched and am not worried about), but don't see it having a major impact on my development productivity per se.

I meant that laziness leads to not testing. And the "bullshit' that arises from not testing are the bugs and regressions that happen after you role out anything new that isn't completely self contained.

"Once the code is well-written, I don't think that adding tests would significantly improve my productivity"

Yeah, if you never touch that code again then it would not, I agree. I don't have many modules or classes that never change though. I suppose there might be other types of programming where that's not the case.

These kinds of conflicts cause more problems than you might suspect. I respect the fact that different people and organizations code differently. But that respect has to go both ways. Otherwise, you find yourself in a situation where you adapt to others' style of doing things, and they are doing nothing to adapt to yours.

So personally? I say find employers who subscribe to your pet programming philosophy, but don't be willing to rule out someone who doesn't.

I had been through a smaller one perviously. Which is good because ever since then I've developed a kind of intuitive sense of when things are going bad. This helps me time my escape breaks where I just get away from work, colleagues, the city for 4-5 days and come back refreshed with energy, motivation and capacity to get more work done. I hope something like this could help you in future too.

Fresh out of college, I first burnt out at a BigCo. Next three months I couldn't work at all, I'd wake up every day and sit around reading HN or generally wasting time. My employer then was understanding enough to let me go. I work at a startup now but I sense an impending doom due to mismatch of my values and co-founders'. I dislike the lack of creativity around they way they're doing business and lack of appropriate shares for who brings what to the table. And also dislike the over-valuedness of ideas over execution. Having worked here 8 months on unfulfilled promises of profit-sharing, even when we have many customers now, I see it pointless to continue. I leave in a few months. Thereupon I plan a short break and am going to work on a few of my own ideas full time. This seems the most fulfilling way forward.

I appreciate your perspective and reassurance, and I agree with nearly everything you said, but wow, that's a pretty damning view of things. You made it sound like I've missed the boat that left in 2006! I do feel a bit antsy that once we have a high-profile collapse of a company like Groupon or Zynga that the rest of the startup ecosystem will be dragged down with it.

After reading your comment, I ought to clarify a few things:

(1) I have in fact been unemployed for several months, mostly because I needed the break and have decided that I should be more careful about where I choose to work next to avoid going through the same nightmare again. Even so, I'm not in a hurry to get a paycheck and am willing to take the time for finding a good match. But I'm aware that many employers look upon this rather negatively and will be rather "curious" about what happened.

(2) The "bureaucracy" aspect I was whining about was not so much dysfunctional relationships as it was pure cluelessness and red tape. Think 6-month wait times for a 15-minute procurement job, or crappy tools that were "standardized" in the company based on some sales pitch delivered at the VP level. I'd imagine it's this type of situation that is more easily avoidable at a startup.

I have a vague hunch of what you mean by "VC darling" and am taking all mentions of high-profile backers with a grain of salt, but I'm curious about what you consider "Real Technology" -- in what ways are the technical challenges, from usability to scalability, of a social media "joke" startup substantially different from those of a business that you'd take seriously?

Cluelessness and red tape are the symptoms of the dysfunctional relationships he's talking about. If the relationships were working properly, it'd be easier to get your 15-minute procurement job done, and nobody would be trying to standardize you on a crappy tool.

Don't worry about missing any boats. If you like a job take it, if not, don't. If you want to start a business, start it, and focus on making money rather than chasing techcrunch headlines and VCs.

If you're evaluating work at a startup, look at it like you're your agent:

1) What's the comp package? Equity, unless very significant, is basically a deferred bonus that you can't count on. Don't overrate it.

2) What skills will you get to develop? It's usually not worth taking a lower salary for X,000 shares of "i don't know". But it can absolutely be worth taking a lower salary now in exchange for higher skills later.

  (1) Don't take jobs where the company isn't willing to
  tell you what you'll be working on. That usually means
  you're going to be allocated to the least desirable
  projects.
I passed on a job at Google precisely because of this fear. I wonder if they've since changed that practice.
No, they have not. There are very many good reasons why they do things this way - I can elaborate if anybody cares.

However, you do get to talk to 4-5 hiring managers based on your skillset and their interests, and you get to rate them based on the group you want to join.

I've done that and it's worked out pretty good for me.

Please elaborate. I'm interested to hear if your experience is more than survivor bias.
So Google doesn't let hiring managers interview their direct hires because of incentive mismatch.

(Btw, this is all in the public - Stephen Levy's In The Plex is a pretty good resource)

If you have a fairly impartial interviewer, he's most likely trying to hire competent people - he doesn't have any other sort of incentive except to not hire stupid people.

However, if you're a hiring manager, you're under pressure to produce software and fill open recs. So, if you have an open position, the natural thing to do would be to hire a mediocre person cause hey, he's better than nothing, and we got a hole we need to fill for our next project.

As for my personal experience, I'm a bit of an outlier. I'm older (mid thirties), know a couple dozen people who already work here (know which groups to avoid), and my friend who I've worked for before personally recommended me to his current team (I know I'm landing in a good position).

Any other specific questions?

Can you tell us which groups are considered less desirable?
It's hard to tell on a group-by-group basis.

If you work at Google, keep your head down for 12-18 months. Don't pay attention to big-company politics and (unlike me) stay the fuck away from eng-misc. Work hard and (unless you're on a good project) figure out what transfer opportunities will be available, and which ones will be good. At the 18-month point, try for a promotion. It makes it easier to transfer. If you don't get the promo, you can still transfer; it's just somewhat harder. If your performance ratings are still at "Meets Expectations" you should have a good story as to why. In that case, you need to find that middle ground of (a) making it obvious that your manager's appraisal of you is boneheadedly wrong, (b) without throwing him under the bus.

The objective sign of a decent manager is whether his or her reports get promoted. Good managers (at Google) get their reports promoted and bad managers don't. It's that simple. Look into this when you're evaluating transfer opportunities. If you find that a group has a lot of really good people stuck at SWE 3, stay away from it, even if the work sounds interesting. The truth about Google is that no one will consider you qualified to do anything actually interesting (i.e. you won't be considered a Real Googler) until you climb that ladder a bit, so your first few years should be focused on making Staff SWE. (The Real Googler line is somewhere between Senior and Staff.)

Piaw Na wrote some excellent material on the promotion process at Google: http://piaw.blogspot.com/2010/08/tips-for-noogler-engineers....

Nope. :-) I need this job.

Do you have any less specific questions that I could answer without getting canned?

I've worked for large companies that do it both ways. When I knew what group I was going to, it often ended up changing within the first year of my arrival anyway through restructuring, re-prioritization, etc. So I've decided it's generally irrelevant - nice to have, but not actually that important. It's more important to be ok with the larger company culture.
I did that the first two times Google contacted me. The third time, I took the plunge - and I must say, they were great at finding a fit for both my skills and my interests. YMMV, but I don't feel like I've been shuffled of to an undesirable project. I get to work on some pretty cool stuff.
In my (admittedly limited) experience, management at Google listens very carefully if you say to them "I don't think I'll be happy doing that" or "I'm not happy doing what I'm doing." The thing is that you have to be the one to say that. If you let them move you around like an interchangeable cog they will. If you help management find you a job/project you'll enjoy, you'll probably find one.
On job interviews, don't discuss the negative experiences or the bad employer. At all.

I've been asked point-blank for critiques of past employers before. What is the best response?

"I am sorry, but I am not at liberty to share internal details of my previous workplace.". If they look upset, follow it up with "NDA, you understand...".

If they still look upset, might as well leave right now. They have no sense of ethics, and they sure won't keep promises they made you.

This is pretty comparable to being asked to be critical of yourself (e.g. "What's your biggest weakness"). Generally speaking this is a bit of a trap and your main goal should be to not take the bait and move on to another topic ASAP. If they really press the issue focus on issues where there's nobody to blame and there's not that much that's going to be held against anybody (e.g. Old Co become very big which was fun but now I'm looking to be part of a smaller team). The key thing is to keep things positive and move on to why you want to work for them instead of why you don't want to work for your old employer.
I don't know about the question being a trap. If you don't try to be too sly about it, you might even turn it into a plus for you. If it were me interviewing, my biggest concern would be that the OP is burned out, and thinks that working at a startup will be nothing but sunshine and lollipops.

Instead try being a bit more concrete: "I didn't like BigCo because of <specific, observable and especially non-judgemental facts go here>. Some people like that, but that's just not what I enjoy. I'm curious to hear if you feel I'll run into the same problem working for you."

If a candidate said that, I'd be more convinced that:

1. The candidate is willing to leave the BigCo world behind.

2. The candidate has realistic expectations of what a startup will be like.

For the record, I think I wrote enough in the original post to show that I'm highly skeptical of startups that claim to have awesome work environments. That said, the community response has definitely been helpful for me to figure out some realistic expectations.
Let me reframe what you just said. Yes, your post does show that. But do you plan on showing that post to any potential employers? It's just as important for you to demonstrate that to potential employers as it was for you to demonstrate it to us. You have to skirt a very fine line between demonstrating that you want to work for them and demonstrating that this want is reasonable and not based in fantasy.
> But do you plan on showing that post to any potential employers?

I probably won't say it in the way I wrote the post, since I think it will be open to misinterpretation that might close some doors unnecessarily. But I will definitely bring up my expectations as a matter of concern.

Indeed, a fine line to walk.

(comment deleted)
Say something positive about them and move on.
”The position just wasn’t a good fit for me any more.”

Imagine yourself on a date with someone you barely know, and listening to that other person go on a long rant about his or her ex. Does that make you more or less likely to want a second date?

@Michaelochurch great response! Where do you work?

@HN I've been a hiring manage for years. Take the advice about what to avoid with a grain of salt, and be sure to read some of the other excellent comments in this thread.

Of course there are "startups" and there are "startups." Which is to say that 3 founders and 2 employees is a 'startup' but so is 50 employees and 2 founders. That is why I dislike generalizing about "startups" and prefer to talk about values.

But I agree whole-heartedly that some jobs are just painful. Sometimes they start out great, and the company changes, and then they are painful. Sometimes its the other way around, and sometimes they are all great or all painful.

So lets step past the 'burnout' part, the damaged goods part if you will, and talk about who you are. Try to come up with times where you felt really great about your job, could be a task completed, feedback received, or even just the amount of light in the office. Let those memories inform you about what you really value (as opposed to things you think you should value). Now armed with knowledge about what you value, think about ways to interview companies which would help you know if those things are likely to be there.

I joke sometimes that people often spend a lot of time interrogating a potential boyfriend/girlfriend but don't invest the same energy in interrogating a potential company. While it is true that as a job seeker you are in the 'inferior' position to the job offerer, but both of you want exactly the same thing, a happy, productive employee. That occurs when you love your job and knowing what it takes for you to love your job and being up front with that with your potential employer will pay big dividends.

So how do you reply when the interviewer asks you why you left the previous job?
Here's what works for me - jobs at small, established companies who want to Do It Right. Corporations are too burdened with bureaucracy, startups are too stressful (unless they make it worth it with a decent share of the business).