Table of Contents
A technology stack refers to a sum of specialists, principles, approaches, and, most of all, technologies that go with hiring a certain individual. When you hire a full stack developer, you get a full technology stack (complete web development cycle). The development of a web site or a mobile app primarily consists of the things: front end (what you see) and back end (what you don’t see). Formerly, front end developers were called web-designers but nowadays the boundaries of the specialties have become blurred. Back end engineers no longer write code exclusively while designers do not work with HTML and CSS to craft front end.
- Who is a Front End Developer?
- Who is a Back End Developer?
- Who is a Full Stack Developer?
- Do You Need a Full Stack Developer?
Even more blurred is the enigmatic persona of a full stack web developer who is almost a mythological figure both highly trained and also kinda like a renaissance-man who can do both front end and code as well as everything in between like system administration and server maintenance. But does it help to put a team’s job on the shoulders of just one person? Perhaps, it is on a smaller project. Otherwise, it might not be such a good idea. Read on for more info and get to form your own opinion on the matter.
Who is a Front End Developer?
Front end developer uses programming languages like HTML, CSS and JavaScript to build the visible side (user interface) of a website that users have a direct interaction with. Now, here’s what you need to know: formerly, web browsers weren’t that powerful to properly interpret JavaScript and from 2000 to 2012 most of them looked quite simple because they were built with HTML and CSS exclusively (with a little code behind it). Nowadays, part of the job that belonged to back end in the past (animations, interactive elements, etc) became possible to do with JavaScript.
Web browsers have also become more powerful and alongside with JavaScript frameworks like Angular.js and Node.js all allowed for more complex, yet easier to make web solutions (further adopted by mobile development as well). A front end developer can make a website himself but it will be very simple and is going to probably look like something from 2000s. And a solid distinction between a web-designer and a front end developer is that a person responsible for front end doesn’t make illustrations and designs himself but just integrates them on the web page (or in the app).
Who is a Back End Developer?
Back end is the engine of a website or an app. It is done by programmers per se or real software developers, which is why they’re called engineers, seeing as how they handle things that are not just invisible to end users but mostly incomprehensible too (though, for many even front end technologies may be enough to confuse them). Back end technologies are used to add some more complex, yet crucial features like data collection and management, and they require special skills to handle their integration.
Developers specialize in programming languages like PHP, Python and Ruby to implement certain features. It is worth noticing that you probably won’t come across job listings like “looking for a back end developer” because, generally, it is more common to search for an job title as “python developer” or “PHP developer”. Knowing the right language is often a key to performing well on a given project because back end technology stack is more nuanced and switching between languages is rarely required unless it is truly big and complex project, usually in research.
Who is a Full Stack Developer?
Now, a full stack engineer/developer is the one who’s able to do both – front end and back end jobs. He comes with either the background knowledge of the front end or with some back end experience. But this developer’s specialty is wider as he can make a website/app or complete some other small-scale project completely on his own as long as he has a lot of time and patience.
A full stack developer can do front end and back end but he’s also familiar with system administration. Such developer’s skills like maintaining and monitoring the work of computer networks and good knowledge of the DevOps model of software development, mean that he is a flexible person.
Unlike a DevOps engineer, a full stack developer is more of a creative loner or an individual contributor, whose multitasking capabilities leave no space for a management role. It is only logical that professionals as such concentrate solely on his interaction with the project itself. He may delegate the tasks or ask for help but there’s no space in his head for supervision or quality assurance.
Thus, a full stack developer is not a leader and it may be difficult to manage this kind of specialist. In Google, for example, such people can have the highest authority yet still work alone or in pairs, reporting directly to the top. Some projects need a highly focused individual with a lot of potentials to see the bigger picture without the need to communicate. However, this is not so in the majority of commercial projects. And one more reason for that is that a full stack developer never cares about the business side of things. He just doesn’t have time or energy enough to care. That’s why you need project managers and business analytics to ensure that the end product won’t just work but work as you’d like it to work.
teamwork is important
Do You Need a Full Stack Developer?
Any software development team, even a small one, can do what a full stack developer does. For the majority of full stack developers widening their specialization is driven either by money, or by passion. They might want to make the whole project by themselves to express their own views or they’d like to be more valuable as employees, being able to do more tasks. However, for a project itself, hiring a full stack developer may not be such a good idea. And here’s why:
- No teamwork and no feedback, risks of putting all your eggs in one basket
- Longer time to develop a project
- No supervision and business analysis
- Lack of perspective and cooperation may result in the project’s narrow scope
- One-man-army development is costly if you lose a specialist
Our team at Altamira doesn’t hire full-stack specialists because of the above mentioned reasons. As we deal with commercial projects, we don’t need “especially genius” employees because they generally feel better in the academic environment or working freelance, often on their own projects. That is because doing such big portion of work may results in the logical desire to somehow own the product.
FAQ
A full stack developer has the ability to shape the development so much it really affects the final outcome, its monetization, and commercial success. One can joke about falling in love with a project which is less likely when hiring a team where responsibility and risks are more diversified among the team members. So, don’t let a full stack developer steal your project or disguise his project as yours.