No, Fuck Off
medium.com
medium.com
It sounds like it's either you take part in the life-consuming startup-founder lottery or you go work in BigCo (possibly not even tech) for a good life until you see a worthy opportunity. Or you start doing freelancing/contract jobs till you have a steady stream of income, which is sort of in-between. Anyone have advice?
We have a "no overtime" policy at my company (unless you really want to), and everyone's paid and treated well. We value emotional quality and mental health, and would rather stick to 40 hour weeks than have people burn out. And there are lots of others like us!
Edit: however we're neither in the valley nor have we taken VC funds.
People who works at normal places (and have worked at normal places) don't have any inclination to write blog posts about how not awful their employment is, only people who have bad experiences.
When interviewing, I'm worried about a)Seeming like a "slacker" for inquiring about expected hours. I want to convey that I don't mind working late for an urgent issue or close to release time, but that I can't sustain >50 hours b)how do I know they're being honest with me about working conditions?
Places with sane hours think it's a reasonable question.
Spikes to 50-60 happen and, if you're in a position of ownership, you better be prepared to throw down when they do. But no company should ever set the baseline at 50 hours per week. That's counterproductive and it leads to burnout and catastrophe when spikes occur.
I actually believe in planning based on a 3-hour work day. A 3-hour block of uninterrupted time to focus on work is an expectation and also an entitlement. The other 5? Spend those catching up, learning about other projects, and building skills.
As a non-resident you are pretty much at the mercy of whoever is sponsoring your H1B. If you are from the lucky set of countries and have a graduate degree, you can sit in purgatory at a BigCo for 5 years and then finally have the right to quit and start your own gig.
The H1B is a tough obstacle, and I'm instead looking at the 18-month renewable H1B1 which applies to workers from Singapore and Chile and doesn't lead to permanent residency. I'll have to look for people who've made the jump and get their advice, I guess. And network with people in good companies which might be hiring.
No, author's case is severely overstated.
In my experience startup jobs in SF/SV/NYC pay as much as, if not more than most big tech company jobs. The notable exceptions are Google and Facebook, where the compensation and stock is extremely good and generally ahead of the rest of the pack.
Which isn't to say that author's complaints about crappy startup jobs are false, but rather that they're really not unique to startups at all - they're common across all tech jobs, regardless of company size.
In reality there are three classes of tech jobs:
1 - Near-perfection. Great opportunities for advancement, great pay, great benefits, great work/life balance.
2 - Somewhat a pack of lies. You'll either work too much, get paid too little, get to fight management all day, have little room to grow, or some combination thereof.
3 - Complete pack of lies. Deranged management, just complete rubbish.
Most tech companies, even big ones, fall into the second and third categories. I think author is extrapolating a bit from the presence of Google in his seeming belief that most big tech companies are great places to work. They are not.
Case in point:
> "You can learn more by being in a company that offers reasonable hours while you can have a side project. An open source project, a small app, something your parents can use, anything that you either enjoy, try to make it big, or just make the world a better place."
Most big companies aren't like this. In fact, I can count the number of such companies I know on a single hand and have a finger or two left over. Most startups aren't either, so more accurately most software jobs aren't like this.
The blog post seems to be a lament about the shitty quality of startup jobs, but really it's more accurately a lament about the shitty quality of software jobs in general.
He wants startups to have good compensation, good environments, and reasonable hours - but most big companies can't pull this off either. Big Corporate software jobs are infamous for low compensation, infamous for being middle-management-infested hellholes, and just as willing to bend hacker culture to its own ends.
(Thanks also to the other kind commenters who replied - ctide, rayiner, smartician, bkanber, prostoalex, avenger123, and akurilin - your answers are valued!)
Google has a lot of great engineers, and if you get a good manager for your first project and get to a launch in your first 2 years, you become a Real Googler and it's awesome. If you don't establish credibility early on, you're fucked. It's impossible to transfer to a good project without already having had a good project, so your first manager determines your career.
On the whole, I think Google is in decline and it has an absolutely shitty management structure (probe about "calibration scores") but there is still some genuinely interesting work and there are some great engineers so, by all means, give it a try.
However, there's probably a 60% chance that you'll land on a dogshit project with no career advancement and have to job-hop yet again in a few months. Make it 85% if you're outside of MTV. But if you don't mind taking that risk, then try it out. Google's upside (stable pay and great projects) when you actually land well is too high to write it off.
In terms of all startups being like this, its a big "it depends".
There are many companies doing software development that are across the full range of the spectrum. Don't be assuming that the BigCo or the startup represent the full range.
Since it looks like you can be somewhat free in deciding where you live, you have a big advantage. Making a good income doing software development means different quality of life depending where you are in the US. Perhaps your dream of moving to SV might be to overreaching. So break it into steps. Focus on getting some kind of software work in the US in a good place. Once you are here, you might just change your mind about what you want to do.
1) Large companies typically dedicate more attention to code quality and review process to ensure all of the low-hanging gotchas are covered.
2) Larger companies, if not adherents of test-driven development, typically still rely on large suites of unit and integration tests, and continuous deployment, that follows from having all the tests in order.
3) Larger companies typically have processes to analyze failures in dev/staging/production, and resources to throw at mitigating those failures in the future.
With all that said, there's nothing to prevent small companies from instituting such practices as well, and it's typically the work of the first few senior engineers the startup hires.
When you interview with the companies, remember that interview is a 2-way street - you interview them as much as they interview you. After you're done with obligatory fizzbuzz and binary search questions, ask them about the deploy processes, code review processes, latest fires, and other reasons someone would be in the office at 1 am at night (other than by their own choice).
1) Compensation was very solid (this was pre-Bubble 2.0 in a very low cost of living city); 2) We got full benefits (zero employee contribution for either health insurance or dental); 3) We got off the entire time between Christmas and New Years independent of our vacation time; 4) Most people worked ~50 hours/week, except before a new release or an important demo (but this wasn't all the time)
The company never took VC money, wasn't looking to exit, but generated a good living for the founder (going on 13 years now).
If you're looking for a solid job without killing yourself, places like that exist. They usually work in specialized domains with stable sets of clients.
I'm at one of those companies, and there are times where I feel a bit like a second rate developer, but I work less than 40 hours a week, and I still get my six figure salary, plus 20+ days of vacation that I can actually take.
Size isn't the big issue. The reason VC-istan jobs tend to be so rotten is that the companies are red-ocean marketing experiments and technology is a sideshow. It's hard to grow at the 200%/year rate that "ooh, shiny" VCs expect without shitting all over your culture. Mid-growth (10 to 40% per year) is the future.
What's the best way to find those 20-100 person mid-growth startups? I'm looking for machine learning and functional programming, but I'm old enough (29) that I don't give a third of a rat's ass about "prestige" or "hipness".
Here's my observation: companies tend either to be r-strategic or K-selective (in the evolutionary biology sense). The mid-growth, quality-oriented companies are K-strategists. The get-big-or-die gambits and the MegaCorps are r-stragetists. Now, the major problem in marketing yourself to the mid-growth K-strategists is that they hire slowly, meaning that you need to be an exact match for a role they need right now. There isn't the aspirational "draw in talent and figure out what to do with it later" hiring of r-strategists. I don't think the mid-growth economy is fleshed out enough to provide the job security of VC-istan disposable-company job-hopping.
She probably has a Green Card or Citizenship by now, but if I recall correctly she was on an H1 visa at the time. If she lost her job for any reason, she would have had to find another employer pronto or she would have had to leave the country.
Her employer did not find it hard to ask her to work from 8am to midnight 7 days a week.
It is important to understand this "learning on the job" thing. It's no use hiding the basic fact: just as with the salary, there is a conflict here between your interest and your employer's. When you are learning, you are not producing and what grows is your market value - the employer might have to pay you more to keep you at the company, so for them the benefits of having a trained employee are at least partially offset by this fact. To put it bluntly - if at all possible, grabbing an employee whose learning cost is already covered by another company looks much better from the profit perspective.
It's not to say that learning on the job never happens - just as with high salaries, there are obvious situations when the employer can afford to pay you more or take the cost of your learning. The less they compete on cost, the better for you.
I beg your pardon?
Edit: obviously it's not literally either 100% production and 0% learning or 100% learning and 0% production. This doesn't even have to sum to a fixed "100%" value. The point is that learning has it non-ignoreable cost.
If a company hires for learning ability then it is a good prognostic for your learning on the job. Conversely if the job ad specifies software versions to the third dot and years of experience going longer than a technology exists then you might not learn too much there.
with some other arguments as motivation, coding efficiency, communcation skill, etc.
The thing with this industry is that it's moving ever faster. So rather than hiring an expert now, based only on the fact they are an expert is a short sighted gain.
You should actually be hiring people who want to learn, who learn fast and who iterate and innovate on what they just learnt.
Learning is not a destination, it's a process you should actively participate in every day.
I never ask anyone what they know, I simply ask them what they have done.
When I check up on what they have done, what they know becomes clear(or isn't even relevant).
Putting it all together. Technical learning today is hardly an issue at all. The issues are searching big impact projects and working productively to achieve them.
We hire those who want to learn, and we go way out of our way to ensure that those working for the company really do learn and improve.
The benefit to us, the company and founders, is substantial. And the benefit to the employee is obvious.
If we can't offer a killer salary yet, and the equity is toilet paper for a few years, then the biggest thing we can offer is a vibrant environment in which skills are developed and mastered, in which we can understand more of each other's role and how all of the bits fit together.
At the moment I can say that every person in the company is learning every day. Real learning. We drop tools to educate each other, to teach and learn. We really believe doing so is the key to producing good work faster, that works with the output of everyone else.
There's only three of us considered full-time right now, with an additional pool of volunteers and helpers that churn around us.
Our core team have different skills, and so we think it's good to cross-fertilise that knowledge, to teach and learn more of each other's skills as well as to support the mastery of our own skill in sharing it and learning how to communicate it.
We have people - freelancers mostly - who help for a month for free, and then go do something else for a bit before coming back between jobs to help more and learn more. They get to work on something they care about and learn new things at the same time.
We're not kidding ourselves about wanting to pay well, to build a successful business, and to only be bootstrapping this hard while we have to... but this process is really helping build this strong learning and teaching environment and that's been a real benefit to us, so we can all see that staying even after the numbers side adds up more.
The core value that has emerged is that everyone has something to teach, and everyone has something to learn.
By helping improve career security for all of our workers, we really feel we're improving security for us as employers and job security for the employees. There's no downside to this.
You are awesome. I would really like to throw 99% of "management" out the historical window for good. It's a goddamn anachronism. The only genuine source of credibility is teaching. Show me why your idea is awesome, and if you're right and you teach it well, I'll believe you. You could be a 190 IQ genius or a Big Swinging Dick rain-maker, but the only way you add true value is by showing other people the way. "Because I said so" / "I can fire you, shithead" management (i.e. authority without teaching) can go die in a fire. It's 2013, which makes it about damn time for that.
I have no idea what you do, and I'm probably not a candidate for your company (machine learning specialty, plus need to stay in the US for the next 6 months) but I really hope you succeed.
And my view of management, is mostly that they're drawn in the wrong place on org charts. They should be below the workers, assisting and helping to support the workers rather than ordering them. Workers themselves are the ones with the knowledge and most qualified to make decisions based on sharing that knowledge.
I can't find the link I meant to, but this one deals with this view pretty well: http://www.joelonsoftware.com/articles/DevelopmentAbstractio...
We need to accept different that isn't below or above.
What we need is a radically transparent system that allows for division of labor and investor/worker symbiosis but doesn't turn that into an excuse for parasitic behavior at any level: http://michaelochurch.wordpress.com/2013/03/26/gervais-macle...
After reading this article, I feel so incredibly happy that I work for "BigCo".
I already like where I am quite a bit, but this article made me appreciate it an extra order of magnitude.
I think I will read this article once a month so I can feel grateful for what I see now as an incredible company and work environment.
Does anyone else feel the same way? Sometimes I wonder how few of us "BigCo" employees there are here on HN.
But as far as I'm aware, from most BigCos' perspectives, I'm unemployable; autodidact [no CS degree] + living in Canada. So, I guess it's back to looking for a job at another startup while trying to eek out time on my own...
The moment someone else without a programming background comes in, it all goes black. I'm seriously amazed at how people tend to think that all programmers are equal and one guy can't give output equal to three or four.
I'm still in college but I've seen the difference and it is big. In a class of 90, 4/5 people are able to finish one program and when the fifth one finishes, half the class has already given up or is still busy including header files in C!
The author just isn't interested in working at a start-up, but god forbid he receive a recruiting email from one.
I'd take a different tack: your early twenties is a perfect fucking time to try working a start up. No mortgage, no kids; why not take the risk?
Instead you should what...take a 9-5 so you can have a life outside of work, so you can work on your side project instead of working at a start up.
Also, attending conferences isn't "professional development."
Just because you get shit in your inbox several times a day doesn't mean it's not shit.
> Also, attending conferences isn't "professional development."
Having attended several conferences for my employer, they can be valuable in understanding the technology and standards you work with. I had the privilege of meeting customers over dinner with our salesperson. Those dinners were valuable for establishing trust for conference calls I occasionally do.
> Instead you should what...take a 9-5 so you can have a life outside of work, so you can work on your side project instead of working at a start up.
This is exactly what I'm doing. I'm 26 and working on insurance software. As the most experienced dev on a small team I have a lot of authority in how features are developed.
Hell no, not as a sustained habit. 37 is good. 40 is ok. More is too much time in the office.
E.g. I found my max "death march" rate of work, which I can sustain for a number of months, is 6 7 hour days. That's 7 hours of real, at the keyboard work, not counting formal meetings, lunch, breaks, etc.
More than once I suffered because bad management measured apparent work effort, e.g. vs. people who put in a lot more hours including debugging for some inexplicable reason vs. useful results.
There's a class of programmers who spend a dispropriate amount of time debugging the very buggy code they just wrote.
That's certainly work in some sense, but most of us prefer to write less buggy code to begin with. With me, that means I spend what some view as a dispropriate amount of time thinking problems, where that amount of time is often measured in minutes, but the point is that I'm not typing anything, hence in their eyes I'm not working.
There's a great anecdote about a Bell Labs mathematician who e.g. worked on hard problems that directly applied to building and running Bell's systems and networks. A boss type once complained that he wasn't working because he spent a lot of time sitting and thinking (his real/direct bosses were very happy with that, though).
But the OP also seems to be a rather angry and bitter individual. That attitude is definitely going to keep any startup with a functional culture from hiring you. There is no way you'd want to take the risk of someone poisoning your culture by ranting about how bad everyone else is.
More generally, engineers are in an enviable and almost certainly temporary situation where they have strong bargaining power in relation to employers. They should use that opportunity to extract as much value from companies while the situation lasts. When the shoe is on the other foot, that's exactly what the employers will be doing. It's only a matter of time before the bubble ends and the management consultants come in and teach companies how to extract the most value from their engineers while paying as little as possible.
I think this post does a good job of calling out low-ball offers from startup founders. In some ways it speaks to just how many developers are really on the market and how much funding is washing around for 'hustler' startup founders.
But, sir, if you don't want to receive recruiter emails, get off Linkedin.
Startup idea: I'll start a company where people set their own price to be contacted. Would you like to join our team?
Edit: It apparently does not scroll on Android. FYI and all that.
I made the article text appear by switching tabs back and forth. I'm using Boat Browser.
Seriously, start a company before stating stuff like this.
Concerning the founder, if his business can not pay salaries... then it is not a good business.
The one thing You Truly Cannot Afford at work is low social status.
If you're a founder, raise a seed round, but fail, you can still say, "People gave me $1 million to follow my dreams, bitch", and explain your failure as the sudden entrance of a massive competitor (e.g. Google) into your space. People will understand and not see it is your fault. The social status that comes with having raised money (other people thought you were impressive) moves you along to a job as a Lead SWE, Product Manager, or real executive.
The company failing isn't the worst thing that can happen to you as a startup employee. If you get fired after 3 months with no severance and no reference, you are fucked because no one wants to hire someone who got fired from a dogshit startup. You are actually better off making the company fail (if you can) at that point.
An employee, on the other hand, puts 100% of their eggs in your basket. If the company fails then they have no income at all, through no fault of their own. What goes on their resume? "I was a grunt at some company you never heard of and never will because it doesn't exist anymore".
Granted, it's possible a founder could be putting up a lot of their own money and end up being broke if it fails, but I think in today's world of seed funding and so on, I'd call such a person an idiot. :)
Honestly I enjoy the thrill of working in a startup, if I didn't have fun doing this I wouldn't be doing it.
But in all honesty, there are people who worked hard and got pricey non-engineering degrees that are jobless.
If this article speaks to how messed up the startup life is, it also speaks to how spoiled we all are.
[1] Seriously, people need to shut the fuck up about "fun". Whether you have "fun" or not has fuck all to do with anything. You think Micheal Jordan wasn't having "fun" making a living playing basketball? Of course he was, but he still demanded as high a rate as he could possibly get because he was worth it.
Maybe I'm just blind and everyone is jumping into startups for no equity/salary. But in actuality, the startups out there offer realistic deals, if they don't, don't take the job. Simple as that.
One thing is for sure though, you're not going to get as good a deal at a startup as you would at a big company. There is a reason for that, you (should) have a possible big payout.
Now, if people are actually taking low paying jobs with barely any equity while the founders feast, I totally agree that's messed up.
Also, the Michael Jordan example doesn't apply. He would be like a Google employee that demands a higher salary, and because he's worth it, gets it. He was having "fun" playing in the NBA, so he stayed. If he went out to start his own basketball league that would be a different story.
Fine, but that has nothing to do with anything. You should always try to find work you enjoy. But it doesn't affect the rate. Picking up trash probably isn't fun, but it doesn't pay more for being an awful job that no one wants to do. Why should "fun" jobs pay less? They should not.
>But in actuality, the startups out there offer realistic deals, if they don't, don't take the job. Simple as that.
Have you not seen people on this very site saying "well, the pay is bad but I don't mind because it's fun" or "I'd take 50% less if the job was fun" and so on? It happens fairly often.
>Now, if people are actually taking low paying jobs with barely any equity while the founders feast, I totally agree that's messed up.
I think the issue is, they see numbers and think "wow, I'm getting 15% of the company, that's huge!" but in reality their equity has no protections against delusion so by the time they could actually sell their stock it will be worth a few thousand. Nothing remotely compared to the salary hit they took. So they don't think they're getting barely any equity but that's nearly always the case for an employee.
>Also, the Michael Jordan example doesn't apply. He would be like a Google employee that demands a higher salary, and because he's worth it, gets it. He was having "fun" playing in the NBA, so he stayed. If he went out to start his own basketball league that would be a different story.
NBA isn't a company, it's an organization of individual companies. The Chicago Bulls are a separate company with their own staff, payroll and so on. The NBA would be comparable to something like "organic foods retail". It's not all of basketball but it's all of one kind of basketball (NBA pro ball).
On one hand, he bitches about not wanting to make startup founders rich by working shitty hours in an unstable work environment. I get that, I really do. However, he hasn't indicated he wants to BE said founder (nothing wrong with that).
So go work for Google or Facebook. There's a lot of early employees there who are benefitting in ways that are only possible from being an early employee at a successful startup. Granted, these are rare, and you shouldn't count on them.
I do agree that a lot of startups can have shitty working environments compared to BigCo, but it sometimes it just comes with the territory. That's part of being a startup, always more work than people to do it. That's like getting a job in a coal mine and complaining that your hands are always dirty.
It's something I've been seriously thinking about for my own decisions in the future.
If you're considering a startup, ask yourself: am I passionate about what this startup is trying to accomplish? If you really are, join the team. Get on the bandwagon. You get equity, which means your successes are shared. If it's just another startup that you don't care about, it's not a good match anyways.
If it's a location based social advertising network, meh not so much.
If you recognize my name, you probably know that I have taken a lot of moral stands and have a colorful reputation.
It makes your life a lot more volatile. That is true. Over time, though, people respect you. See, the one thing you actually can't afford is low social status; you're better to come off as a moralistic but high-status person than a wimp.
Thanks for the interesting perspective.