Bona Akubue | Software Developer

best books for programming in Python

How to become a self-taught programmer?

As a self-thought programmer, I must confess that learning programming on your own is not a smooth ride.

However, if you must take this path, then here are a couple of things to keep in mind.

Becoming a self-taught programmer can be easy with the right information and commitment to follow it through.

Sharing my own personal experience, I struggled for years trying to learn to program on my own. I must confess that it wasn’t an easy feat. Year after year, despite reading so many books and watching so many videos, I was unable to execute real-world projects on my own.

The best I can do is solve the exercises that come with the books and anything beyond that is simply too much for me.

With consistency and determination to succeed in programming, over time my confidence grew and I found myself executing or overseeing complex software projects.

No doubt, there are many ways you can learn coding, but in this post, I will be sharing with you easy ways to master coding faster than you ever imagined.

In this post, I will be sharing with you real-life and actionable tips that will help you so much in your journey to becoming a self-taught programmer.

Have an optimistic mindset

First, it all boils down to PERCEPTION and perception is everything. Your perception of coding determines the amount of time you are willing to commit to learning and practising coding.

Your perception determines if you can give up your night’s sleep to read or practice coding.

If you have a positive perception of anything, definitely, you will find fun in it. On the contrary, if your perception is negative, you will not be able to find fun in it.

For me coding is fun. If you change your perception of programming to a positive and pleasurable one, naturally, you will begin enjoying every bit of it and as well become great at it.

 

Master the basics and don’t be in a haste

If you really want to master any skill, be it driving, cooking, drawing and likewise coding, you must know the basics. A lot of times, we wish to become masters overnight, neglecting the fundamentals.

So many young programmers are in a hurry to build the next Facebook, most times overlooking the basics, only to discover much later that they cannot advance further because they lack the requisite knowledge.

It’s just like skipping algebra in mathematics to learn calculus. Surely, you will be stuck along the line. If you skip the coding fundamentals, you will end up copying codes from StackOverflow or looking for sample codes to tweak. You will lack the confidence to handle any task or project.

So, learn the basics, and never skip anything until you are very proficient in it. If you are learning a programming language, try as much as possible to understand the basic things like data structures, operators and operations, iterations and controls. Never skip anything, because what you learn at this stage will determine the extent you will attain in the future.

If you really want to be a developer and not lose interest along the line, you must strive to master the fundamentals.

It’s one thing to desire to learn coding and another thing to remain committed to learning. So many have taken this path before, and somewhere along the line, they lost motivation and quit.

Just like every other skill, becoming proficient in programming demands a high level of commitment. As far as programming is concerned, everything is constantly evolving and if you’re not keeping up with these changes, you will not be valuable. While not implying that you learn everything, imbibing the attitude of continual learning is paramount.

Therefore, dedicate quality time for study and practice, maybe one, two or even ten hours each day.

Whatever time you’re allocating for this, the importance of consistency cannot be overemphasised. Don’t be in a haste to master programming but if you really want to accelerate the process, you might as well spend more time learning and practising.

Learn by practice

In my experience, you can never become a great programmer by only reading programming books. You have to spend most of your time practising. You can memorize biology, but not coding.

A lot of times, you may think that you know enough only to go blank when asked to put into practice those things you thought that you think you know or rather memorized.

So, punch in every code you see or read on your computer.

If you want to become a better programmer, then you need to discipline yourself to code every day. The truth remains that the only way you can master any skill is through practice. With practice, you gain more experience and confidence to tackle any problem that might come your way.

No matter how many programming books you have read or how many hours you have spent watching tutorials online, without practice, you’d be surprised to discover that you can’t even replicate some of the codes you read in books or watched in videos.

If you really want to make a successful career in programming, spend more of your time problem-solving or trying out the things you read in programming books or watching tutorials on your own. Make mistakes, and learn from your mistakes. Over time, you will become a master.

Learn to think algorithmically

I have seen people with good knowledge of all the programming concepts and syntaxes of a given language, yet unable to write programs to solve even the smallest problems. They know everything about the language, but when it comes to applying their knowledge to solve real-life problems they get stuck. So, what then is the problem?

What are they missing?

