Ever since Facebook made it public at the OSCON conference that they will only look to hire individuals who can perform the whole product lifecycle over specialists, there has been a joke running around in the industry that the only difference between a horse and a unicorn is that one is real and the other is a fantasy. Getting an opportunity to hire someone who knows all the aspects of web development is nothing short of a dream for most employers. While more tools evolve to provide better accessibility to developers, it evidently results in developers preferring specialization over the 360-degree approach.
Would you have a jack of all master of none or a specialist in your team? Well, that discussion isn’t that simplistic. Statistics suggest that the trend to hire developers is at an equal split between having specialists vs having someone who could do it all. It all depends on the profile of your organization. For instance, a lot of startups prefer outsourcing most of their backend work and hire only front end web developers to focus on the part largely visible and accessible to their consumers. Full stack development for startups is a much attractive option as they are now looking to hire people who know the drill inside out. On the face of it, a full stack developer will cost you more for obvious reasons. But getting one will eliminate a lot of ambiguity and cross-functionality which will result in higher efficiency and faster results as the person in charge of everything can make quicker decisions due to the real-time accessibility of all the development layers and the hands on approach on test results and feedback. It always makes sense to have one decision maker over a bunch of them.
Ability to translate customer ideas: Being a sole pillar to the project, a full stack developer must have the ability to translate customer’s ideas into both design & coding. This could get very complex at times.
Right balance between design & coding: Both elements represent different challenges and are often not connected to each other. Being a lone project head, you must have the ability to come up with exciting designs and execute complex backend programming to support that design.
Additional responsibilities: A full stack developer is also responsible to do additional tasks like intensive product testing and accumulating feedback data to make further improvements. Post the product delivery, a full stack developer must also be prepared to respond to customer support. You cannot ‘become’ a full stack developer. It comes after working on several profiles of jobs for years and having experience of all the aspects of product management. While it is much easier for any web development agency to find front end & back end specialist web developers who know their tools inside out, recent trends suggest that companies are now looking to cut down on their costs and appoint fewer people albeit equipped with expertise over all aspects.
Being a specialist may seem a lighter job compared to someone taking care of the entirety of a project but it comes with detailed responsibilities. Be it on the front end or the back, one must possess error-free command on the platforms and must perform the tasks with very little margin for error. Below are some key attributes a specialist must have.
Updated command over platforms: Specialists must ensure that the platform they use is fully utilized and that they are in total command of it. The baggage of other aspects taken away directly implies that one must be thoroughly artful of the platform they are working on as a specialist.
Increased changeovers: Specialists may not be aware of the larger discussions that take place and at times, they could be required to make frequent and increased number of changes in the design or programming. A slight change in the design could lead to hours of coding and a slight change in the code could lead to significant changes in the design. Specialists must be prepared to perform specified tasks in multiple changeovers across the project lifecycle.
Cross-platform interconnectivity: One benefit a full stack developer would have is the freedom to perform tasks without lengthy protocols. A specialist may have to coordinate with multiple team members both before and after performing tasks. The continuous and rather complex hierarchical process could take a toll on a specialist’s performance.
How much of a future does this trend actually have? Wider accessibility comes with higher dynamics. Today if you are not cutting edge, you are not relevant. In the cutthroat business of web & app development, can you afford to put all your eggs in one basket? The romanticizing of a full stack indeed requires some retrospect. It is not that having specialized web developers is doing any harm to organizations around the world, it is just that the multi layered structures & cross functionalities can affect the overall efficiency of the product lifecycle management. The cost-cutting benefit is nothing more than an add-on when it comes to deciding between the two.
It is no secret that people who have worked in both front end and back end have now started to call themselves full stack developers but that’s hardly the point here. You are going to need someone with non-technical skills like leadership, client management, communication & innovation along with having a tight grip over a range of coding & designing platforms. You are in for a rare unicorn hunt if you are looking for a quality developer who knows it all.