“Rock star” engineers sometimes work at startups, but usually they work for big companies who can pay them twice the salary and have multiple indoor water polo pools and racquetball courts.
THIS is something the 'startup world' and a lot of people on HN are not aware of. Really, really bad-ass programmers usually work for big corporations for good salaries. Not always, but usually. The reason I mention it is because there is a myth that startups are built with the latest, greatest tech by the brightest minds. Often this just isn't true...many startups are hacked together by inexperienced programmers fresh out of college. Sometimes this works, but often it means that nobody on staff is really a master coder, nobody on staff has ever had to fend off Russian hackers attempting to take down your code at 3 am, nobody on staff has had to deal with thousands of users who wake up one morning, can't log in and no money is coming into the company. These are the battles that most programmers learn in the trenches of big companies, fighting tough battles, fixing complex problems under fire. It's not ideal, but I'm not sure if you can really become battle-hardened without going through real battles with real jobs on the line.
This is what happened at Twitter - when the government came after them because they were getting hacked too often, Twitter went out and hired 'real' programmers and got things working. That's something that gets missed a lot in the 'startup story'.
You make an interesting point, though I'm not sure that learning these lessons has to happen at a big company. I'm currently an engineer at a startup, but I came here from a small company—a ~30 person digital agency—where we were dealing with a lot of what you mention quite regularly. Because we had so many applications in production for a diverse range of clients (some at fairly large scale), and a small team of developers, the sorts of challenges you mention came at us much faster than they appear to arrive for us at my current company, which is focused around one product.
The fact that the dev team at my agency was small meant that, when facing issues like this, we were flying by the seat of our pants, learning as we went along and jumping between roles, and learning was happening very quickly. I've come to realize, after having left, that the range of experience I had in the small-team agency environment was, I think, extremely valuable.
I've worked 5 years in 3 startups, 5 years in 2 large development teams, and my experience has shown that there are, percentage wise, better developers working in startups. This is in Austin, so it may not reflect the valley, but the absolute best programmers I've worked with are trying their hands at startups. There's a sweet spot of people aged 28-35 that are really skilled developers that still have an appetite for risk that are working in startups.
I came to Austin from the Valley as part of an acquisition and have been looking for other employers in Austin, but the options for larger firms seem rather limited. I have yet to start exploring the small start-ups, which is why I am curious.
When the internet boom rolled around in the late '90s and the startup scene hotted up, most of the people in it were straight out of school. When I interviewed around in the mid 2000s, experienced people were kind of rare.
On the other hand, about the same time IBM became a consulting service company. The cool, visible projects evaporated. All of the good people I knew at the time either got buried deep somewhere (and are presumably happy in their niche) or left.
It's been years since I moved away from Austin, though, so I've got no idea what it's like now.
That is interesting. Did you work at twitter or was this in the news?
The guys who were presenting never said 'they brought us in to fix things', but that's exactly what they were. None of the guys who were building the 'hardened' Twitter were originally with the company - they were seasoned pros brought in from other companies.
And yes, they did some bad-ass things to fix it. But the presentation was more about OWASP level coders wanting to see what issues Twitter had to face. Nothing was Earth-shattering at that level, but it was excellent to see the amount of data they were working with and where their breaches were happening.
I don't want to speak for them, but it was obvious that one of their biggest issues was people writing insecure code and checking it in without any review. They have automated code review tools in place now.
>it was obvious that one of their biggest issues was people writing insecure code and checking it in without any review. They have automated code review tools in place now.
1 - Less than stellar people, aiming for the bare minimum
2 - Crappy tools and procedures (like not having administrator priviledges on your machine), or using an old Unix (not Linux) with VI. Hard to get motivated with that
On the other hand they have money for shiny toys (like very good test equipment), so there's that as well.
So, for example, if I work for massive XYZ bank, it's most likely that no code is going to get promoted without being thoroughly tested, discussed, multiple meetings and approvals, and then implemented by an actual team of people in charge of making sure the servers don't break. Of course, this means that it takes a LONG time to promote even simple changes and there is a world of politics involved with a bunch of agendas.
If I work for startup XYZ, I can promote right to prod without anyone asking what I'm doing or why I'm doing it at 3 pm in the afternoon. Of course, that also means several other developers might be doing the same thing. Your manager might be pushing code that breaks your code, and then telling the founders it was you.
For me, neither is good, but at least in a big company I get paid more, there is a structure in place that people have to follow (in general) and I can spend my free time working on my own projects. In a small company, you ARE the company but just like with the big company, you don't actually own anything...you are just on call all of the time and are paid less.
I have friends who prefer startups, it really boils down to which things you value more.
I worked at Wells Fargo, where they had laughable procedures and couldn't even properly staff teams because they refused to value their tech workers at even a bare minimum.
Now I'm at Google and its completely the opposite. A lot of healthy code management behavior, flexibility to design and develop new projects, lower maintenance management etc.
In between I ran a startup where I'd like to think I created the most process that was needed and nothing more, while personally managing my engineers by deeply valuing their opinion and only providing them with direction based on product strategy & design.
One nice thing as mentioned in the article is that you have more responsibilities at startups. If you have the intelligence and drive, this can help you with your career immensely. Personally, I have learned a huge amount at the startups I have worked in, many things that larger companies probably would have taken a lot longer before putting trust in me to do.
It is all individual dependent of course.
There is a great wealth of expertise and mentorship that is missing in the startup world because investors throw a bunch of college kids together, tell them they're the coolest guys around, and pay them a pittance. If investors were a little more willing to offer a real salary to a person with the self-respect to demand at least market rates and reasonable working hours, I think we'd all be in a better place.
That said, I've yet to have any discussions, interviews, etc. with startups that lead me to believe they're truly interested in "rock star" talent. Like most big companies, they want talent that is just sufficient enough to shove a marginal but profitable product out the door at a low enough price-point.
(And this isn't trying to be glib, I'm genuinely curious -- I only have experience at a huge place that has tons of process for transfers and such).
I'm sorry, but this is just silly. Dealing with hackers does not make you a "real" programmer. It just makes you a programmer with special expertise in a very particular and narrow aspect of programming - dealing with hackers. It's a niche skill and doesn't necessarily translate into prowess in other areas. Startups need eager, polyglot programmers who are willing to get their hands dirty, learn on the job, and deal with the uncertainty you wouldn't normally have to worry about in a large, stable company.
In a startup, you can say 'we only support Chrome and FireFox' and often no one will question it. But in a big corporation, you don't often get to pick which things you 'won't learn'. Some companies still use freaking IE6 (some very VERY big companies) so if you want your jQuery to work with their app, you'd better know why using anything higher than 1.11.x is a bad idea in general.
Startups may need "eager, polyglot programmers who are willing to get their hands dirty, learn on the job", etc., but by virtue of that they're eliminated from the market for many of the higher-skilled, specialized people.
Startups often simply do not have time and money for it. (Big companies are often unwilling to pay for it, so their software ends up equally vulnerable.)
Companies who take security seriously may even do daily scans. I have a major client who does penetration testing EVERY DAY. And all source code is security scanned by multiple third parties before it is released....AND you have to make sure that your code is bullet proof beyond that, because you not only have to pass the security scanners but also you have to be aware that if your company gets hacked, and they can point to code YOU wrote, you are in deep trouble.
Now I work for big companies for a good salary. I put in the hours to get the work done, but I'll never do 80+ hour weeks again unless I own a ton of equity in the venture.
The truth is that startups, like the music biz, like video games, like PR require a steady stream of young people with unrealistic ideas who can be exploited. Don't let yourself be played, is my advice now to young engineers. Especially don't take career advice from a VC or a founder...
Now how do we get them to listen? When I was a young engineer, I don't think I would have listened to what you're saying here, although I now know I'm in complete agreement with it.
We don't. No generation was able to do that.
But that's not completely a bad thing. When the newer generations repeat the same old mistakes, sometimes they find out that a few of those mistakes aren't anymore.
If I were to go to a startup again, I would expect to be paid a premium over the market rate, and I would see equity as a bonus. Otherwise why should I bust my ass to make a rich VC even richer?
Working for startups can be fun, but always treat your equity as a lottery ticket because that's all it is (worse in a lot of ways since the rules behind lotteries are pretty solid whereas there are a number of ways companies can fuck you when it comes to equity even if you "win); if you trade a lot of salary for those tickets, you're being a fool.
1. Salary. Startups always seem to offer lower salary in return for said equity.
2. Career development. Startups demand that you build somewhat hacks solutions for the sake of time. In many instances you might not get the opportunity to learn how to do things right. Too much of this and you get used to building hacks products.
3. 80-hour work weeks might not be the norm, but what about 60 hour work weeks? that's a deal bresker for some.
4. Diversity. Startups are notorious for hiring people just like the founders.
If you're the first engineer, sure. As the second or third engineer it's a lot more likely that you won't get any equity (or nothing that won't be diluted in to oblivion by the time an exit comes along), and you'll be on a lower salary with a promise of a decent raise when the business gets traction. But that might never happen...
Also, if you do get equity, it'll probably be as a number of shares ("We'll give you 10,000 shares!") and no one will tell how many shares have been issued. So in reality you're getting 0.001%.
I can totally believe that the CEO is giving the raw number because that's what the labor market has trained him to give.
 It's possible they were lying because they thought working for us would suck. It's not true that we were better off without these people because they didn't know basic economics and accounting. Lots of very good people don't have a clue how that stuff works.
 If I ever found another start-up I am going to go hog-wild and make quintillions of shares just as social commentary.
