When you're at the beginning of your web development career, landing your first job will be high on your agenda. It's hard to resist the lure of the big tech companies. Working with the best technology and tools, with all those cool perks and benefits - table tennis and free lunches anyone?
But what about the little guy? The smaller startup or company, making less noise but doing big things. I've worked in both - large tech companies, and startups. Here's why I'd choose a startup or smaller company.
The interview is often shorter
I the one thing I like about the smaller company's and startups is that the interview process tends to be less daunting. The interviews I attended were less formal, and more of a chat of my skills and abilities. I would have to do a small technical test on a laptop and walk through my solution at the end. The entire process would take a few days, from sending my application to getting an offer. Compare this with the process for larger companies which goes something like this.
- Apply for job
- Waiting for weeks or months to get an interview
- Interview round 1
- Interview round 2
- Interview round 3 with whiteboard coding sprinkled on top
- Wait another 2 weeks to receive an offer - or a lovely rejection letter
I don't know about you but I found this super stressful. All the waiting, the not knowing, the constant preparation. Ahhh!
You will learn a lot
One thing I did not enjoy about working in a larger corporation is the fact I felt siloed into one part of the product. I was part of a team that worked on one specific feature. And only that feature. I very rarely had the opportunity to explore other parts of the product. After a while, this becomes a bit repetitive, and the opportunities for learning disappear.
None of this is a startup or smaller company! One minute you'll be writing code to allow users the next you'll be thinking about mobile apps. Well, not exactly this. But you'll have the opportunities to work on more features, solve different problems, and learn new technologies.
Titles mean less
You'll find in a startup or smaller company, the fact that you are a "junior developer" will not limit your opportunities. In my company, the CTO and 3 developers make up the product development team. One of the developers is joining us on an internship, but this doesn't prevent him from getting involved. The entire team attends gets involved in the entire Agile process and is free to work on whatever stories and tasks are on the board.
Exposure to more technologies
Since smaller companies and startups have fewer people, you'll find that you will often have to "jump the fence" to help with other areas during development. I joined my current company as a Java backend developer. Now, I work across the frontend (React.js) as well as backend. I'm getting my feet wet with testing, deployments, and architecture of the entire product. It sounds like a lot - and sometimes it feels like it. But it's a great learning experience, and I did not get the opportunities to experience so many areas of development in the larger companies.
Your work has a major impact
Working in a smaller company or startup means your work has a direct, meaningful impact on the business and product. Even if you are a junior, you'll be thrown in the deep end, developing and releasing important features. There's nothing more satisfying than seeing real users using the feature you coded! Your work will have an impact when working with larger companies too, not on the same scale. For a junior developer, the work will often be around smaller tasks. This could be anything from bug fixes, technical debt items, or non-mission critical features. While these are important, they aren't exciting to work on.
Fewer politics and restrictions
Larger companies come with a lot more politics and restrictions. I get why this is necessary, as without it there will anarchy! Yet, it does make a developer feel handcuffed if they need administrator permissions to download software or use certain online tools. Sometimes you will be given a specification of work, and your ability to be creative or experiment is limited, since the work will already be defined for you. From experience startups and smaller companies give you an environment of more freedom. If you have an idea or something you want to try, you talk to the development team, CTO or someone higher up. Since there aren't loads of other teams or layers of management to get permission from, you often will get a "yes" or "no" much quicker.
Of course, there are pros and cons to everything, so here are some of the "not so nice" things about working in a startup or smaller companies.
The main goal of startups and smaller companies is to get products and features released as soon as possible. Why? Because releases are important to keep clients and users happy, as well as bring in revenue to pay the company bills. Whilst this can be fun depending on your mindset, it can also be stressful at times. Larger companies tend to be more established and whilst product and feature releases are important, there will be a bit more room to breath.
Lack of support
Depending on the team size, you might find yourself having to do a lot of self-learning and problem solving yourself. The reason being if you get stuck (which happens everyone now and again) your colleagues might not be free to help you straight away. Or, they might not have the answer - no one knows everything! So be prepared to do a lot of self-learning and problem solving, even more so than you normally would.
This applies more so if you decide to join a startup, but could apply to smaller companies as well. Be prepared for things going wrong, for example, if the company goes bust, you could be out of a job. If you think you can easily find another job, and do not have commitments such as kids, large bills, etc then this might not be a negative for you.
Salary and benefits might not be as good
Since startups and smaller companies often have less money to play with. You might find the salary and benefits will not be as attractive as larger more established companies. If good benefits are a must for your career,
So is a startup or small company right for me?
If you are a self-learner who wants to be deeply involved in a company, work with lots of different technologies, and write meaningful code, you should definitely consider a startup or small company.On the other hand, if you are the type of learner who needs more 1-1 mentoring, lot's of cool benefits and job security, the larger corporations will be for you!