In my first year of working in the industry (6 months as an intern, 6 months as a full-time employee), I worked at startups that were less than 10 people large. I was one of the only 2 or 3 developers, and usually one of the first. Throughout the year I spent working at startups, I learned a lot, and I failed a lot. Most importantly, I experienced amazing growth in my career and my technical abilities. Here are some of the biggest benefits of working at a startup:
Being one of the few people on the development team, I was always able to make a pretty big impact on the code base. In one of my jobs, I created the front-end of the app almost entirely by myself. In another, I re-wrote the entire front-end of the app.
I was able to take this level of ownership as a new developer because, quite simply, there was no one else to do it. Through ownership of the code base, I learned a lot of important lessons very quickly. If I wrote a method longer than 10 lines or had Components (I was using React at my previous position) that were longer than 100 lines, I knew that I had to comment on everything. If I looked at the code next month, it would be time-consuming to remember what I did and why. I wrote thorough documentation regarding certain decisions we made — whether it was for refactoring code, implementing new features, or just upgrading React (I actually wrote an article on how to upgrade to React Router 4 that was born out of this).
I learned these lessons out of a feeling of responsibility for the code I had written. It was mine, and it was my job to make sure that in the future, I, or anyone who would look at this after me, would easily be able to see what it was doing.
When I started these jobs, my managers didn’t waste any time on getting me started. By the second week of working, I usually had already made a PR or two and had some tasks assigned for the sprint. Within a month of working, or once I felt acquainted enough with the code base, I was already tasked with implementing new features by myself. We had deadline after deadline, and there was never any shortage of work or interesting things to do. I was constantly learning new things, and I was rarely bored. My GitHub commits share the same story:
Contributions I made while I was working there are shown in the red box
These contributions illustrate changes made to the default branch of the repository. Commits added through PRs, mostly. It was a rare day when I didn’t make a PR for something. It was usually because I was working on a particularly large project.
This is one of the biggest advantages of working at a small company. My manager only had one person to focus on — me! Whenever I needed help or was confused about something, all I had to do was turn to my manager and ask.
When my manager had decisions to make — whether it was UI/UX decisions or decisions about what to focus on next, we usually had a discussion about it.
I learned a lot about UI/UX, product management, hiring, and creating technical roadmaps because my manager was willing to have this dialogue with me. After all, who else was he going to talk to? It was mutually beneficial for us to have this dialogue — I learned a lot, and my manager had a sounding board.
When you’re one of ten or fifteen people at a company, your work makes an impact on the overall growth of the company. Especially if the company’s mission is something you’re passionate about, you’d be actively making an impact on that mission every day. Your work isn’t just one small part of a much larger machine — your work is the machine.
Startups can be tricky to navigate — toxic behavior and a negative environment are rampant in startups because no one has held them accountable just yet. So, if you’re thinking about working for one of them, there are some red flags you should look out for!
- Lack of clear leadership — do the founders and your manager have a vision for where they want the company to go? Do they make decisions quickly and do they know what they want?
- Lack of growth — when was the last time they hired someone? How many people are they planning on hiring in the next 3 months? How about 6 months? How are sales? What are the next steps to grow the company and the team?
- Undervaluing Employees — I’ve seen startups who try to undercut employees when it comes to pay and benefits severely. Know what your minimum or expected salary/equity is, and use your judgment and talk to people you trust if you have reason to believe that accepting an offer lower than what you expect will pay off.
- Not the right mentor — The mentorship aspect I mentioned earlier is only worth something if you have a good mentor! Be sure that your manager is knowledgeable, patient, and wants to mentor you.
- Overworking Employees — Ask how many hours a week are expected of employees. Ask whether you’d ever be subjected to unusual (late evenings/weekends) hours. I usually only ever worked 40–45 hours a week. There were a handful of occasions where I needed to stay an hour or two late.
You can usually find out this information when you’re interviewing — either by observation or just directly asking!
In addition to asking if the startup is a suitable place to work, you should ask yourself if it’s a good fit for you, too!
- You’re okay with risk — When you work at large companies, you generally know what you’re getting. You may have had friends or distant cousins who work at those companies, and people’s experiences are pretty well-documented or established. You can expect that not much will change from the time you accept your offer to the time you start working to 5 years from then. But when you’re at a startup, things can change on a day-to-day basis. You may not know what you’re getting until you get there. Additionally, a lot of startups fail — there’s a chance your company may not be around as long as you’d like it to be!
- You want the experience for your career, not your bank account — As I mentioned before, a lot of startups fail. And a failed startup is worth $0 — as is your equity.
- You like fast-paced environments — Fast-paced environments are not for everyone! Know what environments you thrive best in, and if ‘fast-paced’ isn’t how you’d describe your ideal environment, then you may not want to join a startup. At the end of the day, you need to do what’s best for you and your career — which means being in an environment that’s best for you.
And that’s my case for why you should consider working for a startup, especially as a new developer. I’ve seen a lot of people in the dev world who leave college and chase prestige. They only look for work at Google, Facebook, Microsoft, or IBM-type companies.
There’s nothing wrong with wanting to work for large, successful, and innovative companies, of course. I think that this is another alternative that should be considered when searching for your first job! Even if you’re not a huge fan of startup environments, or you just can’t seem to find a good one, you can find a lot of these benefits at slightly more established (between 50–100 people) startups or small companies.
If you have any questions/comments about startups or working for one, please feel free to comment below!