Soft Skills Just as Important as Technical Skills

Programming is extremely difficult.  Not necessarily the act of programming.  Languages have straight forward syntax that follow logic.  So if you think clearly, you can probably program.

The difficult part is the surrounding stuff:
  • How to fix problems you weren't expecting. 
  • How to integrate with other apps without breaking stuff. 
  • Translating business rules into code. 
  • How to interact with the business users. 
  • Where to store the source code. 
  • Moving code from development to test to production. 
  • How to fix defects. 
  • How to log your time. 
  • How to estimate your time. 
  • How to time management. 
  • How to prioritize your tasks. 
  • How to inform the team and clients of your progress and identify impediments. 
  • How to close out a project. 
  • How to speak to senior management. 
  • How to find your next job. 
  • How to network. 
  • How to present in front of groups. 
  • How to learn new technology and stay current. 
  • How to write your resume. 
  • How to market yourself in the social space.
Most of all, if you want to get into programming, ask yourself if you are self motivated, self directed, can solve problems with little or no assistance, good at time management and meeting deadlines and disconnect occasionally  so you're well rounded.

Programmers create for a living.  Once you finish the project, you're on to the next.  Nobody's goes back and looks at your code and gives positive feedback.  Chances are, you'll get very little recognition unless you finish the project way under time or budget, even still, customers rarely acknowledge all the hard work that went into the final product.

On a positive note, good programmers have a good future in any economy.