A post-it note with this question written on it has been sitting on my desk for a few 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.
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. Essentially, we’re going to learn what is a full-stack developer, and how you can become one.
So, let’s take a look at what we’re going to cover—simply select any of the following sections to jump straight to it.
- What is a t-shaped developer?
- What is frontend web development?
- What is backend web development?
- What is full-stack web development?
- Why become a full-stack web developer?
- How to become a full-stack web developer
- Further reading
1. What Is A T-Shaped Developer?
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.
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 skillset: front-end development and back-end development.
2. What is frontend web development?
If you’d like to start learning these languages, watch the tutorial below with expert frontend developer Abhishek—and register for this free course for beginners in which you’ll build your very first website.
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 this additional skillset 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.
3. What is backend web 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.
4. What is full-stack web development?
Full-stack developers are experts in both the frontend and backend; so, the full-stack of technology that makes up a website. They are proficient in both frontend and backend languages and frameworks, as well as in server, network and hosting environments.
To get to this breadth and depth of knowledge, most full-stack developers will have spent many years working in a variety of different roles. They also tend to be well-versed in both business logic and user experience, meaning they are not only well-equipped to get hands on, but can also guide and consult on strategy too.
In the video below, we explain the role of the full-stack developer in more detail:
A Note On Frameworks
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.
5. Why become a full-stack web developer?
Given the choice to specialize in frontend or backend 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.
6. How to become a full-stack web developer
To become a full-stack developer, you will need to gather quite some years of industry experience. You will need to learn both frontend and backend languages, as well as the ins and outs of databases and storage. In fact, you can’t just study to become a full-stack developer; it’s all about constantly learning and getting as much experience as you can in both frontend and backend development.
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 tip is to review the resources based on a criteria of the topics mentioned in this article. Ask yourself questions like:
- How much frontend development is involved?
- What will I learn for backend 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 frontend and backend 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. And as our research shows, you’ll often receive an impressive salary to match.
8. Further reading
Interested in becoming a full-stack web developer? Or perhaps you’d like to specialize in frontend or backend development? I recommend you start with this free set of web development tutorials and read the following articles to help you get started.