Become a Better Programmer: 6 Important Nuggets.

Stephen Kastona
Technology Hits
Published in
5 min readFeb 8, 2021
Credit: pexels.com

Starting your programming journey can be a daunting task. It might seem like sailing solo in turbulent waters. Below are some valuable guides to keep you on track as you continue your programming journey.

You don’t have to memorize

This is a problem I see with new programmers. New programmers think that they have to remember all the syntax and functions of a language or if they implement a solution, then they have to remember every step of that solution to fully claim they’ve solved that problem. You do not have to remember or memorize anything. I remember ICPC contests back in my undergraduate days. It felt like cheating when my team learned that we’ll be allowed a 20-page reference material and that all the contest computers have the official programming languages documentation. If our worth as programmers depends on how good of a memory we have about function names, these provisions will be cut short. In an ideal software development environment, programmers have access to official documentation and help forums like StackOverflow. Your ability to use a language’s documentation or tailor a StackOverflow solution into your use case is far more important than blatantly remembering syntax. Most of the time, the knowledge that there is a Math class with factory functions to help with mathematical calculations is enough, for instance. If I need to work with mathematical functions, I will look up the Math class in the documentation to see if it covers my use case or I need to implement my solution.

Use technologies as tools

Treat programming languages and technologies as tools that you use when you need them. I am not saying that keeping a checklist of languages to learn is a bad thing. But if you want to grow as a programmer, you have to start seeing programming languages as tools. If a carpenter needs to hit a nail into wood, he picks his hammer and does the job; if the job at hand is cut wood, he finds his saw. There is no emotional attachment to these tools, every tool is serving its purpose. Don’t become too attached to programming languages that you don’t look at better alternatives for your problem. If I am going to do a lot of data analysis and I am a PHP developer, I am definitely going to adopt Python not because PHP cannot be used for data analysis but because Python is pretty much established in that regard and thereby has more tools and support. If you are too attached to a particular language that to you, every problem is a nail, then you will struggle solving problems when there are established solutions elsewhere.

Stop running after the next cool stuff in town

Jumping from one framework to the new kid in town will only slow you down because there will always be a new cool framework and there will always be a learning curve accompanying it. Joining the cool train should not be the reason for adopting a new framework.

Ultimately, all programming languages do the same thing -instruct the computer. Frameworks will come and go but your ability to program is what’s important. The majority of your users will not care what technology you use. Take Facebook, for instance, I can bet that over 90 percent of its users have no clue what technology it’s built with. All they care about is they should be able to log in every morning and post their life away. Your clients will not mind either, so long as it solves their business needs, whether it’s built with PHP, Java, Python or JavaScript is beside the point.

Be problem-solving oriented

I cannot emphasize this enough. This is one of the best approaches to improving yourself as a programmer. Let problem-solving drive your learning. Programming is a difficult endeavor and you need a strong motivation to keep going. I have learned a few programming languages and technologies along the way, and that’s not because I keep a checklist of programming languages to learn but because I was busy solving problems. Look around you, what existing problem do you think needs solving. Find that lurking problem and see how to solve it. If there is a problem to solve, taking the challenge will push you to learn the tools necessary to solve it. For my national youth service, I was posted to the quality assurance department of a university. I noticed a problem right away. We had to perform certain calculations on every course data to determine if the grade distribution is acceptable. I am talking about more than 50 departments. Not surprised why it took close to a month of intense work to achieve the last analysis. This is a problem that requires the knowledge of Excel VBA. Because there is a problem that needs solving, it didn’t matter if I like Visual Basic or what the learning curve is, it was a fast and easy learn in the end. That wouldn’t have been the case if I was just learning Excel VBA for the sake of adding to the list of languages I can code in. When we know that we are solving a real problem, especially one that is going to affect a lot of people, it drives us into learning the technologies necessary to achieve our goal in a short time.

Learn on the go

This builds on the last point. You’ve found a problem to solve? Start building right away. You don’t have to be perfect before you start building stuff. Get out there and get your hands dirty. Learn on the way even if you don’t know the tools necessary to solve the problem. You should not wait until you’ve mastered the whole framework or programming language. Experienced programmers are always learning and picking up new skills along the way. Learn only what you need at the moment and move on. By the time you are done with the whole project, you must have acquired enough skills. This approach also helps you break out of the tutorial hell plaguing a lot of programmers because if you don’t need this knowledge now why hoard its tutorials, right?

Ship out

If you think you’ve built your solution, one that solves a problem, ship it out. Don’t wait till it’s perfect. All of the great apps you use today have gone through so many iterations of improvements and many more will come. Just as you can learn on the go, you can improve your solution on the go. Getting your solution out there is the best way to know what’s wrong with it or what features need to be included. By shipping out you also learn new skills that can only be learned in a production environment.

In summary

To improve as a programmer, you don’t have to memorize anything. You can always look up the documentation or seek help in programming forums. You should use technologies as tools and not become attached to a particular language/framework that every problem must bend to accommodate the language or framework. Don’t always go after what’s trending as frameworks come and go but your ability to actually program is what is important. Let problem-solving drive your learning. This will motivate you to learn anything in order to solve the problem. Always learn on the go and ship out your solution when you are done.

--

--

Stephen Kastona
Technology Hits

I learn, unlearn and relearn. I write code. I’m a christian. I love family. I love to grow.