@radekmie

On Having Interns

By Radosław Miernik · Published on

Table of contents

Intro

I live in an “information bubble”… And I hope that we all know that so does everyone else. It’s bad, though it’s unavoidable nowadays, I think. What have I heard for the past couple years – both online and in person – is that the job market is really bad, especially for people with little to no experience.

It’s not exclusively personal, as I got the same feedback from people I met at work (interviewed) and students I worked with. The former had horror stories of being let go because some “coding machine with 10 15 years of experience” agreed to a salary lower than their learning budget1. The latter have had to go through seven interviews just to get an unpaid (!) internship at Big Corp.

I had it easier, really2. Today, I’m in charge of hiring for the technical positions at aleno, and can at least try to make it better. We are a small company, so it’s only a handful of people every now and then.

Let’s talk about how it works.

Intern, junior, working student…

Naming is company-specific. It can be affected by available contract types3. Here’s how I see it, and how we do it at aleno. A junior works on well-defined tasks and is not expected to be entirely independent4. A mid or medior does the same, but mostly independently. Finally, a senior is the one helping the entire team be effective (also by defining the tasks).

Sure, there’s a lot of nuance to it, especially around soft skills (e.g., being able to mentor others, or represent the company at a conference). There’s also a scale to the technical skills – the more things you work on, the better you are at it.

Anyway, when it comes to interns, we consider them juniors who are usually not working full-time, because they’re still studying. It aligns with the levels.fyi’s “Standard”, but some companies call it a working student (e.g., Nokia).

For the rest of this text, I’ll use junior and intern interchangeably.

Not so humble beginnings

Two years ago, we were looking for a Business Intelligence (BI) Engineer. As such position’s definition varies between companies, here’s ours: maintain our ETL pipeline and the data visualization. Rather unusual mix… Or so I was told by the candidates who applied and said they would do only one of the two.

After a few months, roughly forty interviews, and the salary budget increased a couple of times, we gave up. There were literally three people who matched our requirements and budget… And said that they’d rather lead a team instead.

Some time later, I proposed to get one or two interns instead. At the time, we didn’t even have a junior on the entire team, so it was something new. I was lazy enough to reuse the same interview questions, and it turned out amazing.

The job offer had three strict requirements – (great) English language skills5, experience with SQL, and experience with data visualization. Please note that it wasn’t about commercial experience, but any experience – if you had a SQL course at school and played with Excel charts, we considered it enough.

I shared the offer on my institute’s students’ Discord server (it was supposed to be private). Only three people applied; not great, not terrible. However, all three simply nailed the interview. We were stunned, as only one of them had relevant experience, and it meant all the people we interviewed before were… Yeah.

We hired two, only because we couldn’t handle three at once. Both are amazing people, and both exceeded our expectations by months. We drafted a plan we thought would take them a year to go through – new features, maintenance work, everything. They did all that and more within first four months.

If you are reading this – thank you for growing with us.

Doubling down

Our Full Stack Engineer position was open for roughly two years. We had a steady flow of candidates, partly organic and partly coming from headhunters. The latter were involved later, when we knew we really had to get more people on board. At the end of last year, we budgeted for two intern positions, just in case we decide it makes sense.

Early this year, we committed to it. After sponsoring and speaking at ZOSIA, a student’s winter camp, we posted the job offer. Just like before, the only hard requirements were English skills and JavaScript knowledge. In total, we got 11 applicants. Out of that, 5 people were really great, and we had to choose two…

…so we decided to move the budget around and hire three instead. Anything above that would be an organizational problem, as we’re still a small team, and we want to make sure we won’t have to slow down the usual project work. This happened a few weeks ago, so all I can say now is that so far it’s going well.

Closing thoughts

Now, why am I writing about all this? Well, there are two reasons. One, I see people mass-applying for positions6 and getting zero answers. I know it won’t help you directly, but remember that there are companies looking for someone just like you. I know that I’m but an anecdotal case in an ocean of layoffs and being force-fed with AI… But again, some companies are still doing it the right way. They may not compete on salaries with Big Corp, though.

The second reason is the ongoing discussion about “Nobody hires for junior level positions!”, and its consequence, “Who’ll be a senior 10 years from now if there are no junior positions now?”. I know that in most companies the technical roles are separated from the management decisions, but if you can do something about it at yours, please, at least try.

Everyone could use a better world.

1

Of course, it was someone from a distant country working at night due to the time zone difference. I guess you aren’t surprised, huh?

2

I covered how I got into programming in On the Edge of Burnout almost 4 years ago, and I still consider myself extremely lucky. I had met people who believed in me and let me grow into… Yeah, this sounds too grand already. Thank you.

3

In Poland, technically speaking, an internship implies a specific contract type. Yet, at least from what I’ve heard from people working at different companies, it’s not the case solely due to more complex taxes. That’s why it’s often considered one’s level and not one’s position.

4

Being independent doesn’t mean working alone – it’s about being in charge of something. If you need help, you are the one looking for it. The same goes for letting others know that something will take longer or will require additional work elsewhere.

5

No matter where your company is located or what your team is like, I highly recommend keeping everything in English – from code, through both internal and public documentation, to events in your calendars. It makes onboarding international people a thousand times easier. Just remember that there are people living in your country or city who don’t speak the local language.

6

I know it’s not a new problem (see this post), but it only got worse thanks to AI – more people are willing and able to automate it.