In general, full stack development appeals to the curious minded who value a highly thorough understanding of how a program works from start to finish. They understand how the web works and how to contrive server-side APIs, but they also master the client-side JavaScript that truly drives an application, as well as honing the visual design through CSS.
While the intrinsically scrupulous nature of a full stack developer is a highly valuable characteristic in any engineering position, some would argue that it also potentially inhibits the profound level of mastery that focused specialists can attain. Mullenlowe Profero’s Technical Director, Richard Szalay, has been quoted as saying:
”Full Stack has become a term for a junior-to-mid developer aspiring, sometimes a little prematurely, to be a Solution Architect in the more modern and pragmatic sense of the role.”
Though somewhat provocative, this idea does expose the delusive connotation of the title of "Full Stack Developer". As with impassioned novices across many industries, it’s admirable to aspire to attain a comprehensive understanding of their subject matter. However, it’s also important to recognize that at some point in the journey, specializing is what will allow you to truly acquire a cunning expertise in your field of choice.
Front-End
Frontend development covers all of the user-facing aspects of a website. This includes the overall visual design as well as architecting the user interface and experience. Frontend developers work closely with designers to identify user needs and devise solutions that may influence the design. Cross-functional collaboration is not only valuable, but essential in order to flush out shared goals and opportunities and to deliver an immersive user experience.
Frontend developers will specialize in client-side languages and must be particularly adept at HTML, CSS, and JavaScript. In addition, a thorough understanding of jQuery and Ajax are highly relevant and beneficial. It’s a useful bonus to be familiar with frameworks such as AngularJS, Bootstrap, React, VueJS, etc.
Senior Software Engineer with Stitcher, Madison Bryan, recently shared the following tips for novice frontend engineers:
Learn vanilla JavaScript well. Write in ES6. Typescript is getting more popular at large companies, this will set you apart. Learn HTML in and out and learn to use preprocessors (i.e. SCSS). Learn how to use CSS frameworks, such as Material CSS or Bulma, and how to use component libraries, which greatly increase your productivity. Use Webpack to optimize your build, Prettier and ESLint to write consistent code.
In brief, frontend specialists are often equally technically and artistically gifted, inclined to manage and modify the functional and visual elements that a user will interact with directly.
Back-End
Backend development includes all of the unseen sources that make the frontend of a website possible. This is where all of the data is stored. The backend contains a server, an application, and a database. Backend developers devise each of these components in a way that enables the client-side of a website to obtain information and operate appropriately.
Backend developers will specialize in server-side languages such as .Net, Java, PHP, Python, and Ruby. They will work with database tools like SQL or Oracle to manage data and data flow between the backend and frontend.
Madison Bryan from Stitcher had this to say for new backend engineers:
Learn many languages, NodeJS would be a good idea and Kotlin has gotten very popular. Learn microservices and all that goes along with it. Learn how to build containers, Docker is used all over. Learn caching (i.e. Memcached). Learn SQL, noSQL is gaining popularity as well.
In short, backend specialists are data wizards who thrive on architecting APIs and manipulating data.
Takeaway
“Full Stack Developer” could essentially be considered a generic title for a jack-of-all-trades (and master of none). Though indisputably dynamic, thoughtful, and valuable, in today’s market the full stack developer has two options - Choose to rest on your laurels with a broad, sufficient skillset, or hone your craft in a particular area to develop an astute expertise.
Top comments (0)