The path to better job satisfaction for software engineers
Let me show you photos of unicorn engineers. We have two unicorn engineers here working away on their laptops, one with headphones, one without. One with a neat and tidy desk, the other with a slightly messy one. 😉
Now I can almost hear you asking, how is it different from a normal engineer that we know? Well, they are not supposed to be different, because being a unicorn engineer and being a normal software engineer isn’t mutually exclusive. In fact, I’d argue that they should be mutually inclusive.
If you think about successful technology companies today, they all have one thing in common — a product. Not just any product, but a great product. It doesn’t have to be a completely new and shiny that never existed but one that is better than those that existed before their time. For example, Facebook took over MySpace as the number one social media platform, not because MySpace wasn’t good, but because Facebook was great. Blackberry, the iconic devices that were many business folks’ first smartphones, are now completely replaced by the much better smartphones that we have today.
Guess who build these great products? Who do you think?
Great products are built by unicorn engineers. There are also other people who contribute to building a great product like product managers, designers, and so on, but unicorn engineers have a large role in building awesome products that customers love. Really, they are like unicorns because they create magical experiences for customers.
Unicorn engineers can be identified not by how they look, but by who they are and what they do. Unicorn engineers share these four characteristics.
- They start with why — they understand what customers want, and analyse problems before jumping into coding or solutions.
- They have a balanced view — they strike a balance between technology, time/effort and customer value every time, with every feature.
- They never fall in love with their code — they don’t do premature optimisation, they are pragmatic and they are willing to start all over again if they realise what they are building isn’t what customers want or need.
- They know what to measure — To know what customers really want or need, they know what to measure, and they measure what matters. Like engagement metrics, performance metrics, business metrics and they validate what they have shipped.
As an engineer, why is it important for you to have these characteristics of a unicorn engineer? Allow me to explain.
Picture yourself over the next one or two years from now, navigating around the big codebase of your organisation and coding away day and night, fighting endless hours to get a green build and even more time to get that featured deployed. And if you’re lucky, the feature that you released will get used by a very small percentage of customers for a short while before it gets unshipped. I don’t mean to paint an ugly picture but our future doesn’t look very inspiring or meaningful. You don’t want to be the hamster on a wheel, just producing code but not sure what impact you’re making or why you’re doing what you’re doing.
However, the good news is we can take actions now to avoid such thing from happening to us in the future. I will share with you the actions that you can take immediately.
First, be a customer happiness enforcers. What better way to make customers happy than to understand and solve their problems, not just once or twice a week but every single day. If you can arrange this time with your team and manager, I’d highly recommend you to go on a secondment to the most customer-centric team in your organisation, usually customer service team, and work through tickets from a normal support queue and solve customers problems.
Second, take part in customer interviews. This is quite straight forward, but make sure you do it real time whether via VC or face to face to get the most value out of it and to build that connection with real users behind a screen.
Next, reward & recognise. Just as managers can reward & recognise their people, you can recognise your peers when they are doing the right things for customers. For example, give a shout out to someone who came up with small improvements for customers. Or if you noticed your peer went out of their way to reach out to customers about a specific issue, documented it and fixed it, and even if no manager noticed, you can totally praise them.
And last but not least, a fun one, catfooding. You’re probably familiar with the concept of dogfooding, where companies use their own products within their organisation. Catfooding is similar but with a slight twist. Instead of using our own product, use a competitor’s product for any given project for a while. Identify strengths and weaknesses, write about them and share learnings to educate and fill the gaps.
With all these actions, you’re on your way to better job satisfaction and clearer understanding of your impact. There is no better time to become that unicorn engineer who does meaningful work and creates magical experiences that customers love.
Thank you for reading!
If you like this story, you might like to check out my latest book, README.md for Software Developers: The Ultimate Software Development Career Guide in the Age of Technology Disruption.