Don’t learn a programming language, solve a problem instead

A short memoir of a wasted youth.

Photo by Matan Levanon on Unsplash

For years I studied programming languages to build better investment tools. That piled the work of programming on top of building forecasting and risk management models.

What actually happened is that I didn’t spend as much time on the real problems I needed to solve.

I focused on my ignorance about algorithms and programming languages. So I spent hours every week for years learning fundamental aspects of computer science. And I didn’t dedicate so much time to applying that knowledge to make things better in the real world.


Photo by Studio Republic on Unsplash

Meanwhile one of my friends built a complete product on top of Microsoft Office. It stored data in Access, analyzed it in Excel, and spit out reports in Word.

When he sold his creation to a big company I was happy for him. And I was also incredibly jealous. I knew twice as much about programming and yet couldn’t ship a product that solved a real problem.

The thing is that the details of how to build something are worthless compared to reasons why you need to build something. I spent my time learning how to build things. Whereas my friend spent his time solving an actual problem.

He started chipping away at it with very simple tools until he arrived at a complete solution. Along the way he taught himself to glue other tools together. It still took an incredible amount of work, but he managed with limited resources.


The magic is in understanding why

Photo by AZGAN MjESHTRI on Unsplash

When I worked on a tech team at a startup, I finally grasped the lessons in the different ways my friend and I approached programming.

The big breakthroughs for the team were never about how to do something in code. The breakthroughs were in discovering exactly what we had to do and understanding why.

There’s nothing more heartbreaking on the creative journey than investing too much in things that don’t need to exist.

If you want to create something useful then it’s crucial that you learn to identify the reason why first. You begin by asking good questions about who will use something and how it will improve their lives.

Focusing on real solutions accelerates learning

Photo by Tim Gouw on Unsplash

Your focus on real solutions will increase your retention. Our brains prioritize information to store and disregard the vast majority. It’s useful to save calories, but it works against learning.

By starting with the context of why you‘re learning, you’re giving your mind an immediate trigger for prioritizing new information.

When it comes to creative pursuits like programming, creating something useful will teach you the fastest. And this doesn’t require that you learn a programming language.

Do this instead of learning a programming language

Photo by sebastiaan stam on Unsplash

Find a real problem.

Write down exactly the way the problem is now and how it should be instead with as much detail as possible. For example, if the way you have the problem is always with data stored in Microsoft Office file formats then be specific about that. This has everything to do with what solutions will work best.

When you have a great description of the problem and how you want to solve it you’re halfway to a solution.

Now you should work as much as possible on clarifying this problem. Then move on to the ways you could create a solution.

If you need a programming language to do this then you’re not going to be a very good programmer. So keep building your skills in describing problems and solutions.

When you have a great description of your problem and exactly what you want then learning a programming language to do it will be easy.


DDI Recommended Courses*:

Looking to get started on your journey towards becoming a data-driven investor?

Intro to Python
Master the basics of data analysis in Python. Expand your skill set by learning scientific computing with numpy.

Intro to R
Master the basics of data analysis by manipulating common data structures such as vectors, matrices and data frames.



*note: DDI may receive affiliate commission from these links. We appreciate your continued support.