Problem-Solve Like A Programmer: How To Solve Real-World Problems

Samuel Ogunleke (SamuelHSSP)
6 min readJul 15, 2024

--

Learning to code is a big deal, given that technology affects almost every single sector and there’s nothing you can’t improve with technology. Being a programmer teaches you about critical thinking and problem-solving, among many other skills. Many people have made our lives easier, just because they knew how to code and could identify a problem to solve. There are many developers, but only a few actually learn how to code in order to solve real-life problems. In this article, you will learn how you, as a programmer, can contribute to solving real-world problems from start to finish.

Work Under A Company

When you work under a company, as an employee, you’re also contributing to solving the problems of the company, thereby solving the problems of their customers. This is probably your first step towards becoming a problem solver. Working for a company, whether as an intern or a full-time employee, would expose you to how programming is applied in a real-world scenario. Perhaps you’ve built a couple of personal projects and don’t really have the experience of building a fully-fledged product for customers, or know how to apply the principles of agile development.

However, not everyone will be able to work under a company, so you don’t necessarily have to work under a company to learn how to solve problems. Keep building your projects and read this article till the end to learn how your projects can be solutions to real-life problems.

Think Like A Scientist

You might be familiar with the scientific methods: observation, hypothesis, experiment, theory, etc. That’s how I like to think as a programmer, and you should learn to think that way too. Problems are different in complexity, and solving real-life problems is more than just improving on existing code, or fixing bugs. It’s about innovation and thinking like a scientist 🥼.

According to the scientific process by the American Museum of Natural History, the following steps are involved: define a question to investigate, make predictions, gather data, analyse the data, and draw conclusions. Of course, there is more to that when it comes to a programmer thinking like a scientist.

That being said, the first step is very crucial, which is observation. Before you can decide to solve problems, you have to become aware of them. That’s why you need to observe and think. Pick a scope/area/niche, and observe the challenges in that scope. For example, in education, many students find it difficult to understand complex topics. You now have a problem statement; you need to decide who your target audience will be; which in this case will be students, most likely above 13 years old. Very good. You have observed and formulated a problem statement; now what next?

Ask Questions

Now, do some research about the problem. Learn about the problem and understand it as much as you can. You have a problem statement already, but you need to do some research to make sure you understand every aspect of it. Ask around and know what challenges people are facing. Reach out to your target audience and find out what kind of solution they would like, or what problems they have been facing, in that regard.

After researching about the problem, think about a solution from your head—what you think could be the solution to the problem (maybe: making students learn by attempting quizzes). Don’t forget the suggestions made by your target audience. You can call them “customer stories” and build on them later, as part of your own solution. Try to tell a couple of close friends your solution and ask about their honest opinion, or what they think could be done better.

Do More Research

You can now go ahead and read about existing solutions to this problem, and relate your own solution to them. It’s very rare to see a problem that people have never attempted to solve before, so there’s definitely a solution to the problem you’ve discovered. But think about how you can make your own solution better or stand out. Most times, it’s difficult to find a solution entirely new to a problem, so just make your own solution as unique as possible. Let people find reasons to pick your solution over others.

Visit Google and browse for existing solutions to the problem. Read about them, and you will even understand the problem better. Don’t be lazy to read research papers when you find them, just read and gather information as much as you can.

Write And Draw

Now you can get your hands dirty and start writing (not coding). Write down the problem statement and every aspect of your solution. Draw diagrams and illustrate whatever is coming to your head. The more you think, the more ideas you get. So, don’t think too far because you don’t want to get overwhelmed by having too many ideas. The goal is to release a presentable solution, no matter how basic it seems. You can always improve it later. Draw out the layout for your solution, whether it’s an app, a website, or just a service (e.g., a Chrome extension). If you know how to draw flowcharts, go ahead and draw them for the basic functionality of the app or website! I would recommend using app.diagrams.net.

Start Building

In case you see that you lack some skills, go ahead and upskill. Build on your existing skills and learn new skills as you go. Give yourself a deadline to finish the whole project, perhaps a couple of months, and start building with your existing skills. In case you need a skill you don’t have, don’t be afraid to reach out to people for collaboration. It’s like building a startup, so you have to be strategic and plan things well. Think big and allow a few other people to be part of your team, each with their own part of the project they’re working on.

Break down your solution into chunks and start building on them, one by one. Write code and make sure it’s very organized and high-quality. In case you think it’s too much work for you, again, don’t hesitate to reach out to people for collaboration. But if you think you can do it alone, before the deadline you’ve set for yourself, go for it!

Test Your Solution

Build and build till you get to the end. Have a Minimum Viable Product (MVP), which represents a basic version of your product that satisfies the necessary requirements for your solution. Send the MVP to your family and friends and see them as your first customers. Ask for their honest feedback and how they think you can improve the MVP. Test your product on multiple devices and be sure it’s working fine on all of them. Fix bugs when you have to, and make sure the basic functionalities are not lacking. As mentioned earlier, don’t make it too big at first. You can always improve later, and add new features. After enough testing and evaluation, you can go ahead and launch!

What Next?

After you have launched your product, or solution to the problem you discovered, you now have to see how it performs. Listen to customer feedback and make sure you make people want to choose your solution, over and over again. Of course, not everyone will be pleased with your solution, but that’s totally okay. You have the first version of your solution already, now it’s time to start working on the second version. This is when you improve the existing features and even add new ones. Remember, “the wealthiest people in the world are problem solvers”, so if people like your solution, they will pay you for it. That’s how to contribute to solving real-world problems with technology as a programmer!

--

--

Samuel Ogunleke (SamuelHSSP)
Samuel Ogunleke (SamuelHSSP)

Written by Samuel Ogunleke (SamuelHSSP)

Founder at Tech Plus Plus • Creator of CMDTube and PyPkgGen (Python library with 10.1k+ downloads) • Software Engineer • Technical Writer

No responses yet