Altamira

Full Stack Developer: Do You Really Need One?

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. 

  1. Who is a Front End Developer?
  2. Who is a Back End Developer?
  3. Who is a Full Stack Developer?
  4. 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). 

Difference Between Web Design and Web Development

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 skills can be divided into 2 groups: technical and non-technical skills. Technical skills. A full stack engineer should be familiar with the next systems and competencies as: 1. Hosting (OS, computer in general, numerous supporting systems) 2. Application stack 3. Different web applications 4. The toolkit both of backend (manipulating of different databases and frameworks) and frontend developer (the expertise of UX design and its instruments) And now let’s take a look at the non-technical skills a programmer should have. Take into account when you looking a full stack developer that this excellent specialist should be on the same page with both frontend and backend specialists and have strong communication skills. They keep abreast of developments in programming and has a constant craving for improving their skills. And, for certain, this person should have a deep understanding of the customer’s needs.
1. When You Need a Technical Lead It’s a good idea to hire a full-stack developer if you have a development team without a technical leader. It’s advisable to have one person in charge of the coordination of all tasks and putting all the elements together. 2. When You Are Constrained by Cost If you have a limited budget and there is no possibility of hiring a dev team, then you should consider a full-stack developer. Truth be told, development won’t go as fast as when you have a team of skilled individuals focused on certain parts. Still, it will progress in a steady manner. 3. When You Need a CTO or a Co-founder Starting a business and creating a minimum viable product (MVP) happens usually at the same moment. If you are a non-technical person starting a software company, then you don’t have a choice, really. You need to get yourself technical co-founder or Chief Technical Officer (CTO.)
When you hire developers, you select individuals. It means that you have to take care of their work. You give every of them tasks individually and they will provide you with the reports regarding the development process. And when you hire a group of people, you select a whole team with team leader and developers. In such case, team leader is responsible for resources management, entire project development and reporting to client.

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.

Exit mobile version