What Full-Stack Developers Know
Can figure out how to solve new problems and get work done
Much of the work of web development is figuring out how to solve new problems. Developers don't like to do the same work over and over. We tend to automate or extract repeat work.
Full-stack web developers should be able to research and build out solutions to new problems.
Can work with project stakeholders, listen to their needs, and propose solutions
Full-Stack developers should be able to communicate effectively with non-technical and technical stakeholders. They should be able to explain why technical design decisions were made.
Understands the entire website development process
While full-stack developers will probably not be the ones doing all of the work, they should understand the entire development process. They should also be able to jump in and complete tasks where needed.
All full-stack developer should have the skill set to build out and deploy a website on their own if needed.
Can Work on the Entire Stack
- Can write HTML, CSS, JavaScript and at least 1 backend language or Node.
- Also understands databases
- Be able to design and build out an API
- Can deploy a website to production
Understands principles of good design
Full-Stack developers aren't necessarily UI designers but they should be able to recognize good design. They should also be able to provide input on design decisions. This means they can spot any problematic designs. Full-Stack developers should be able to build layouts with CSS. They should understand common UX patterns and be able to spot potential issues. They should also understand how to make websites fully accessible to all users.
Full-Stack developers should also
- Understand the value of automated tests and know how to implement unit/integration/e2e tests.
- Know how to prevent security pitfalls.
- Be able to deploy a website to production and manage new releases.
Cares about code quality and knows when to ask an expert
No one is an expert in everything. often full-stack devs will be experts in a few areas and know some about a lot of other areas. Its important not to fall into the trap of pretending to be an expert if you're not. Sometimes you need to bring in someone who is an expert and this should be ok. If you're in an environment where you feel this would hurt your job security then your company has a culture problem.
What Full-Stack Does Not Mean
Some full-stack developers have graphic design and marketing experience. But most will not.
Knows every back-end language that ever existed
While a full-stack developer may have heard of or be familiar with other languages it doesn't mean they have professional experience using them. Most will specialize in 1 or 2 languages.
Can solve any problem off the top of my head and write the perfect code on a whiteboard/google doc
We don't code on a whiteboard or in Google Docs.
Can set up your home network/printer/solve random computer issues
Full-Stack developers are not your company's IT guy.
Will design your logo
Graphic design is not the same as UI design.
Will write your content, manage your social media, and run your Facebook ad campaign
Some full-stack developers may have marketing experience. But many do not. Hire a marketing expert or agency to handle these tasks.