I recently joined Automattic, where all developers are required to work as Happiness Engineers for the first three weeks. This is not in parallel with your regular job! Before you start working on whatever you were hired to do, you spend three weeks helping customers with their problems and requests. I knew this was a great idea before I started, but the the impact this experience has had on me was still surprising in many ways.
Know your Customer
By interacting with customers, you start to learn how they think, what they care about, and what types of things annoy them. Developers have a tendency to create features that they think are totally user-friendly, but actually no one else understands. Hopefully, my experience talking to and helping customers will keep me from making that mistake.
Know your Company Values
Customers interact with support, so they are in many ways the real face of the company. In our training, we learn to value customer happiness (hence the name “Happiness Engineer”) over all else. This means going the extra mile even if it costs the company money or means recommending a competitor’s product.
When you know that these are the values of the company, and you actually see the rest of the support team acting on these principles every day, it really changes the way you view your company, your job, and how you do your work.
Know your Product
Coming from a very compartmentalized company like Microsoft, I’m extremely impressed by the versatility of Happiness Engineers, as well as the autonomy and power they have. They can instantly issue bills, invoices, and refunds. They help customers with DNS settings, custom CSS code, and everything in between. They also debug code, file bug reports, and often fix things themselves.
Support requests don’t go through a lot of pre-categorization. They are mostly piled together and worked on in the order they are received. As a Happiness Engineer, you’re going to end up learning about and touching every part of the company and its products.
Know your Team
Automattic is not a very large company, but the organization is still pretty flat and open for its size. Nevertheless, you’re still going to run into issues that you can’t solve on your own. You’ll need to talk to development teams, ask questions, file bug reports, and ask for help.
My experience as a Happiness Engineer asking development teams for support will definitely impact the way I behave when I’m on the other side of that conversation. I will understand first hand that when a Happiness Engineer is asking a question or reporting a problem, they have real lives and businesses on the other side, waiting for their issue to be solved as quickly as possible.
Conclusion
Happiness Engineering has been a great experience, but I’m also excited for my rotation to be coming to an end. I haven’t done much development these past three weeks and I definitely miss it!