Table of Contents#

Small Beginnings#

The first 3 years of my career as a software engineer were spent in a small company.
It was my first experience out of college, since I didn’t do any internship when studying and I was applying for jobs.

I came about a position for a Software Engineer in LinkedIn that was asking for 5 YOE (years of experience).

Me, being a young one, thought: “Oh what’ve I got to lose 😎”, expecting to hear nothing back. But to my surprise I got a call back and they were interested to know why I had applied to such position. I explained that I didn’t even expect to hear back. Nonetheless they gave a shot and interviewed me.

Both interviews, the behavioral and technical, were simple - and I think I got lucky - as I didn’t have a clue that interviews had coding tests.

At the end of August I got an offer back for the position. Looking back, the offer was really low, but at the time I just wanted to get a job and thought I was lucky to have even gotten an interview.

Here are some things from my experience that I felt were good and some things that were not so good.

This is my opinion and view on what I experienced, don’t take it as facts.

The Good#

Let’s deliver the good news first.

Learn Everything Everywhere All at Once#

One of the things you’ll hear a lot when talking about startups, since they have a smaller initial team, is that you’ll work on and with a lot of different things. This was true for me as well.

Starting out with small UI tasks for the first couple of months, then going to full stack development and within a year I was already owning a lot of features by myself, from the design and specification to the implementation on all aspects, such as UI, APIs and deployments, which is great to get experience with bigger responsabilities and working with bigger tasks.

This was great to get my foot into a lot of areas that might’ve taken more time to learn on a regular company.

Size doesn’t matter#

Small teams can be a blessing and a curse.

The point in which my team was the largest was when I got in, having a total of 3 devs including me. But this soon changed from 2 and from 2022 to the end of my time there, being the only dev (besides the CTO) and an incredible designer.

This was great because it meant that everyone was working closely and that there was less friction in getting things to move. And working on a bigger company now, with lots more moving parts, it reminds me of simpler times where I didn’t have to wait weeks for approval to implement something that can improve the product or developer experience.

The Bad#

Now the negative aspects


Size doesn’t matter
 Until it does#

Having a smaller team means that you’ll have less people that you can learn from, and this coupled with the fact that you could have no direct senior above you, to answer your questions and guide you in the right direction, can be a big hindrance to your growth. So if your team is small, make sure you have a senior from which you can learn.

It also means that - and this might be specific to me - I have no competition, no one I can look to for inspiration and motivation to do better.

Chaos#

This is something that can happen with any company, regardless of its size, but I feel like it’s something that a bigger company might have sorted better, which is in terms of organization.

This isn’t in terms of roles and what not, but more in terms of tasks and what is required for a specific feature. It can be the case that it’s your job to figure this out, but starting out, you might struggle to do these types of things.

Having the goals clearly defined and structured makes your life easier and completing a feature much faster.

No Retro#

Being in a fast paced environment means that you’re always moving onto the next thing. And sometimes this is not that big of an issue since what the company wants is growth.

But it also means that we’re not looking back at the things we’ve done and learn from them. Be it mistakes to avoid or success that we want to continue implementing when developing new features.

We did have our standup, but never something that we would reflect on the bigger picture in terms of development.

Also, no code reviews from anyone :( . Code was just pushed without reflection and opinion which meant that sometimes wrong things got sent into production (of course I did it as well). It was something that I had mentioned that I wanted to do, but it was done once or twice and never more.

No Mr. Miyagi :(#

Something that I touched upon previously is the fact that you might not have a senior from which you can directly learn from.
It can be tough when improving yourself, since there are a lot of contents on the internet and filtering through everything can be a lot of work.
Having someone that you can ask and dig into the years of experince that they have is quicker and can even teach you things that you weren’t looking for especifically. It doesn’t mean that you shouldn’t research yourself first and come to an answer, but if you’ve done that and can’t find any good solution, having someone that you can ask is a god send.

For me this was only apparent in the later stages of my employment and when I got into a new job with a bigger team with people of all levels.

Even without a “mentor” I still learned a lot. But in the hiring process, I remember one of the pros I was told about was that, “I was going to work with people who are more senior” which was true 
 for 3 months, where they either left because it was a consulting contract or were fired. And if that time was spent in a company that had someone to whom I could talk to and learn directly from, then I would’ve been much more ahead than I currently am.

Closing Notes#

In the end, I don’t regret working and starting in a smaller company. It might be contradictory to what was said in the majority of the article, but I was able to learn a bunch of things in a short amount of time, given ownership of a bunch of features and later a full application ( which I sadly couldn’t see released in my time there ).

But it had it’s downsides and this is something that you should look out for when looking for a job in such companies as a first step in your career.

Make sure that it has a good, responsive and helpful team with people that will support your growth and even learn a thing or two from you.


Thank you for reading :)


P.S.

If you’re into keyboard then checkout my custom made split -> Yggdrasil