Custom Search

Monday, June 21, 2010

Computer Programming: Ten Skills Needed for Success

As a Technical Writer currently taking on languages like Microsoft Visual C# and XML, I have noticed that there are skills essential to language mastery. Computer programming is dynamic today in ways unlike before, without a doubt. So, for those of you who are currently trying to expand your knowledge base with a new language or two, or you are brushing up on details of a computer language or two that you already know, here are some tips to keep in mind as you scale the mountain of computer programming:

One. Basic Logical skills. The most common forms of basic logic and decision making within programming are the do-while and if-then-else approaches. Here, the programmer needs to consider the choices available within the program in terms of direction and what the application should do at that particular moment.

Two. Top-Down Thinking skills. Generally, a computer system is comprised of different “sub” systems so a programmer needs to have some design or top-down thinking skills to see the program from the larger picture. Have I created modules or sub-systems that properly divide the system for optimum performance? Just like in Economics you have micro and macro economics, so it is with programming.

Three. Object-Oriented Language Thinking skills. Many or most of today’s languages are Object-Oriented, meaning that you are working WITHIN the framework of inheritance and polymorphism, among others. You can increase an application’s performance by appropriately accessing and using the inherent powers of the languages by working with wisely selected classes, methods, properties and things of these kinds.

Four. Attention to detail. Each programming language has detailed reference and keyword-type aspects that must be understood. For you to include a class or method, you need to code these items correctly, with the right syntax.

Five. Ability to read specifications. Programmers today often work with architects who do the actual system design and then the programmer must code according to these specifications. This is a challenging task because the programmer must be able to interpret the specs and then code so that the parameters given are followed and finally implemented.

Six. Ability to test. Most programmers today see themselves as coders and nothing more. A good programmer will always be a great asset to a software company if he or she can test the code written so that different data is presented and the code handles it correctly. Some programmers think testing is only for Quality Assurance, but sometimes programmers can see further into the application, and so their testing can actually be even more critical to the overall success of the application.

Seven. Dedication to documentation. Just like testing, many programmers think that coding is all that matters but really it helps the company when a programmer leaves nice comments in his or her code for future programmers. This way, as new releases are designed, others who will recode a module or application will be able to see into what was previously done.

Eight. Good business sense. Sometimes it is hard for us to extract ourselves from coding and then see the “big picture”. This is important. All programming ultimately serves a larger purpose where the application is going to help a customer or client in some way. It is good for programmers to subscribe to a blog or magazine that discusses market trends and needs for the market that he or she is serving.

Nine. Patience. This is not a technical skill, but a skill nonetheless that will take a programmer far. Coding is not easy, and so the more patience a programmer cultivates, the greater the success he or she will experience.

Ten. Perseverance. Along with patience, the skill and personal trait of perseverance is very important for programming success. Sometimes, many, many compiles will have to transpire before all bugs and errors are overcome and eliminated. Stay the course and stay focused with perseverance.

No comments:

Post a Comment