Fullstack Development
If you look through job descriptions in software development, they often request full-stack developers. These descriptions usually include details about the technologies used. But what characterizes a full-stack developer? A full-stack developer has the skills to write backend, frontend, and ideally mobile code. They are also often expected to have experience in software testing.
Advantages of Fullstack
- Flexible Deployment: Fullstack developers possess a wide range of skills that allow them to perform various tasks within a team.
- Small Projects "Single-Handedly": Fullstack developers are particularly well-suited for efficiently implementing smaller projects, such as microservices, MVPs (Minimum Viable Products), or prototypes. The growing trend of using microservices is likely a key factor behind the popularity of fullstack developers.
Disadvantages of Fullstack
- Loss of efficiency due to context switches: Since full-stack development often involves working with different frameworks and languages at the same time (separately for backend, frontend and possibly mobile -- all combined with testing), it is often necessary to switch back and forth between technologies. In addition, there is usually a need for interfaces between backend and frontend/mobile -- which are also developed by the same people who furthermore have to deal with important security issues. This is the equivalent of doing several tasks at the same time, which has been proven to be inefficient.
- Great effort to maintain the level of training: It is usually difficult to keep up with several trends. While backend development trends towards microservices and containers, frontend development is fragmented with multiple frameworks, making it challenging to stay current.
Alternatives to Fullstack
There is a trend towards reducing complexity in web development, exemplified by the Phoenix Framework with LiveViews. Ranked first in the Stack Overflow Developer Survey 2022, it allows developers to write code entirely in backend technology while using web sockets to automatically update the frontend, creating a modern web application experience. This method, similar to React's approach but extending to backend-frontend communication, could pave the way for other backend technologies to adopt similar models, potentially simplifying development further. We at INTEGRATE Informatik AG will be happy to help you find the optimal solution for you, be it a developer or a new framework.
Sources:
* Stack Overflow Developer Survey 2022: https://survey.stackoverflow.co/2022/#section-most-loved-dreaded-and-wanted-web-frameworks-and-technologies
* Mike Cohn, The Dark Side of Multitasking: https://www.mountaingoatsoftware.com/articles/the-dark-side-of-multitasking
* Phoenix Framework: https://www.phoenixframework.org/
Rico Metzger, Senior Software Entwickler, INTEGRATE Informatik AG