Full stack developers are highly sought after in the software engineering world, for good reason. Being able to build a user-facing application while simultaneously keeping APIs, business logic, and databases working together is a valuable and hard to find set of skills.
Equally valuable is the full stack designer. You may not have met one or even heard of them, but they exist and they bring tremendous value to an organization.
A full stack engineer is as comfortable writing a complex SQL query as they are using the Chrome debugger, and a full stack designer knows how to architect the ideal user experience and go beyond the mockup to implement it as an actual user interface.
Understanding “Full Stack”
A full stack skill set is a textbook example of something that is greater than the sum of their individual parts.
A significant portion of software development is spent in communication and coordination between people building different parts of a project.
A full stack developer might not have 20 years of experience as a DBA, 20 more as a systems architect, a decade plus as a dedicated REST API developer, and several years as React expert. However, they understand the big picture and they have plenty of knowledge and experience working with the individual technologies so that they can eliminate the back-and-forth between those areas as changes are made in each layer.
A full stack designer can have a similar impact. They gain a deep understanding of the user and their interactions with the software, then apply it all the way through an actual design implementation. This streamlines the process and can produce working, value-delivered software in a fraction of the time of a team of experts focussed on their individual areas.
So what are the skills of a full stack designer? I’m so glad you asked!
User Experience Design
A full stack designer understands the difference between UI and UX, but also understands where they overlap and complement each other.
They know the value of iteration. It’s notoriously difficult to anticipate how a real user might try to use your application. UX experts love the “aha” moment of watching a user completely confused by how an application works. They experiment with potential users, find usability problems, and craft optimal ways to overcome them.
They shake their heads as they scroll through dribbble, knowing that most of those beautiful app layouts would have users throwing their phones at the wall if somebody were actually forced to use it.
A good UX designer knows that user experience extends beyond how buttons are laid out on a screen. Driving a car, the process of boarding an airplane, returning or refunding a product you bought, all of those are “user experiences” in their own right. A good UX designer will try to perfect all parts of how a user experiences a company or brand, and everything they design keeps an eye towards the broadest definition of that goal.
User Interface Design
Full stack designers understand how to properly implement a great user experience with a great UI.
A good designer understands that the golden rule of UX is “make the software act the way the user expects it to”, and that the UI needs to deliver on that implicit expectation. Consistency throughout an application and even compared to other similar applications helps improve usability.
A full stack designer understands that being “pretty” may not be a requirement – and that it always takes a back seat to usability.
Have you ever watched an airline agent who is proficient with their terminal? If you glance at their screen it looks like something out of a bad 80’s hacker movie, completely unintelligible to anybody not trained in the system. After a learning curve of a few weeks though, that agent at the counter can work through the weekend rush line at the baggage check as fast as 10 iPad wielding whippersnappers. In a corporate environment, there’s a good chance that optimizing your UI for efficiency over beauty delivers the most value.
On the other hand, a good full stack designer understands that discoverability and visual aesthetics are extremely important for some types of applications and users. When somebody downloads your mobile app, you often have at best a few seconds to impress them enough that they don’t delete it.
Good designers know how to maximize that time, but most importantly they understand when it is important and when it isn't.
A full-stack designer knows how to make good UI font choices. They understand reactivity, they know how to predict and pre-empt, they know how to anticipate and craft good error messages, and they understand how to simplify, simplify, simplify. They understand accessibility, and how to make sure that ALL users can interact with their application.
User Interface Implementation
This is where we start to get to the real value. If you have a designer who can navigate UX, understand UI principles, and then actually implement the design in its actual final form, hang onto that designer and never let them go.
Jason Fried of 37 signals/basecamp fame wrote nearly 15 years ago about why they don’t use Photoshop in their design process.
There’s nothing wrong with Photoshop (or Sketch, Figma, Illustrator, etc.) but the gap between those programs and an actual application can be significant. Insurmountable, even.
If a designer can build the actual application UI and bypass a graphical mockup, you overcome the biggest hurdle between a good-looking design and a highly-functioning application that users will love.
Poor implementation of a design is often blamed on developers, but designers not understanding of how interfaces are actually built in code often contributes a majority of the problem.
To overcome this, a full stack designer operating in the web world knows HTML and CSS like the back of their hand. They can build and compose components and lay out an interface that will bring tears to your eyes.
Because they are full stack, their work is not a pretty mockup that somebody has to go slip under the door to the developers and hope for something decent to be returned – it’s the real thing already. Load it up in your browser, click around, and see the design as it was meant to be.
User Interface Programming
The debate over wether designers should learn to code has been going for as long as designers and code have existed, but at Corso we firmly believe that it adds tremendous value.
Becoming a proficient developer takes many years of full-time pursuit, so we aren’t suggesting deep expertise is required. But the more you know, the more powerful a design can be. Knowing how to use map() or forEach() to add an arbitrary number of components from an array can be a great skill – and can add value even if you don’t quite understand when to use one instead of the other.
Understanding how to retrieve data from an API and bind it to the UI can make a “mockup” even more powerful, and increase clarity to the developers on what is intended.
Adding ANY programming to your designs is enough to call yourself a full stack designer. You can add tremendous value without needing to be able to pass a leetcode-style white boarding interview at a FAANG.
The value of a full stack designer
Corso didn’t invent the concept of a full stack designer, nor are we the only ones to recognize their value.
Full stack designers are especially valuable at startups, where almost by definition people need to wear a lot of hats. They are equally valuable at big companies too, where they help keep everything moving. Being able to streamline or even bypass the inefficiencies in communication is a key part of their success.
If you wonder about the reality of the 10x designer/developer myth, those individuals aren’t 10x better at any individual skill than anybody else. Where they earn their reputation is by mastering context and piecing things together in a way that they can produce 10x the value.
Seek out full stack designers. Hire them. Become one yourself. Retain them.
Then, nothing can stop you.