How to Think Like a Programmer

Adapting a Methodical Approach to Problem-Solving

Daniel Wieser šŸ”„
The Fresh Writes

--

Ā© Daniel Wieser ā€” Midjourney + PS

Introduction

When you watch programmers, you get the feeling that they have a plan about the problem they are about to tackle. But thatā€™s not accurate. They are often wrongly perceived as knowing everything.

As far as programming is concerned, itā€™s more about figuring things out on-the-go than knowing everything from the beginning. Programmers embrace uncertainty ā€” and succeed!

Programmers have a distinctive method of solving problems.

By not being afraid of the unknown, they are able to continuously learn and grow. It allows them to approach new challenges with an open mind, free from the constraints of pre-existing knowledge.

Programmers often dive into new challenges without having complete knowledge about the problem at hand, push themselves out of the comfort zone, and adapt to new situations

This article will explain the programmer mentality and provide tips on how you can adopt it too.

What programming isā€¦

You cannot know everything from the beginning and so canā€™t programmers. What they have done though, is to solve many problems by themselves.

And over a longer period of time, they have adapted and gained experience. And they draw from other peopleā€™s experiences and knowledge which is shared on various websites.

What you think programming is:

  1. See a problem
  2. Write the code
  3. It works!

But lot of programming works like this:

  1. How do I make this work?
  2. Google, StackOverflow, etc.
  3. Ah wellā€¦ Iā€™ll try it
  4. Doesnā€™t workā€¦new error
  5. Googleā€¦StackOverflow, etc.
  6. Ah wellā€¦ OK, Iā€™ll change itā€¦
  7. Then error againā€¦
  8. Again searching for a solution
  9. And so on, and so onā€¦

Over time you learn what works and why it works.

You identify patterns.

You then try to adapt a problem from a different angle, solve it in a way you already know.

You combine multiple solutions to create new and more effective approaches.

This process of continuous learning and adaptation is essential to the development of a programmerā€™s skills and expertise. By constantly seeking new ways to solve problems, a programmer is able to stay ahead of the curve and bring new ideas to the table.

Other users already have use cases and you try to find what they have done that is similar to what you have done.

If that doesnā€™t work, then you ā€œbreak downā€ the problem further and further and look in the documentation for explanations of how things (terms, syntax) are used.

Ā© Daniel Wieser ā€” Midjourney

Programming a calculator

If someone tells you: ā€œProgram a calculatorā€ what do you need?

  1. Input
  2. Validation
  3. Arithmetic operations
  4. Output
  5. ā€¦

But how do I know that?

I have already programmed a calculator and faced several difficulties along the way. New errors occurred. How do I solve them? It was a continuous learning processā€¦ A continuous solving of problems and errors. If you are a good programmer, you already know these things.

The more problems you solve, the easier it is to solve new errors.

Conclusion

You might think you do not need to know how to program.

You might believe your life is good without knowing how to use code to solve problems.

Well, I am here to tell you that programming is useful for any difficult task you want to tackle.

The process of programming involves breaking down complex problems into smaller, manageable parts.

And then finding solutions for each part.

This methodical approach to problem-solving can be applied to a wide range of situations.

Both in and outside of the programming world.

What programming languages should you consider to learn?

A programming language is a way for programmers (developers) to communicate with computers. Programming languages consist of a set of rules that allows string values to be converted into various ways of generating machine code, or, in the case of visual programming languages, graphical elements. ā€” source

According to Simplilearn, the following programming languages are in high demand in 2023:

  1. Javascript
  2. Python
  3. Go
  4. Java
  5. Kotlin
  6. PHP
  7. C#
  8. Swift
  9. R
  10. Ruby
  11. C and C++
  12. Matlab
  13. TypeScript
  14. Scala
  15. SQL
  16. HTML
  17. CSS
  18. NoSQL
  19. Rust
  20. Perl

But of course, you can learn any programming language you want to learn. It is the act of learning and applying what you learn, what will give you all the benefits. The programming language itself is not that important.

Whatā€™s important is your interest and dedication.

šŸ”„ Genius Mastermind is a persona that is still being developed. More things need to be learned, more books need to be written. Follow for more articles on Book Writing and how to write your own book.

šŸ“š Books:
šŸ“˜ Speed Reading Genius
šŸ“• The Secrets to Learn Any Language
šŸ“— Why Everything You Know About Making Money Is Wrong

--

--

Daniel Wieser šŸ”„
The Fresh Writes

http://www.danielwieser.com Genius Mastermind šŸ“š Wrote a lot of books just for fun | ASD | Writes about writing books, technology, AI, ChatGPT.