Web Development
What Is A Full-Stack Web Developer?

What Is A Full-Stack Web Developer?

Eric An

A post-it note with this question written on it has been sitting on my desk for a couple of weeks. At first, I didn’t know how to approach such a question – I wanted to develop an answer that made sense to anyone new to the arena of web development, but that still touched upon the finer details. After all, maybe you are someone interested in making a career change and have repeatedly seen the words ‘full-stack web developer’ on every technical educational website and job application. Or maybe you are simply curious as to why this phrase has been trending higher than bathing suits this summer.

In this post I’m going to be giving you both the wider scope and some of the details of what this sought-after job entails, and my experiences within the field, answering that question for both the novice and the more experienced coder alike. So, let’s get started!

A Little Background: The T-Shaped Model

The T-shaped model is a concept that has been around for a while that describes the abilities or characteristics of an individual. An ideal T-shaped person has many generalized skills with a specialization in one or a few specific fields.

text-cta

A full-stack web developer is an excellent example of this model as the developer has general knowledge across a wide breadth of technologies and platforms as well as in-depth experience and specialization in a couple of those concepts. For the most part, there are two general fields that make up a full-stack developer’s skillsets: front-end development and back-end development.

Front-End Development

This skillset involves the actual presentation of your website – how the information in your website is laid out in browsers and on mobile devices as well. A dedicated front-end developer will be very experienced working with HTML and CSS as well as the scripting language, Javascript. With these languages, the developer can very efficiently manipulate the information on a website to make it appealing and effective.

Everything that you actually see on a website – the layout, the positioning of text and images, colors, fonts, buttons, and so on – are all factors that the front-end developer must consider.

The main goal of a front-end developer is to provide the platform for visitors to interact with, a platform which provides and receives information. This means some developers will be well-versed in web design and using software such as Photoshop and Illustrator to create graphics and themed layouts.

Additional skillsets of a front-end developer could include user experience design and user interface design, skills which help a team evaluate the best methods of displaying and collecting information. A front-end developer who possesses these design skills is potentially more valuable as they can identify the look and feel of a site while assessing the technical capabilities of such a design at the same time. Although these additional skillsets might be useful to a developer they are certainly not a requirement for the job, and more and more companies are seeing the value in hiring UX & UI designers to focus solely on this aspect of website development.

Back-End Development

Creation, edit/update and recollection of data are some of the processes that are most often associated with back-end development. Some examples of common scripting languages used are PHP, Ruby, and Python. With these languages, a back-end developer can create algorithms and business logic to manipulate the data that was received in front-end development.

This means that a back-end developer must be able to write code to receive the information input from the user and also save it somewhere – like in a database. There are two main types of databases: relational (like PostgreSQL and MySQL) and non-relational management systems (like Mongo). The language used for database management is SQL, which helps the developer interact with the database.

The concepts might sound foreign, but just understand that there are different database management systems based on convenience and use.

Another component of back-end development is server management, which are applications that host the database and serve up the website. An alternative to knowing how to manage servers is to use cloud-based platforms that provide the infrastructure, like Heroku or Amazon Web Services.

Understanding server management allows a developer to troubleshoot slow applications and even determine how scalable their websites are to include more users.

A Note On Frameworks

Rather than having to develop complex proprietary code every time for creating different websites, frameworks have become popular resources to make many processes more efficient and convenient. Libraries like jQuery are extremely popular for front-end developers using Javascript, as they can implement various functions that other developers have already cultivated and tested.

Javascript frameworks like AngularJS and EmberJS solve many of the challenges faced by front-end developers by developing conventions that can easily be implemented with any website.

On the backend, there are frameworks like Rails for the programming language of Ruby, Django for Python, and CakePHP for working with PHP.

The main purpose of frameworks is to make a developer’s job easier by developing a set of conventions that can be adopted for many of the different processes involved in creating a website – from how information is displayed to how it is stored and accessed in the database.

Why Become A Full-Stack Developer?

Given the choice to specialize in front-end or back-end development, why would any developer choose to learn the full spectrum?

It goes back to the value of being a T-shaped person. You are more valuable to a team when you are able to address and discuss both aspects of the web development process and bridge the disconnect.

In other words, one developer who can readily assess and communicate how a website should look, feel, and manipulate data while understanding the technical limitations of such implementations will be a respected and valuable member of any team or company.

Conclusion

There are many resources available to learn about full-stack web development. Google the phrase “become a full-stack developer” and you will get pages and pages of different venues and methods to learn. But you’re probably at the start of the journey and don’t feel like you have the knowledge to differentiate between the self-guides, YouTube videos, bootcamps, and online courses.

A good first step is to review the resources based on a criteria of the topics mentioned in this article. Ask yourself questions like:

  • “How much front-end development is involved?”
  • “What will I learn for back-end development?”
  • “What programming languages and frameworks are being taught?”.

A full-stack developer has all the keys to the house – there is no door that you cannot open. It provides an unparalleled freedom to simultaneously work on front-end and back-end development and evaluate the capabilities and potential of your website in real-time without having to wait for another developer to review if what you’re desiring is possible or not.

In short, you become a master of the Internet.

[Are you ready? Learn more about CareerFoundry’s full-stack web development course here!]

What You Should Do Now

  1. If you’d like a step-by-step intro to find out if web dev is right for you - sign up here for our free 7-day web dev short course.
  2. If you are interested in becoming a Web Developer check out our web development course (you'll learn the essential skills employers need).
  3. If you’d like to speak to an expert Career Advisor for free about how you can really get a new job in tech - connect with us here.

If you enjoyed this article then so will your friends, why not share it...

Eric An

Eric An

Contributer to the CareerFoundry Blog

Eric An worked for several years as a small-business owner before he decided to try learning coding as a hobby. Once he started, he found a natural desire to learn more as he enjoyed the problem solving aspect and the opportunities that web development offered. He is now one of CareerFoundry's leading web development tutors.