Releasing my first product to the public was, to put it into Xbox terms, an “Achievement Unlocked” moment. During my first internship at Microsoft on Paint 3D, I worked on the project from prototype to release.
It was a very unique year and an opportunity that interns don’t often get.
Since then, I have released features for the Xbox app, developed the new Cortana in Windows app, created new components for the Edge browser new tab page, and am currently working on a project set to be used by millions daily.
I’ve learnt a lot about user feedback, building + shipping products, working within a big corporate, the evolution of products, and even about myself.
Here are the top 5 things I’ve learnt developing software:
About Development
Engage User Research and pivot based on user feedback. A developer, designer, and project/product manager are going to get tunnel vision. They are going to know the quirks of the project and come with bias on how easy it is to use and the value it is providing.
Get your product in front of real people – you’ll likely find it wasn’t as intuitive as you thought. Use this feedback to make a product people want to use.
About Building Products
Being critical of your product or company isn’t a bad thing when it is constructive. I drank the Microsoft Kool-Aid from a very young age and my passion for its products led me to my role as a software engineer.
Growing up, I struggled to say anything negative about Microsoft – it felt disloyal. When I joined my first Microsoft team, I was shocked at how critical the team was of everything.
I’d soon learn it was their superpower.
They didn’t get stuck in the corporate bubble of “we make the best products”. They came from a mix of companies so could say “this isn’t great” and “here’s how we can do better”. They were obsessed with building a product people loved to use. Calling out what was bad and being entirely customer focused was how they kept quality up.
It worked! Press attention was enormously positive and now Paint 3D has a really loyal base of users. Use a constructively critical eye on your product – it will be better off because of it.
About Working in a Big Corporate
Plan for a long-term vision and build the minimum lovable product (MLP) – not the minimum viable product (MVP).
A minimum viable product is generally understood to be the version of the product that has the minimum number of features to solve their problem – the golden path through your main user journey.
A minimum lovable product is similar to an MVP, but it goes beyond just solving the customers’ problem. A MLP has greater consideration for the look, feel, and delight of the user’s experience when using your product.
Building the MLP helps your first-round product hit the shelves, delighting users as well as building external and internal buy in for the next set of updates.
Long-term visions can be hard to achieve when leads, particularly in large corporates, change roles – bringing new agendas and shifts in company direction. This will help bring longevity amongst change to your project by building a quality product where the metrics speak volumes.
Invest in your telemetry and data pipeline. Data will help drive important decisions about product focus, assist in product health improvements, and demonstrates quantitatively that you are reaching your key performance metrics (KPIs).
About the Evolution of Products
Not all software is released or sticks around forever. As hard as it is to see something you built not survive the test of time, your contributions can still be very valuable. These products help prove a concept, inform future decisions, or may be repurposed into something new.
A great example is the innovative Microsoft Kinect, which shipped with the Xbox 360. The Kinect enabled users to play games with their whole body thanks to advanced motion and room tracking.
Unfortunately, the Kinect didn’t get the public buy in it needed to be continued at scale. However, its technology was later transformed into the HoloLens.
The HoloLens is a world-leading MR headset that companies and individuals use around the world. The technology wasn’t lost – it was repurposed into something even better. Plus, the Kinect itself is still quite popular with developers for AI/ML projects and research.
About Myself
Work on projects you are passionate about – yeah, it’s all just code, but when the going gets tough, you want to care about what you are building.
I have largely avoided “crunching” (working long hours to reach tight deadlines, particularly around hard ship dates), but there are times, of course, where I still spend extra hours getting my work done.
Truly caring about your product, the team, the value you are all providing is a massive motivator.
Shipping a product or product feature is a journey: one that can have many peaks and valleys. Ultimately it is one of the most rewarding experiences.
For me, nothing sparks joy like seeing people tweet about creating something in Paint 3D. Each product brings new lessons to make the next product even better. I can’t wait to get this project I’m working on out the door!