Wednesday, October 2, 2013

Five Skills Needed to be a Good Programmer

When you think about the skills needed to become a programmer, you might immediately list off programming languages, mathematical skills or other technical topics. However, the core of being a good programmer is not what languages you know, how much technology you have knowledge about, or even how much work experience you have--it is about having these core basic skills in order to even get the ball rolling.



1. PROBLEM SOLVING ABILITY




This is the most basic skill required. Software development is all about solving problems. If there weren't any problems, there wouldn't be any software.



A good programmer should have the ability to work through the details and think in different ways to reach a solution. Some problems require more creativity and attention to detail. Some problems involve understanding the business logic behind the problem, while others require analytical thinking and intuition. A good programmer is able to solve problems in different ways and present multiple solutions.



2. MOTIVATION



Good programmers have enthusiasm and are passionate about programming. It isn't just a job, it's what they enjoy. You should really love it.



Good programmers show interest in what they do, are motivated to learn, and teach themselves new skills. Programming languages evolve, new ones emerge, and new concepts are presented on a regular basis. Therefore, programmers need to stay ahead of the game and learn new things. Do not wait until it is necessary to learn something for a new project--research technology ahead of time so you are familiar with the concepts already.



3. ABSTRACT THINKING



Abstract thinking is a way of generalizing or conceptualizing ideas. It is about thinking more in depth. It is the opposite of concrete thinking, which deals with thinking about the "here and now".



Computers are complex systems and programmers need to have a way of thinking to abstract each component of the system. You must think about things in different ways ("Think outside the box") in order to design every detail and program a system effectively. This skill is used to develop good designs and come up with logical conclusions. It can be thought of as a skill that goes hand in hand with problem solving.



4. PATIENCE



Patience is a virtue. Software development takes time.



It takes time to carefully plan, design and execute the process. It takes some time to write the code. You won't always be writing something that is fun and exciting, but a good programmer can crank through the tedious work and see the bigger picture.



As a programmer, much of your time is not spent writing code, but instead on testing and debugging. Good programmers have an eye for detail and can debug issues with great patience. You will also spend time debugging other peoples' code when inheriting systems that are already in place or code written by team members who are no longer on your project.



I cannot emphasize enough the importance of being patient and testing your code. It will be a lot easier to take your time and go through testing, rather than becoming frustrated later when you realize there is a huge mistake and things need to be rewritten.



Another area that requires patience is documentation. You don't know how many times I see code without any comments or documentation to go along with it. Go through and properly document your code, giving detail and explanation about everything to prevent confusion later.



5. PEOPLE SKILLS



Being a programmer isn't all about your intellect--you'll need to be able to interact with people, too! You might work with fellow programmers, as well as other people involved with different aspects of the system: managers, clients, etc.



Good programmers know that their code will be used by people. Even the back end code for a complex system and database processes are used by people even if it's the user interface (UI) that people will interact with. Good programmers understand this. They document well to help people use their code and realize that putting people first is important.



These are what I consider the five most important traits needed to be a good programmer. They are the basic foundation for knowing how to program well in any language.10/2/13



The post appeared first on .
Full Post

No comments:

Post a Comment