Designing for developers
Why designers should build developer products
I was seven years old when I first used a computer. It weighed as much as me. The screen felt foreign at first. Sure, I watched TV, but I never expected that I could manipulate what I saw on a screen.
With TV, I was a passive viewer watching someone else’s story. A computer is different because the information is bidirectional. Within the first year I was exploring the internet and playing DOOM. TVs broadcast other peoples imaginations and computers cultivate your own.
Today’s seven year olds won’t remember when tech entered their lives. They don’t differentiate between playing IRL and online because digital and physical have merged into one seamless experience. The future they’ll inherit is being designed by people like me. Hopefully, I can convince you to join me.
Developing the future
Let’s take a step back to look at the major trend: the internet is the fastest growing part of the economy. The potential impact of “software eating the world” is so great that universities and vocational programs can’t meet the demand for developers.
Most folks think the solution is to teach more developers. They’re right! Companies launching 5 or 10 years will have access to a much richer talent pool.
But what about companies today?
How do we make existing developers more productive. Developer products serve to multiply engineer output so that work can be done better, faster, and cheaper. Productivity isn’t measured by the ingenuity of a particular algorithm or design, but on whether results can be delivered consistently. Specialized tooling ensures the delivery of these results. The upside is huge.
The need for design
Where does design fit into the puzzle? Consumer internet companies faced this question a decade ago. The early internet was not easy to use. However, as the economic opportunity of the internet materialized, companies realized the competitive advantage of design.
It should be obvious — people tend to buy products that are user-centric, intuitive to use, and adhere to design principles. Just as consumer internet companies opened design as a new avenue to compete, there is pressure for developer product companies to do the same.
A designer’s role is to translate immense machine effort into a user-friendly experience. Successful developer products like Stripe, Heroku, and Twilio offer simple abstractions for complex processes. Developer companies will continue to grow in complexity by unlocking the resources of the cloud. Thus, the need for design to articulate this functionality for human consumption can only grow as well.
Why should designers work on developer products?
A software designer is faced with two potential jobs. The first, to work on consumer products intended for the mass market. The second, to work on business products intended for technical users. Having had a chance to do both, I can tell you the problems are equally fascinating. Navigating the two paths comes down to how a designer wants to apply their creative energy.
The market
The market for developer products is emerging. If you track the growth trajectory of the software industry -which is propelled by engineering effort- we are nowhere near peak demand for developer products. Not only is there financial upside, but the domain knowledge increases in value as the industry grows.
The work
Developers are a well-defined user group. Because of this, the design challenges tend to be clearer (but not necessarily easier to solve) and have tighter feedback loops. Designers can make decisions that have a large impact on an engaged audience. You won’t be designing a name brand company; instead, you’ll be trying to turn those companies into your customers.
The type of person
If you are process oriented, care about end-to-end user experiences, and want to help folks engineer the future take a look at developer product companies.
How do I get started?
First, find out if the subject matter interests you. If you’re already a software designer, it’s likely that you collaborate with developers. Ask them questions. Understand the software engineering process from ideation → design → development → iteration.
Keep up to date on the latest engineering tech. Your goal shouldn’t be to jump in right away but to familiarize yourself with the problem space. Whether it’s machine learning, bots, “serverless”, or components, the pace of innovation is rapid. Start with Hacker News or developer tools on TechCrunch.
Second, keep abreast of the established and emerging companies in the developer tools space. Checkout developer product incubators like Heavybit, track new companies on Angelist, and get an overview of the incumbent companies on Crunchbase.
Now put it all together. If you like the software product process, know the direction of the industry, and have a sense for the companies, start applying! It doesn’t hurt to dip your toes in by chatting with prospective companies.
Developer products with 👍 design :
Postscript
Beware of imposter syndrome. Just because the field is technical, does not mean it is out of reach for non-technical contributors. In other words, you don’t need to be a developer to make contributions to dev products.