How to Be the Best Full-Stack Engineering Candidate

Tips to Stand Out as a Standout Candidate

You’re a full-stack engineer, but you’re not receiving offers, even after several rounds of interviews. What are you doing wrong?

There should be many job opportunities for full-stack engineers. After all, the role was listed as the fourth top emerging job in LinkedIn’s Emerging Jobs report, with a 35% annual growth rate since 2015. The report says that, ‘The rapid pace of change in technology has made full-stack developers an asset to any company’.

In this article, with the help of Michael Schwartz – a Director of Software Engineering and with more than 20 years of software engineering experience – and Michael Bidak – Senior Executive Recruiter here at Kofi Group – we provide a few pointers to help make you a standout candidate for full-stack engineer jobs.

(We stress that the views of Michael Schwartz are his own and not necessarily those of his employer.)

What Is a Full-Stack Engineer?

As a full-stack engineer, you straddle client-side and server-side of a software application. You work on front-end and back-end development, as well as the database, API, version controlling system, and the infrastructure. It’s the full stack.

“For me, a full-stack engineer is someone who is just as comfortable making changes on the data access layer, as they are writing an API, or working on a single-page application,” says Michael Schwartz. “They’re comfortable with all aspects of an application and are effective in all areas. It doesn’t necessarily have to be web. It could be a thick client application, but these days web experience is more important.”

Here’s where the first of your problems may be.

“Lots of people call themselves full-stack but aren’t really,” Michael explains. “I see cases where people are stronger at one of these areas, such as being a great back-end developer, or writing database queries/schemas… what they mean by full-stack is that they’re willing to make changes on the front end with React, but it’s not their strong suit. There are some people who are good in all areas, but, often, it’s something they use to get interviews.”

The real problem here is that if you claim to be something you aren’t, you will either be found out on your resume or at the interview. Either way, it’s not good for you.

You can’t simply call yourself a full-stack engineer because you have a little bit of knowledge across the board to add to your in-depth knowledge of, say, front-end development.

What Are the Key Skills in Full-Stack Engineering?

There are several key skills you should possess as a full-stack engineer. These include:

Database Management

Databases may be relational or document (no-SQL) databases. However, you’ll need to know SQL, be able to organize databases, and understand what good database architecture looks like.

Back-End Services

Everything comes through the back-end from the database, and you should be able to combine and manipulate this information. You’ll need a good working knowledge of server-side programming languages and framework pairings such as:

  • C# and .NET
  • Python and Django
  • Golang and Echo
  • NodeJS and Express

Front-End Services

This is where users interface with the system. This is written in CSS, JavaScript, and HTML. It is crucial that you are fluent in these languages, especially HTML and CSS.

You’ll also be involved in delivering front-end services to both client-side and server-side.

Back-end frameworks that support the server-side include WordPress (PHP), Django (Python), and Gatsby (JavaScript).

When writing user interfaces, the most popular languages and frameworks include:

  • ReactJS
  • Angular
  • VueJS
  • JQuery

Michael Bidak notes that the most relevant languages and emerging technologies for full-stack engineers are:

  • Back-end – Node/Express, Python, Golang
  • Front-end – React, Angular, Vue, TypeScript
  • Infrastructure – AWS, Kubernetes, Terraform

Michael Schwartz says:

“As a minimum requirement, you should have a front-end technology like React, Angular, Vue, or something along those lines that they could use to set up something from scratch. A go-to that you would use to write a client-facing app.

“On the backend, I’d look for someone who has written REST APIs, has designed something on the business or data-access layer, writing a custom access layer or leveraging an ORM tool like Entity Framework, or some familiarity with that.

“Down to the database itself… you may need to run schema by a DBA or seasoned database person, but you should be able to come up with a schema for everything and understand how the data fits together. If the company is using NoSQL, then you would be able to determine the data storage requirements and implement that.

“These days, regardless of what you call yourself, it’s good to have some form of cloud exposure or experience. Some of that may get into how to deploy something in AWS or Azure or Google Cloud. That may get more into Site Reliability, but a good full-stack developer would have some insight into how their code would impact that.”

How Do You Expand Your Full-Stack Abilities?

For many developers and engineers who want to progress to full-stack engineering roles, the key will be to expand your full-stack abilities before applying to open positions. We asked Michael Schwartz for any advice he could give here. This is what he had to say:

“If they’re working with a company, they can hopefully have some opportunities in their current role to take a story or assignment in an area that’s not their strong suit.