Algorithmic thinking!

This involves breaking down a problem into fine details. It doesn’t matter if you have the solution in your head, if you cannot break it down into little chunks, it will be hard for you to express it in a computer program.

Mind you programming is about giving instructions to the computer. The computer is not human and in order to give instructions to it, you have to break down the problem into tiny chunks. Don’t assume anything. If a little child cannot understand the step-by-step details of the solution to the problem, then you still have some work to do.

The truth is that no matter how knowledgeable you are with a programming language if you cannot use it to solve problems, you are as good as someone with no knowledge at all.

The reason why so many people struggle to learn programming is the inability of this way of thinking. Always think of solutions to a problem and break down the solution into details as much as you can and over time, it becomes second nature to you.

Revisit your basic mathematics

Programming is about logic and being able to break down complex tasks into very simpler chunks. In as much as you can perfectly do fine with very little knowledge of maths, revisiting your high school’s basic arithmetics and boolean logic would help a lot.

A good knowledge of mathematical concepts like algebra, statistics, and geometry would be of immense benefit to you as you start venturing into serious programming projects like game development, artificial intelligence and so on.

Make search engine your friend

With the massive amount of information available on the internet, it’s a lot easier now than in the past to learn anything including coding. Yes, there is an endless pool of information or resources accessible online, but still, so many people struggle to have a real grasp of how to learn to code.

Almost every piece of information that you need is available online. As much as I don’t encourage rushing to the search for every little challenge you encounter, without putting effort to figure out the solution on your own, there are times when it becomes absolutely necessary.

For instance, you can use the search information for research purposes or to get more information that would clarify some issues for you.

You might as well use it to view other people’s opinions or solutions to a given problem. As an advice,  use search engines when you have exhausted available ideas or are in need of fresh ideas while solving a problem and not a place where you copy other people’s codes.

Challenge yourself with cool and interesting projects

There is nothing more exciting and fun than seeing your project working or seeing others use applications developed by you.

It’s so refreshing and rewarding.

If you are feeling bored by coding, it’s most likely that you are not challenging yourself enough.

Play with the codes while learning!

So, if you want to achieve the milestone of becoming a master, then you must be curious.

You must have the eagerness or willingness to learn.

Apart from a willingness to learn, you have to be willing to explore and experiment while learning. You have to desire to discover things on your own.

This means readiness to make as many mistakes as possible, as well as learning from the mistakes. Mind you, most great discoveries are a result of mistakes.

In essence, curiosity will enable you to acquire knowledge and experience that you may not get by reading books or other people’s codes. At some point, you will become knowledgeable and experienced enough that you will hardly be frustrated while solving problems.

Hence, it will be all fun and a journey of discovery.

Also, you must understand that coding is not a one-way thing. There’s no single way or code to solve a problem. As such, there are a thousand ways of writing codes to solve a single problem or task. So, play around with codes while learning because true and lasting knowledge only comes through discovery.

Make mistakes intentionally and see the error messages that come up. Try solving a problem in multiple ways and then decide for yourself the better options.

Don’t be ashamed to ask for help

Coding can be tough and exhausting. One single mistake or error has the capacity to halt you for a long period of time.

No matter how hard you try to identify the error or solve the problem, you always reach a dead end, yet the error messages still glaring in your face.

So, what do you do?

Give up?

Keep trying or ask for help?

For me, I rather do the latter!

So, feel free to ask for help. Don’t allow ego, to stand in your way to mastery. Besides, no man is an island of knowledge.

Finally, always be open to criticism. Though it’s not always fun when being criticized, don’t allow the criticisms to dampen your spirit, instead, see it as a learning experience.

Conclusion

As easy as it appears, if you follow these tips, you will be surprised at the milestones you would attain within a very short period of time. Programming is one of the best careers anyone can venture into. For me, being able to solve real problems for people is my motivation as a software developer.

However, you must understand that technology evolves and to be on top of your game as a programmer, you must imbibe the attitude of continual learning.

Every day is an opportunity to explore and learn something new as you add value to your clients or employers. So, strive to improve every day to remain valuable or become valuable in the marketplace.

Leave a Comment

Your email address will not be published. Required fields are marked *