DEV Community

Cover image for How Companies Will Hire Software Engineers In 2023
Maddy
Maddy

Posted on • Originally published at techwithmaddy.com

How Companies Will Hire Software Engineers In 2023

If you plan on landing a software engineering role in 2023, you'll need to know how companies hire software engineers and assess their technical skills.

The technical interview is (in my humble opinion) the most crucial step throughout the interview process. Most companies won't let you proceed if you fail the technical interview.

Knowing the recruitment process will help you tailor your job search and achieve tremendous success in landing your first (or whatever number) software engineering role.

Let's start.

1. Coding Challenge

From my experience, the coding challenge is the most used approach to assess technical competency.

A coding challenge is a test which usually requires you to know data structures and algorithms to solve a problem.

Software engineers take these challenges on coding platforms such as HackerRank, Codility, etc., which have a built-in editor where you can type the code.

Beware that some of these platforms send you a warning message if you click on a tab outside the test. It's a sign the company wants you to be able to solve the challenge without the help of Google.

These coding challenges may or may not be timed. There could be multiple coding tasks to complete, scaling from easy to difficult to assess how excellent your problem-solving skills are.

Within a test, you may be required to answer multiple-choice questions (in short, a quiz).

Related: 5 Actionable Steps to Land Your First Software Engineering Role

2. Take-Home Assignments

Take-home assignments are the second most-used approach to assess technical competency.

A take-home assignment is a task sent to you via email, which you'll have to complete in time.

I sometimes find take-home assignments hilarious because the interviewers will tell you they take "just a couple of hours to complete". But they never do, so beware of that.

A take-home assignment can involve creating a small application from scratch.

Interviewers often want to see highly readable code accompanied by tests in these assignments.

3. Pair Programming Exercise

Pair programming is a programming style involving two people working collaboratively to solve a problem.

In a pair-programming interview, the interviewee will have to solve the problem collaboratively with the interviewer.

Often, you may not be expected to complete the entire exercise, but they'll want to know your thought process and that you know how to communicate and collaborate with other people.

This expectation varies from interviewer to interviewer.

Related: Tips For Your Next Pair Programming Interview

4. Culture Fit

This approach is much less common than the others, but it exists.

The culture-fit interview usually consists of asking about your previous experience and verbal questions about the technologies you used.

I'll say this:

Not all companies will require you to code during the interview process.

Outside of the FAANG companies and other major organizations, many small to medium companies in small towns struggle to hire engineers.

Related: How To Choose A Software Engineering Job

Conclusion

This article presented you with how companies will hire software engineers in 2023.

My favourite approach is the pair-programming exercise because whether you succeed or not, there is a high chance you can learn something from the other interviewer (who's usually more experienced).

The other styles of interviews don't offer much chance of receiving feedback.

Which do you prefer? Let me know in the comments.

Until next time!

πŸ™‹πŸΎβ€β™€οΈ

P.S.: if you enjoyed this article, you'll probably benefit from subscribing to my newsletter, where I share more in-depth tips on software engineering, career development and sometimes personal stories. I hope to see you there!

Top comments (10)

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard • Edited

My take:

Pair programming assignements are good because that's something that is actually part of our job as a software developer.

Culture Fit is useful in theory, in practice many people are not trained to do it properly and will follow all kind of cognitive bias, including pretty stupid ones like cargo culting, sexism, ageism, soft racism, ... and end up hiring people like them.

Coding Challenge range from midly annoying to completely stupid. "We don't want you to use Google or your IDE". It's like asking a journalist to write an article about the Ukraine War without reading Wikipedia, history books, reference material, interviewing people, discussing with its colleagues,...

I don't believe at all that this is a good way to hire: "We are going to evaluate how good you are at doing your work when all the tools you rely on to do your work are not available". WTF?

Take-Home Assignments is a massive red flag of a company that don't think your time as a candidate is a valuable. If I have a choice I will prefer any other company that don't do this shit.

Collapse
 
darkwiiplayer profile image
π’ŽWii πŸ³οΈβ€βš§οΈ

Pair programming assignements [SIC] are good because that's something that is actually part of our job as a software developer.

In general I agree, but I see a big potential for bias here, just as in the case of culture fit. Doing pair-programming with someone puts you in a position to severely impact their performance with very subtle changes in your attitude.

Coding Challenge range from midly annoying to completely stupid.

Yep. It depends on the job, of course, but some coding challenges really are completely useless (finding duplicates with xor comes to mind), and probably actively filter out applicants with a focus on more real-world scenarios.

Take-Home Assignments is a massive red flag of a company that don't think your time as a candidate is a valuable.

Yep. It still amazes me that asking people to do free work like that is acceptable. At that point, just give people a real-world task and pay them for their time.

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ

Pair programming assignements are good because that's something that is actually part of our job as a software developer.

I've pair programmed once in 27 years working as a dev, and I NEVER want to do it again. Easily the worst way to write code, ever. A surefire way to reduce productivity

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard • Edited

Thanks for your answer.
I meant they are good, not universally, but in the context of a company that practices regularly pair programming. In your case it would be a good thing that say no to you, because you wouldn't like working there.

In general the technical test should reflect closely how the company work.

Collapse
 
maddy profile image
Maddy

Thanks for sharing your opinion! I agree with you overall, I put pair-programming as my top preference!

Collapse
 
mcsee profile image
Maxi Contieri

Nice article

I take several interviews per week and this article seems a bit outdated.
We don't take any more coding challenges and now we DO ask for AI generation tools like Copilot, ChatGPT and so on.
It is not a 2023 article, IMHO but a 2010s

Collapse
 
ehaynes99 profile image
Eric Haynes • Edited

No programming experience necessary! Apply now!

If you're actually hiring people who use those tinker toys, good luck.
Don't believe me? Let's ask ChatGPT:

should companies hire based on chatgpt proficiency?

Response:

It is generally not advisable to base hiring decisions solely on proficiency with a specific tool or technology, such as ChatGPT. While proficiency with certain tools and technologies can be an important consideration in certain roles, it is usually more important to consider a candidate's overall skill set, including their ability to learn and adapt to new technologies, their problem-solving skills, their communication skills, and their fit with the company's culture and values.

Instead of focusing solely on a candidate's proficiency with a specific tool or technology, it may be more helpful to consider their broader technical skills and experience, as well as their overall fit with the company and the role they are being considered for. This can help to ensure that you are hiring the best candidate for the job, regardless of their specific familiarity with any one tool or technology.

Collapse
 
ingosteinke profile image
Ingo Steinke

And how companies and agencies will keep trying to hire developers in 2023, and why most of them won't learn, is explained in this great post by @JTK about the "dirty secrets of the IT Staffing industry".

Collapse
 
ehaynes99 profile image
Eric Haynes

Knowing how to "google" things effectively is at least half of a senior engineer's job. A skilled engineer remembers concepts, not rote memorization. Different languages and frameworks do the same things, but the APIs are different. If a candidate really has it all memorized, it likely means they use only one of them.

Collapse
 
dil2010 profile image
Dilan Udawattha

I thought it is HR, Coding interview and with Management.