I really liked another blog post by Sam about equity distribution as a startup grows: "a company ought to be giving at least 10% in total to the first 10 employees, 5% to the next 20, and 5% to the next 50"
Quora has anecdotal evidence that 0.5 - 1.0% is common
So do large corporations. This is not a factor of how large your company is, it's a factor of how forward thinking your technology leadership is. If they're not thinking further than the next three months, it's pretty much always going to be a hack.
Definitely not saying it's perfect; oversight can only all so much.
Not necessarily "always", if the startup is well funded, they will pay you well, AND give you equity.
The truth is that for most of the world, bigco's are the default and startups have to sell their employment in order to get employees. They have to find some way to offset the inherent employment instability that working for a startup entails. This has created many of the myths in this article that continue to be perpetuated.
Like a few other comments, I've noticed that the absolute best-of-the-best work for "real companies" and not startups. The reason working for a bigco doesn't get the reputation of having the best engineering talent is simple, talent is like any other thing with a group of people, it follows a pyramid distribution. Most of the people are terrible and at the bottom of the pyramid, and as you move up the pyramid you end up with smaller and smaller populations of very good people. Except you can't have fractions of a person, so in bigco, where the projects might involve 100 engineers. That top-notch engineer accounts for only 1% of the staff. Sure maybe 80% of the staff may not be any good, but that still leaves you with 20% who are at least decent work-a-day engineers.
In a startup, your entire engineering staff might be 10 people, and your top-notch engineer now accounts for 10% of all the staff time spent on a project. It's almost like having 10 top engineers instead (if you try to scale the numbers to match). It's easier to find 3-4 above average folks to round out the top of the pyramid and the rest are just there to fill in the mortar and won't last long.
This means that your individual contribution is magnified in a startup. Everything is magnified in a startup. Decision making power, individual contribution, etc. But so are negative aspects of working in a company. When things go bad, they go bad really fast in a startup. The worst political dramas I've ever seen were all in startups. Points of failure are enormous in small startups.
One of the thing that happens as companies mature and grow is they learn they can no longer tolerate so much magnified failure, so they build in controls to spread around responsibility so they can better survive what would be a catastrophic failure in a startup (founder leaving, tech decision turns out to be wrong 18 months in etc.).
The side effect is of course that in order to turn down this magnified negativity, the magnified good stuff also gets squashed.
Edit: I am asking because I think startups should be paying more than established companies because of many reasons: 1) the work environment is usually shitty (nice, clean offices are nice), 2) no financial security because they are not established, 3) no one outside the startup world wants to hire someone who failed numerous times before, 4) it is much easier to go from Big Co to Small/Tiny Co, then the opposite. (4) is particular true and quite dangerous for recent grads. Young recent grads are better off founding their own company or joining Big co instead joining fresh startups.
1) The odds that you will work there long enough to fully vest. This depends on you, but there are a lot of factors outside your control such as layoffs/crappy management/etc.
2) The odds that the company will be sold at a high enough valuation to convert everybody to common stock. If it isn't (and it probably won't be), your exit money will be less (perhaps much less) that whatever it would have been on a fully-diluted basis. This would be explained in the term sheet the founders signed with the investors and really should be shown to you before you get hired.
3) The odds that the company will have any kind of exit.
Bottom line, unless google is the one who buys you out, you ain't gonna be driving a Porche after the startup you work for gets bought out. The odds of you even breaking even and getting anywhere close to "100% market" is pretty small. Either tell the startup you want market rate and no options or take the 130% company--stock options are a suckers bet.
Maybe startups would fare better if they exchanged "passion" and sleep-deprivation for competence, even with having to pay extra for said competence?
What prevents them from doing this (or do we just not hear about it here)? Do VCs not approve of the shape risk would be distributed in (even if their share ends up smaller in absolute terms)? Would it never work because of a culture clash with the sort of people who found startups (if you've convinced yourself you've "got religion" over some business idea, will you want to work with people who are openly just in it for the money)?
* Work environment can often be a tossup. You'll find just as many open floor plan bullpen situations outside the startup world as within it from what i've seen.
* Largely agreed on the financial security; however, larger companies are more beholden to the market (so they might have to lay off N% of staff as a cost-cutting measure)
* "no one outside the startup world wants to hire someone who failed numerous times before" - hyperbole. Plenty of banks and established companies want to hire good engineers. If the company you were with failed, it's not simply because you were a poor engineer.
* "it is much easier to go from Big Co to Small/Tiny Co, then the opposite" - hyperbole. I wouldn't say it's necessarily much easier one way or the other. If you're moving from Big to Co, you might not deal well with the new expectations of not being able to say "that's not my job" or the long hours (for example).
* "is particular true and quite dangerous for recent grads. Young recent grads are better off founding their own company or joining Big co instead joining fresh startups." - Why? All of them have pros and cons...sorry.
This is the basic cynicism VC's have injected into the valley now. Why play fair at all, when I should just play the greedy strategy and optimize all behaviors for my optimal gain.
90% with equity if my equity is significant & I believe that the probability of payout is > 50%. There would probably be a lawyer involved to minimize risk of clawback to boot. I've spent some time as Mr. Gullible; I don't need to be taken again. :)
> You are also likely to get some input on the way future engineers are hired and the way your technology team interacts with the business team.
This is true, and not entirely a good thing. I was interviewing new technical hires within a year or two at the organization. I asked stupid nerd questions (if you knew C++ like you claimed, you'd know the ins and outs of this template expansion), instead of important ones like: if you're stuck, will you ask for help, or just silently beat your head against the wall and not have anything to show weeks later?
> An environment that encourages learning and experimentation keeps engineers more motivated than one that stifles its technical talent.
It's also an environment that encourages reinvention of the wheel, especially by younger engineers with little supervision that don't necessarily realize that a particular wheel already exists and is ready to use.
> One of the best skills you can learn if you intend to work for a startup is the ability to figure out things on your own.
This is an existential issue at a startup, and particularly important if you're fresh out of college, because you don't know anything and thus must learn everything. This is both good and bad. On one hand, I learned a lot more in a short time than my friends that went to work for big organizations. On the other hand, I always felt like I never really learned how to do things "right" because a startup is a setting where you don't necessarily have the time to dot your I's and cross your T's.
> It seems like startups move faster and create solutions to difficult problems more efficiently than large companies, but the truth is that they normally have a lower quality threshold than their corporate counterparts.
This rings true to me. It was really a revelation to me when I joined a large organization for the first time. It was a well oiled machine, with roles for everyone and someone whose job it was to do anything that needed to be done. Startups have many advantages, but they're not necessarily productive or efficient places. You can spend a lot of time yak shaving at a startup.
Anyway, I'd do it over again in a heartbeat, but I'm not sure if I'd advise someone to go to a startup straight out of school. Maybe one of those well-funded, well-established ones where they're far enough along to have real internal processes and real management, but I'd save the "three guys in a basement" stuff for later, when you know what you're doing. Again, YMMV.
 Of course, I imagine they can be if we're talking about a shop run mostly by highly experienced engineers. But in general, I think big organizations are better at getting more output from less-skilled labor.
 At least if you intend to make programming a long-term career. If your intention is to jump over to the business side relatively soon, that advice would change. You'll get far more exposure to the business side at a startup than you will at a large company.
So true. There's a lot of ranting and wailing on HN about 'MBA types' and 'managers', but having moved to a large company, I love having project managers. In the wrong company they can descend into ugly hierarchies, but when you get it right a PM can handle talking to other departments/customers and managing expectations, allowing you to focus on actually doing the work. Few startups manage that.
And management is hard. I'm not denying that. My previous attempts at management have had poor results. But pretending or hoping you won't need it because you aren't good at it is not the right solution.
 The old line about "if you think a professional is expensive, wait until you pay for an amateur" rings especially true here.
Don't get me wrong, I like folks who can be wound up and sent on their way, and they come back with the job done without my intervention. But there's managerial janitor work that always needs to be done. Whether it's helping someone navigate a political landscape, or just making sure they have the equipment necessary to get the job done, there's grunt work. And from my experience, management done right isn't nearly as glamorous as being a trench-working IC coder. If you take a management job so you can be "the boss", I think you're doing it wrong and are going to suck as a manager.
Joel Spolsky has a great article on this: http://www.joelonsoftware.com/articles/DevelopmentAbstractio...
"Management's primary responsibility to create the illusion that a software company can be run by writing code, because that's what programmers do. And while it would be great to have programmers who are also great at sales, graphic design, system administration, and cooking, it's unrealistic. Like teaching a pig to sing, it wastes your time and it annoys the pig."
Also, I hate being put on a project that is poorly defined and I end up having to do the project management stuff. It's not my job, not my strength and not what I was hired to do.
1) They probably have no earthly clue what they are doing.
2) They won't/can't pay you close to what you're worth.
3) The equity they want to offer you has an expected value that is far, far lower what they think it is and is in no way going to make up for the paycut you will take.
4) They are no smarter and have no better ideas than you so why the heck not just start your own company instead?
I guess my point is, as you get older, you kinda come to the conclusion that working for other people's startups isn't all that it is cracked up to be.
In some ways, this suggests startups are a better choice for people who have worked long enough to know what they're trying to accomplish at the next stage of their career. (I don't doubt that some college grads know this already.)
That's the important thing, it's ok to try to solve it yourself but also to raise a flag. Funny thing, I had a C++ thing I didn't understand and had to ask around (yeah, const_iterator ftw!)
Even big companies do this with alarming frequency. The best example I can think of is Google reinventing XDR (which was codified in an RFC!) via Protocol Buffers.
Let's say you receive $40k in salary a year (versus equity), for 5 years (let's call that $200k, just for fun). Assuming you're diligent, that salary difference can be invested, even in something as simple a preferred shares, yield a compounded return of +/- 5%, or ~$232k. So, we're not really talking about high levels of risk.
Assuming your startup, like most others has 6 funding rounds before an exit, and that insiders hold the traditional 4% at exit - we'd be looking at someone who started with a full 1% (of the initial, pre-dilution point) of the company, yielding ~$341k over the same period.
Given that 1% holdings are rather high - 0.5% or less would be well expected. That in turn means that unless your company exits for ~275M (over this 5 year period), and you hold 0.5% then FINANCIALLY it's not worth being part of that endeavour.
That being said there are several other great reasons to enjoy startups.
And: don't worry, you will get your shares.
As a partially mitigating effect, the places too incompetent to get you your shares are usually the places too incompetent to succeed enough that your shares matter.
I once told this to a boss. "If you can't get my share paperwork, it won't matter because you won't enough of your stuff together to succeed." I never got that paperwork.
As practical advice, you should still follow-up and demand all the paperwork and not accept excuses for it. The company fulfilling its contractual obligations to its employees is not a distraction from their real work. If they can't find the time to do this, start looking elsewhere immediately.
Seriously, I've heard this one waaaay too many times. It's right up there with "you'll work for equity right, and maybe we can throw in a bit of cash if you put in enough hours?"
Can't promise you what they'll be worth though.
My tenures at these startups were anywhere from 18 months (acquired for modest payout) to 8 years (IPO for modest payout).
I keep doing it because of the reasons listed in the article. Flexibility, ability to have significant influence, get to work on cutting-edge stuff, have to furiously learn new stuff. Plus I enjoy the recruiting and team building -- I am an extrovert. :)
Yes, I have one kid. I tutor math at her elementary school. (See 'flexibility', above.)
Just a small point I'd like to comment:
> Truth: you’ll get to set the culture, standards, and technologies used
This is quite funny because both startup I worked for were completely different on this point. In the first one I was the only developer, working on an application I created completely from scratch. I could decide entirely on my own which technologies/tools I could use (heh, being able to start a project in c++11 was really sweet). On the other hand, the startup I'm in currently is rather resistant to change with regards to what we use, even though we tried to push these change with arguments as to how it could speed up work and eliminate some recurrent pain in the development process.
Otherwise why is every start-up putting some technology in the job ad title (just look at HN job postings)?
If you consider what your role is in creating wealth, then arguably you are doing something more important than most regular employees. How often can an engineer at Google say that their specific input caused the company to grow by 500%? Yet, even employees at modest startups with modest exits can say they had a significant hand in that level of growth.
If you are commenting on the "making the world a better place" trope, then that may be a different story.
Google can create 0.001% growth by adding another 100,000 customers (made up percentage, you get the idea).
Is 100% > 0.001%? Not by my math.
You know who is changing the world? Some engineer working on optimizing the cache lines on some Intel processor. Her work will, over the life of the chip, save millions to perhaps billions of hours, with similar effects on watts used, time wasted, and so on.
Can that Intel engineer give #s to quantify her impact on the world? Not likely. It doesn't mean that it isn't there, nor that a rational person cannot recognize it.
What really struck me was the "full-stack rock star hacker" part. As someone who has little to no experience in commercial software engineering and then sees this phrase on many start up roles (includes ninjas and gurus), it really sets an image that start up work is only for the incredibly bright individuals who know it all.
I also believe some of the unrealistic expectations start ups have are one of the major reasons why they fail.  "Rome wasn't built in a day".
Working long hours goes with the kind of person you are. 80 hour work weeks may be productive for some people whilst others perform better with 37 hour work weeks (or less). We are all different. Some athletes are born marathon runners, whilst others are natural short distance sprinters. I think this is where most start-ups also get it wrong and its also something that contributes to their failures. Long hours once in a while is fine as long as you are compensated for it.
Media is also a major contributor to what start ups should be like. As mentioned in the article, you only hear about major acquisitions, huge crowd funding campaign success, and crazy company valuations. But its a lot less common to hear about the failures of start-ups, people burning out before their first product release. Why does media never cover these failures?
As much as I would like to join a start-up or even start one, I will continue looking for work at small-medium companies and big companies first, get good experience first and still a personal life outside work. I guess its different for other people, but I value work/life balance and I also think its the key to having a successful career, be it entrepreneurial or employee based.
Something to keep in mind for this, is that people tend to be fairly lousy at detecting how what they do affects their productivity. Even if you think you do well with long weeks (or multitasking, or whatever), you can't know that without keeping a log of how much you actually got done under which conditions.
We do too much, expect too much, don't rest enough and get average-poor results. Once we see the poor results, we try to use the same method again and again, expecting different results. A vicious circle.
They do? Is employee training (outside of on-the-job learning) even a thing in engineering anymore?
The training is always in flux and adapting based on feedback, and has pretty consistently turned out developers that are able to jump in and start developing in any given team. Developers then gain further domain specific knowledge through mentorships and regular 1-on-1 meetings with team leaders and mentors about goals and progress.
Overall, it works pretty well based on my interactions with other developers here.
I thought usually it was only IT consulting firms that provided such training.
There's Bootcamp, primarily for New Hires, but which anyone can go to if they like. I teach a class there about how our Traffic management works - load balancers, and so forth.
There's also classes about learning to program on iOS or Android (those are generally a week long), or on Haskell or C++ or D (these are generally a few hours a week for a few weeks), and smaller ad-hoc 1-4 hour classes on things like the data pipeline tools, debugging and performance tools, and so forth.
There are also ad-hoc "Tech Talks" which just discuss general topics without a specific "learning" focus.
And then there are non-technology but career-oriented courses about time management, technical leadership, managing your manager, how to give good feedback, how to have difficult conversations, and so forth.
Also, the assertion that most top talent work at mega corps is a statistics issue, as other comments mention. More jobs, as a percentage, are at mega corps and the government. But more companies are under 100 to 50 employees. So, if you look at it from a percent of programmers, you see many more at mega corps. But as a percent of top talent, you see more at small businesses, simply because you can determine the top talent easier at a start-up as there is less debate who the top people are. Other commenters explain this better, sorry.
Some of the ones that remain are probably very good, but they're not "rock stars".
This is contrary to my experience. In startups, any time you're not spending developing the core product in the quickest way possible (i.e. the currently established way, don't go exploring whether a new way might be quicker) is seen as time ticking away on the death clock.
In a large corporate environment, I've been much freer, because we can afford to play the long game. I've been able to choose projects, define completely novel ones, choose different technologies to use, rather than the established stack (and indeed, change what the "established stack" is).
The list is getting a bit out of date, and he's writing for business students, but I think the advice is very sound for engineers as well. If I could do it over again, I would have tried to find a similar path.
with more people being brought in (usually at a rapid pace as you hit your growth spurts), you have to adapt to more personality types, and company culture&feel will suffer as a result
If your startup isn't wildly successful and you're not a founder or investor, don't expect to have a life-changing payday. The odds are against it.
Engineering job : Work em like mules.
Also note, that when I say compensated, that was with a standard 4 year vesting agreement.
Why do people sign up for such lopsided payoffs?
Has any company tried a more gradual equity falloff? Say, with two founders and two employees, instead of an equity distribution of:
F1=34 F2=32 E1=1 E2=1
you might have:
F1=20 F2=19 E1=15 E2=14
In a typical startup, the ratio of equity between founder and employee #1 might be 50:1 or even much more. I am always surprised that people sign up to be employees given how fast equity grants drop for every subsequent hire. And, I wonder if any company has tried more gradual equity drop-offs. For example, where the ratio between founder and early employee grants is < 2:1, for example.