Do You Need to Learn to Code?
Yes, and you're going to love it.
My employees, students, advisees and investees have all asked me the question, "Do I need to learn to code?" My basic answer is, "Yes. And you're going to love it!"
Also, it's important. As famed innovator Marc Andreessen put it: "The spread of computers and the internet will put jobs in two categories: people who tell computers what to do, and people who are told by computers what to do."
To be one of those people telling computers what to do, you don't need to be a career coder. Innovation skills like figuring out what software might do for a customer that's valuable and how the user should experience your software remain extremely important. That said, you want to make sure you have the creative confidence to be intimately involved in the process of software creation.
My advice is to start by practicing with something small and relevant to your line of work. It won't be hard, but it will take some energy and endurance. Other than becoming a career coder, here are three good reasons you might want to learn how to code along with suggestions on how to get started:
1. Change web page content on your own without tapping someone on the shoulder.
Yes, great idea! Honestly, in my opinion not being able to work with HTML and CSS (code for creating web pages) is equivalent to being illiterate. I know that sounds stark, but the good news is that this problem is easily solved.
Codeacademy has terrific online courses in subject like HTML and CSSthat are totally free. For best results, pair tutorials with a project you can work on, so you can apply skills immediately.
When learning to code, it's more about creative confidence and the ability to figure things out that's key.
2. Present your ideas with prototypes instead of PowerPoints.
For this, you'll need to chart your own path. I recommend starting out with a clear objective, so you don't get lost in the details. Classes that offer design-driven case studies, supporting materials and starter code you can use are beneficial because they show how modern software relates to actual development.
3. Be a better collaborator to the engineers/developers you work with.
Yes! Many groups inside companies like Google require that product managers, for example, have a STEM undergraduate degree. These groups have found that it's a reliable way to make sure they can engage with their collaborators in development.
Learning to code will give you intuition about what it is to move from design to code, what's hard when and why, as well as a sense of what level of detail your collaborators need from you on a particular item.
These are all good places to start and having a specific project in mind will allow you to start small.
Additionally, here are three bad, or misguided, reasons you might want to learn how to code, along with suggestions about what to do instead:
1. Give your developers instructions on how to code in order to work better/faster.
No one likes to be told how to do their job. However, they do like to know what constitutes success and the more you can clearly show how what your team is building will be valuable to the user, the better.
The punchline here is that for more than 90 percent of the cases I've seen, the product/businessperson needs to better test and validate what's valuable to the user and translate that into development-friendly inputs like storyboards and user stories.
For learning how to do that testing and provide those great inputs, I recommend a balanced approach to both designing and coding. Make sure you stay focused on a specific design outcome while you're coding.
2. Dispute estimates with your collaborators in development.
Basically, it's best to assume your developers know what they're doing, have good intent and to focus on what you need to do to get them great inputs. If you're still unsure about that, talk with a development manager or development lead to get some additional perspective.
3. Build an app.
Great idea! Maybe. You should use tools like design thinking to learn about your customer and the "lean startup" concept to test your idea. Then getting the goodwill and capital to build your software will be a lot easier.