250k a year in 5 years at a big corporation, really? Yea if you're lucky to work on a project/team higher-ups care about and are also willing to bust your ass working long hours to meet insane deadlines. Also, you better be someone who is excellent at communication and charismatic if you want to get invited to the table of interesting work.
There are a lot of brilliant hyper-competitive people who work at these big companies and you will be a small fish. So I think this article is spreading a myth that there is guaranteed piles of money to be made by working at Google, Facebook, Apple, etc.
That this is currently the top comment reinforces the author's hypothesis that many software engineers underestimate how much they could make at a large company.
> 250k a year in 5 years at a big corporation, really?
Yes, really.
> Yea if you're lucky to work on a project/team higher-ups care about and are also willing to bust your ass working long hours to meet insane deadlines.
Nope, not true.
> So I think this article is spreading a myth that there is guaranteed piles of money to be made by working at Google, Facebook, Apple, etc.
Have you worked at Google, Facebook, or Apple for 5 years? If you do, and you're a decent programmer (not a rock star, but a solid contributor), you'll find there are guaranteed piles of money to be made.
Firstly, everyone not working in the Bay Area can ignore these figures because they are bloated due to cost of living (3K for 1BR/1BA apartment) and competition for talent (from startups and peers).
Secondly, people are ignoring the fact that RSUs at the 3 companies mentioned (and a few others AMZN/MSFT) have grown substantially in the past 5 years (about 125-150% on average) and is the biggest factor in these "surreal" figures.
Broken down into base (110k starting common at BigCorp), RSUs (initially 100-150K over 4 years) and bonus (10-20% base comp ), these numbers would make more sense. First year total comp is close to 145K-170K. By the time you are a senior engineer (mid-level) and assuming this took 5 years, your base comp is close to 135-160K, with refresher grants (and accounting for market performance) your RSUs probably hit 100K/year, bonuses at 30K bringing total comp to 265K-290K.
I happen to work for a BigCorp in SV (close to 1.5 years now) whose stock is performing poorly, hence my total comp is 160K (110K base, 25K bonus, 25K in RSUs/year). But if we had FB/AMZN/NFLX type of stock performance, then my comp would shoot up to 185K without any promotions.
Err, this is not accurate from my experience. I work at a large company (not one of the 'big 4 tech though) ,remote, in a medium cost of living locale and my salary is what your total comp is. I would get a huge jump if I went to one of the big 4 in the bay area.
This style of reply is not constructive. How can we know with certainty whether or not you have a reasonable shot at making 250k/year after five years of working at Apple, Amazon, Google, or Microsoft?
Throwaway because I don't want my salary history to become public.
I spent 5 years at Google. My AGI (as measured by the IRS) during my time there went $130K, $200K, $280K, $280K, $300K, $356K (for my last 5 months there...it also includes unexercised stock options for the last 5 years, though). The bump to $280K was upon promotion to senior SWE; the one to $200K was largely because of a generous stock refresh grant.
Also throwaway for obvious reasons. What you say sounds totally in line with my experience:
I am Senior SWE at an Alphabet company. Came to MTV in middle of 2015 from a company in the midwest where I made over $200K last year (much of this was profit-sharing bonus), and I was definitely at top of the market for my city.
My total compensation for this coming year (based on current value of GOOG, obviously this can vary) is projected in the mid-$300Ks. (Some of this is initial GSUs vesting, so it's slightly inflated). With the difference in cost-of-living it should be about equivalent to where I was last year. Too soon for first refresh grant, so I can't speculate about where it may go from there.
I've already gotten a larger raise and bonus than I expected, seeing as I negotiated a better offer than they originally gave me. My manager has been talking with me about what I need to do to get to promoted Staff level.
So yes, there is money to be made in SV, at big companies.
By unexercised I mean unexercised. Stock options vest continually (well, usually monthly or quarterly usually, after the 1-year cliff); when they've vested, you have the right to exercise them, and they're considered your property. You only exercise them when you choose to, and it's at that point that you're taxed on the difference between the current stock price and the strike price.
Many of my coworkers would auto-exercise-and-sell their options immediately as they vested. If I'd done this then it would've added between $15K-$60K for each of the first 5 years, but the last year would've been about $130K instead of $350K (I benefitted significantly from the stock price appreciation of GOOG, even if I did screw up nearly everything tax-related).
I left Google because five things happened within a year or so: #1 I started feeling bored at work #2 My existing project ended and I couldn't find one that really excited me #3 I passed a million bucks in liquid net worth #4 The outside tech world started entering what seems to be a period of high uncertainty and #5 I started thinking seriously about marriage & kids and realized I only had a few years left. So, in the spirit of YOLO and with immediate financial concerns taken care of, I figured it was time to do some things I'd always wanted to do.
does it vary by what part of the stack you work on? The impression I've got is that Google tends to value infrastructure engineers more than others (like frontend engineers).
I suspect its pretty certain, it certainly held true when I was working there and that was before Google was 50K employees. The flip side though is you may not make it to 5 years. A lot of employees don't (which is less commonly talked about) but Google has always tried pretty hard to not retain people who weren't providing what they considered an appropriate level of contribution.
So if you start working at Google, and you make it to 5 years, then yes I'm sure you'll be making $250k+ total compensation.
I don't know if it is still true but there was a lot of data available during the 4 years I was there to watch this in "real time". Lots of data sources and a number of people interested in the question. You couldn't easily pull apart terms vs quits but at the end of the day it amounted to the same thing.
I'm currently still in school, and I personally don't know anyone who is making $250k/year five years into their career. But I have seen new grad offers that make that number seem reasonable. One of my friends is a really smart developer who got several offers from places competitive with those companies. I don't think they really had much full-time work experience. The first year total comp in one of their offers was around $200k. A 25% compensation increase over five years seems reasonable to me.
Edit: It does kind of depend on how you value stock/RSUs in your compensation package. Most of the offers they got were from public companies that were well run. So I personally would not be extremely worried about the stock losing most of its value before I was able to sell.
If you're talking about total compensation, 250k is on the low end. Base of $140-190k is common. Add to that $10-30k of cash bonus and $100k of stocks.
Stock bonus for Sr Dev at microsoft is up to 30% of base(vested over 5 years). That won't hit 100k even if you are at fifth year. Is it typical for google, facebook to give 100k in stocks per year (assuming they vest more a less over same 5 years or so).
It's not like they give you 100k RSUs automatically each year, but I think the math tends to average out so that that is basically what is happening.
For instance you may get 100k-150k initial allotment and suppose you get promoted in 18-24 months, they will likely give you a refresher of 150k-225k plus whatever bump you got on your salary. It's also important to note that the refreshers don't have the one year cliff of your initial grant, it starts vesting immediately.
One thing I'm always curious about: most of these discussions seem to be targeted at college grads, discussing where they could be after their first 5 years in the industry. The sense I've gotten is that these big companies tend to compensate all new hires approximately the same, caring little about experience outside their company or perhaps one of the other big companies. It seems to me that smaller, less well known, companies are more hungry for experienced people, because they are relatively starved of people who can drive architecture, decision making, and hiring, and are thus more willing to take a risk on paying a premium for experience.
So my question is: stipulating that the numbers favor bigcos for fresh graduates, is the same true for people who already have that 5 (or 8, or 15, or 20) years of experience elsewhere?
At 3.5 years of experience Google offered me about double what I'm hearing for new grad total comp, so it seems that they value at least the first few years. Given the oft-cited ageism in the industry, I expect that tails off pretty quickly. I wouldn't be surprised if 10 years of experience wasn't worth noticeably more than 5 years.
RSUs are stocks. A grant of 1 RSU means that on the date it vests, the company will buy 1 share of its stock and drop it into your account at a major brokerage. It's considered compensation and taxed as income, though it's often withheld as bonus income.
My point was that inasmuch as they don't vest the same year they're granted, RSUs are nothing but a commitment that part of your compensation in the future will be in the form of stock.
If I grant you $1,000,000 in RSUs, vesting over 1000 years, is your annual income $1,000,000 ? No, it's $1,000.
Agreed, but I don't see that mistake being made often.
Generally what happens is a laddering of grants. 100k over 4 years. Then a year later, another 100k grant. Then again the 3rd year. And again the 4 year. Once you hit that 5th year, you are indeed seeing 100k in stock each year.
When people cite total comp, including RSUs, they only include the RSUs that vest in that year. At least, this is how the recruiters at the big companies talk about it, which is typically where total comp numbers come from. So a grant of $300k worth of RSUs vesting evenly over 4 years counts as $75k of compensation.
Obviously, it matters very much what the market price of the stock is. Your grant will be for a certain number of shares on some vesting schedule, not for a certain cash value.
Remember kids, stock prices don't always go up. Some stock prices go down, and sometimes all stock prices go down together. Those RSUs that, if fully vested, would have a market price of $400k at time of hire, may well be worth anything from $0 to $millions at the time they actually vest.
When talking about companies as well established as these the risk is a lot lower. In some cases since the goal is to give you a set number in compensation they will factor in a poor stock performance and give you an adjustment to make up for it.
Do you mean companies as well established as Yahoo, MySpace, AOL, and Netscape? Or companies as well established as Woolworth, Kodak, MCI, and Sears? Or perhaps you had in mind the New York Central Railroad, LTV, and Pan American Airlines?
Yes, it is possible that you will be given additional grants or options repricing if your company's stock price declines. Usually not, unless you're a key employee or top performer, but maybe. But that doesn't mean the price won't just keep going down anyway. To say nothing of the bonuses and raises you won't get, or the mandatory across-the-board 10% pay cuts, or the elimination of all the miscellaneous perks. At least, unlike the employees of many of the companies I named above, you won't have a pension you can lose too.
I know it's hard to believe. Intellectually, you can look at history and accept, know very well, that most of these companies will fail someday, and many of them probably in the very near future. But viscerally, you can't get it, because they feel invincible right now. But they aren't. Believe it[0].
This doesn't undermine the author's point. As another commenter said, people are really underestimating the likelihood of earning a $250k salary at a large company. It's really, really doable at a large company within 5 years if you hit senior level and live in a metropolitan area.
The author's core point is that you are much more likely to become a senior engineer at a large company (and thus earn ~$250k in salary) than you are to hit the jackpot at a startup.
If you were to take the set of people who achieve senior tier (or comparable) at large tech companies and the set of people who earn at least $250k as a lump sum payout for working at a successful startup, you'd find that the former group is vastly larger than the latter.
If you were to do the same exercise and replace the second group with folks who actually got "rich" (for any reasonable definition) working for a startup, you'd find that it would not even be visible as a pixel next to the former group.
Statistically, you are simply better off trying to hit senior at large tech company if you want to optimize your career for wealth. This is so doable within five years that at large companies like Google and Microsoft you are expected to hit senior level, and if you don't it begins to reflect badly on your record. More explicitly, "senior" is the last level that everyone is expected to hit, and at which you are "allowed" to not seek further promotions.
>"senior" is the last level that everyone is expected to hit, and at which you are "allowed" to not seek further promotions.
I was under the impression that Senior is mid-level? I thought the ladder went, Junior/Associate, (Just) Software Engineer, Senior (some places have Senior I/II), then Principal, and finally (Optional for really big companies with R&D like Cisco/Juniper/United Technologies), Fellow or Distinguished Engineer (and Senior Fellow).
>a senior engineer at a large company (and thus earn ~$250k in salary)
I'm under the impression that the $250K salary is total comp, usually $150K in Silicon Valley (which is like $80K in fly-over country) and $100K in stock options/bonuses which varies year to year (e.g., what was the annual bonus of SV programmers in the year of 2002-2005? vested options now worth for employees of TWTR and LivingSocial?); also how secure are these Senior Engineer jobs and people's average tenure at those jobs? What is their hourly wage accounting for how many hours they work?
I propose a better formula for salary range for all job ad's, your cost-of-living adjusted annual salary * (1 - % involuntary attrition per year at your company) * (40 hours / avg hours worked of employees in the team) + (50-percentile bonus) + (employee stock options {if not public 0 else 50-percentile of the cohort of the one year price target of stock analysts}).
Risk adjustment is definitely appropriate, but I think the author is being conservative even with this in mind.
You're right that "Senior" is still mid-level, but the author is being conservative.
The reality at a healthy, profitable company is something like this: $250k being the "total comp" for someone is a T5 seems right to me, even adjusting for risk. A T5 at Google, Facebook, or Apple is likely earning much more than this as their stock from 4 years ago is vesting at a much higher price than it was granted at.
150k guaranteed comp, 25k bonus, 75k vesting equity is low for the companies w/ equity run-ups in the past several years, in my opinion. Also worth noting -- the bonus is basically guaranteed. It can be much higher if you get very good performance ratings.
The author also didn't include 401k matching (about 8.5k there), free offsites to go skiing or go to Vegas (w/ team trips to Hawaii not unheard of for high profile, long-term projects), generous medical/dental/vision benefits, free food, free gyms, matching charitable donations...
And IDK if it's just my team, I don't see people working extremely long hours.
You're totally right that you're at the mercy of stock prices in some regard -- but it works in two directions. Both FB and GOOG have gone up something like 150% in the past 5 years. So if someone got an initial stock grant of 200k vesting over 4 years, last year that 50k at vest time was more like 100k. Meanwhile they've gotten subsequent equity refresh grants -- the actual equity comp might be more like 200k, not 75k.
> 150k guaranteed comp, 25k bonus, 75k vesting equity is low for the companies w/ equity run-ups in the past several years, in my opinion.
You're right, assuming that everything continues as it has. Nothing is guaranteed; that 150k can vanish in a puff of smoke through no fault of your own, and take all your unvested comp along with it.
> the bonus is basically guaranteed.
No, it is not. Many, many people will tell you of their time spent at BigCo when the economy is not booming, and after the free donuts, the first thing that goes is the bonus. You have to read the bonus plan very carefully to understand how it's computed. It's quite possible that your bonus at Facebook or whatever depends solely on your own rating, but at most companies that's just the final multiplier and all kinds of other things have to happen in order for the bonus pool to exist at all. In even mild headwinds, it's likely that only a part of the expected bonus will be paid, and not unusual for there to be none at all. Furthermore, the bonus plan is usually determined one year at a time, so the fact that whatever needed to happen this year for everyone to be paid at 100% did happen is no guarantee that the criteria in next year's plan will be satisfied.
Do not assume that the future looks exactly like the recent past. It is certainly possible that the near future will be even better than the recent past, but at least some kind of mean reversion is a hell of a lot more likely. I predict that very few people will end up receiving as much total cash for their work over the next 5 years as their simplistic and rosy-eyed calculations of today would indicate.
Yes, senior is mid-level if you look at a ladder. It's usually SWE I, SWE II, Senior, Staff, Senior Staff, Principal, Distinguished, etc. for large companies.
What I meant was that large companies expect all hires to eventually hit senior, give or take 3 - 6 years. If you don't, they have something of an "up or out" approach, where it counts against you in subsequent reviews. However, not everyone is expected to achieve Staff or higher.
> I was under the impression that Senior is mid-level?
Yes and no. It's a middle level in that there are levels above it. It's not in the sense that it is where most people will cap out. A senior engineer is expected to be exactly that for most teams, but you will see principles (or whatever) there for the harder/bigger problems.
> It's really, really doable at a large company within 5 years if you hit senior level and live in a metropolitan area.
If, if, if, if. Just by numbers, most devs don't meet these criteria. And even in the periods of time which I personally have, I still was not making anywhere near this kind of money.
These numbers are inflated and out of reach to the vast majority of developers in the workplace today, full stop.
Yes, there are if's involved. It is not certain that you will achieve senior tier at a large company in a metropolitan area. But you are also not certain to earn anything from your startup equity.
I will reiterate - you are more likely to reach $250k working at a large company than you are to earn it (in salary or lump sum) at a startup.
This has been corroborated by numerous individual's experience in this thread, including my own. I personally interact with companies that pay this on a weekly basis.
You need to quit saying "a metropolitan area" when you mean "Silicon Valley and a few places that have satellite offices for companies based in Silicon Valley," is the thing.
Show me the companies in Columbus, OH that pay that way. Or Milwaukee, WI. Or or or.
You're exactly right. And it comes down to simple economic truths. If mass amounts of people could "easily" make 130k out of college on a path to 250k then the hundreds of thousands of programmers around the world would give up their ~$100k jobs and go do that. But they don't. Just look at glassdoor salary averages! It's right there in black and white! The sunny salary numbers he posits are, as you said, out of reach for most.
(It should be noted that I completely agree with the article's conclusion. I've come to feel that the EV of buying a startup lottery ticket is woefully lower than pg, sama or [insert vc/angel here] assert. If you can land a solid and interesting bigco job, that's probably your best bet.)
I think a good number of people just don't know that they're underpaid. I worked 3 years at ~100k, then started interviewing and quickly moved up to the kind of numbers mentioned in the article (note: nyc, so all numbers are somewhat inflated). I also gave up some unvested equity, but there's no way it could be worth anywhere near the salary difference.
Of course most devs don't make it to senior, but even fewer devs cash out significantly from startups. I think that's the point they're trying to make.
i.e Say there are two groups of 100 engineers of equal average ability. One goes into megacorps and the others do startups. Which group will have earned more as a whole after 5 years? 10 years?
> It's really, really doable at a large company within 5 years if you hit senior level and live in a metropolitan area.
So Dallas doesn't count as a metropolitan area? I can almost guarantee nobody here is making that kind of money after only five years. In fact, I'm willing to bet that this kind of compensation is extremely rare outside SV, NYC, and possibly Seattle.
In fact, based on what I remember of the salary bands at my former company, it was impossible to reach $250k/year in five years, anywhere in the country.
Some cost of living calculators make $150k in Dallas equal about $250 in NYC. It's worth noting that $150k is high for Dallas, but not impossible for people with Principal, Fellow, or Chief in their job titles.
It's worth noting that using a flat cost-of-living adjustment both overestimates and underestimates things.
The kind of place you'd likely rent in Plano or Addison would cost ridiculous amounts in NYC, given comparable neighborhood qualities and commutes. You can easily afford to have three, four, or more kids. In NYC, one kid is doable, two is a challenge, three is crazy. From that metric, $150k in DFW sounds awesome.
Though if your goal is retirement, maxing out your 401k in NYC is much easier. If you plan on moving to a lower cost-of-living area to retire, or are otherwise looking to hit a certain dollar-figure for some reason (paying for kids to go to college), NYC probably has the edge. That is, people usually adjust their total salaries for cost of living but ignore that annual contributions to medium-term and long-term savings generally shouldn't be adjusted.
> Some cost of living calculators make $150k in Dallas equal about $250 in NYC. It's worth noting that $150k is high for Dallas, but not impossible for people with Principal, Fellow, or Chief in their job titles.
I'm not challenging that. There's a reason after all why I have not yet and never will move to California (well, a bunch of reasons, but most are irrelevant to this). As I said to my other respondent, I'm taking issue with the absolute numbers.
Yes. All other things being equal(and they are, for the most part), if you save 10% of your salary a year, you are going to be a lot wealthier upon retirement living in the higher cost of living place. If you want to maximize your retirement fund, you should be looking to move to the place with the highest cost of living possible.
That's as may be but what are your chances of making the equivalent of 5 years at Dallas BigCorp busting your ass to get to a senior X or X Supervisor in 5 year vs busting your ass at start up in Dallas?
That isn't the point I was addressing. I was concerned with the absolute numbers being floated in this conversation. They are thoroughly unrealistic for people outside a certain few areas.
On this specific point I don't have a good opinion. I don't know much about the startup scene here because nobody is doing things I am interested in, but from what I can tell they seem to be saner than what you get in the Valley because nobody has delusions of unicornhood there. Similarly, there are plenty of bust-your-ass BigCo jobs around here. So both camps seem to pay similarity and seem to have the same scattergun of stress levels.
They are also overestimating the likelihood of hitting the jackpot at a startup. The d100 rule of thumb guidance is insanely optimistic; there is not anywhere close to a 5% chance that your lottery ticket will be worth life-changing money; it's probably 1% at best (and later discussion suggests that 0.5% might be about right). Nor is there a 30% chance your ticket will be worth anything; 10% is more realistic (ignoring all the ways that your ticket in particular may end up being worthless), and the "anything" is likely to be so small as to be noise relative to a BigCo base salary. Remember, a general rule of thumb across all industries is that 90% of new ventures fail within 5 years.
Of course, given today's stock market prices, it's likely that any options you get at BigCo will be out of the money when they finally vest, and there's a good chance your RSUs will be worth less than you're valuing them today. But the effects of these things are still much smaller than the vastly overstated likelihood of ending up with a winning lottery ticket.
> This is so doable within five years that at large companies like Google and Microsoft you are expected to hit senior level, and if you don't it begins to reflect badly on your record. More explicitly, "senior" is the last level that everyone is expected to hit
Not at Amazon. They are fine if people cap out at SDE 2. It's a bit of an odd thing IMO, and it's resulted in a comparatively low number of senior and above level SDE.
Amazon is different than those companies in that its leveling options are much smaller. SDE II is a very broad range and at a company like MSFT/GOOG it would realistically map to 2-3 different job levels there based on experience and contribution level. Same with SDE III. Principal+ is probably the most aligned.
The ratcheting hiring bar[1] and the punishing promo process[2] mean that SDE II has to be treated as a career role as a practical matter for the tech orgs to continue to function. As hard as it is to retain good engineers, it'd be even harder to retain good managers if they were expected to manage all their SDE II's up or out.
[1] - Every new hire is expected to be better than 50% of the current employees in a given role and level across the company. This means the "bar" for a given role and level continuously trends higher modulo attrition.
[2] - Senior engineer candidates typically require at least a dozen peers and managers at or above the senior level to each dedicate a couple of hours to write detailed SBI feedback. The promo candidate's manager then has to spend many more hours crafting a lengthy document from this. The doc then gets reviewed (i.e. picked apart) multiple times at every management tier up to the org VP. At any point along the way it may be punted back for rework, or denied. The process gets even more cumbersome going to principal - so much so that it's often said that the easiest path from senior SDE is to leave Amazon for a couple of years and get hired back as a principal.
source: former Amazonian who really liked working at Amazon, but who finally got an offer elsewhere he couldn't refuse.
I think people are actually really out of touch with bigco pay scales. 250k is pretty easily achievable in a bigco. At Facebook you'll hit 250k+ in total comp at level 5, at LinkedIn you'll hit 250k+ in total comp at Staff level. If you also factor in stacking allotments of RSUs, your pay can easily exceed 300k at these levels given a few years of tenure.
I live in Dublin, don't work for Google but I have many friends that do (as well as in London and Zurich).
No, they don't pay anything close to that. Actually, AFAIK, in Dublin the salary that Google pays for developers is on the low side of the scale (they offset that, in part, with all the benefits like free food and the rest).
Dublin is in a weird situation. Loads of immigrant here. I lived there couple years and worked in one of those big corps.
Salaries do go quite up a while but statistics on the corporate ladder are stacked firmly against immigrants, the higher you go the less chance you have to find non local people.
With soft career ceiling and continuous influx of people salaries are driven down. You can still make a fine living, but nothing compared to the colleagues on the other side of the ocean.
Does not appear to be the case in London. I know indirectly people working in Google around here and they are on the low side of banking salaries.
Getting $250K is certainly doable in bank, but it does not follow a specific career plan. I have known senior system tester making 150K GBP and for the same job and responsibilities another was making 50K GBP.
Doing it in 5 years out of school is difficult in tech.
It is doable without too much trouble in finance in trading, m&a, ... the trick is that you need to survive which require more luck than skills.
Overall though, in the 4.5 million workers in London, only 120K make between 100K GBP and 200K GBP, and 60K that make more than that.
I am a hiring manager at a big software company and have worked at others in similar capacity. I have seen salary data for my employees in both Dublin and the US.
Is this only in Silicon Valley? Or are these pay scales appropriate for satellite offices as well? For example: could you hit $250k working for Google in Pittsburgh?
In my BigCo experience, they do recalibrate pay scales at different locations, but not nearly to the extent that they should. For example, one of them had three US geo "zones" that were supposed to reflect the cost of living there. The bay area and perhaps Manhattan were the highest, I forget what was in the second, and the third was basically "everywhere else". The difference between the top and bottom was maybe 10-15%, considerably less than the width of the salary band for each grade.
So to make it concrete, a new hire at a particular grade might have gotten $120k in SF or $105k in Little Rock (base). Considering the high taxes and housing costs in SF, the new hire in Little Rock would have had a much higher standard of living.
Of course, working at a non-HQ site is a major career-limiter, so 10 years down the road you might have been better off relocating anyway. Depends on where you are in life and what you want to achieve.
By contrast, non-US salaries are dramatically lower independent of the cost of living at a particular ___location. So if you're working for a US BigCo outside the US, you had better be in Chiang Mai or Belize, not Berlin or Hong Kong. As the author of this post notes, no one seems to know why this is so, only that it is.
Well, there's really no corresponding data for many other markets . Facebook and Google don't really do Work From Home and don't have a lot of remote locations for development depending on where you are. (Amazon is another example). I don't know what they offer datacenter staff, but in many areas, recruiters are pretty adamant about people moving.
From my experience, say, the North Carolina scene, you're lucky if you are going to get $120-ish with ten years of experience. There's some give or take, but includes large companies and banks. You can do a little better at something like a Cisco if you are willing to trade quality of work. Most big companies as well as startups are paying new grads somewhere in the low-high 60s or maybe 50s depending on where. I don't have hard data, but it's no where near $130k.
Data from cost of living comparison sites that some companies use indicates that these companies hiring someone in the bay area may pay those people 20% more for cost of living at most.
Startups pay substantially less on average, with senior level personnel getting around $100k, maybe $120k if you're excellent and the startup is well funded - but this is 10 years of experience kind of stuff. I have unfortunately had to turn down some great folks because they wanted north of that - and they were worth it. I've also seen companies where their maximum pay tier tops out at 135 for what amounts to principle engineer level positions. (I'd assume a fellow at IBM would do better, but they are uncommon and few have a chance of surviving the machine to get there).
Conversely, really senior level software development positions at basically-exit-ready startups in CA aren't going to be much better than 40-50% better than the above. Some of these can be obtained remotely - sometimes.
What the article states as common for Google and Facebook are absolutely not the norm, and I'm not really sure how achievable that is for most people even there.
It's great if Google/Facebook can allow to pay people that, definitely. I just wouldn't say it's even remotely common and does not translate.
I've heard some ancedotal completely crazy numbers from hedge funds that most people would hate working for elsewhere, but nothing nearing the numbers in this article.
I don't really have hard data on the New York software scene or Texas, but .. again, this isn't normal. HN may be more of a microcosm than expected if most people do feel this is normal.
To put it in perspective, this is still amazingly high compared to a lot of other positions and you'd still have it really good.
I was in NC and made about $100K after 7 years. I kept hearing people made $150K elsewhere so I took a gamble and moved. After my first position making $130K I doubled my salary at another well known company to about $260K.
I know from recruiter spam that $260K seems to be on the high end, with only the top firms mentioned paying close to that. I have friends that dwarf what I make, but they had good stock options at companies that made it to IPO. Definitely don't regret leaving NC.
I'd love to know what someone mildly famous like Mbstock, Rich Hickey, etc would make. I am a nobody and have done what I consider well.
> Facebook and Google don't really do Work From Home and don't have a lot of remote locations for development depending on where they are. I don't know what they offer datacenter staff, but in many areas, that's all they have for "not CA".
It's completely accurate - hence the ___location part. If you sought to add clarification, the first sentence was unneccessary. Let's confine this to "they won't hire in most of the Continental United States". Even for exceptional candidates, remote is also completely out of the question for them. That's obviously their right and I don't hold them against them. (But it's worth contrasting with someone like Red Hat, who will hire someone from anywhere if they are awesome).
I have had lots of experience with Google and Amazon recruiters where CA was the only viable option. Google also tended to have a bad habit of offering SRE positions for datacenters in the sticks, but that was not a development-flavored SRE thing in the least. They pretty much close the door on you if you don't want to move and are dropping the ball on some pretty awesome development centers IMHO.
Facebook is often avoided by some very sharp kernel (and other) folks, because they greatly insist on a boot camp and can't guarantee what department you are going to work for. They lost some brilliant folks as a result. I wouldn't work for them for that reason, as I think the team and the manager are the most important parts of the hiring decision.
Yes, Google has other offices, but they are not hiring people in some pretty darn major development regions. There is allegeldy an office in Chapel Hill for instance, but it seems to be on the edge of being decomissioned and no recruiter will tell you anything about it.
So, yeah, it's not quite like you can just work anywhere.
> Facebook is often avoided by some very sharp kernel (and other) folks, because they greatly insist on a boot camp and can't guarantee what department you are going to work for. They lost some brilliant folks as a result. I wouldn't work for them for that reason, as I think the team and the manager are the most important parts of the hiring decision.
That sounds better than Google's "work on what we tell you to" approach.
At least it would be only BigCo in USA and the tech sector.
I know only numbers from germany and somebig corporations here. Apart from management you would here be very unlikely to even hit 100k (neither $ nor €).
There was an internal, self-reported survey of compensation within Google that showed very little variance of total compensation at the same level in different offices.
I got a $150k starting offer from one of those companies. A friend got raised to $200k after two years at one of them. Another started at $170k with a masters in stats. Admittedly this is all anecdotal. But these numbers don't strike me as crazy.
My brother got a starting salary of $80k at a startup that went on to IPO in the single digit billions (he joined after the series A). After he sold his options, he earned an average of $130k / yr at that company.
Its more about the kind of experience or skills you want to gain. Money comparison in my opinion can't be head to head, some make millions while some make 0 at startups.
Yeah I saw that and thought, ok maybe if you are on of the known or maintain a popular open source package, a conference speaker. But 250k in year 5 is not a number that rings true.
Or, maybe I am doing something wrong here and am underpaid...
Remember: it's not year 5 of your career. It's year 5 of your tenure at one company. It's a little unusual for people to stay longer than 4 years at most companies.
Then there is a selection bias: only those who manage to make it to the 200k level stay long enough, the others (the large majority) understand after a few years that their present company is not gonna promote them to that level and try to find greener pastures.
If that's the case, shouldn't there be evidence (other than anecdotal comments via HN) to support that?
Not that it's so far fetched that big Valley firms are paying over $200k base salary, but if it was so prevalent, I'd expect to see more concrete evidence to support that.
Literally, ask any friend working as SWE in any of those companies - they will confirm numbers. You are pretty much guaranteed to make that money in 5 years if you get promoted with average velocity.
be more indicative than asking a person first hand what they make? I don't think saying 'personally confront friends/workers at said companies about salaries' is anymore reliable than anonymously submitted.
Look at total compensation - average total compensation says ~$238k for senior, which certainly seems to confirm numbers...and they may be higher currently since I'd guess that those numbers probably span across a number of years. Google SF is a smaller office also.
I hate to be put in this position, but I have to call BS. This entire thread is highly biased towards people who make more: people who make more want to chime in, people who make less are more embarrassed / discouraged from chiming in.
I'm a natural (coding since 3rd grade), out of college for 6 years, and I've only known 1 engineer in my career who made over 200k. Now if by BigCo you mean Facebook, Google, Apple, Amazon, then I don't know them, so I can't comment.
But if by BigCo you mean IBM, Cisco, Intel, etc then I can guarantee you that I don't know a single person making 250k, and glassdoor generally corroborates (if you google STAFF (> senior) software engineer in SF for IBM your average is 132 base in SF)
Where do you live? These numbers are fairly local to SF/NYC/Seattle, with other large cities trailing a bit and smaller cities farther behind.
That said, in those cities they are far from absurd. I started out similar to you (coding since elementary school) and now live in NYC ~3.5 years out of college. Off the top of my head, I could name half a dozen developers making seven figures, and at least 100 making over $200k.
I live in San Francisco, and have for about 4 years.
I'm shocked you know the salaries of 100 other developers. Care to share some of the companies that are paying this much to developers 3.5 years out of college? I'd love to corroborate on glassdoor.
I don't know exact salaries of that many people, but I know payscales at a couple high-paying companies and people who work there, so I put 2 and 2 together. I wouldn't count people who are borderline since there's a bit of estimating involved. I would slightly less confidently put the same group of people at $250k or more.
I recently turned down an offer from Google for $270k total comp, so they're definitely one of the high-paying companies. I know Facebook pays similarly well, but have no interest in working there. Being in NYC, though, the highest paying are mostly in finance.
I've found Glassdoor to run very low for higher-paying positions, though. Their numbers are all salary as far as I can tell, while a large portion of compensation is in RSUs and bonuses (40%-90% at compensation levels of $250k and up).
I don't think Amazon compensates that much - I interviewed with them this past summer, and they tried to lowball me. I gave a firm number that I would not go below after giving some numbers I have turned down in the past, and the process stalled indefinitely. I have also heard stories about Apple lowballing friends as well, to the point startups were giving higher compensation. The others, I have heard stories about or could believe.
You were probably down leveled based on the interview. The comp will max out lower (and therefore the offer won't be able to budge significantly higher) than you may achieve somewhere that did not downlevel you.
I don't think so - I am pretty certain I aced both technical phone screens, answered the questions fast, and explained everything clearly with a high level understanding of everything asked (including all the nuances) while remaining calm & jovial the whole way. The technical screens were some of the easiest interviews I've ever had.
I should note that I didn't get to the in-person interview, and that was because salary negotiations start beforehand. I did my research afterwards, and everything I found seemed to point towards cheapness.
Having worked there, I am not sure I believe you. An SDE interview is a single phone screen before onsite. Salary is also not negotiated before an onsite + offer in hand. I was a hiring manager and often matched or exceeded competing offers from MSFT/GOOG, so our pay was not significantly different. The only difference is that Amazon base pay maxes out lower (at about 160k) and therefore RSUs make up a larger portion of salary for higher level positions.
Are you a senior engineer? Are you at a large company in a metropolitan area? Is your salary less than $250k?
If you answered yes to all three, yes, you are probably underpaid. That doesn't mean you're doing something wrong if you love your job, but know that you could earn more.
I'm sorry but... if you were a senior software engineer in Sacramento (a metropolitan city) and asked for 200k at intel, hp, oracle, apple, etc., someone would quietly hang up the phone hahaha. A laughable amount is even closer to 150k if it wasn't a tech giant ie. Sutter, Blue Shield, Proctor & Gamble, PG&E, Franklin Templeton, etc.
Lead, architect, principal... they may not hang up but I would expect a double take and a "let's be realistic."
This whole conversation is about pay at tech companies, where developers are the primary revenue generator, as opposed to other industries where developers are generally considered a cost center.
Agreed, doesn't take much looking on sites like glassdoor to confirm.. Most salary bands for principal roles are 120-150k w/ 15-20k bonus and occasionally same in stock.
> Are you at a large company in a metropolitan area?
...on the West Coast or Northeast, sure. It's my understanding that $250k is a little high for other cities, unfortunately. Hopefully the corporate culture there catches up.
Otherwise, a lot of engineers are getting used to living off of some sort of bubble.
I recently got an offer from Google for 270k total comp (<4 years experience, nyc). I would expect tenure to be worth a sizable amount over that, and it's my understanding that nyc is very similar to silicon valley.
This is not true, although I thought it was before joining Google from a startup. I'm now two years in (after joining at entry level) and my compensation is ~220k. 250k for senior is pretty conservative, if the Googlers I've talked to at that level are representative (and we don't work in the Bay Area).
The rule of thumb if you work in California is that you'll take home half, assuming all your income is base + bonus + RSUs and not exotics like ISOs or deferred comp plans. The rest goes to the cost of non-cash compensation, various governments, and your tax-deferred retirement savings. It's usually slightly more than half, depending on the exact numbers, whether you're buying medical plans for a family, how much you save in a retirement plan, etc., but that's the safe first-order approximation if you're budgeting.
So someone starting at BigCo in California should expect to take home 100-125k a year for the first few years. That said, I would caution new entrants to the workforce about three things:
- Tax rates are likely to go up, and certainly will not be going down. It would not be shocking if you were taking home 10% less in a few years solely because of higher taxes. You can also expect your cost of living to grow much more quickly than the tax bracket boundaries will rise.
- Your RSUs are likely to be worth less than you're expecting, because market prices will decline in a bust (a major bust is all but certain at some point in your upcoming 4-year vesting period).
- In a bust, you will likely get a smaller bonus or none at all (even if the company is still making money), and are unlikely to get a raise, even a nominal cost of living adjustment. These conditions can last for several years, so even if you keep your job (hardly a given), your total compensation will likely be much less than you expected when you were hired. A few companies may be doing well enough that you will be exempt, but don't count on it.
All of these things need to be factored in when evaluating compensation. It's not as simple as adding X + Y + Z and assuming that all changes over the next 5 years will be either neutral or positive. That's not how life is.
I'm a senior programmer at a smallish company (30 programmers around 150 people total) where I've been for 5 years and I make 60k. Funny part is I bill out at 140 per hour and am 95% billable.
I think this community is frankly out of touch on compensation expectations for the bulk of the population, but you are definitely underpaid and should find another job elsewhere.
I knew about a lot of the numbers in this thread, but reading them here blows me away anyway. Mine went like this (all numbers inflation adjusted for 2015, and are base salary. Location is NYC):
Company 1 (~25 employees, entertainment industry. No benefits. No stock.)
1997-2000 $30,757.56 (entry level)
2001-2002 $98,944.97 (junior)
2003 $128,986.96 (senior)
Company 2 (post dot-com crash brought salaries way down, ~150 employees, software company. Ok benefits. No stock.)
2003-2005 $66,838.10 (mid-level)
2006 $77,699.29 (senior)
Company 3 (non-tech startup, 5 full-time employees. OK benefits. Small amount of stock.)
2007 $114,465.95 (senior)
2008-2012 $77,529.03 (senior, pay cut after investments were cut)
Company 4 (~120 employees, ad firm. Goodish benefits. No stock.)
2013 $100,000 (mid-level)
2014 $110,000 (senior)
Not only do company sizes, upward trajectories, educational background, company industry, etc. impact earnings, but where you are in relation to business cycles and booms/busts really matter.
Service companies are always a bit of a problem. Your value is effectively capped by your hourly rate minus overheads. And that's in the highest levels. At all the lower levels you're paying the salaries of the higher ups and non billable folks.
When I use total comp, I exclude non-cash benefits, and I think that's the normal use of the phrase. Health care, vision, dental, long-term disability, etc are all excluded.
I don't know about 250k, but there is a lot of money to be made at a big company. I am not a 'SWE' at Google so these are not my numbers, but I know it's pretty normal for people to see this out of college:
~110k salary
~60 shares of GOOG per year (so right now about 45k)
~15% bonus (so 15k, conservative)
That right there adds up to 170k and that's entry level. Get a promotion or two (could be a 20% increase if you're lucky) plus the general year-to-year raises to keep up with the market and you're looking at 250k being possible before you're 30.
Now of course this can't be everyone. But it's a lot of people, and anyone who is going to be competent enough to keep a startup afloat is probably good enough to rise a rank or two at Google/Apple/Facebook/etc.
I worked at a big corporation and changed jobs after 2 years. Day one at the new big corporation I was making ~$200k (that's total compensation; so bonus, salary, and stock that will vest this year). I think $250 is very doable.
It's $250k if you count the equity. The base salary in cash is not that amount, but if you include options/RSUs, and the company continues to do well, those numbers make sense.
If you do the math as base+equity you will often find startups that are giving out even better offers. I've seen $300k+ if you consider dollars in RSUs the same thing as dollars in cash. Unfortunately the math really is base+(equity*chance_it_pays_out). With that math, you are much more likely to come out ahead at Google, FB, Microsoft, etc.
Startups will give better offers at the lower levels - however, as someone gets more experience, the big companies will go far and away above in total compensation typically. Even companies like Uber, Airbnb, etc. aren't paying as well (although they do pay well)...and that doesn't even go into the riskiness of startup work.
If you're saying this to suggest that students from Stanford or similar schools are able to attain better offers, then sure. If you're saying this to suggest that companies give students from Stanford vs students from "worse" schools better offers, that's not true.
I did an AMA on Reddit a few months ago. I worked for a well-known Sillicon Valley company for about a year and made around $200K/year and that's with about 5 years of programming professionally under my belt.
Just wanted to give you a heads up. I went back to startup work and my salary got immediately cut down to $125K.
I'd recommend anyone looking for their first job out of university to consider strongly a job at a startup. Consider it a 'finishing school', where you'll have the highest chance to touch as many different technologies and tasks as possible (from system administration, to backend to frontend work), as opposed to the 'Big Company' where (especially for a first job) you'll be focused on one task.
The important thing is to leave after one year, no matter the compensation you are getting. Teams have a tendency to give the shittiest work to the most junior member, and there's very little inertia to replace that person if they are doing a stellar job at that shit work, but once you leave that startup with bankable experience under your belt, you'll have a much easier time interviewing and negotiating yourself a cushier position at either another startup or a big company.
Most big companies have a much better career 'ladder', where you'll be on a path to more interesting work once you've proven your worth, but I suspect you'd still be in a better position coming into the company one or two years in, rather than starting the treadmill at a lower salary/title.
Everyone is either saying go to a big corp or go to a startup as your first job.
What I usually tell new grads is: Get offers from both, and take the job that has the best potential person or people that you'll be able to learn from. There are a bunch of ways you can research this. Try asking people on the team to tell you who they've learned the most from in their career.
Do not take a job where you'll be a lone wolf. As a new grad your goal should be to find great people to work with and learn from them.
If you want to have a balanced career you should try both big corps and startups, but ordering doesn't matter.
Good point. Fresh out of school I went to a tiny company of under 10 people. I had a great time and I was really impressed with the skills of the people I worked with.
But within 18 months or so it became obvious that I had by far the most theoretical knowledge of anyone there and a lot of their approach was guesswork. In two years, I began to realize I was just as good an engineer as any of them, just inexperienced.
I should probably have left after year three when the fun-factor was in sharp decline, but I stayed 5 more years, then took a job at at $BIGCO where my salary almost doubled instantly and projects were much, much bigger and infinitely more fun.
^^ Great advice. I had a college student ask me for input on this very question this morning and my response was not to stress too much about finding "the best, most ultimate company ever to work for," but to find a position where you can learn a lot and develop skills you know you need from people willing to invest time in you. (As an aside, something like 70% of people say the most stressful part of their job is their boss. So if there are ways to screen for working with someone who is willing to take the time to cultivate you, amazing.) I think it's tough, especially for the generation of students graduating from college right now (millennials coached to believe they need to have a HUGE impact wherever they go and to believe that their contributions are insanely important), to understand that a first job is just a first step and is not career-defining, in my opinion. You can work somewhere, get some good experience, and then leverage that to get a job you're really excited about.
I went about it the opposite way, and can definitely recommend that as well: big company first, then small. The big company experience shows you a ton of things, like how to interview, build, and deploy at scale. The small company can benefit from your ability to bring order to chaos, develop tools which are obvious in any big company but strangely missing from every small one, and more.
Maybe it doesn't matter which one you start with, but you should give both a try at some point.
This sounds great when you envision that big company as Amazon, Google, Microsoft or Facebook. It sounds less so when you envision that company as Oracle, eBay, Yahoo! or SAP. Some large companies are mostly going to teach you politics, byzantine process and spending money as a means of scaling bad software.
It's important to differentiate skills learned at big companies. Some are very useful, but others are coping mechanisms that have no place in a startup. Meanwhile, the scrappiness and well-rounded skill set learned at a startup will almost always have a place in larger businesses.
My own personal recommendation for early career workers would be to prefer the cream-of-the-crop mid and large companies where you'll get useful experience you can't find anywhere else, then prefer startups and leave the slower-moving and more dysfunctional larger companies as a last resort.
yes. which big company matters so much. i find it frustrating when my hacker school friends deride big companies as having no interesting work being done or not being great places to work. Having worked at startups and two different big corporations, I've learned the most at the very large company I work at now, almost nothing at the first one I did and a mixed bag at startups.
Heck, even well known boring big companies (eg IBM, Oracle) have great smaller teams that are doing interesting things. Much of it is a crapshoot. The nice benefit of the smaller company is that you have much higher likelihood of seeing your code go into production, and experiencing the feedback from it being used. At a big company you will get shielded from that. Often for good reasons - but the feedback truly helps your career.
Dont't knock spending money to scale. The most important lesson I learned at BigCorp was when to buy vs build. Not Invented Here syndrome will kill even mega companies.
Agreed. Large companies have entire programs for the intake of new graduates. At a startup you're much more likely to be left to find your own way - which can be great, but can also be awful.
What I like about "big before small" is that while you can't replicate what the big company does, you can selectively adopt certain "big company lessons, tools, processes" at a startup. At a big company, you also may gain a view into how scale works to understand where your changes at a startup will have the most bang for your buck.
Agreed - I actually worked at a big 4 consulting firm - and it made me considerably more disciplined, and structured over my peers. I can solve problems more clearly, succinctly, and focus on critical path which comes from pressured client work.
I think it really depends on the kind of person you are. If you're seeking fast pace and get bored easily, a startup is the right place to be. Otherwise, if you're like me, you can lead a pretty satisfying career in a large company. For some reason I was conditioned in college into believing that the startup mentality was the only respectable way to go, and any time spent at a big company should be a temporary.
I can also recommend this. The big company has a good starter program and lots of resources to learn and draw inspiration from. Also you get to touch such massive amounts of code and technologies. Of course it depends on the company, yet I think it will benefit you to switch job after a year.
It's kind of difficult to have start-ups hire juniors because they desperately need people to be productive and so I'd caution that start-ups that accept junior coders straight out of school may not be the kind of start-ups that give the kind of experience that's desirable even for a year.
Instead of recommending what people should go after college for their first job, I'll recommend what people should not do:
1. Work for a consulting / contracting company that has companies people don't like to work directly for. This is probably the worst arrangement of bureaucracy possible because you have the maximum possible layers of management overhead combined with business incentives to keep your compensation and impact upon the business as little as possible. Working for a web development shop that has big customers doesn't count here IMO because your work as an engineer is largely unchanged regardless of your customer paying you $2000 or $200k.
2. Work in corporate IT. These are high-turnover positions for many reasons. It seems like there's a lot of money in it, but it's mostly going to those that sell software to these places. People are miserable enough in F500 companies as it is, this is probably among the worst places for combination of stress, pay, and career mobility.
3. Work in a non-software company. A company whose business doesn't take its software seriously invariably treats its software and IT resources as cost centers meant to get maximum cost savings for as little money as possible via opex reduction and will, ironically, likely fail to make bigger expenditures required to keep costs (and really, wasting time) lower.
Being around non-motivated people in a demoralized environment is a great way to kill any starting career and learning what the signs of these organizational attributes are have important for avoiding really bad career moves.
>> Work in a non-software company. A company whose business doesn't take its software seriously invariably treats its software and IT resources as cost centers meant to get maximum cost savings for as little money as possible via opex reduction and will, ironically, likely fail to make bigger expenditures required to keep costs (and really, wasting time) lower.
To expand on this, there are some companies that seem like non-software companies, yet still treat software as a competitive advantage rather than a cost center. I worked for a big bank that did their best to stay six months to a year ahead of other banks on technology. The marketing folks were constantly coming to us and saying, "Give us cool features that we can sell." It was a fun place to work.
I also worked for an insurance company that viewed technology as a necessary evil that should be as cheap as possible. The marketing folks there were constantly complaining about how much time and money the company was wasting on technology. (Curiously, they also complained that the company's technology offerings were hopelessly far behind its competitors.) It was a miserable experience.
If you're looking for a job, ask questions about management support and budget priorities. If they're evasive or they say things like, "we're proud of how far we stretch our investment," it's not a good place to work. You can also ask how the company compares technically to its competitors. If they're evasive or talk about how they're trying to catch up, that's a bad sign, too.
The more correct rule is that you should try to find companies that have closely aligned business and technology objectives (which I haven't found outside of finance and the usual SV companies in the F500), but I have my doubts even that is the case because I'm working for a large organization that meets this criteria and I'd never think of advising a young, ambitious recent graduate to even reply to a recruiter for this place given the horrifically bad budget situation. Just because business leaders want something and try in earnest to plan for it doesn't mean much if they don't have the resources and momentum to execute.
A good example of what I mean are large, innovation-less companies with "start-up in a large company" efforts to bring themselves some relevance that almost always become the worst of large company inertia / legacy with the fiscal and market position disadvantages of start-ups. I've been through at least 4 of these efforts with varying degrees of "success." And while they're a large part of my career and I want to believe it can happen, I have no evidence of this working out well and am convinced it's a rather high risk to take with disproportionate upside.
I have an offer to do data science work for a large, public insurer. I will work inside an "innovation lab", and was promised lots of freedom and authority during the interview process. They say they want the "innovation labs" to run like startups, trying out new products and ideas at a fast clip.
Do you have any thoughts about what the general environment will be like, and is there any chance the place will be mired in bureaucracy? I'm relatively early in my career as well, and have never worked for a Big Co before.
I'd love to get in touch with you, but you don't have contact info in your profile. I'll be grateful if you can drop me a line - mailshanx at yahoo dot co dot in
It's hard to tell without context but I don't recommend most big company jobs that are not working on things that are high risk and high reward for recent graduates normally. There's a lot of questions to be asked about what the objectives of the project are, executive backing, and (most importantly) how strong the funding is to demonstrate the worth. As an example, my customer has made huge investments in attempts to hire developers while skimping tremendously on dependent efforts that would remove barriers for those developers to the extent that most developers are doing 9-5 jobs and unable to accomplish a lot while a lot of the infrastructure teams are working 12+ hour days working on very much solved problems from decades ago that only exist due to lack of respect and understanding of basic automation principles required to scale software companies of any sort. Everyone wants to work on modern, relevant problems - make sure that people are specific about their current barriers as being technical rather than organizational as a prospective employee.
Look for a deep culture of respected and accomplished leaders in software up and down the hierarchy. If nobody in a position of authority has delivered software successfully before that you can recognize as an engineer, pass because culture and experience among executives is massively important and their priorities should focus on long term growth (Amazon was ridiculed by enterprise vendors while I screamed that they will eat their business in a decade - they don't care because they'll go somewhere else while I have to deal with the very expensive consequences of bad software). There are too many great companies around today to waste time on mediocre companies - it is better to be jobless for months or years waiting for a great company to accept you for your talents than to waste some of the best years on companies where your best efforts will result in second rate winnings. It's a huge risk to work for mediocre companies that will not put the work you will have to put in themselves.
My e-mail is djk29a on Google's e-mail service. Not sure how the first part of your e-mail works out and I'm several days late so hopefully this is relevant advice.
If you take a startup job out of school, make sure that they embrace pair programming. Work for a Pivotal Labs. Work for an Andres Camacho. Work for a Chad Fowler. Or an Ernie Miller.
Find the leaders that understand all programmers need training (especially around process and coding standards). Sell that on your passion and that you want to become good _quickly_.
Pivotal is pretty awesome, definitely on my list of "seems cool, bro" companies. A lot of the criticisms I've heard hardly are a concern for me because everything I've known is that they're so busy coding they're hardly able to mess around taking submissions from others outside the company.
And to be a little cheeky, Pivotal (compared to Pivotal Labs, not the same but still) is nowhere near a "start-up" company by most definitions. They're planning for an IPO and are pulling in many millions in revenue like Cloudera and HortonWorks, it's hardly possible to keep these plans from being kept under wraps.
Pair programming is not for everyone. More generally, you want to be somewhere you can learn from senior folk. Pair programming and high quality code reviews are both great for this, and will appeal to different people.
I'd recommend anyone looking for their first job out of university to consider strongly a job at a supercorp. Starting a start up will be much easier with a network of professionals, a pile of personal savings, and it is way easier to go from supercorp to startup than vice versa.
I recommend getting into a small company (i.e. 80-200 employees and profitable), if possible. At this size, you have opportunities to wear different hats and moving sideways, but you also get opportunities to see and participate in workforce scaling (helping form new processes, seeing new departments emerge, etc).
The important thing is to be vocal about what you want to do. If you came in as a frontend dev want to do more about backend work, go find gossip about new projects and express your areas of interest to higher ups. If you want manage people, offer to improve the technical hiring test. If something is stupid (maybe there's burnout due to too much overtime, or a process is over-bureaucratic, or some aspect of development is too cowboy), be proactive and offer solutions.
The unique thing about small companies is that there are enough people that narrowmindedness and complacency start to appear (and with it, process problems), which gives you plenty of opportunities to prove yourself with out-of-the-box thinking, but not enough bureaucracy to prevent you from being able to make changes.
This was my experience and it has worked out really well for me. I've seen a few levels of scale (~120 people to start, ~1500 now), have worked in several different departments and touched nearly every area of the business. Incredible learning opportunities and ability to drive real change/results (which is a main argument for startups) while also having advantages of larger companies in terms of resources, training, pay etc.
I totally agree. This is the path I have taken and I do not look back.
I rebuilt the recruiting process at my first IT-company after college.
Now I started my own IT-recruiting agency in Zurich. If you look for a tech-job in the most liveable city in the world, check out my story "8 reasons why I moved to Switzerland to work in IT" on http://medium.com/@iwaninzurich/eight-reasons-why-i-moved-to... or send me a mail to the mail-address in my HN-profile.
I believe the inverse, I think most kids out of school should start at a (good) large company, they have the resources and framework to provide all kinds of career training you'd never get from startups or small companies. Mentors, leadership training, technical skills training, much bigger budgets, and a smaller group of tasks that someone is expected to perform. The pace is likely more deliberate, if not even boring, and that is good. As a newcomer you'll get a front row seat into what processes really work (code reviews, source control [yes, I still run into old/new people who don't use/believe in it], documentation, etc.) and you will be able to see how not having them can be detrimental in the future.
Starting off in a startup will lead to little support and a cowboy attitude, what the world needs more of is people who know when to cowboy, and cowboy with purpose rather than using 'just get shit done' as an excuse for a lack of standards and quality.
Also, this has been MY career experience to this date. As I now run my own tech companies and have been hiring technical people for the last 7 years, I have anecdotally found this to hold true. The early to mid-career types that have only ever been at tiny companies or startups are really good at having a breadth of experience and an ability to move fast. The spent all my career with big company types have usually been pretty deep at something (a language, framework, tech niche) and are very used to processes. They're typically slower and have a need to encumber small things with bloat (process, tech, etc). Marrying these people together on a team has yielded me fantastic results in nearly every case. The big enterprise people feel like they've been released from a cage, and the scrappy startup types seem a little less feral, while providing an infectious get shit done attitude.
I've been trying to leave my small company for a mid-sized startup in NYC (currently in NJ). Started just before my year mark. Almost every startup wanted someone with more experience under their belt. Of the few that were willing to take on someone with one year, I was still in competition with others who had much more experience. I got the same line over and over again - "strong technically, passionate, good fundamentals, but we need someone more experienced". So I waited a few months and tried again. It's gone a lot better so far (no offers yet) but I've had to shift my image from that of a young up-and-comer to one who knows how to Get Stuff Done. I stopped asking about mentorship opportunities. I still really want to work at a startup but I need a new job ASAP - I don't think I'll be attractive to them for a few more months at least.
I agree, but a year's a bit tight. You may want to give yourself an option of another 6-12 months, if your job is still rotating through things and changing enough that you're not pigeonholed yet. I'm not sure I could put into words why, but I'd look much more favorably on two years rather than one if I was looking at your future resume.
Flip side, I'd also add an option at months three and six to ask myself whether I should just get out now and basically just not put it on my resume in the future. Interesting tech is interesting, but if the startup has pathological personnel or psychological problems, a year may be too long. I would suggest sticking out anything other than outright abuse for at least 3 months, though, since you do want to account for the fact that, ahem, a real job is not school and there are certain different expectations, regardless of where you work.
> another 6-12 months, if your job is still rotating through things and changing enough that you're not pigeonholed yet
This reads as if you're advocating against ever becoming an expert in anything. A few months is nothing--if the ___domain is difficult you're barely up to speed.
In the context we're discussing, we're explicitly taking a job to sample many things.
Given the recent specialization in programming (web backend v. frontend, "mobile", devops, etc.), which is a continuing trend from previous decades, this seems sensible. I advocate for a T shape in skills, but before you pick what you go deep in, get somewhat established in the wide. Fresh out of school you just can't have the width yet to know what you want to and should go deep in yet, not even if you've had a job the whole time.
Actually, I suppose I ought to raise that up as my true point: Go a bit wide before you select what to go deep in. Try not to just float into something without thought. Width should emphasize learning things that have demonstrated staying power, but you want to go deep on something that you expect has future power. It probably shouldn't be the current hottest fad tech, but the current hottest fad tech is probably at least in the area of a good future choice; it's more interesting why the current fad is a fad than the specific fad. If you do go for something that became super hot in the last 6 months to a year, try to figure out how to leverage that into learning about fundamentals even so. There's ways at both big companies and startups to succeed and fail by this metric.
Of course, on the flip side, you don't have to get it perfectly correct. You can't go deep in everything all the time, but "pi-shaped" Π is feasible in addition to T-shaped too. (That's capital pi, for those who may not have seen it before.)
Well remember, the pigeonholed part is in terms of the crap work.
And I would say that in your first several years, you really don't want to be an "expert" in anything, cause you likely haven't had exposure to enough different things.
Alternative view: large corps often have graduate programs that will cycle you through various parts of the business (Cap Gem's is particularly good, IMO), and make a great platform for figuring out what you want to do next.
Yes, my sister did this -- she was a bright college grad and went through an associate program. Gave her a ton of exposure and helped her then find her niche and accelerate quickly. Let's be honest, know one in college knows what the ins and outs of "marketing" or "customer success" or "operations" looks like; my sister was surprised to find herself really interested in the niche field of fraud for a big travel booking company, and now she's able to parlay that expertise to get a higher salary and better job title elsewhere.
I recommend opposite as well but look for things like Leadership Development Programs in JPMC,WF,CITI etc... you get well rounded experience in 2/3 years and then you can decide to stick around or move.. Or work in big company and contribute to open source. There is lot to learn with big companies and if you can solve their problem you can solve small company problems as well but all small companies will get tired and have to behave like big corp to continue.. start up momentum is not sustainable beyond 3/4 years. Once you hit about 15000 people then you start having all kind of issues so better know how to manage that or seeing that will give you idea how to segment your company.
When you graduate from school with debt and no savings it is a good idea to maximize your initial salary. You can live on ~70% of it while building yourself a financial cushion for a while. Then, if you want to go to a startup later, you are in a better position to handle the risk of its failure and already used to spending less money. (Or you can stay with big companies and get a nice lifestyle boost after your emergency fund is established.)
I've made this point before, but since it's a bit relevant here, I'll make it again (sorry to repeat):
If you're primarily interested in making money, or if you love the startup but not the compensation, you should NOT work at that startup.
If you're a good developer, you can get a better deal by working at an established company and simply investing. This has been true for every startup offer I've ever seen. Ever.
I've considered lots of startup jobs because I believed strongly in the companies. Every single time, however, I was able to get a larger chunk of the company by keeping my current job and simply investing.
To give an example, my current job pays about $250k, and one year, I invested $100k of that into a startup, leaving me with ~$150k of salary. This $150k + startup equity was a better deal than the startup was offering in both salary and equity (BY FAR). Plus, equity bought as an investor is much less tax toxic than equity options received as an employee of a startup.
On the other hand, most people who work at startups aren't interested in money. If that's you, that's totally cool!
AFAIK, working at Google et. al. pays well, but for most people your career will cap out at senior engineer. At other big companies (banks, telecom, oil, etc) a good Google dev can climb the tech career ladder quickly and make more money, get more responsibility (if that's your thing).
Do you want to be a small fish at Google, or a big fish at Goldman Sachs?
You may be under-estimating how competitive and difficult becoming a big fish at Goldman Sachs is. And in many places (ex, banks), your technical chops are not appreciated as much.
It usually requires a bit of networking, but that's all--most startups are more than happy to take your money! (And they will usually try to hire you as well.)
I've been out of school 3-4 years, and I work at a large company. I'm about 10% a manager, 10% a resident data scientist, and 80% a coder, and I love my job.
I didn't do more than browse the article because I didn't need to hear the arguments to accept the conclusion. I think the only place perhaps in the world where working in a startup could be seen as any way superior to working at an established business is in Silicon Valley, where enormous amounts of VC money come together to create a modern Rome.
Certainly we need Rome, the modern world wouldn't have existed without it, but Romans themselves are myopic and self-obsessed. They need to be, otherwise it wouldn't be Rome.
I love that Silicon Valley exists, but I wouldn't want to live there. I love the people that go there and exist on the bleeding edge of innovation. I'll happily sit here behind the curve and have a normal life with a house and car and kids. I'll root for the dreamers that go there and hope that they too can one day achieve their dream life. I don't need that glory.
Actually, as an European (as in, in a completely different environment than SV), I'd recommend the opposite with a small tweak, add "small company" to the startup meaning.
Most big companies I've worked with in Europe have horrible new employee training package or no training at all. I haven't worked in a single one that took fresh out of college types and allowed them to work in different departments. The most common scenario when a new graduate gets hired into a team doing X is to throw him in, get whatever documentation the team has, even maybe someone to ask questions and the expectation is that he will do X for the next few years.
Opposed to this is the environment in a small company/startup, where you'll be forced to do a bit of everything and even lend a hand with stuff that is not your job at all. You'll have the chance to see different technologies, see the whole process end to end AND then, decide what you want to do.
BTW, is salary that important for people starting their careers? Salary advancement yes, even what salaries you might expect with 2/5/10 years of experience, of course. But for a first job? Does it matter that much?
My first salary was crap (600€/month in the year 98), but allowed me to work in multiple environments (web, databases, sysadmin, embedded system...) and when the time came to look for a new place, allowed me more freedom to choose what I wanted to do (the biggest problem I had finding a job, in the middle of the .com crisis, was convincing employers that, yes, I had indeed worked with all those technologies in 'only' 2.5 years). I multiplied by 5 my salary with that second job, which was a more than decent salary in the country at the time.
I don't work at a big company, I work at an established one. The key factor is that they're not still trying to validate their business plan, not the size. I want one that's been around for at least ten years. Less than that and I have to ascertain for myself whether the company's going to be around long enough for me to get what I went in there for.
The goal here is mitigating existential risk to your employment situation. There's outside risk, the chances of your company going under, and internal risk, the chances of getting fired or laid off before you've accomplished your goals.
Working at an established company mitigates external risk, working at a small one helps mitigate internal risk because you can get to know your company very well and keep alive to shifts in politics. For me, the small, established company is ideal. I work at such a company now and will only jump to a similar company for a significantly higher salary. Small bumps aren't worth the switching costs.
I'm hardly Rome-free. America is the Rome of the world, technology is the Rome of America's economy. Programming is the Rome of technology. Ruby is the Rome of programming. (that last one is debatable)
The two most famous rails sites, twitter and groupon, currently use scala and node respectively. I guess that last part is quite debatable.
Python, golang, and Java(+jvm languagages such as scala/clojure) all have a TON of users at very large and interesting firms. I was just reading today about the new york times open sourcing their golang microservice framework.
The essential elements of a Rome-like ecosystem are willingness to innovate, the ecosystem exerting a pulling force on the surroundings drawing resources inexorably towards it due to ideas built structurally into the empire, and the aforementioned myopia and self-obsession stemming from pride. Power and innovation.
I think that programming can be further subdivided into web development and everything else, and then Rails as a platform compared to other frameworks.
Rome had its own evolution, and so each individual Rome is also in a different part of its evolution. When Rome fell, it did so not because of any real weakness on the part of the Romans, but because they'd succeeded in exporting what made them powerful to the surrounding lands. Rome couldn't maintain dominance faced with its provinces each wanting self-rule.
So I consider Rails in the last throes of empire. Its legions will still fuck you up, but it can't fight the whole world anymore. Still the best web dev framework out there, every other framework ends up reimplementing Rails, but it can't be all things to all people anymore.
It isn't necessarily an either/or proposition. Between remote offices, remote work, or local startups, you can live in $NOT_SV and pick certain elements of the SV lifestyle that you may appreciate. You don't get full unrestrained choice, but, well, you never do anyhow, so shrug. Tech workers can still have it better than most could even dream of.
Remote work is one of those Roman ideas that I just can't bring myself to be interested enough in to try. Sit at home all day with nobody but the cat for company while everyone else is at work / school? Give me a regular desk and let me see my coworkers in person every day.
Besides, from what I've gathered from the job postings here, SV startups mostly don't hire remote workers. You're expected to move to Rome.
Local startups offer substandard salaries, the very real proposition that your company will run out of money, and inevitable reticence on the part of the founders to clue you in as to how the company is really doing. No thanks.
I'd submit that what you have there isn't that what I've said is wrong, but that what you've "picked and chosen" from the SV lifestyle is nearly the null set. That's fine for you, no sarcasm, I am glad you are happy and I have no great love for SV myself, but it doesn't make my point wrong.
Me, I live in the Midwest and work in a quite substantial local office of a SV-based company that is now midsized. I get the job I want (in particular I want to work in a place where programmers are the core value providers of the company, not a cost-center afterthought, which is what is generally true of the other companies where I live), in the place I want, because I do not want to live in SV, and do appreciate being near family. Granted my choices are less, but I only really need one job "right now" and enough fallback that I have choices; I do not need thousands and thousands of options.
I know it can be done. I know it's not an either/or, because I have in my hands an existence proof of something that is not either/or.
I wasn't necessarily arguing with you, just trying to highlight that even just having a little bit of SV startup influence on your life is still "living in Rome". The phrase, "All roads lead to Rome" comes to mind.
You want Rome in your life, having Rome there is way way better than not having it there. But Rome is dangerous, precisely because of the infectious nature of Roman ideas. When you 'live in Rome', you are ceding control over your life over to Rome in exchange for a more exciting future. You've sold the family farm, uprooted yourself and moved to the big city.
I don't want to live in Rome. I don't want Roman ideas controlling my life. I want to live out here in the periphery, maintaining as strict a boundary as I can between myself, my lands, my family, and Rome.
I don't want little bits of Rome on my lands. If Rome wants to come to me, offer me a fat salary and a cush job right inside my kingdom, I'm going to examine that gift horse extremely carefully to make sure it's not hiding a bunch of soldiers inside, or, more likely, ethical failings on the parts of the founders that can wreck my life along with my kingdom. I can't fight Rome, Rome is unstoppable, but by keeping my head up and not falling prey to ego and hubris, I can enrich myself and my kingdom through Rome rather than get destroyed by it.
Hacker News is how I get exposure to that ecosystem while still maintaining control over my life. It's perfect for me, no less than I need, no more than I can handle.
I've worked at both startups and big companies since I first came to SV in 1999. And some startups that became big companies. For me, there's much more than the practical & financial considerations laid out here. Deep down I know that I enjoy taking risks -- I like the roller coaster ride, and having a very real and visible impact on whether the company as a whole sinks or swims. Know yourself and don't ignore your intuition.
Also, while "rand(100)" might be an accurate characterization of the returns of all employees over all startups, it is not entirely a game of chance. There is skill involved in picking the right startup to join: being proactive in your search, building a personal network, finding founders with track records, considering enterprise startups. You can learn to improve your odds -- a bit like learning to count cards.
From the AngelList FAQ: "Investors are required to fill out a questionnaire to establish that they are accredited. You can only accept money from accredited investors whether you raise money publicly or not."
I don't want to criticize too harshly, because I do think this analysis is generally good (if slightly unoriginal).
The problem is that these analyses always focus on how you, as a prospective employee, can extract the most value from the world. Optimizing cash vs equity or arbitraging ___location or whatever.
You can see it seep through all over the place in the language used. Sometimes it's subtle:
> I’ve told that anecdote to multiple people who didn’t think they could get a job at some trendy large company, who then ended up applying and getting in.
Waiting and hoping to "get in" is pretty weak. It implies that we're all just meat-sacks working away until some of us get lucky and manage to convince a fancy company to overpay us and let us extract a lot of value from them.
If you have value to contribute to the world (and you definitely do), then go figure out someplace where you can best contribute it. Stop worrying about the best way to take things from the world and figure out the best way put stuff in. The rest will take care of itself.
As a counterpoint, you can do an absolutely absurd amount of good with this kind of money. With a salary of 250k, you could donate 150k to charity, and still be quite well off.
I like to go by effectiveness estimates from www.givewell.org. One of the charities they approve of is GiveDirectly (www.givedirectly.org), which makes direct cash transfers to people living in extreme poverty. They feel confident in the claim that the average person receiving money from GiveDirectly lives on the equivalent of about $0.66 (U.S) per day[1]. GiveDirectly has an organizational overhead of about 15%.
Another charity they like, the Against Malaria Foundation (AMF), distributes anti-malarial bednets. The nets cost something in the ballpark of $5-6 to make and distribute[2], including organizational overhead. They make a much more tentative estimate that each $2,800 sent to the AMF results in about one life saved[3] (of a child under 5).
So, by donating 150k, you could plausibly:
1) Double the yearly income of about 531 people
(66c * 365 = $240)
($150,000 * 0.85 (efficiency) / $240) = 531
2) More tentatively, save the lives of about 53 children.
Totally agree with this. The narrative shows up in more discussions than just startup vs bigco; it's also a very common decisionmaking framework when choosing first jobs out of college, when choosing projects to work on while at the company, etc.
It's pretty bad overall for net societal productivity. The main reasons this framework shows up so much is that (i) it's hard to really think through what kind of unique value one offers and to figure out how to leverage it, and (ii) it's tough psychologically to do something that doesn't optimize for the typical value function (prestige + income).
> A new grad at Google/FB/Amazon with a lowball offer will have a total comp (salary + bonus + equity) of $130k/yr.
I think these companies are actually too ideal to draw this conclusion from. For everyone Google/Amazon/FB, you also have a Comcast, an Oracle, an HP or Cisco.
You frequently hear about companies like Apple, Google, Facebook, etc trading employees. You don't hear about the typical big company poaching anyone besides executives.
Edit: The above doesn't seem to represent a clear thought. I'm trying to argue that the average big company doesn't pay as well as those three. Similarly, the average startup isn't going to be able to pay massive dividends in four years.
Equity at a startup is a joke these days, even as valuations climb to infinity. When you're an engineer at a VC-funded startup you're competing against VCs for a piece of a pie. And guess who will walk away with the pie at the end? Will it be the Ruby expert who wrote the backend, or will it be the VC partner who drew up the terms of the funding and the exit?
If you join a startup early you'd be very lucky to get 1%, 2% maybe? Ok so then 4 more rounds of funding go by and you're diluted. Then finally after 5 years you sell to Googapplesoft for $200M. Holy shit, payday is here! Wrong.
First you're going to pay out to all of the preferred shareholders, some of whom might have special payout clauses because you guys really needed the money. Then you find out your 1% is now 0.3% and you have to wait 6 months to sell any of it. So you busted your ass for 5 years for a few hundred thousand dollars when you could have had a full-benefits, low-stress job at Googleapplesoft in the first place and not put nearly so much at risk.
Oh and there's a 90% chance that exit never even happens and all you did was work way below market salary for worthless stock. Oh and that whole time you probably had crap health insurance and minimal 401k matching so your savings aren't looking too good either.
The point of the above is not to say "don't work at a startup" because it's obviously a great experience and the right choice for some. And who knows, maybe it will be WhatsApp and you'll be a billionaire and you can come back here and mock me. But if you run the numbers (as the article says), you really shouldn't work at a startup if you're after money.
It's worth nothing that the mean and median salaries of graduating Carnegie Mellon University CS majors, one of the top CS schools, is only $103k/105k:
I don't see why this is getting much attention. You can look at the financials all day long, but what really matters is your happiness. Are you going to be happy at a big company doing the same job day in and day out? If so, great!
If you're the type of person that can't stand repetition and predictability and want the emotional roller coaster of creating something new, then join a startup!
We don't have blog posts talking about the payouts between being an artist and a hedge fund manager, and yet people still become artists. Why do we do this in the startup culture? We shouldn't feel apologetic or like we're missing out on something if we decide that what makes us happy is to work at a startup.
It's basically a reply to the positive coverage that Startups get. Startups get the glory (as much as you can in this line of work anyway). They get TV shows, movies and endless blog posts. And judging from the attention, his post was needed.
You might have a repetitive job at a start up writing crud for an ecommerce website or you might have a rollercoaster ride at Google inventing spanner. The things you describe are not exclusive to either the startup or the bigco.
This makes the wrong assumption that the only two options are "big company" and "startup." More importantly neither of the two qualities you assign to big company and startup are unique.
Working in Europe I can never believe these fantasy numbers from the U.S. 250k USD after 5 years, seriously? A good Senior Developer here, with 5-10 years of relevant experience, might have a base salary of around 50-60K EUR, and perhaps another 0-2K EUR in bonuses. Then you have to pay around 30% income tax and another 20% if you hit a certain income bracket (which you do with 50K) in many Western European countries. If you want to make more you need to do contract work or roll your own business.
I know they sound like fantasy (I'm from the US but certainly didn't hear numbers like this while I was still in school), but believe me, they're very real. They're a relatively small subset of programmer salaries, but they're still big enough to cause an upward pulling effect on other companies, such that average software engineering salaries seem to be much higher in the US than in Europe, too.
Nah. Programmers at Google, Facebook, et al. are all pretty solid, but most aren't amazing ninja rockstars or whatever. I'm at one of them, been doing fine career-wise and I'm certainly not mind-blowingly good or anything.
Getting a job at Google as an engineer is ridiculously hard. The guy that wrote Homebrew couldn't even get hired even though 90% of their engineers use his software.
If you can get a job at Google, it's very different than getting a job "at a big company" and has historically actually increased your odds of success later on (via the propensity of investors to fund Xooglers). So I would definitely agree - taking a job at Google when you haven't had one before vs. starting a startup is a very legitimate choice to make. Taking a job at Microsoft vs. starting a startup, I would argue (and the X-Microsofters in my life) a very different one.
You shouldn't confuse "getting a job there is hard" with "the interview process is random and skewed toward false negatives, with an especially bad job done with experienced candidates"
---
"Second problem: every 'experienced' interviewer has a set of pet subjects and possibly specific questions that he or she feels is an accurate gauge of a candidate's abilities. The question sets for any two interviewers can be widely different and even entirely non-overlapping." -- http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog...
"I have 25 years of software development under my belt, I published a book, spoke at various conferences in Europe, have a Github profile (admittedly not very lively), worked for well-established enterprises and have great references. Why shall I still prove myself?" -- https://news.ycombinator.com/item?id=10757186
Attempting to get a job at 1 of the Google/Apple/Facebook/Amazon/Microsoft quintet of big companies that pay well, though, is quite doable, in spite of the noisiness of the process. mxcl got a job at Apple (working on Swift's package manager, no less[0]) a short while later.
I spent the first 15 years of my career as follows:
3 years in small companies outside the bay area
10 years in bay area startups
~2 years in bay area big corporations
I can say the following. The transition from startup to big company was really tough. Part of this was because I was used to being "the guy" for such a wide range of things. At big corporations, these roles are divvied up into 5-10-15 different roles. This is both good and bad. On the plus side, I can relate somewhat intelligently to colleagues across a very wide range of roles. On the minus side, the colleagues all (rightfully) feel their areas are their ___domain and don't typically recognize expertise coming from outside their team. This knowledge with lack of credibility was hard to reconcile until I fully realized what was going on.
So I've been at this 9 years and I'm not making six figures. Fuck. I don't even understand where I went wrong. Part of me can't believe the article at all.
His comment about cost of living was kind of an outright dismissal, very odd? I don't think Google will let me work from Milwaukee.
Where is the information on travel, quality of life (owning a house?), etc?
I think it's important to remember that HN seems to focus on the experience of the 95th percentile developer (which is not to say that you are not one of those). The numbers in this blog post are well beyond the reach of even a 75th percentile developer. The GAFAs and YC startups of the world aren't even going to interview a 75th percentile developer let alone hire and compensate him or her at those levels.
If you look at Dan Luu's resume and writing, it's reasonable to assume that he's well beyond the 95th percentile himself, so those numbers are very likely attainable for him.
I don't disagree (or claim to be 95th percentile). The question I have in regards to your comment would be - so then isn't it an article about how he is getting ripped off?
What I mean to say is, my thought is that a developer in the 95th percentile would make their own product/business.
I've never thought of myself as an 'average' developer; but then again most people say that about their driving. It does make me wonder what a bad developer is though.
I think the point of the article is just the three points Dan explicitly makes -- he's questioning the common wisdom that startups (for a top developer) offer better compensation, more interesting work, and better work experience than larger corporations. I suspect that if he thought he were being ripped off, he would easily move to either a large corporation or a startup where he was getting a better deal.
As for 95th percentile developers making their own products or businesses, that's a completely independent skill with little correlation to software development ability. Beyond writing the software, you've got to market and sell the product, set up distribution channels, support the product, etc. I'd consider myself a respectable developer, but I have no delusions that my development skills translate to any of the other skills required to build a business. I'm generally content to execute in a software development role for someone who has the broader vision and skills to build a business around that product.
And lastly, I wouldn't base an assessment of your skill as a developer on your compensation. In current and previous roles, I've seen a number of salary lists, and there was zero correlation between pay and talent. Some of the most highly-paid developers were near worthless and some of the most solid developers were paid 25-40% less. While it's sad that being a good software developer is not enough to be paid at the top of the scale, we generally have it pretty good in that the decent ones of us are likely to have salaries well above the national average.
California (and certain parts even more so) is an alternate reality where 3 weeks in a coder bootcamp learning to copy-paste from stack overflow entitles you to a job as a 6-figure javascript ninja. And you'll still be living in poverty. It might as well be a different country with a 10-1 exchange rate.
The median home value in Palo Alto is $2.5M per Zillow; in neighboring Menlo Park with comparable schools it's $2M. If you cross I-280 for larger lot sizes (and generally, though not always, more house square footage) you'll see the median home value in Portola Valley is $3.8M. If you don't like those figures, you can look at Trulia's, which says the median sales price for Palo Alto is $2.5M and the mean listing price is $3M.
Note these are generally not luxurious properties at those prices. Many are small postwar ranchers or Eichlers (beautiful but a pain to update) that have not been renovated in decades. Some houses have negative value because they're teardowns; you'd buy the property for the land.
After taking into account housing costs and California's aggressively progressive tax regime, you may find that $250K salary does not go as far as you like. You may make 2x-3x as much--but your cost for comparable housing may be 10x-15x as high and your tax burden will be more oppressive as well.
I wouldn't claim to know anything specific about your situation, but I'll say that I'm in the same boat (albeit by intention). In order to break six figures, you'll probably need to work for a tech company (Amazon, Microsoft, etc) and live in the appropriate metropolitan area. If you're not a top productive developer, you'll probably be expected to put in 50+ hours a week. These things all incur a cost to you, the employee, that is partially compensated by the increased salary and benefits.
For example, I currently make about $90k. I interviewed at Microsoft in Redmond and was offered $110k base. Let's call it $130k with bonus. I declined the offer. Why?
I interviewed for a senior position and was told "we don't think you're qualified for a senior position, would you like a junior position"? This is not a problem, except that it communicates to me that expectations will be high for improvement. Additionally, during the interviews, I inquired, "Does the team generally work 40-hours a week?" And they said with a disdainful tone, "Well, we do have one person that works 40-hours a week." That tells me that I'll have to work my butt off for 50+ hours a week. Additionally, moving from the smaller town I live in to Redmond/Bellevue area will incur a noticeable increase in cost of living (specifically rent/mortgage).
So, I go from a pro-rata rate of ~$43/hour to ~$50/hour (a 16% raise, nice but not amazing) but then I have to pay for it with substantially higher cost of living and substantially more stressful workload. As an aside, this was when stack ranking was still a thing, and my questioning of the team during the interview indicated that it was a internally competitive team, which as a personal thing is disqualifying for me.
So if you want a six figure developer position, create a GitHub profile and build some ad-hoc demonstration apps using some interesting modern tools. But just be aware that, if you're not a "top developer" or "rock star", then six figures often comes with a considerable cost.
I wouldn't worry too much about that. Cost of living is adjusted and it seems like the numbers in this calculation are based on the Bay Area which has one of the highest costs of living in the U.S. When you factor in taxes, cost of living, transportation and everything else, you may be just as good or even better off than someone in SF making $150k.
Out of curiosity, how many companies have you worked at during that time period? My experience over the past 4 years as a developer and 7 years in the labor force has been that my biggest raises have always come either by switching jobs or by bringing an offer to my boss.
There is valid criticism to be made, but the negativity in this thread is out of proportion.
As somebody who worked at Google for 5+ years, I'd like to emphasize a point: If you sustain good work [1] for a few years, you will be rewarded well beyond expectations [2]. Your compensation will depend on your performance, and not on your starting salary. I think this is unique to Google and maybe a few other tech giants. From this point of view, the generalization to 'big company' is flawed. But otherwise the points made by OP are true, and I wish more new grads would see it (and believe it).
[1] Your overall contribution to the project is important. Whether you work 30 or 50 hours a week to get there, it depends on you, of course.
[2] And those rewards do not depend on the stock price going up. That's just cream on top.
I'm at Microsoft for 3 years working in Redmond. SDE II. I'm getting paid 120k. I don't know where you're getting your numbers but 250k is very absurd. Rent is getting pretty crazy here, as the only bread winner I am kind of breaking even.
Paul Graham/Sam Altman/Michael Arrington/etc... are just spreading their messages as they are always, because in the end more startups/more smart people at startups, the more it has an impact on their wallets.
It's just a fun as arguing which is a better phone, Android or iOS... it's super old and a boring, divisive conversation.
Do contract work at $250 an hour or equivalent compensation in shares at >= series B funded startups. Choose the level of risk you're willing to accept in cash vs equity. (Nearly) completely avoid politics and other office related BS. Take vacation between gigs if you like. Get a very broad variety of experiences at different companies and get a good feeling for what companies are willing to pay for should you decide to start your own.
You had me till you non-ironically referenced mchurch.
Seriously if you ever see him start talking just turn around and walk away.
Having worked at Google for 7 years and now at a startup, I have to say the big company bullshit factor is huge. Even at Google where where bullshit is gold plated and served with delicious, locally sourced, healthy and tasty side dishes.
I learned a lot there, worked with brilliant people, was able to carve out super gratifying work.
But, it just got silly. I'm thrilled to be gone, and hope never to go back.
Mchurch goes to the extreme quite often, but there's still a ton of truth in his main themes. He's trying to get people in the SV/VC-funded world to open their eyes to the subtle and not-so-subtle deceptions told here.
When it comes to compensation I think it's pretty clear that Big Companies win. You don't even need to point to Google, Facebook, etc to make this point.
However, his argument becomes truly hand-wavey and spurious when it comes to the interesting work part. Of course some of the most interesting tech papers are coming out of Google, that doesn't mean anything for the average Google employee. Also, in his, argument, he goes from "here's what the average can expect for compensation" to, "you need leverage to work on interesting things at big companies...get some".
Of course not all start ups provide interesting work, but I think the dice roll is solidly in the camp of start ups for interesting work against the Big Cos, whose interesting work dice roll, I would guess, is similar to the start up comp dice roll. Unless rebuilding a bog standard UI framework is your thing.
At my first startup job I got to:
- build a compiler
- implement shared memory on high traffic services
One of my first jobs was at a startup founded in the late 90s. We had a compiler to transpile UIs and business logic to C#, JSP, ASP.NET and Java, depending on what the end customer's requirements were.
Was this a good idea? Separate question. But that's one story of why a startup might write a compiler. I often think startups do things the hard way just to turn a boring task into an interesting one. Conveniently, good startups have technically strong people who can do this without it being a drag on productivity. This company had no shortage of talented folks--their staff have gone on to work at Google, Amazon, Microsoft and at least one YC company.
Like everyone else... I couldn't get past the repeating theme:
> But the total comp for “a good hacker” is $250k+/yr, not even counting perks like free food and having really solid insurance
Maybe that's anecdotally true for the big companies in a small high demand area of the country (really just the bay) but not so most everywhere else. Probably why Paul Graham used a figure less than 1/2 that.
With that figure exaggerated, I'm not sure I can take any other points made here seriously...
It's true for the author's experience. We have a culture of not really discussing comp openly, so people mostly base what they think as 'normal' off what they and immediate friends in the industry make.
To set people's expectations properly, this guy is high-tier dev that focused on his niche and probably had his payoff event 10 years into work. (Presumably his 8 year stint at Centaur and the buyout had some of that.)
AFTER all those 10 years, the Sr. Engineer plays at Google and Microsoft were probably 250k+, when they needed that 10 years of specialized experience for a $10M+ project and can pay to play.
Anec-data: As an SV person who's worked at BigCorp and funded startups (from co-founder to CTO)... these numbers definitely trend high amongst my friends and acquaintances who graduated Stanford CS in the early 2000s.
I've done both - 3 years as an employee across two different startups, 18 months as a founder, 5.5 years at Google, and now 18 months as a founder. I guess I'm quoted in the article too. :-)
All I can say is that the market is actually a lot more efficient than most people give it credit for. I remember coming out of school and thinking "Why would anyone work for a big company when the payouts for startups are so much better?" After a bunch of experience, I've found that:
1. Those big startup payouts are much rarer than a typical new grad conceives. They're also more widely distributed: perception is that startups are "go big or go home", but a number of companies end in talent acquisitions that are just slightly less or more than what the founders would've earned at a big company.
2. Compensation at big companies varies wildly, and people with the effort & effectiveness levels that you'd expect from a startup often are actually making startup-level money. There is zero reason for anyone doing this to publicize that fact, and oftentimes they're contractually forbidden from disclosing it.
For people trying to decide between these - forget about the financial rewards and ask yourself "What would you like your working life to be like?" I'd also forget the common wisdom about startups = no life & big companies = drudging pace; both of these are inaccurate on a micro-level, and you can find startups that prioritize work-life balance or teams within a big company where everyone's life revolves around work.
Instead, think about the problems you would like to solve. Do you want to do cutting edge research that pushes humanity's knowledge forwards? Work for a research lab or big company's research department. Do you want to bring new technologies to the masses? Then you want a startup, probably one that has spun out of a major university with a couple professors as founders. Do you want to put social hacks in motion and bring technology to ordinary lives? That's probably also a startup, probably one with young founders. Do you want to scale technologies and work with big data or machine learning? Big company; startups usually lack ownership of enough data, unless they're a consultancy. Do you want to apply technology to an industry that currently does things backwardly? Join a startup whose founders have significant ___domain knowledge in that industry.
If you work on problems that you believe in, you'll find that you're much more effective at solving them. The financial rewards follow after that; money is a lagging indicator for value generated, not a leading one.
You'd be surprised how unwilling people are to risk breaking contracts even when the actual terms are not valid or enforceable. Not to mention that there are plenty of ways to get fired over something you can't legally be fired for.
Tangential to this article, but
>pay outside of the US is often much lower for reasons that don’t really make sense to me).
Can someone explain why salaries in for example Europe are so much less? Out of uni salary for example seems to be around 38k in Europe, whereas in US everything under 90k seems very low. Just the difference in purchase power and costs?
There is a huge difference between companies where software is the product (Google, Microsoft, Silicon Valley startups), and companies where software supports a business that has nothing to do with software (most IT jobs).
When software is the product, you tend to consider your software developers as money makers and pay them better. When you think of your engineers as a necessary evil to sell other stuff, you tend to pay them as little as possible.
Europe is full of the second scenario. That's the problem.
The majority of the world's software is the second case. It just so happens we have a lot of software product and services companies in the US. Also, just because you're a technology vendor doesn't mean that you'll treat your software developers well. There's tons of really mediocre software companies (large ones, even) that outsource developers constantly and shower sales with massive bonuses because they've failed to make a good business being good at technology, so they become a sales-oriented culture. This tends to happen at the majority of large (10k+ employee) software companies across the Fortune 500. Technology itself is a business few are actually capable of doing well in, most just mark up crap for other businesses and deliver "value" in areas that have nothing to do with good engineers of any sort.
> Out of uni salary for example seems to be around 38k in Europe, whereas in US everything under 90k seems very low.
Part of that may be because your view of the US is distorted by being limited to a particularly highly-paid slice of the field in a highly-paid geographical region; 90k is close to the median salary for the highest of the non-management programming occupation titles (software engineer -- software developer and computer programmer pay less) in the BLS salary survey, and therefore pretty high paying for the technology field as a whole, rather than the level where anything under it is low for the field.
$90k isn't unheard of in Seattle, either (that was my starting salary, in Seattle, 4 years ago). My alma mater published self-reported salary data and $80k was probably the median at the time. Granted, it was one of the best CS schools in the area.
Much of the east coast probably has >=$80k starting salaries as well. (Or at least, you'd expect the high salaries to be on the coasts.) Negotiate, negotiate, negotiate.
Yup. I don't even have that large a salary for a software engineer ($75k in Portland OR, which is plenty for a 26 y/o, kidless, single male), but I'd take half if it meant I wouldn't be as chained to the desk as I am now.
Would you work for the government? A lot of people don't even show up in December, let alone Fridays. Let me know if you're interested in swapping desks ;)
I wish I could. Cost of living, taxes, benefits... even the "culture" of the country (for lack of a better word) all play a role, but when you are working in a distributed team for an american corp in a different country and see how different the salaries are even between team members doing the same job, it hurts.
BTW, I think you'll find it difficult to find a fresh out of college job that pays you 38K€ in most of europe.
3k€ per month + holiday extra or bonuses sounds pretty standard for most office work after any university degree (so by default MSc in Europe), I'd say 3.5 to 4 is reasonable with engineering, business, finance, etc. 4-5 in law, 5-7 in medicine.
Good luck finding a entry-level job, any entry level job in Spain that pays you more than 900€ per month in Spain, Italy, Portugal... even France and maybe, Germany (although I have less information there).
From what I see, you might get 2-2.5K€ per month in the rest of Europe. Ireland and UK are, AFAIK, where the highest salaries in IT are and even there you are going to get 2-3K€ per month at most.
Most lawyers I know in Europe start their careers earning minimum wage. And they do that for a few years until they are promoted to full lawyers or open their own practice.
Doctors usually spend their first years with temp contracts of 3-6 months in Hospitals for slightly more than minimum wage. This is after they finish their degrees and do the mandatory internships they need to do to get their MD degree.
I did quite a lot of research on salaries in the London area 2 years ago. Starting wage for a programmer out of school was around 3-3.5K€ per month. Some places paid up to 4K per month (90th percentile). 25th% percentile was 2.5K€ per month. I have heard that starting wages have gone up a bit in the last few years. Your numbers for the UK are more typical outside of London, though.
Of course nothing like Bay area salaries, even though London is ridiculously expensive. Some Googling seems to indicate that the cost of living in SF is about 25% higher than London, so real earnings are quite a bit higher there for programmers it seems.
Been working in London for a good 8 years. Started at £75k, and earning over £125k base now + fairly significant bonus (50 - 100%). Fintech mainly, but also worked at a tech company. throwaway for obvious reasons.
Most starting salaries in Germany out of school for software engineers are between 40-60k€/year. I made 50k starting with a Bachelors. My brother with MSc. in Mechanical Engineering makes almost 60k€.
Oh yes, I should have qualified that! I was talking Nordics, GermanySwitzerland/Austria, Benelux countries, UK and Ireland.. Maybe France as well. Definitely not the whole Europe, but a significant chunk of the tech scene.
Remember, software has no (or very little) marginal cost. Software businesses only become insanely profitable at scale. The kind of scale Microsoft, Google and others have. A single percentage point improvement can pay your salary.
In Europe we lack software companies of such scale. Why? Not too long ago going global from the middle of nowhere was not an option. Companies would saturate their local market and fail to grow across borders. I'd venture to say this is due to the (1) lack of international sales experience, (2) different laws / work practices elsewhere, and (3) language barriers.
I know 3 companies doing accounting software in Estonia with a population of 1.4 million. These companies know the business better then anybody else and the market is too small for any of the big players to consider. Similar patterns can be seen across industries.
As someone in The Bay Area looking for work as a sysadmin with a heavy interest in automation/devops (obligatory plug), it's not a question of Big Company vs. Startup, it's a question of who is hiring and has at least been open to interviewing; these have almost unanimously been startups. I'd like nothing more than the stability of a large company with interesting projects and decent pay but lets be honest, how many of us will really have the chance to work for Google or Facebook vs the earlier stage startup that's a bit more risky but has a product you find worth supporting and has reached out to you based on their interest in the projects you've been working on?
I work at Big Company and although I grumble, I know it's probably better than going to a Startup. I think the Startup route is like trying to win in Vegas. Some win, most don't. Although it could be fun depending on what you're looking for.
At Big Company if I get bored I can move to a different group fairly easily. And I know my work will be used by millions of people a day. I think that's the part people forget; A lot of people will use your product. At a Startup good luck with that.
And another thing, if you start to have conflicts with someone at a Startup and it's not resolved, it will be a pain to work there. At Big Company, at least you can move to another group or hope they will.
It may have been said elsewhere, but even if it has it should be said again. There is a huge difference between a tech "Big Company" like Google, FB, Amazon, Apple, etc., a Startup Company and a traditional non-tech "Big Company" like, oh, you know, most of the Fortune 500 in virtually every other industry - retail, pharma, insurance, transport, etc.
A tech Big Company values engineers and pays accordingly.
A non-tech Big Company simply does not value engineers or tech and consider both to be cost centers instead of drivers of growth.
I would plainly say that jobs at either a Startup or a tech Big Company would both be better options than a job at a non tech Big Company.
I think the endgame of SV is to become more like Hollywood. Not that that's necessarily a bad thing.
Typical startup raises a $500k seed round and is two founders + 2 senior engineers building the v1. If founders want Google-caliber people, they can't afford to pay $200k; the cash just isn't there.
So companies will have to start giving out real chunks of equity (5% or more) to early key hires. And "who you are" will matter even more than it does now (e.g. look what having Spielberg or another A-list director does to a movie's prospects, they can get the good actors, etc.)
I just don't see any other way this plays out. SV will become more like Hollywood.
Although, overall, I think this article is reasonably right, there are quite a few things sketchy about it. But I'll just start with the first that comes to mind:
If Google and Facebook are your median exemplars, I really want to know what your sample is. Those aren't exactly large companies. Amazon, too. Apple and Microsoft may be, at least in this industry, but I still have the feeling that the total number of the technical people that this article seems to be addressing is much larger than the total employment of the "large companies" (and small ones).
Also, another minor issue: During my years at IBM (technically, contracting for IBM, but even then you couldn't pay me enough to sign on), I did get to work on very interesting projects and learned a great deal from some very smart people. On the other hand, everything I did was shovelled into the trash can immediately after I finished it. Project cancellations, reorganizations (IBM: I've Been Moved), etc., these are fun facts. Of course, I don't expect start-ups to be any different in this regard, given their failure rate.
I was nodding along throughout this and pretty much agreeing that overall a big company makes sense for most people.
Then I got to the final footnote. That kind of Kafka-esque bullshit is what keeps me working in startups. I could not stand working in a culture where policies which are widely seen as unhelpful and ridiculous are still routinely inflicted upon employees.
Yes, startup "bullshit" also exists, but the difference is that it's totally possible to avoid that bullshit by picking a good startup to work at. I've never had anything like the experiences described in [1], despite working at 3 different startups. On the other hand, big company problems seem to be universal: it's not possible to find a big company without at least some arcane and employee-hostile policies. (For example, Google's blind hiring keeps me from ever considering working there.)
Then I got to the final footnote. That kind of Kafka-esque bullshit is what
keeps me working in startups.
While I agree that big companies can have weird Kafka-esque bureaucracy, they're still generally a lot better at record-keeping than startups. I've never had a big company ask me if I could go without pay for a couple of weeks while they waited to "sort out my payroll paperwork". I did eventually get the back pay, but it was pretty tense for a couple of weeks, as I waited and wondered if I'd made a terrible mistake in quitting my work for a large corporation to go work for this startup.
Work at whatever job meets your financial needs, everything else is gravy. This will be hardest at the start, but as you gain seniority, you'll have increasing freedom to work where you want. All things being equal, established companies will pay better. Save money, but don't take jobs you hate to save more money - it's not worth the equity.
For work:
If you know what you want to work on and can get a job in an established company, do that. Established companies are much more likely to actually have you work on what they hired you to work on. They are also much more likely to continue the project you were hired for. There are exceptions, but generally you will have much greater resources available to you. Your work may never see the light of day, or may only be used internally, but you'll walk away with a lot of experience on a specific area.
If you don't know what you want to work on or you like working a little bit on a lot of things, work for a startup. Especially for junior roles, there is enormous flex in terms of what you'll actually work on from day to day. This is not limited to programming, but includes all branches of tech work: architecting, service monitoring and setup, marketing, etc. The downside is that it can be hard for you to explain, in a substantive way, the amount of work you did during this time. The upside is that you learn a lot and get a feel for many things.
As for future options - startups will give you many shallow options, working at a big company will give you lucrative & focused options. If you work only in one area, understand that you are betting on that 'kind' of work to continue into the future. The more experience you have, the more value you have in that market. The value in that is entirely dependent on the value the market puts on your skills. You can often pivot, but it can be difficult. Keep that in mind when looking at future work.
I prefer to work for smaller companies because of the way work and responsibility are divided. At large companies I've worked for, work gets divided into much smaller chunks so each developer is working on a very small sliver of the total product. At a smaller company, your typically solving a smaller, more focused problem as a group, but also, you get a much bigger chunk of the work as a developer. It's easier to have ownership over a whole project. It's why the term "full-stack developer" is so common in the startup world and basically unused in the enterprise/corporate world. Of course all of this lies on a gradient of headcount vs. total workload so I'm sure there are great counter examples out there.
> Moreover, the pitch that you’ll only need to work for four years is usually untrue.
Definitely, and not just for the reasons stated in the article. I believe it's pretty common for employees to get escalating stock options as they progress in the company. When I first joined my startup as the second engineer hire, I got something like 0.2%, under a four year vesting schedule. After a year I got a bit more, like 0.3%. After another year and a half or so, I was given enough to bring me up to what is currently 1% -- but again, under a four year vesting schedule. Most of my options vest under a four year schedule that started 2 1/2 years into working there.
Is it pretty common for regular engineers to get 1% options right off the bat? I thought it wasn't.
I dont think these high salaries will last because we are in the midst of a startup bubble with too much VC money chasing too few good ideas. Echo 1990s.
However even if return to the 2004 scenario of 80K/100K that is still comparable to other professional careers and better than most college majors. So I'd recommend staying in CS if you like it.
The counter argument is that now that the entire world is on the internet (unlike the 1990s), the addressable market for tech is significantly greater than it once was. Maybe there isn't a bubble at all, or maybe even if their is a bubble in VC the value of a single good engineer is still really freaking high.
You could apply this same model to IBM very easily if you started from college any time from 1993 (April to be precise) and 2013. If you just worked your way up the promotion ladder you would have done super well financially (better than the SP500 by 4-5x).
The problem with any comparison is hindsight. Many other large cap tech stocks do not behave that way. Certainly you could have joined Microsoft at a certain time and "given up" at the "wrong time". Your cash comp might have been quite good (or not).
The thing to ask yourself (and I definitely am not judging or implying one way or another) is where does your code go and what does it do? A lot of that IBM code, well... And of course many startups don't make it as well.
If all you want is money with low risk the choice is clear. If all you want is a chance at a huge payoff with high risk then the choice is clear.
If you're happy with the end result of your code then in a Fountainhead sort of way that's what matters. Then whichever risk path you take for your compensation is secondary. And your views on this might change at different life stages.
Finally the ability and skills to navigate and succeed in either a startup or a big company are different. Depending on when you choose and how you grow and evolve you may or may not be at the right place at the right time.
That's my shortest comment to a very long topic :)
At my BigCorp employer, Senior Engineer starts at like, maybe $140k total compensation, on the low end. I don't know where the author is drawing these $250-350k minimum figures from, but it feels like "thin air."
That being said, a startup in my area would pay 50-70% as much.
Depends on the tech hub and employer. He's mostly discussing top tier companies like Google, Facebook, etc. where they're very successful and software is their product, more or less.
Article makes some good points. The cash-out value of "equity" one gets in a startup can, if you are lucky, result in some nice lump sum at some point down the line. However, many often miss the point that this big lump sum is quite often still much less that the cash given up in the meantime by agreeing to accept lower cash comp in exchange for said equity.
No different than when people talk about how they bought a house for X and then sold it for Y at some point down the line, giving the impression that they made a nice return on investment. Off course such casual math forgets that it costs a ton of money in interest, taxes and maintenance costs to hold such an asset for this length of time and these need to be subtracted from what appears to be a nice lump sum payment down the line. In reality, net net many people never make a $1 owning their nice fancy house even though when they sell it results in a nice lump sum.
With jobs and houses there are lots of other factors at play, but when it comes to $ it's important to understand the difference between perceived "windfalls" and actual net return. The true results are often not what people expected.
I've worked at sv companies of all sizes, and I think that for a fresh grad especially, the most important thing as some have stated is to find a team (manager, coworkers) and project that are right for you. You want a place where you will be supported, where you will have interesting work, and where you'll be able to develop in all the aspects (not just technical ones) that you'll need as a more senior developer. You'll want to avoid toxic cultures and places where no real work gets done. In companies of all sizes and stripes there is a huge amount of variation internally. Unfortunately it's often difficult to know what a particular team is like unless you know an insider. This advice may seem like common sense, but in my own experience and through talking to junior colleagues, many people don't have much of a clue for what to look for in a job (beyond - they pay a bit better / I've heard of them and its a prestigious name / I have some idea about what they want me to do and it sounds vaguely intetesting).
For fresh grads there is almost no negotiating room on compensation. Additionally, what one learns and experiences is critical to career growth. At one sv bigco I got paid intern level wages to manually label machines in a server room for a month (hired as a developer). I'm sure this is not represent tative of that company. At another bigco I have seen fresh grads and interns get plum work assignments (and pretty good compensation, according to surveys), and I know that's not the case for many other parts of that company. Neither of these companies is appamagoogsoftbookflix, but I know both these scenarios can be found pretty much anywhere.
Even midcareer professionals should care a great deal about the people and projects they will be working with, but there the ability and need to optimize compensation can be more acute. So, avoiding optimizing for compensation and company prestige early in ones career is something to be cognizant of.
How do you even argue with someone who thinks that the average "big corporation" pays and looks like Google or Facebook? The vast majority of them aren't. That's my experience from working at them, interviewing at them, and seeing my colleagues work at them. The best thing about big cos? Generally I had good comradery and in-office perks, as well as good hours. When it comes to pay, raises, innovation, passion, speed, benefits, on all of those terms I've always had a better experience at smaller companies.
Sure, that may not be true across the board, but the author's assumptions are far reaching. I mean, 250k? Really? I'm not questioning his honesty, I just envy the bubble he lives in.
Same here. Threads like these completely alienate me, feels like a completely different world. I can't image a software developer getting more than a 100K per year (non-freelance), it's not rocket science or anything.
Or you could work for Google in Zurich, they apparently pay slightly more than in the bay area. Although that's nominally, after accounting for cost of living it may be less.
The section on options doesn't mention early excercising and 83(b)s. I thought it was commonplace to allow options to be exercised before vesting, at a nominal valuation. File your 83(b), and then any increase in value of your options are not considered capital gains; you just pay tax on the final amount that you sell the shares for.
Is this an omission in the post, or is the early exercise option less common than I thought?
The median income for full time workers in the US is about 40k, not 30k. Also I don't personally know anyone who makes $250k cash comp, and I know people at google and facebook and a handful of other "big corps". I have a friend who's close tho, around $230k at google after 6 years. You can't count the appreciation of the stock on the RSUs
The last couple rounds on this have talked about experience at startups but they neglected to go into the value of that experience. From the startup side, people will say the experience is valuable and what they mean is the experience of getting to make more technical choices and experiencing what it is like to have to make compromises to get something shipped in an early stage company.
So the startup people talk about experience in the context of assuming you will also want to do a startup.
The author of this piece kind of ignores the value of having to make those difficult choices in the face of shipping something. But that value is only towards actually starting a company. It's not nearly as valuable at a large company.
So that bias shows through in the writing although I agree with the rest of it. It's just a tiny argument towards the value of startup experience that in context for some people does have immense value while for others it is negligible.
> Perceptive readers will note that 100 does not actually show up on a d100 or rand(100).
I was just perceptive enough to notice, that, copy the entire table into a comment and pontificate on it, then notice that I missed the sentence in question immediately after commenting, and delete it 3 seconds after posting it. :/
And while the argument for rand() starting at 0 is true for Perl, even this is language dependent. More frequently, rand() doesn't even take an argument:
http://linux.die.net/man/3/rand
Yes, my comment (prior to deletion) said and rand(n), depending on implementation, may explicitly exclude n. I looked it up for C/C++ first, but it was slightly confusing, and there are articles that go into quite a bit of depth about how rand() can be misleading. perldoc was my next stop, as I was almost positive that perl's rand explicitly excluded the upper bound (and it does).
My recollection of 100-sided dice was that it was often printed as "00", so you could take it as either 0 or 100, depending on your need.
Why not add consulting (i.e. helping startups out as someone "external") into the mix?
I make ~$110k/yr after taxes (!) and insurance and I work 10 hours per week, tops. I literally watch Netflix more than I work on an average workday. I know it's not great money (don't have a Tesla), but it's quite cozy.
2 things: (1) this may change soon but for the past 2 years I've seen a decent % of startups pay around the Google scale ($130-$160), with raises not too far from the scale set-out in the article. However, the big difference of course is that many of these startups will never make it to year 5... (2) this should be qualified as "...for Engineers" (maybe implied by the venue ha). The math is pretty different when you talk about (a) finance/consultant types deciding between big institutions and startups [pay is MUCH worse unless you win big, but hours and work satisfactions are higher..or supposed to be] and (b) sales/ops types [pay is comparable, hours are worse, but potential impact is higher..or supposed to be].
So for me this begs the question, how do you get to this point? I've never cared too much about compensation, since though I went to a good school, I did the computer science major pretty quickly and after graduation am working at a start-up I think is great.
Should the goal be to spend time studying for interviews, or is this some other strategy? This article assumes you're at some level to command this level of compensation, but how do you get to that level to begin with? I know the classic advice: do good work, write excellent code, etc, but is there more specific advice?
As a contractor that's basically what I do; the drawback is you have zero job security, and you're not really "part" of the company (which, depending of the client can be a good or a bad thing).
I think if enough people asked for it, it could become more mainstream; we spend way to much time at work IMHO.
I appreciate some of the writer's points, but he's so eager to prove his point that he makes some obvious mistakes. The 38% of founders who failed took on average a few months to do so. Quality of research papers is produced is not a measure of how interesting work at a company will be - was Steve Wozniak churning out papers while he worked on the Apple II?
Don't forget that there are other options. I work for a small consulting company. Our size allows us to have the agility of a start-up, but without the long hours and the stress of your product failing.
For my case, in a consulting company headquartered in a relatively 3rd world country, it is not allowed to work after 6pm. Because of family issues that employers value.
At my big company in Australia, I made 85k after 4 years, with high income tax and rent of $1800. I have quit to create a startup. I don't really know what will happen now.
The point of joining a start-up is to take risk and make more $. I'm not sure there is anyone who doesn't get that. Obviously joining a large stable company with consistent growth will net you high stable pay, the point is if you want to make an above average amount of money that moves the needle and makes your life feel different, a start-up is the way to go.
Agreed. The article cleverly conflates "not impossible" with "possible" with "probable" with "likely."
And the comments about "I make >$250k at GooAppBook" are self-selecting, from those who didn't get shown the door. They may not be typical for many reasons.
More useful questions:
How likely is it that a programmer of median competence/non-laziness will make $250k after five years?
Conversely: how much of an exceptional workaholic do you have to be to have a reasonable chance at $250k?
How do the probabilities compare with those of a start-up, or a non-technical big corp, or a Wall St/City job?
Also relevant is what you get to work on, how much freedom you have to choose, how research-ish it is (if that matters to you), and how much you'll still be learning at T5.
And let's not assume big tech corps will still be big five or ten years from now. Former big tech corps - IBM, DEC, HP, etc - all looked unassailable at various times, but became very assailable within a few short years. It's naive not to think the same couldn't happen to the leaders today.
I don't think you can go into a company as large as Google and expect your salary to double in five years. HR will have set limits to how much of a raise you can get in any given year and even with promotions you would be very unlikely to see that kind of bump. I also don't think the middling programmers he mentions would hit the 250k year mark.
Orthogonal to the point of the article, but the only time you can really get a salary bump is before you start, so make sure to negotiate like hell before you get in. Once you're in, you're going to be grinding to get a 3% raise (contrary to what the OP states).
The idea of starting fresh out of school at a company for $130K, doubling up to $250K seems to me ludicrous, besides for a rare few outlier roles at a rare few companies. I can say I've got close to 20 years of experience and I don't make anywhere close to that.
Not saying there are no roles like this--just saying this probably several standard deviations from the mean, and not useful as a "back of the envelope estimation of big company tech salaries in general"
I personally know someone that went from 130k to over 1 million in 7.5 years at a large 20,000+ person non valley company. Skills, luck, negotiation, and HR will get ignored.
Counterexample: I was hired straight out of school at a big company 2 1/2 years ago, at slightly more than the author describes (100k and change salary, ~100k equity over four years, 15% bonus target). I've been promoted twice, and my income over the next year will hit the double mark for total compensation.
I've been promoted faster than most, but my numbers stretched over a 5 year timespan still work out.
I think the important distinction is that the author claims to be discussing the low-end or at least middle, but your example is in fact significantly-better-than-average.
Google has a salary band for each role that they are very careful to maintain. If you're getting promotions then you're also getting substantial raises. The trick is that those promotions are very (very) hard to come by and require some skills beyond coding as well as luck to be on a project that people care about.
Out of interest what sort of competition was there back when I worked for British Telecom they only had promotion (boards) every 18 months and had around 550/600 apply for less than 20 roles and that was for MPG 1 to MPG 2.
Usually the number is total comp, salary + stock. So maybe $150k/year salary and $100k in stock that vests over X years with more possibly added. At that point, ~%10 raise/year would get someone close to $250k. I assume someone would have to bust their butt for a 10%, but it is not an unheard of number.
10% salary increases through internal pay increases? That sounds quite unheard of. Maybe if you constantly gun for internal promotions that everyone else is gunning for, but that still leaves everyone else behind that is going to get marginal increases at best.
Yeah, that has not been my experience. I've worked for a big company for 4-ish years. Started 40% below article's suggested "middling" salary because I didn't negotiate (and starting salaries were 30% lower 4 years ago, apparently).
Negotiated a 40%(!) raise after 1.5 years because I was kicking ass and had +40% offers in hand(!) from other BigCo's that I interviewed at.
Since then I've been getting 2-3% cost-of-living raises annually. I would say my performance is above average, but that's my opinion.
Definitely not seeing 10% or $30k annual raises and my total pay is significantly below $250k still. Maybe I need to do another round of external interviewing again.
That being said, I like my work and have good benefits and really good compensation compared to non-tech work.
There are a lot of brilliant hyper-competitive people who work at these big companies and you will be a small fish. So I think this article is spreading a myth that there is guaranteed piles of money to be made by working at Google, Facebook, Apple, etc.