Phil Marius

Data Scientist, Data Engineer, Linux, and OSS Fan

15 Jul 2020

So You Want To Work In A Startup?

Amongst my peers, I’m known for an almost passionate desire to work for smaller companies. You may know them as “startups” or SMEs (Small to Medium Enterprise), call it what you want but essentially a business with fewer than 200 employees. I thought I’d describe my experiences of working at SMEs (going with this, fewer characters) for anyone who may be thinking of taking a similar job as a junior engineer at a smaller firm.

Autonomy

Starting off with what I would call the biggest selling point, autonomy. You get A LOT of it. I remember at an internship I had a few years ago, I was pushing code to production in the first day I was there, even if it was only a minor spelling change to their website. The trust and responsibility put in you by the company is for me a major driving factor in my work ethic.

This does come with its downsides though. If you’re looking to get gently introduced to the tech industry then this won’t be it. You’re going to get a lot of responsibility straight off the bat and get hammered with things to do. In one role I held, I was in charge of optimising a series of Pandas dataframe operations and it wasn’t an easy task. Without optimisations, the code was taking hours to run and was costing the company a fair bit in cloud computing costs, yet it was taking me weeks to complete. At one point, I even had the CEO checking in on me asking what the delay was. With added responsibility comes added pressure.

One upside that comes with this is the increase in learning rate. Once I was finished optimising the pipeline (runtime was 30% the original speed, just sayin’) I was seeing similar potential optimisations everywhere in my work. I found that, after being forced into a high pressure situation, my ability to learn improved dramatically.

Communication

You’re going to get good at this. Being able to communicate outside of your team or outside of your domain knowledge is no longer a skill, it becomes necessary. Technical knowledge accompanied by the contextual understanding of use cases is infinitely more valuable to not only the company but to your team and to your own workflow too.

An example of this would be from a role I once held where we were getting reports of the internal app used by building staff being buggy. The building staff and the technical team weren’t situated in the same office and I didn’t know any of them particularly well, so I was tasked with reaching out and doing some research into the situation. A single 5 minute chat resulted in a fix within a week and productivity increased. I was young at the time and had a bit of help with this task but, looking back, it made me realise just how important communication is for technical teams.

With pros, come cons and with communication you may find yourself spending far too much time communicating instead of actually working. In SMEs it’s common to have teams consisting of one person for specific roles, so if you’re waiting on something from a department, that’s often waiting on one person with no one else able to step in and do it for them. On top of that, in larger enterprises you may have someone in charge of communications within and outside of the team which is not as common in SMEs. This can result in you having to manage multiple conversations with various people who may not be as technically inclined as you are. While this is not necessarily a downside, in my experience, it can take up a larger proportion of my day.

Life can be Harder

Where to even begin, your plate is going to be full and not always with things you want to do. When a job comes in there’s often no one else you can pass the job to. If something isn’t implemented, well congratulations, that’s your job now. Missing documentation? Guess it’s time to learn how to read Python 2 again seeing as that codebase hasn’t been updated since 2017.

In one role I held, there were differences between what the sales team were selling potential clients and what we were actually producing in the data science department (not an uncommon story in the tech industry). This was causing some upset amongst current customers. One of the sales team reached out to collaborate on content for the sales team to use and I found myself producing diagrams and examples for them. I really enjoy this kind of work, where I have to approach my domain of expertise from an angle I may not necessarily have much experience with, like sales, and these sorts of responsibilities are what I relish in an SME.

The downside to these increased range of responsibilities is that I have found myself spending days not doing any “data science” and instead, doing a fair bit of work around it. Shelving more exciting projects in favour of more arduous, less snazzy tasks is commonplace in SMEs. In fact, at the time of writing, I’ve had a project at work sidelined for several weeks now because I had more pressing, less exciting work to complete first.

These kind of tasks must be considered when applying to an SME. If you want to get really good at one thing you do e.g. data science for me, then maybe a larger corporation with more structured support could be beneficial. If the idea of a “jack of all trades, master of none” appeals, then an SME could help you achieve that.

On top of that comes the pressure. SMEs very rarely work on a budget that is less tight than me squeezing into a 32” waist pair of jeans. If something is not working right for the company, or they find somewhere where they could be saving money at no great expense, they’re going to take it.

That includes you.

If you’re underperforming, then prepare to get dropped faster than me forgetting to use oven gloves when taking the lasagna out. There have been times where I come into work only to find out a colleague had gotten dropped the day before with no prior indication to me due to performance. I was initially shocked and then afraid for my own job security, after all I was only a junior so did not have the level of value the seniors had in my team. But this is the harsh reality of smaller businesses. I’ve even been dropped in my time. There’s nowhere to hide when the entire company fits into a single room. To me, this kind of pressure is motivational but can be more daunting for some.

The Payoff

As much as I go on about the doom and gloom of SMEs, the reality is so much more rewarding than I could ever portray. To me, nothing beats the feeling of pushing out a major project that the team has been working on and the entire company taking notice. It works the other way too, celebrating every small win that anyone makes in the company. When the company fits into a single room, then everyone in that room can make a difference.

I love the social side of SMEs too. You can really know everyone in the company and everyone can know you. There’s a familial asApect to it (sidenote: many companies use the idea of “a family” to exploit their workers by manipulating them so please take care, family isn’t a selling point of an SME it’s a given). Having that Friday afternoon pint with the executives sat next to you is a surreal feeling as a junior (or discussing drum and bass music with the CEO as I have done before).

Conclusion

It’s really up to you and what you’re looking for in your own development. Many people like to focus on companies and what they do, what they offer, how much they pay, where they are and how many cool new technologies they use but, in my opinion, that’s not as important as the self development that a junior’s first role could offer. What kind of self development, however, is up to you. As mentioned before, if you want to get real good at one thing and become an ace in that one thing, then maybe the support of a larger enterprise could be good. If you prefer being an “all hands” kind of person and are not afraid of taking on extra responsibility and learning outside your professional domain, then maybe an SME / smaller firm / startup is the way for you.