“There’s nothing wrong to me with not being full-stack, but I know it’s a common ask from hiring managers. There are courses you can take on Pluralsight or Udemy.

“You can just do a project for fun or start up a repository on GitHub – but I think some sort of guidance would be good.

Pick a language you’re comfortable in and explore other aspects of how you would build a full-stack app in that language.”

(A tip here: Look at freeCodeCamp for some great resources and free coding courses.)

Demonstrating Your Full-Stack Engineering Talent

With the right skills in place, you must demonstrate them to potential employers. First, on your resume. Second, at the interview your resume earned you.

On Your Resume

Your resume should highlight your skills, experience, knowledge, and how you combined those things to deliver value for your current and previous employers.

“My biggest pet peeve is reading a resume of full-stack engineers that don’t give enough detail,” says Michael Bidak. “It’s ok to surpass that one-pager that the recruitment industry says is so important as long as the information is valuable.

“My number one tip is to describe a project you worked on including quantifiable data. What tools did you use? How did this affect the business? What problems did your contributions solve?”

He provides the following examples of two candidates:

Candidate #1

  • Developed full-stack integrations with e-commerce platforms, leveraging NestJS, React, and other JavaScript technologies.
  • Developed and deployed serverless architecture through AWS lambda.

Candidate #2

  • Built the Search API from scratch with TypeScript, MongoDB, and Redis in five months. The API currently supports calls from close to 2 million users.
  • Implemented post search filtering and ranking logic and improved the fulfillment quality by 30%.
  • Developed the content-based recommendation services for an on-demand TV solution with over 20% monthly growth.

Which sounds better? As Michael Bidak says:

“Both are great engineers, but candidate 2 puts the ‘cherry on top’ by adding quantifiable data. I’d choose #2 all day.”

(Read our article ‘Here’s how to make your resume irresistible’ for more resume tips.)

At Your Interview

We asked Michael Schwartz to tell us about red flags that he has noticed with candidates at interviews – candidates he decided not to hire.

“I think a red flag for me is that they claim to be full-stack, but their work experience doesn’t actually prove this,” he says. “They’re ‘full-stack’, but they still struggle with basic technical questions about OOP, design patterns, or unit testing.

“Many front-end developers can’t answer basic database or architectural questions. I think back-end developers are more likely to admit that they’re not skilled or interested in the front-end. This could be anecdotal, but I think there are a lot more bootcamps or Udemy students who can build things in React but don’t know how to do multithreading or how to build an app.

“I think if you start with the back-end, it’s easier to pick up the front-end. On the other hand, one of the challenges with the front-end is that there are a lot more opinions from the business.”

Be the Standout Candidate Who Stands Out

Michael Schwartz shares an extra tip with us to help you stand out as the standout candidate.

“Do something to show that you’re passionate about it, whether that’s working within your company to make a significant improvement, taking courses, posting to your GitHub repo,” he says.

“If you’re trying to stand out, do something to show that you’ve put more work into it and you really have a passion. Within your 9-5, if you can gain valuable experience and dig into problems, don’t just look at your job to get a paycheck, but use it as an opportunity to improve your skillset.”

Startups – A Great Opportunity for Full-Stack Engineers

Don’t get hung up on being employed by a FAANG. Some of the best opportunities for full-stack developers and engineers are to be found in startups. You’ll have more autonomy and a bigger impact, as well as the potential to rapidly enhance your resume.

Here’s what Michael Bidak says about working for startups:

“Being a multifaceted full-stack engineer can make you truly invaluable as a member of the team at a startup. It can also mean you are often the GO-TO when problems arise.

“Typically, full-stack engineers have one side they are really good at (full stack – leaning more front-end, full stack leaning more back-end) because their company will utilize your strengths and sometimes might have more problems to solve on one or the other.

“If your company has you leaning more on one side than the other, make sure you keep up with projects on your own that utilize your skills that aren’t being used as much. That way, when your best back-end guy sells their soul to Facebook, your whole team doesn’t have to scramble to pick up their slack.

“One thing I am noticing, more often than not, is that startups are starting to ask for full-stack engineers who understand common DevOps practices on top of full-stack skills.

“You want to be an irreplaceable employee, learn best practices around CI/CD, Infrastructure Operations, IAC (Terraform specifically). Knowing both sides of the stack, while also understanding how your code will affect the systems they run on, will ensure that your inbox is full of recruitment messages from guys like me and it will also ensure your current company will do everything they can to keep you.”

Do you have what it takes to be the standout candidate for full-stack engineering jobs?

Contact Kofi Group today for a confidential discussion.