Why hiring senior software engineers is tough.

Why hiring senior software engineers is tough.

SUMMARY

Hiring senior software engineers is very tough at the moment. Working with freelance software developers is an alternative. That said, it seems that working with freelancers is still not very common, especially in Germany. In this article I'll try to give reasons to why you should consider working with freelancers especially in the early stages of a software project.

YOU NEED SENIOR SOFTWARE ENGINEERS

Over the past decade I've seen many software projects fail due to wrong technical decisions that were made in the early stages of the development process. These wrong decisions created large amounts of technical debt leading to a high degree of inflexibility at later stages. In other words the projects were not flexible enough to quickly iterate on the product any more. In the long run this is fatal.

The art of software systems design it to make things simple yet flexible. This may sound obvious and easy but believe me as a software engineer you usually learn this the hard way: by failing. Which in other words means you need experience.

Additionally software development became more complex over the last decade. On the one hand the tooling, frameworks and processes became much better. On the other hand the applications became way more complex. Compare a website from the 2000s to what websites became today: full fledged applications.

The takeaway message here is that for a successful software project you need a solid technical foundation and for that you need experienced software engineers. Just to be clear this does not mean that you should solely work with senior software engineers. A diverse mix of different skill levels is crucial.

STRUGGLE TO HIRE SENIOR EMPLOYEES

Do you need senior software engineers? So why don't you just hire senior software engineers? Unfortunately, hiring senior software engineers is very tough. Especially early stage companies don't have a solid hiring process in place. Without that it is impossible to attract senior engineers and also not possible to distinguish experienced engineers from non experienced ones.

The biggest problem is the software developer shortage though. In other words there's a way higher demand than there are software engineers. Unfortunately, this is a global problem. Thus when trying to hire experienced engineers you're competing against all the other existing companies.

Many companies are currently transforming into a remote friendly culture to mitigate this problem. This includes renowned tech companies like Google, Amazon or Facebook (Meta). Consequently you will compete with them all over the world. And let's face it, for experienced software engineers it is way more attractive to work for renowned tech companies. Some reasons for this are:

  • Tech companies are better on the resume
  • Tech companies are able to pay higher salaries
  • Tech companies give employment security. Statistically the majority of today's startups won't exist in the next few years.
  • Tech companies are leading when it comes to engineering culture
  • Tech companies have other experienced software engineers to work with and learn from

Another reason is that tech companies work on interesting and challenging problems:

  • They are dealing with large scale / distributed software systems.
  • They develop their own software development tooling
  • They have massive amounts of data which makes data science related tasks very interesting

I think you got the point why hiring senior software engineers is tough. Anybody who tried to do so in the last couple of years will totally agree.

FREELANCERS AS AN ALTERNATIVE

This is where freelance software engineers join the game. Freelancer software developers are usually very experienced. Some of the reasons are:

  • Most decide to freelance only after having worked for some substantial time in the industry
  • Freelancers work on varying problems in a short time period
  • Freelancers usually have to become experts in one field in order to compete in the market
  • They are used to work independently
  • They need to have good communication skills to exist in the market

Some of the other advantages of working with freelancers include:

  • They can start quickly and stop quickly. No need for long hiring processes.
  • No recruiting nor headhunter fees
  • When working with freelance agencies you can get full teams consisting of multiple interdisciplinary engineers (frontend, backend…) which are used to work together

ARGUMENTS AGAINST FREELANCERS

I hear the same arguments why people don't want to work with freelancers. The common ones are:

“Freelancers are expensive”
  • Senior software engineers are also quite expensive.
  • In Germany you do not need to pay social security for freelancers
  • You usually spend less money and time to hire them
  • Their experience will protect you from wrong tech decisions and thus save you lots of money in the long run
  • Most freelancers have templates for common problems which will save a lot of time during the development process
  • Keep in mind that an experienced developer's output is much higher than that of multiple non experienced developers.
“Freelancers leave at some point”
  • In the beginning of a project you're setting up the technical foundation. At later stages it is easier for less experienced developers to join and grow working on the existing infrastructure. In other words it is totally fine to work with freelancers for a limited time in the beginning of a project and then continue with in-house developers.
  • Code should always be simple, maintainable and well documented. Freelancers are used to handing over their work and thus put more emphasis on the previous points. The reason is that it also simplifies the handover process.
“Freelancers are hard to find, too”

I think it is still easier than hiring permanent employees. Some reasons for this are:

  • Headhunters and recruiters are specialized in permanent positions. I think this is simply due to the fact that they can charge higher provisions for permanent positions.
  • Many companies still argue with the above arguments against freelancers which leads to less competition.
  • People's life expectations have changed dramatically in the past. Many prefer flexibility over other benefits. This is why I expect more developers to become freelancers in the near future.

GO FOR IT

I hope this article convinced you to try and work with freelancers for your next project. As always don't hesitate to reach out to us if you have further questions or discussion points.

Related Posts

Will Google dominate the field of AI?
Will Google dominate the field of AI?
Read Post
Personal Identifiable Information in AI Models
Personal Identifiable Information in AI Models
Read Post
The AI Technology Stack
The AI Technology Stack
Read Post

Driving Innovation Through Data and AI Excellence

Contact Us