I recently had a conversation with a fresh college graduate. She had landed her first programming job a while back. When I asked her about the kind of projects she was working on, she said she was writing front-end codes on Node.js. Node.js is very effective in generating page content. It is used for event-driven, non-blocking servers and has a single-threaded nature. As we talked more, she mentioned her excitement for the next phase of the project. When asked why, she said she was excited “work on the backend” and become a “full stack developer”. Her expectation was by being a full stack developer, she could easily go out and get a new job and potentially double her salary.
Asking her some more question about what she was going to do on the “backend”, it eventually came out that she was going to call some web services from her Node.js code. Not writing the code for the services or touching the database, just calling them. Her answer made me chuckle. It is not uncommon either, so today, I’d like to talk a little bit about what it means to be a full stack developer and things to consider when advertising for a hiring a full stack developer.
The Evolution of Full Stack
This does not mean programmers was better 15 years ago. Today we have more specialized tools and technologies to use for development to choose from. However, an unintended side-effect of such tools is that the decision points regarding what we can do with these tools have tripled. In fact, it may have quadrupled.
Another side-effect is that with so many tools available, you cannot expect modern developers to master all of them. But you could master at least a few, couldn’t you? Or does knowing a little bit of everything mean that we, in fact, know nothing?
What is Full Stack?
The word “stack” actually refers to an assemblage of software sub-modules. These come together to execute a function without needing any other module.
Similarly, a full stack developer is a person who can work on front-end and back-end codes. They understand what is going on at both ends while developing an application. Full stack developers can work on UI/UX, servers, databases, and systems engineering. They can write client-side scripts and server-side scripts.
Is it Necessary to Have Full Stack Developers?
As someone who holds experience with both front-end and back-end work, it is certainly good to have an exposure to full stack. Knowing about all the angles involved can be very useful. However, there is no need for relying solely on full stack. In fact, I have worked on several projects that would have fared better if everyone had not been full stack.
For instance, some full stack developers may be better at handling back-end tasks. This can be a problem because a back end developer usually creates very poor user interfaces. They have a logical approach and their layouts may not be very intuitive. The end result may be a user interface that is reminiscent of old web applications. These had text boxes and check boxes stacked all over the place. Developers are known for creating UIs in a very orderly layout. Orderly does not mean an average person will be able to figure it out or understand it.
Thus, a full stack developer who does not have in-depth knowledge of client-side scripts can be a problem. You must always have developers who understand the user experience. This helps create an elegant flow of data coming through for the user. It’s also good to have people who understand how to run efficient and effective queries. This helps you get the data in a timely manner.
Hiring a full stack developer does have its advantages. They can help out everyone in the team. They can also reduce the time and costs attached to team communication and technology docking.
For the best results, you should always try and have a mix of developers. Front end, back end, and full stack developers all play an important role. Having a mix will help you get optimum performance.
Hiring a Full Stack Developer
When my team talks to our clients about the kind of employment positions they are looking to fill, they often tell us they are looking for a full stack developer.
We ask them questions about the composition of the rest of their software team. Do they have skilled individuals for creating a user interface? How many people are responsible for coding the database access? Or how many people are writing the microservices? Is anyone paying attention to security and authentication on the back end?
My point is, a full stack developer is not a solution to all your programming requirements. It is not a holistic approach. When hiring a full stack developer, make sure the rest of your programming team is equally diverse.
Read More: What Do Big Data Scientist Do? >>
Read More: Effective Retention Strategies to Keep Your People >>
Read More: Programming Certificates to Boost Your Paycheck >>
Read More: Practical Reasons you Cannot Find .NET Developers >>
Are you finding it harder to locate the good technical and IT talent? Many companies find them selves in the same situation. There are some better ways to locate and attract the right it and technical people to your company. Contact us to learn more.