How To Become A Good Computer Programmer

A good programmer is one who is able to apply the programming concepts and methodologies they learn to create solutions out of that knowledge. There isn’t a specific universal code that spells rules and regulations that budding computer programmers must observe in order to gain complete authority over programming.

How do the best programmers learn how to code? Well there is a whole lot of methods they use to accomplish that. Taking lessons from the experts might lead you to discover your own way to make computers work for you through code. It begins with finding out those tactics that work best for you.

Here are tips on how to become a good computer programmer.

Find your field of interest

It begins with soul searching. Chances are that you will perform well in programming if you love what you are creating. Which field would you love developing applications for?  It’s way easier if you take it as a “hobby”, rather than a decision you were coerced to make. Find out which programming languages you can use to start developing your desired applications. Pick one that you think will be the best for you. You’ll need to do in-depth research if you aren’t sure of the right choice. 

Learn from your mistakes-it’s ok to get it wrong

Even the best programmers have had moments when they could not get things right even after several trials. Learning through mistakes is a sure way to grasp concepts once and for all. When you finally figure out a way out of a tight fix, it boosts your confidence and you begin to realize and master your strengths.

Cultivate patience

Give yourself time to understand concepts. Learn to work step by step. It will probably take you many cups of coffee in between to get past “deadends” in code and you need to be patient with your development. 

Interact, share ideas, help others out

You will be surprised how much new knowledge you gain from exchanging ideas and helping others with their code. You might just find new ways of tackling problems if you don’t keep the knowledge you have to yourself. Use forums to exchange ideas with people working on similar projects as yourself. Popular forums like Dream in code and Cnet.com can go a long way in helping you learn by engaging with coders.

You can join a live code streaming community and develop your applications as you teach others how to program. Livecoding.tv is one such platform where developers stream their code live and interact with thousands of viewers and other programmers as they work.

Learn by apprenticeship

Learning to code by creating a real product increases your level of concentration and your desire to overcome problems. Find a programmer who is willing to let you learn by co-developing an application together. It’s motivating when you have targets to meet or milestones to complete.

Work in a team

Programmers will always find different ways of overcoming similar problems. A team is a shared resource of knowledge that can help you figure out an entirely different approach to a problem. Learning from different perspectives helps you cement the knowledge you already have while teaching you new ways to deal with difficult problems.

Find group projects where your input can be valuable. AvCasterfor example, is a free and open-source community project being developed live that aims to create a simple Native Gstreamer GUI for screencast, webcam and audio streaming. The collaborators share ideas and learn from each other.

Use tools

Many programming languages/frameworks/platforms come with tools such as plugins to make application development less demanding. They can play a big role in helping you to figure out an easier way to understand code. It’s not uncommon for example to find people who learn’t HTML by working with Wordpress and alternating between the code view and design view to understand how it works. 

Participate in coding contests and hackathons

Coding contests allows computer programmers to benchmark their skills against other contestants. It’s an opportunity for coders to expose their skills and learn at the same time. Google for example holds a Distributed Code Jam where contestants compete to write code for distributed systems. Sharpen your skills by taking on others at such events/programs and you stand to gain a lot from the experience.

Keep learning

Technology is ever changing. You’ll need to keep yourself up to date with the trends in your field to remain relevant. Check for new software updates and any relevant changes happening around you. Today, it’s quite easy to be at par with the latest trends in the the technology world. You can subscribe to newsletters and join social groups and forums in your field of interest that deliver instant news. You will get insight into trends that are related to your niche.

Tom Cargill of Bell labs once said, “The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.” It attests to the often demanding nature of programming. It takes effort, determination and a lot of patience to a proficient programmer. You can be one. It just depends on how much effort you give into it.

Avatar
About author

I, Dr. Michael J. Garbade is the co-founder of the Education Ecosystem (aka LiveEdu), ex-Amazon, GE, Rebate Networks, Y-combinator. Python, Django, and DevOps Engineer. Serial Entrepreneur. Experienced in raising venture funding. I speak English and German as mother tongues. I have a Masters in Business Administration and Physics, and a Ph.D. in Venture Capital Financing. Currently, I am the Project Lead on the community project -Nationalcoronalvirus Hotline I write subject matter expert technical and business articles in leading blogs like Opensource.com, Dzone.com, Cybrary, Businessinsider, Entrepreneur.com, TechinAsia, Coindesk, and Cointelegraph. I am a frequent speaker and panelist at tech and blockchain conferences around the globe. I serve as a start-up mentor at Axel Springer Accelerator, NY Edtech Accelerator, Seedstars, and Learnlaunch Accelerator. I love hackathons and often serve as a technical judge on hackathon panels.