Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

I think the sweet spot for a brand new developer is a company with about 50 people. That way there are other, more experienced developers you can learn from and yet there aren't so many people you're doing someone else's job when you step out of the very narrow confines of your own.

Some of the people from my graduating class in college started at really large companies and learned nothing because they were such a small cog in a really large machine. I went to a company which varied between 40 and 50 people and had the opportunity to learn as much as I could soak in.

Anyway going to a startup is a lot like gambling. You'll most likely be looking for another job soon, but if it pays off it may pay off really big. Who cares if they bring in a "VP of Engineering" if I can cash out my options for six figures?

If it's been two years, the options are worthless, and it looks like you're going to end up a low level employee at a larger company, then it's probably time to move on.



sort by: page size:

I've worked at companies from 30 people to 300 000 people with a brief period at 5 people consulting agencies.

Startups (past 10 people) are good for hungry young programmers. Easy to get into with limited experience. Lots of exposure to lot of stuff. Opportunities to grow experiences quickly and execute at an incredible pace.

Then leave it. It's only leverage to get a better job. One that does provide sane hours, decent pay, healthcare, parental leave, pension...


One point OP may have missed is learning opportunity. The opportunity to learn in a big company, any big company is simply not the same as that in a startup. You are always one of 50 people working on a feature that has already been spec'd out in great detail by some one else. Early in your career investing in learning and becoming a better engineer makes a lot of sense.

I completely agree, but I want to add one caveat. People will often learn far more spending a year or two at a startup than they will at a big company. In the long run, that will often pay dividends once they get to a good big company.

But a lot of larger companies have great programs for junior developers that ensure they learn a lot.

In my experience and stories I've heard it seems that you can have an amazing time as a junior developer at a startup. If it's a good one. It it isn't, you'll be absolutely miserable and have no support. Similarly, you can be at a large company with a fantastic program for junior developers and learn a lot. And you can also work at an awful large company where you'll learn nothing. "Startup vs large company" feels like a false choice in many ways.


Would you advise against taking your first software dev job as a CS grad at a small startup with 38 employees? What are the pros and cons?

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.

I'm not someone that drinks the startup koolaid by any means, but I agree with them that working for a large company has very limited value if your goal is to start your own company.

I worked for one of the biggest tech companies as a developer, and I learned no real skills in my tenure there. My responsibilities were just so narrowly focused and any knowledge I gained was specific to that codebase, which is not useful at all to potential future work.

The sad thing is, the best way to increase efficiency at that job was knowing the existing codebase better. I chose to quit instead.


Those tips for joining startups seems to be interesting:

"For your first startup:

You want a place with >10 folks but less than 200. I say this under the theory that you are mostly working there to find challenging work and smart people. A startup with >200 people is too close to becoming a big company (or a failure) soon.

Be very strong in your field, if you are not yet that good practice until you are. Try to work on the hardest projects you can find at your current employer.

You will probably not get rich at your first startup, but you will learn at least 3x more per week than you would at a big company. Don't obsess too much on how many options etc... - it really doesn't matter - you are mostly going there to do good work, learn and find folks who will make successful startups."


I am sure this is more art than science. But there has got to be a good general size. I asked people on reddit what was the best way to grow as a dev and become better, and the overwhelming majority told me that working under good devs is the best and fastest way to do it. The question remains what size is ideal. Should I join a small startup or a medium sized company or a large one? What has been your experience?

It's more valuable to start with a huge corporation and then move to a start-up according to my personal experience.

At a large software/Internet company, you can learn best practices, how organizations work, politics, real team work and real challenges in large scale. And can make more connections that will help you for future opportunities and company name might be a great reference.

But 1-2 years later, you have to move on. Because clearly, you'll see that you've started almost nothing, never practiced some fundamental architecture patterns (since your large scale cant scale with them), shipped less code. You are living in a comfort zone that you obviously cant even take a tiny risk.


That's not completely fair. Startups want and need more experienced employees and cannot afford to bring in new grads at the scale bigger corporations can.

Facebook, for example, has an entire org that focuses just on internships and new grads. They are offered space and time to learn and grow. Some may still fall through the cracks, but far less so than at a startup that doesn't have the resources to hand hold.

At a big company you can learn how to be a team player and specialize in areas that are interesting to you. At a small company you learn how to become a jack of all trades and must cover your bases.


