/ css

The Full-Stack Web Developer

The Internet has changed a lot over the years. Not just in the way we use it, but also in the way we build it. As a result, we have new job functions being created almost daily. Just a few years ago, you needed a web designer to create the look and feel of a site, and a web developer to code the front-end and back-end scripts to make the site work. Back then, websites were charged based on the number of pages. Something I can only assume was borrowed from the print industry.

Now, however, we have a huge list of roles, titles, and job functions:

  • Web designer
  • Visual Designer
  • Creative Director
  • Art Director
  • UI Designer
  • UX Designer
  • Interaction Designer
  • Front-end Developer
  • Back-end Developer
  • Web Developer
  • Mobile Developer
  • Database Developer
  • Database Administrator
  • Web Master
  • Web Server Administrator
  • SEO Specialist
  • Web Analyst
  • Quality Assurance Tester
  • Project Manager
  • Growth Hacker
  • ...

Depending on the size of the organisation, and the number of people on team, an individual may take on multiple roles. Larger, more profitable companies tend to hire experts from each field in order to create the best products the web has to offer.

More often, growing, or more down-to-earth companies, the old standard of distinct web designers and web developers still exists. The designer is typically responsible for the visual/web/UI/UX/interaction design, while the developer will do the front-end coding / back-end coding / database administration /server setup / debugging / etc. However, problems often arise when the two have to work together, but only one of them take responsibility for the project. This can be caused by miscommunication, misunderstanding of roles, misunderstanding of technology, or many other reasons that ultimately lead to a sub-par product.

Enter the Full-Stack Web Developer

Having a full-stack web developer on your team can fill some of the enormous gaps that I mentioned above. Full-stack web developers master the best of both worlds. Well, they at least understand both world. That's often what you need to keep projects moving in the right direction. They can keep things on track, while implementing best practices and new technologies. They will design and code entirely on their own, or then will supervise others who perform the tasks, while the full-stack developer oversees the whole process from start to finish.

As websites evolve into web application, and they become more mature and interactive, it's critical to have an understanding of the technical capacity of a system, and having an eye for aesthetic and usability. It's almost natural for web professionals to evolve into full-stack developers.

All that said, it's important to know that designing and coding are to very different skills that require different parts of the brain to master. The right brain is used for visual and creativity while the left brain is used for structure and organisation. For this reason designers are primarily right-brained, and coders are left-brained. With that thought in mind, I do believe that web designers have to use a good chunk of the left brain as well in order to fit pieces of a page together. That involves a huge amount of structure and organisation. Furthermore, coders will use their right brain to come up with creative ways of solving things. After a conversation with a co-worker, I feel like I need to clarify I'm not saying that one side of the brain is used exclusively, rather predominantly.

Why Be a Full-Stack Web Developer?

As I learn more about web development, I truly think of myself as a full-stack web developer. While I have certainly not mastered design or coding, I have a pretty solid understanding of both. I have developed project management skills, I have the skills to communicate with business people, designers, Linux users, and junior programmers. I can teach people. I can solve problems. Being able to do what I do makes me more valuable to an employer. I can be a member of cross-functional Agile teams, and perform either front-end or back-end development. I can work with business analysts and managers to design a product. And most important (to me, today) I can start my own web design and development business. (Coming soon).