Becoming a Better Programmer

I talk a lot about the non-programming aspects of software development since I think that they have the most impact to a good programmer’s career.  I try to remind readers that you have to be "at least good" as far as programming goes to become a Big Swinging Developer.  This doesn’t mean that I think that developers shouldn’t be constantly building and honing their programming skills. 

A post on ReadWriteWeb entitled Top 10 Concepts That Every Software Engineer Should Know reminded me why I focus on the non-programming aspects: Other folks already have the programming aspect covered pretty well.  I really liked their list and their reasoning behind it.  It’s definitely worth a read and even if you don’t agree with it completely, it’s likely to get you thinking about what you know and what you want to learn. 

Here’s their list:

   1. Interfaces
   2. Conventions and Templates
   3. Layering
   4. Algorithmic Complexity
   5. Hashing
   6. Caching
   7. Concurrency
   8. Cloud Computing
   9. Security
  10. Relational Databases

Comments are closed here.