I'm 35 and have only worked at startups. I'm at the largest company I've ever worked for now, and we've grown since I started from ~20 to ~80 employees. Previous companies I was in the first 10. I think you need to pick your startups better. Every company I've worked at has pad me reasonably well(admittedly less than the big companies), has not required more than 40 hours/week except literally for one or two days around a high pressure launch or demo.

I guess you're right, in that I wouldn't go work for a large tech company - it would be hard to convince me to give up the level of freedom I have and ability to contribute to company direction.

I treat startup stock like lottery tickets. It'll almost certainly not pay off, but it's a nice dream. All the companies I've worked at are still around and doing well, so the payout(s) still might happen someday.


This post is missing the most valuable part of working at a startup: the experience.

Sure, you can go work at ________ (big company paying fresh developers $120k+), but you're going to be pigeonholed into working on a small aspect of the product/company.

If you join a promising small startup, you're going to learn about all aspects of business, startups, selling, marketing, fundraising, etc. These skills will be extremely helpful to you throughout the rest of your career, especially if you plan to start your own company someday.


There is a sweet spot regarding the timeline of early stage startups and when to join. If they are too small, yes, a lot of the cons you mention are valid, except for maybe the first one - I'd say earlier stage startups who are at the point of bringing on engineers are actually looking for more input and outside validation than larger sized businesses.

For me, joining a 20-50 person startup is the ideal sweet spot. Compensation is often comparable to larger companies, of course it's about finding the startups who actually respect and fairly compensate their employees (just like working w/ clients). I've been in a situation before where I was interviewing with two companies at the same time, similar positions with similar stage startups (very very early, less than 3 people) - we got to numbers and one of them offered me $50k while the other offered $180k. The funny part is that the one that paid more, I am willing to bet, ended up being significantly less work than the other one. Point is, it's not black and white. It's about finding the opportunity that is right for you.

Also I think a big benefit is influence in company culture. At every smaller startup I've been at, there has been a direct communication channel with the CxO regarding anything one would like to discuss, often including new perks or events that management was considering hosting. The feedback loop is smaller and more direct.


I worked for a (15 person) startup for a year and am now moving to a larger (70 person) company. I can say that working at a startup lets you try a lot of different things.

If you don't know what you want to specialize in a startup can be a great place. Over the last year I did everything from coding to usability testing to video editing.

At the startup, I worked with really talented engineers who cut their teeth at much larger companies (AOL, Microsoft, financial services firms). Now I've decided to specialize and am heading to a larger company to hone my craft.


When I went from a big company to a startup, I saw a significant increase in engineering talent. There were some good people at the big company, but there was also a lot of dead weight. It was easy to just coast through a project there. At the startup, you had to be sharp, or you were out.

I won't say the code was always pretty at the startup, but due to the higher level of skill among the developers, I think the code there was superior to what was produced at the big company.

Although the startup went under after I was there 2 years, I learned 10 times the stuff in 2 years of the startup than I did the previous 5 years at the big company. The skills I learned at the startup allowed me to get into a much better job at another big company that I stayed at for 11 years.


I feel like getting a job at a larger company as an engineer is easier than getting a job at a startup anyways. Sure when you start your own thing there are no rules, but any startup with a couple senior engineers that have had to train up some employees from scratch know how much work it is. If you are joining a large company then you have a better opportunity to learn from more people. Your support base is larger.

Side note: who can you actually hire within your network if you join/start a startup? I thought I knew people, but every time I've ever asked if anyone wants a referral for (enter reputable startup brand here using awesome tech) I get no responses among my network. Every good engineer I know right now actually has a job that they like.


I'm glad to read this.

I have only worked in the startup environment over the last 30 years. I don't miss the big company environment and what I see from my GF (FAANG, plus one F50 brick and mortar) just reinforces that.

But a lot of people choose startup jobs because they read (or saw on TV!) a romanticized version. As described in this article the very things that make it so great aren't the things that most people want...and if you try to blend in too much of the big company thing too early the company doesn't usually make it. It it much more fun to work with people who are really into that environment so anything that steers unhappy people away is better for everyone.

I worked with a guy who had an extreme version of this: his limit was about a dozen people. And looking at his linkedIn he's since worked at some amazing major companies....always at the very beginning. It's just his thing.


It sounds like you shouldn’t go to a startup. I’ve done a mix of both (from #1 hire out of 2 total engineers all the way to a Fortune 25). Across the board, I’ve found the smaller the better (more enjoyable, more learning, more energy, more urgency, better colleagues).

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.

next

Legal | privacy