Learn to Code: So You Want To Be a Programmer

Programmer with hand on keys

It's never been easier to use computers than it is today. Users can do major tasks with little or no knowledge of how their computer works. They use many different programs to surf the Internet, use e-mail, create presentations and read documents through computer programs. These basic programs are created by programmers who write the computer code to allow all those wonderful things to happen.


Programming is the process of instructing a computer or program to do specific tasks. Programmers encode an algorithm in a language code so that the computer can execute it. Computer programs can be considered as the interface between a user and the hardware so that it can serve the user. Programming is not limited to traditional computers only; it also includes programs for the billions of mobile devices.


Programming traits

There are some common traits of successful programmers. While it isn't necessary to have all of them, possession of most will go a long way toward ensuring successful pursuit of career opportunities.


Passion. Although passion is generally a trait of successful people in any field, it may be even more beneficial in programming than it is in many other realms. Programming involves lot of work writing, revising and fixing code. If the work isn't interesting to you, boredom will set in very quickly.


Patience. When code goes bad, programmers can spend days wrestling with thousands, if not millions, of lines of code while solving the problem. In addition to "bad code," customer requirements change regularly, and almost never at a convenient time. The patience of Job is often required. Without it, frustration and dissatisfaction can wear anyone down.


Continuously learning. Many Programming languages have existed since we started programming computers. Some languages evolve while others disappear. A good programmer will continuously learn and stay abreast of developments in his (or her) field. Programming pros must have a willingness to adapt and learn new languages as the market changes.


Ability to analyze. Programming involves lots of analysis, starting with analyzing customer requirements and ending with analyzing and fixing code problems. The stronger your analysis skills are, the more efficient and capable you will be when solving code problems.


Stress management. Programmers continuously undergo stressful situations. They regularly function in demanding and time-sensitive situations. Additionally, any delay in programming costs clients or employers money. Meeting tough deadlines and fixing bugs in operational software is not for uptight personalities.


Teamwork. Most of the time, programmers work in teams. Major software programming projects are divided into smaller projects and programmers have to coordinate and work together. Cooperation among multiple programmers is an essential element of the successful integration of building software solutions, especially in larger projects requiring massive amounts of integration. Programmers must absolutely be good team members.


Becoming a programmer

Step One — Choose a programming language that matches your interest. Languages fall into several different categories:


� Web programming for designing and maintaining websites.

� Mobile applications for mobile operating systems.

� Computer programming to develop programs that computer users can use.


Whichever programming category you choose, it's recommended you begin programming using a simple, general purpose language. Two programming languages that match this recommendation are Python and Ruby. Both are easy to learn and simple to use in coding. Many programmers begin with these languages as a way to develop their skills, and then learn more advanced languages as they progress in their careers.


Other popular, but more complex, programming languages worth investing the time and effort to learn include:


PHP — A server-side interpreted programming language widely used in web development. It can also be mixed with HTML.

Java — Part of the Oracle Corporation and currently one of the world's most popular programming languages. It's usually top rated when identifying the most popular programming languages in the market.

JavaScript — Different than Java and considered a client-side programming language. It's very popular in World Wide Web browsing and is supported by all modern web browsers.

C++ — An Object Oriented programming language mainly used in systems and applications software. It's widely used also in programming games.

� C# — Developed by Microsoft and used in a wide range of applications including operating systems, gaming, and web applications. It's a direct competitor to Java programming language.

Visual Basic.Net — Also from Microsoft, this is a high-level Object Oriented programming language. It's intended to make web services applications easier to develop.


Step Two — Gather the resources that you will use to learn. Many universities, institutes and companies provide learning programs accompanied by academic or professional certifications that develop a learner's programming skills. There are also literally thousands of available books and publications, paid and free, on the internet. Just download and start learning from home. Educational videos are also available on the internet, and can be beneficial for those who prefer visual learning.


Programming concept art

Step Three — Practice, practice and practice some more. Practicing is what distinguishes a good programmer. It's also true also that if you read without doing you will never learn programming. Learning a programming language is like learning a human language. If you don't practice regularly, you'll forget what you have learned. Similarly, the more you use the language, the more your vocabulary and skill will increase.


You should also use any available troubleshooting tools to check and fix your practice code. Learn to use a debugger to analyze your code and learn its dependency. It will enable you to go step-by-step through your lines of code and follow its logic. Debuggers are essential tools for programmers, and you probably will them on a daily basis.


Step Four – Learn continuously. A good programmer usually learns multiple programming languages. This helps enrich your portfolio and increase your chances of success in the programming field. A new language is not necessarily a replacement for an existing one — it's usually a complement to it.


Becoming a programming pro isn't easy, but it is doable. If you have the traits, enjoy learning and like solving problems, then this may be the IT field for you.



Would you like more insight into the history of hacking? Check out Calvin's other articles about historical hackery:
About the Author
Ahmed Badr

Ahmed Badr is a network consultant with more than 10 years of experience designing, implementing and operating large scale network infrastructures. He holds a BSc in Communications and one in Electronics Engineering, and a Master of Business Administration. He also holds a CCIE certificate in Routing and Switching since 2008. Ahmed can be contacted at: abadr.ahmed@gmail.com.