main-wrapper-img

The Complete Guide to Hiring Full Stack Web Developers

By Femto15 Team - May 12, 2019

Small and medium businesses are always restricted by budget. That’s why it may seem a challenge for them to hire different developers for different roles; especially, if you are a non-tech person and you don’t have much experience in the field, you will feel ambiguous about all technical stuff people are talking about.
Well, like any other technological field, web development is getting updated daily. With each new technology on the scene, the area gets wider, and options get larger.
In this article, we'll help you answer one of these ambiguous questions about “Full Stack Web Developers.”

CONTENTS


What is a full stack developer?

A Jack of all trades, master of one (rarely all trades), a developer who can deliver the work individually. That may seem a myth, but it’s not.

Web development consists of three main blocks:

  • Front-end: which represents any visual appearance on the client side, accordingly, it is associated with UI/UX design and implementation.
  • Back-end: which is the functionality behind the scenes. It represents the logic of your website or web application; accordingly, it’s associated with the database.

The technologies used to develop each part of those is different, so you need a developer for each layer. Which means a development team is required. Not to mention server administering issues; managing the host can be a separate job itself (when not using shared hosting).
Lately, new technologies and small businesses started to shape the environment of software specializations. A need existed for one man who can understand and process the whole cycle, and so, developers started to fill the market need.

  • Hosting: sometimes, you may need to host your web application or website on a virtual private server or even a dedicated server, and in that case, you need a full-stack developer who has server management knowledge too.

What does a full stack web developer really mean?

They are web developers who widened their expertise in both front-end, back-end, and server management to function in multiple areas. Their knowledge of each technology/category may not be in-depth, but it’s enough to get the work done, and sometimes it's deep, but in that case, their salary can be high. Also, most of them have a backbone technology which they master the best.

When should you hire a full stack developer?

The reasons depend on your needs and the characteristics of full stack developers which fulfill those specific needs. Let’s check them out!

So, why should you hire a full-stack web developer?

YOU

  1. Don’t have a development team already.
  2. Can’t afford an entire team, want to keep the budget for more important parts of the business, or don’t need one currently.
  3. Are a startup. Full stack developers are best for startups.
  4. Want to develop a Minimum Viable Product (MVP).
  5. You are confused about different types of web technologies and need guidance on the tech land.
  6. You need a Chief Technical Officer (CTO) to lead and coordinate the tech department.

THEY (full-stack web developers)

  1. Are your best guides on the land of web development.
  2. Have a wide domain of technical knowledge.
  3. Can learn new technologies faster.
  4. Look on your application from above so they can see the big picture.
  5. Can understand the workflow of all web circle and requirements.
  6. Can be your technical manager or chief because of their ability to understand all technical layers, so, they are the backbone of your technical department.
  7. Are coordinators, integrators, problem solvers, multi-tasking, and architects.
  8. Are generalists who sometimes have specialists knowledge.

Hold on, hold on!

They are not superheroes or all-in-one developers (in some cases they are!). We will illustrate that later on, but they have hands-on various technologies, with the eager to continuously learn and keep up with new trends.

How to hire a full-stack web developer?

Once you decide to hire a full stack web developer, various questions pop up:

  • What are the technical skills of full-stack developers?
  • How to check these skills?
  • What are the qualities of a full stack developer?

Full stack developers should have skills over different layers of web development; front-end, back-end, database, and server administration. For each layer, there are common programming languages, frameworks, and libraries.


The skills of candidates will differ from two aspects:

  1. The specific languages, frameworks, and libraries s/he masters
    They don’t have to master all technologies on the scene, that’s impossible for a human being, but, some basics are a must and others are optional. You should check the basics and ask about their board knowledge of other tools.
  2. The depth of knowledge within it
    Along with the wide knowledge, each full stack developer has deep knowledge in one side of the stack. Each of them is a master of one or more technology. Which means their experience levels on each layer/technology/tool are different.

    Therefore, You shouldn’t expect them to have equal knowledge on each framework or library. You should rather test their ability to understand the problem and figure out the technologies that should be used to solve it; even if they don’t have deep knowledge in that technology. It’s not about the number of fishes in their net, but their ability to catch them quickly.

Now let’s check out their required skills!

Frontend
- HTML, CSS, and Javascript are a must.
- Frameworks like Vue.js, AngularJS, Backbone.js, AJAX, Bootstrap, etc.
- Libraries like jQuery, AnyChart, etc.
Back-End

- At least one general-purpose programming language like Ruby, Python, PHP, etc.
- Frameworks like Laravel for PHP, Ruby on Rails for Ruby, Django for Python, .Net for C#, Express.js,  etc.
- API design and development.
- How to connect between back-end and the database.
Database
- At least one RDBMS (Relational Database Management System): PostgreSQL, MySQL,
Oracle Database, Microsoft SQL Server, etc.
- Can design the schema of a database.
- Knows how to store data efficiently.
- Can differentiate between rational and
non-relational databases,
and tell when to choose each type over the other.
Servers
- At least one web server like Apache, Nginx, etc.
- Operating system deployment tool like Ubuntu, CentOS, FreeBSD, etc.
- Aware of server security issues.
Others
- HTTP, RESTful APIs, and caching.
- Hands-on Git, Github, and Sourcetree.
- Awareness of web application architecture.

You should choose the technology stack which is best for your project’s needs or ask an expert for advice.

How to test full-stack web developers' skills?

You have three options:

  • Check their previous work or portfolio.
  • Give them a test or a real-life problem to solve, with specified requirements.
  • Do both!

Then evaluate their work on each layer:

  • Front-end, check design’s beauty, compatibility, responsiveness, and performance.
  • Back-end, check the usage of APIs, integrations between back-end and front end, performance, security, code documentation and portability, and connection with the database.
  • Database, check schema designs, queries execution speed, number of queries, and the way data is stored.
  • Servers management, check the way that they install and secure the server, what web servers do they use, how do they optimize the setup for efficiency or optimize the DB? and how will they deploy the app?
  • Finally, don't forget the behavioral aspect, as an excellent full-stack web developer with bad behaviors is not worth hiring.

What are the qualities of a full stack web developer?

There are some soft skills essential for full stack developers. You should check these skills in the interview.

The skills you should check are:

  • Fast learning.
  • Problem solving.
  • Analytical thinking.
  • High business sense.
  • Communication skills.
  • Uncertainty handling.

The downsides of hiring full-stack web developers

Though full stack developers may seem like the perfect option for your business, there are things to consider about employing them.

Unless you are able to find your golden full stack developer (a REAL full stack developer):

  1. Most of the time they don’t have enough experience in all the stacks, so they deliver an average work.
  2. They may not be suitable for big and complex projects.
  3. They lack the experience in UX/UI design.
  4. You will need other specialists later when improving performance.
  5. They are hard to find.
  6. Their salary is higher due to the high demand vs supply.
  7. You will be under the Key Man Risk. If they decide to leave, it’s hard to replace them with someone else holding the same qualifications.
  8. Most of them have an in-depth knowledge into one side of the stack, but a broad one in the other parts. Which means one side of your web application or website would be weaker.
  9. Bearing lots of responsibilities, they may be overloaded with different tasks in different areas.  
  10. According to managing different parts, they may flub up on one side.  

Final Words!

Full stack developers are a catch, that's for sure, but they’re hard to find, and you should choose carefully while keeping in mind both risks and benefits. You know your business best, thus you understand it needs, right?