10 Skills of a Programmer

My father is serving an eighteen month mission to the people of Malaysia. He recently sent me this email:

In our career workshop class the students have the assignment of getting the skills from someone who knows of the job they are seeking.  We have one student who wants to be a programmer.  We do not know an expert in the field, so we are asking you to send us a list of 10 skills that you would require of a future programmer employee?

Here is my reply:

It’s a hard question to answer, because the field of programming is very vast, and spans five main categories:

  • Web Development & UI design
  • API & Integrated Systems
  • Database(s)
  • Software Coding
  • Mobile

Regardless of the field however, I would put my top ten as:

  1. Solve Problems – Math is important because it teaches logical problem solving. A programmer must solve problems using logical progression.
  2. Learn on the Job – Things change, code changes, languages change. You must be constantly learning or you will be left behind.
  3. Organized – The best code can quickly be interpreted by a peer in the industry.
  4. Self-Taught – Programming structure and standards continually change. A programmer must be willing to pick up a 500 page book and read it.
  5. Team Player – Programmers create bugs, no programmer is perfect and must accept and deal with criticism.
  6. Know 1 Language Really Well – Having an understanding of general programming is good; but knowing one language is critical.
  7. Friendly – Today’s world cannot deal with programmers who don’t interact well with others. It’s a team-based world now.
  8. Detail Oriented – Cares about the small things.
  9. Google-ist – Great code has been written; and is available to learn and use. Programmers must be resourceful & not re-invent the wheel.
  10. Know Joel – Joel is considered the foremost expert in the programming world, yet keeps it simple) Read & know his philosophies.

That’s my list.

About the author