Starting out as a developer — An interview with Compado’s VP of Technology, Bobby McKinnon

by | Jun 19, 2023

Bobby is Compado’s VP of Tech

Clearly the face behind Compado’s technical infrastructure: Bobby leads Compado’s Tech department and holds reporting lines to all developer teams in Compado. He specializes in strategic tech leadership, scalable vision-driven IT, server infrastructure and Backend development.

This interview has been led by Compado’s editorial staff, remotely, with Bobby residing, at the time of the interview, in Berlin, Germany, on Thursday, February 16, 2023. Press-related enquiries can be submitted here.

With 20 years of experience in web dev, Compado’s VP of Technology, Bobby McKinnon is an experienced tech veteran, a true dev allrounder, with skills ranging from strategic tech leadership to backend architecture — You can say, Bobby’s someone who’s seen quite a lot in the dev game. 

In this interview, we want to explore how it is to start out as a developer. 

Engineering Blog: Bobby, can you explain the ‘job universe’ that’s out there for developers? What are the different roles in web development [as of February-2023]?

Bobby McKinnon: Yeah, so there’s quite a few possibilities. 

It’s noteworthy that we – still – have a traditional split in web development between ‘frontend’ and ‘backend’ – it’s two areas of the job, and most developers focus on one or another.

In frontend development, it’s about what you can see – the frontend.

Examples would include designing software, creating visual user surfaces or guiding user interaction through web design.

It’s everything you see when you look at the screen.

In backend development, it’s about what’s ‘behind’ the screen, things you don’t see.

Examples include putting together the necessary hardware, data management, or developing and maintaining the ‘business logic’. 

With that difference in mind, the first big question in the career of a developer is usually: What focus do you want to have?

The decision for either frontend or backend usually comes naturally.

Whatever you like most, whatever speaks most to you, that’s what you go for. 

As a rule of thumb, starting out as a frontend developer may be suitable for more creative people, while backend development may lend itself more to structure-prone people…”

“…Then, of course, there are so-called ‘full-stack’ developers; developers that are doing both, backend and frontend.

But, as a dev, you’d not start out full-stack.

Instead you’d focus on either frontend or backend first and learn the other one later. 

It’s typically like this: Before you even consider becoming a full-stack dev, you need to be proficient in your field [backend or frontend].

If you are not proficient in either, there’s no way you’ll be a good full-stack dev.

Other specializations in the greater web development realm include UX designers – those are not software developers but people who specialize in how the user works with the product.

Then there’s architects – coordinators that look after the architecture of applications. For instance, they envision how many web servers need to be involved, how machines are talking to each other.

Becoming an architect, that’s essentially something you do – or become – when you’ve been a backend developer for long. 

Lastly, there’s Q&A engineers – a group of people that focuses on automating quality assurance processes, like writing software that catches errors in what other web devs are producing.

Picture bots that are executing user behavior, to see if the site breaks or not. That’s what Q&A engineers do.

Here, in Compado, we have the typical frontend-backend-full-stack split.

We employ all three types of developers.

We do not have stand-alone UX designers, architects or Q&A engineers though.

Those jobs are filled by our regular devs.

Backend devs look after the system architecture, while frontend devs look after UX.

Engineering Blog: So, once I made up my mind and know if I want to head down the ‘frontend’ or ‘backend’ path, what would be a typical entry-role title for a developer?

Bobby McKinnon: You usually start out as a ‘Junior Developer.’ 

That’s assuming that you can get most of the easy to medium tasks done without intense training or supervision. 

What I mean is this: know-how is a prerequisite for even being hired as a junior developer. 

You get your basic developing skills before you’re hired as a junior developer, for instance, from a coding school or simply from private coding experience.

In my personal opinion, if you mix private coding experience with some structured, academic training, that’s a good basis for starting out as a junior developer.

What’s even more crucial than proper schooling is that you really want it

You know, all people that are successful as developers, they want to do it

It may sound cheesy but it is what it is: People that are really good at developing, they’re not just doing it for a paycheck – they are doing it for passion, too. 

And that’s what I am – first and foremost – looking for in developers: passion!

Engineering Blog: So, let’s cut to the chase, how can I start as a developer in Compado?

Bobby McKinnon: There’s an easy answer to that, but I will also elaborate a bit for those who seriously consider joining our tech platform.

The easy answer is: You send an application to HR. You send your resume and cover letter, and that’s how you get into the system.

If you’re good, you’ll get an interview…

👉 ℹ️ Initiative applications can be sent to [email protected] ℹ️ 👈

“…Now, I also want to elaborate and let you in on how you can make your application stand out.

So, first of all, I am doing the interview myself. 

And what I am looking for in those interviews is not that you’re the smartest person in the room – I am looking for people that like to talk, in the sense of being able to express what they think clearly and easily; I am looking for people that have fun talking about technology – where I can see that there’s a passion. 

And, most importantly, while on interviews I am looking for candidates that have the ability to be creative, that have ideas, that can make suggestions – or, in other words, that are able to engineer…

“…Before you even get to that interview, you will need to hand in a cover letter

My 2 cents is: Keep it simple and honest.

