An introduction to Full Stack Customer

Customers should never have a sense of being handed between people anywhere from prospecting to renewal. They should feel cared for by a team.

In software businesses sales and customer care are separate departments. Each made up of a huge number of different roles. SDRs chasing first meetings. Senior sales folk for big prospects, junior ones for small ones. Customer success reps. Trainers. Account managers. For starters.

At Joyous we have only one role type across these functions. Full Stack Customer. Which comes in two sizes. Regular and Senior.

The idea came from changes in software engineering. Here's how engineering used to work...

To create a product requires a lot of different technologies. Collectively we call this collection of technologies The Tech Stack. Or more commonly just The Stack. From the database through to the front-end, there can be dozens of different programming languages and areas of knowledge. Each area has specialist engineers who work only in that area. Only the most senior folk understand the whole stack, and they are Full Stack Engineers.

But this has inherent risk, and inefficiency. Only a small percentage of folk really understand how everything hangs together. It is impossible to deploy specialized staff outside of their area of expertise as priorities and workloads shift. And of course there is lots of hand-off and confusion between folk each working on only a sliver of the stack.

Nowadays, organizations like Joyous strive to make all engineers Full Stack to remove this risk and inefficiency. The worst way to do this is to hire only senior folk that can understand the whole complicated stack. The reality is quite different. The focus becomes simplifying the stack. And then finding ways for everyone, even junior folk, to quickly learn the whole stack.

For instance. New tech has allowed us to design tech stacks with only one programming language throughout. The programming patterns we use, like strong typing, are consistent across the stack. The way we describe tasks, how we maintain quality, even how we run meetings are all consistent across the stack.

Full stack means more collaboration, deeper learning, and happier engineers. But mostly it means a better product, faster.

Designing for Full Stack Customer.

Full Stack Customer applies this same philosophy to sales and customer care.

We started building on the back of the work that Kevin Norris and Ruby Kolesky had done on Joyfully. A new method of product and engineering collaboration that extended the paradigm to "Full Stack Product". This was further provoked by Michael Pettigrew who was trying to solve for risk in the sales to customer care hand-off.

Here's where we've landed.

Every Full Stack Customer person has the same Job Description. The JD is made up of areas of specific capability. Partnering, Prospecting, Pitching, Piloting, Launching, Account Management, Expansion. We don’t expect anyone to arrive with capability across all specialties. But we’re codifying each area with specific learning objectives and success metrics. People can grow across areas.

We organize Full Stack Customer folk into customer crews of 3-6. Each crew focused on a geography or vertical – a territory. The crew has full responsibility for their territory. Everything from getting new customers to ensuring that customers get real impact from using Joyous. At Joyous our purpose is to make life better for people at work. And this is part of the charter of a customer crew - a focus right through to improving work-life for all Joyous users in their territory.


Customers generally don’t like sales people, and for good reason. Sales people are incentivized only on new business. Their interest in a relationship rapidly fades after a deal is signed. Which might make sense for the vendor, brutally keen on growing the customer base. But it has only negative outcomes for the customer. In fact building a relationship that suddenly ends as the real work begins is a waste of time for both parties.

This leads to "the hand-off". The point at which a deal is signed and the sales team hands off the account to the customer care team. While the customer care team can read the notes in the CRM, they don’t really know the nuance of the conversations in the sales process. We’ve all seen where this leads.

Promises are made by one team, and delivered by another.

Indeed, removing hand-off risk throughout the customer lifecycle is one of the goals of Full Stack Customer. Because people stretch across multiple specialty areas, and work in crews, there is always plenty of overlap. A customer never has a sense of being handed between people anywhere from prospecting to renewal. Rather they feel cared for by a team.

A few other benefits.

We can redeploy people as priorities change. For instance a new territory is much more focused on partnering and prospecting. An established territory is much more focused on customer impact.

People know where they can develop, and through learning and collaboration, they can get there fast.

People are never isolated.

Other considerations

I mentioned that we have both regular and senior. This is to recognize that some people have more experience and depth. So they can be deployed onto the most complex customer challenges or opportunities. And they can be the go-to people when mentoring is required.

We’ve also had to change the way that incentive programs work. But that is the topic of a future newsletter. Stay tuned!


Full Stack Customer results in better outcomes for customers. Which underpins everything else you are trying to achieve.

May 23, 2022