I worked at a large tech company for 3 years before joining a startup, and learned more in the first month at the startup than the full 3 years at the large tech company. I was able to design and implement a service in a matter of days, whereas at the large tech company those 3 days would easily spent convincing people that the service is needed in the first place. Direct exposure to customers also is really interesting and changes you as an engineer.
It's definitely a no guardrail environment, in the early days we had a bug that directly cost us a large customer pilot. No better teacher than experience, we did not make that mistake twice.
I think the biggest difference is money. A well funded startup might be a boon but a struggling one will be a bane.
I think systemically one thing we need to do is help people make better decisions about where they spend their time. Especially for people who are good builders, they happen to also be the best people who can decide for themselves whether something is actually going to work.
Boeing won't care if you save the project $5k by spending a week of your time coming up with a clever workaround. The week was more important than the $5k. Same for a high level role generally. But not getting work done for a week because your boss won't approve a $500 purchase... that would be frustrating and get old fast.
I'm confused what you're getting at here. $5k/week is $260k/y (or a bit less counting vacations and holidays) and the fully-loaded cost of an engineer at a startup is typically more than that. Then consider how high opportunity costs typically are at startups, and I expect most startups would view your spending a week to avoid a one-time $5k expense to be a bad tradeoff.
I agree, most startups would view spending a week to avoid a one time $5k expense to be worth it for several years at least. That's why I'm saying the experiences are different.
If you're reading a judgment into my comment, there is none, I think doing super constrained engineering is super fun and an awesome skill to have. But I have also worked places that have the attitude of time being vastly more valuable than cash, and respect that both approaches are reasonable. Just different. But worst is when you're cash constrained to the point where even your clever workaround isn't possible to implement, even though it costs 10x less and is mission critical.
Sorry, what I'm saying above is that I don't agree with that.
I am also thinking more "angel+bootstrap+grant" funded startups rather than people already past a Series A; if there's 10 employees with a decent runway the calculation changes a lot versus 3 people getting something off the ground. I think the latter is more typical of a startup for the first several years.
Which can be a hell of a lot more than you expect. Like, don't bother spending two weeks to cut the CPU use of a service in half, if the service only uses 1k CPUs to begin with.
Saving $$ per unit and saving $$ total are so different. If all you're doing is saving $500 total, I wouldn't even care in most cases... but if you managed to use clever techniques to save $0.30 off the manufacturing cost for a toy that gets sold in the millions...
I most strongly agree with the ethical part of the article, in any event. I'm sick of companies trying to take advantage of their employees, it's just sad and gross to see it done by startups that could be better than big companies in at least this one way. But instead they take it even further somehow because their finances are far more opaque. I don't think it should be up to noblesse oblige to determine whether distribution of profits and salaries are fair, it should be assumed to be the rule even if there may be exceptions.
It's a sad day when you look at employment agreements from Intel and a shiny startup and find that Intel is more up front and transparent about how things will work and what you'll get paid.
I think the course of events in the USA in the decades since the 50s has essentially answered the question of what happens if you leave it up to the most fortunate to decide how to treat the least fortunate.
Anyone stuck in this situation?
Can you explain more about this? The mantra is generally ship early and iterate fast.
How come the tech team was spending 80% in a bugs rat race?
The earlier statement of "80% of the time was wasted supporting clients" seems perfect? i.e. what else should you be doing other than supporting clients who are willing to pay with features and bug fixes?
Feel like I'm missing something.
Nobody wants to pay for bug fixes.
Do more QA and avoid making your customers part of the QA team.
So now you have a team with about 2.5 collaboration projects per engineer, who are at the same time the tech support and SREs. With several new products in a pipeline. All of it wrapped in a bow of medical certification.
One think that startups should have in my opinion is focus. If you have enough funding to go for a moonshot drop everything else and go for it. Don't spend too much time hedging because you will never get to the goal. If it doesn't work out, too bad, but at least do everything you can to get there. Especially when cash strapped.
There are a lot of valuable lessons to be learnt here about product planning and dev process, but if you didn't make any attempts to fix the issues you mentioned, you probably didn't learn very much.
Firstly, startups have been an absolute delight. I very carefully chose the company and hence my boss and my co-workers and love working with every engineer on the team. It is a pleasure coming into work each day and I often cant leave because I'm excited about my work.
I have a lot of authority over what I build a much of it is "close to the metal" rather than some side system. I get to see the whole slice of cake from conception all the way to sales and client implementations and participate in all of it. At small companies, as an Engineer, I learned how to build a successful product and learned all the steps from inception to sales and production.
At every big company I was at, there was more specialization and lots of process. Process was necessary at that size. There was also a great deal of inter-departmental politics and incentives were usually not aligned at big companies, sometimes incentives across departments were even orthogonal. I spent 30% of my time on process and communication at big companies and it went to 80%+ once I was a senior executive. I made a lot of money there, but I think it was to compensate for having to deal with the inner workings of a big company (and being able to be effective at it.)
At big companies, I learned how to turn the gears of organizations and learn how to make globe-spanning change effectively.
To be fair, I took a big pay-cut to come to a startup as an Engineer. I'm happy with the choice. I dont think there is any silver bullet out there, but it is important to understand what you get with each choice. It is also important to make that choice with full intent and not be fooled or brow-beaten by anyone.
I have hobbies, I have a family, I invest in culture, I enjoy free time, that is actual growth.
This just makes me think that either you are exaggerating a lot, or you were highly unproductive at the big company than most people.
In either cases, I end up not being able to take your comment seriously.
At a big company you are given a slice and you really have to push to get anything more. I've had the experience where no work is assigned because approving anything takes time and once the work comes it is extremely easy to finish immediately because you have sat through weeks of meetings reexplaining everything to different groups get approval to change a form.
At one startup by the end of the day I was already learning four different languages/tools.
Now I imagine places like fangs would be amazing places to learn. If you ever work in healthcare most of your day will be explaining why this is a small change / very safe and you learn very little.
At a startup you might get core technologies going in a month, while at a big tech company the timescale might be closer to years.
I worked at a startup and the focus was on the work. I got to make decisions on what to work with, what technologies to adopt, and then I had to get them running. I worked on core technologies.
At a large company you rarely get to do this. You usually have large systems in production, have very large teams, and get to work on an established code base adding a feature or fixing something.
An interesting exercise at a large company might be to look at the version control checkins from the beginnging. The features at the beginning of the log probably went in a lot faster from fewer contributors.
Here follows my translation of the advice above:
> Yes you will probably make more at an established company, but your rate of growth can be much higher at a startup.
You'd personally benefit more from working at an established company, but if you work for a startup you'll be trained on the cheap and then an established company can reap more profits from you.
> I worked at a large tech company for 3 years before joining a startup, and learned more in the first month at the startup than the full 3 years at the large tech company.
The comfort of a large tech company is nothing compared to the stress filled life of working at a startup, having to constantly innovate on your toes and learn your own ways will push you to develop faster - but if you hit a wall you're truly hooped.
> I was able to design and implement a service in a matter of days, whereas at the large tech company those 3 days would easily spent convincing people that the service is needed in the first place.
I saw a need and dedicated some days of labour to filling that need, because it was a valid need I was praised, if it hadn't sold I'd be chewed out for wasting time - and there is no guidance on which needs might be helpful or not... Within a startup you'll be expected to do user surveys and then market your new product even though no time is formally afforded for either.
> Direct exposure to customers also is really interesting and changes you as an engineer.
I assume when you decided to become a software dev you really meant UX designer? If your perfect world is being given a task to do and doing it accurately to a high level of perfection then have fun trying to quickly adapt your highly designed system to literally contradictory client requests coming from the same customer.
> It's definitely a no guardrail environment, in the early days we had a bug that directly cost us a large customer pilot. No better teacher than experience, we did not make that mistake twice.
Losing your shirt trying to make your day job not collapse and then being excluded from any of the benefits when your company goes public is character building.
Yeah, there’s no formal time laid out to do step X in the course of development. There’s the chance that you won’t make payroll someday.
It’s definitely not for everyone, but when you get a good team together on a good project, it’s fantastically energizing.
I have really enjoyed working at small companies as well - not two person startups working on hopes and dreams, but companies under a year old that are struggling to stablize their offering of a product that they know there is a market for. Startups can be lots of fun, they can also be a grind trying to keep up with shifting customer requests - especially if you find yourself with a single dominant customer that knows they can push you around. Start ups can buy you an island or you could make 60k a year for three years and then be let go immediately prior to an IPO. There is an immense amount of risk there and I'd like to see some shifts in startup culture to provide a bit more assurances since the experience can vary wildly.
Maybe employees at small companies need to be guaranteed (i.e. by the government) a portion of that company for their work, maybe work days need to have a hard limit on them - maybe there just needs to be more VC funding sloshing around and given away in small doses - 200k to twenty companies will produce a lot more success than 4m to a single company.
I see a lot of people very much willingly freely entering into contracts that are beneficial overall for society. That many startups fail and few result in king’s ransom payouts for employees who put up no money to form the company seems ok and preferable to an environment where government has a heavy role in picking startups, regulating work, or otherwise mucking things up.
If a couple of my buddies and I want to work together and want to work as hard as humanly possible at it, why ought that be disallowed?
I think it should be obvious if that is what you desire start-ups are not for you. Whoever hired you failed at their job.
I've worked in a large corp IT department and for start ups.
I'd say the most value in working for a start up comes from being in the core group of founders and first employees. After that point, my perception is that it's more of a toss up - if you're going to be a rank and file junior developer on the periphery of the decisions that shape the company, an established company could in many cases be a better choice.
I have seen no limit to what an individual engineer can accomplish at my big company as long as they have the desire and ambition.
There's a thin line between growth through mistakes and learning bad habits (because of lack of training and no colleagues with experience).