Do not overstuff your cover letter or resume with loads of stuff that you’ve done: No one knows everything, and especially not when you’re just starting out. We know that.

So, keep your CV and cover letter lean, stay focussed and simple.

It’s also a big plus if what is in your CV matches our needs for a specific position.

If you’ve passed the interview, we will do a skill assessment

Each developer team in Compado has their own way of assessing skills – so I can’t really generalize on that. 

In the end it’s about handing in work results that can be reviewed – so that we can get a sense of how good you are.

Our web-dev team leads are reviewing the results, and, should you have passed the skill assessment, you’ll be invited to the next round – a technical discussion.

👉 📁 Find an exemplary skill assessment here 📁 👈

“…A technical discussion is sitting together in a group of devs and talking about web-dev scenarios or challenges. 

In those discussions, what I am looking for is if the candidate knows how to solve the problems that’s coming his or her way – and if the candidate can communicate his or her way of problem solving. 

At the risk of sounding too cliche, you do not need to be a geek to ace a developer interview, you need to be able to talk.

It’s not easy to become a developer in Compado.

At the moment we have a rejection rate of almost 98%. That means: We’re hiring 1 in 60 people – and that 60 people are pre-screened candidates already.

I want to add that we’re only admitting the best – If that means we need to interview for several months before filling a position, so be it.

I also want to add that you can send me a message on Linkedin if you have questions on applying as a developer in Compado.”

Engineering Blog: As a developer to-be, can I apply for an internship in Compado? Do you have any summer programs?

Bobby McKinnon: We do not have any structured internships or structured summer programs in Compado at the moment. 

However, if you feel eager, send me a message on Linkedin and let’s talk.

I also want to say that we always have at least one student developer

As a student developer, you get to see all different areas of web development – from frontend over backend to ‘SEO Tech’ and ‘Ad Tech’.

While you’re looking into the various areas, we’ll be figuring out what you’re great at and where your passion lies.

Engineering Blog: If you want to make it as a developer that’s just starting out, what do you do? Can you share a few tips?

Bobby McKinnon: Sure, here’s three things that come to mind:

First, find what you like the most, have fun with it – and stick with it. What your gut tells you is most likely right…”

“…Second, take your time to understand different operating systems, like Linux. 

Understanding how different operating systems work is a proper basis for building a dev career on top. 

Also, you need to be comfortable with a prompt – Inputting commands into the ‘black box’ needs to be like breathing to you.

Third, if you want to train your abilities, try to figure out what old code means.

Try to decipher what existing code means, what it was meant to do.

This is a skill that cannot be underlined enough. 

In web development, it’s not just about writing new code – understanding and handling old code is of tremendous importance.

In the past it was not uncommon to work somewhere for a year before you could truly understand the old code that’s been in place already.

Granted, I am not saying that this is ideal, and ideally your systems are not set up in a way that requires developers to study old code for a year, but what I am saying is this: 

If you want to become real’ good, have a look at old code and truly understand it. That skill is very valuable!

Engineering Blog: What do you think are the most challenging aspects of the developer job today? And how do you, and your team of developers, cope with them?

Bobby McKinnon: One of the most challenging parts is that, as a truly good developer today, you need to be a good communicator – not just an expert at what you do, a good communicator, too.

It doesn’t matter how much you know or can do, if you are not effective at communicating, you’re not gonna be successful.

In the same vein, developers need to be able to present what they do.

In my team, everyone needs to present once in a while. I am making sure that every dev in my team gets the chance to showcase what they do to the team…”

“…Then there’s this whole thing of working under pressure.

Software people like us need to, at least at times, work under extreme pressure. 

Think of situations where a backend blows up, when there’s a power outage, or when a database blows up.

This immediately puts you in a super stressful situation.

In Compado we started drilling and training for these kinds of situations.

We also have stress resilience training and train empathy among each other – this, in dev speak, is called ‘chaos engineering’ – it’s the opposite of a hackathon, where you try to build something. During our chaos-engineering days, you need to fix something under pressure.

Then there’s of course naming. [laughs] 

In web dev, there’s a saying that goes:

‘The hardest part in software development is naming things.’ [laughs]

I’m partly joking, of course – but partly not. 

If what you have developed has a cool name, and it sticks with stakeholders, the product is being recognized.

That’s a reality. 

If you’re giving it a too-abstract name, it may not be recognized as much. 

It’s always a good idea to treat the naming with at least some importance.

It marks the conclusion of what you’ve worked on, often for weeks or months, and should not be dismissed as something insignificant.

Engineering Blog: Once you’re a developer, how do you stay on top of the game? How do you educate yourself?

Bobby McKinnon: Well, if everyone in your team is good, the team will be competitive – and just being in a competitive team, and especially having a dialogue in a competitive team, that keeps you going.

Specifically, every other week we have tech discussions.

They help us to have a regular exchange on what’s going on in the world of tech. It’s one of our ways to stay informed.

Trivially, every good dev does their fair bit of reading. 

I am personally following some newsletters and YouTube channels that help me to stay updated.

My favorite newsletter is the TLDR newsletter.

My favorite go-to source for educational videos by far is FrontendMasters.com – it’s the bible for learning frontend stuff in and out.