The 10 Commandments of Software Development

  1. Love.

    Love what you do, or don’t do it. Love the people that inevitably come with software development: Other developers, managers, testers, users and people that “just don’t get it”. Love them unconditionally, or don’t do it.

  2. Be Positive

    Those that go looking for problems can do precisely one of two things: They can fix it, or they can move on. No good comes from bitching about things, and generally increases the white noise. Don’t be white noise. Fix things. Organize. Open up possibilities. Explore new avenues. Look to the future. Avoid the negative, because it has no future.

  3. Lift Up. Don’t Push Down

    People all around you will make mistakes, just as you will. What can you do to lift them up? What can you do to help? See opportunities to improve your team, your processes, your knowledge. Pushing down on those around you only gets you so far, until everyone wakes up and sees you for what you really are.

  4. Learn

    Software development is nothing like when we started. It isn’t anything like it was last year. This is the constant state of our industry, so embrace it. Go learn something new, even if it is in the same language you’ve always used. Ask yourself if you are adding new experiences to your knowledge or the same one over and over again.

  5. Sell

    Everyone is in sales. So sell your ideas well. Selling your own ideas is much more difficult than sitting around just shooting holes in other’s arguments. If you don’t put forward ideas of your own, you’re not pushing yourself enough, and quite frankly, you’re coasting.

  6. Go Deep

    Attempt to learn one technology inside and out. Share your knowledge. Blog. Speak. If you want to know something well, try teaching it to others.

  7. Go Wide

    Know a lot of supporting technologies. It will change the way you look at your specialties and that’s a good thing. New technologies force you to change your point of view. Multiple points of view in developing a system is paramount. Know what is good and what is bad about these supporting cast members, and most importantly, when and when not to use them.

  8. Be Uncomfortable

    When you know something well, you settle in and get comfortable. Sometimes being comfortable closes the door to new ways of thinking, new ways of moving forward and new opportunities. Do something everyday that makes you a little uncomfortable.

  9. Go Analog

    As software developers, it is a bit natural that we while away so many hours at the keyboard, but many people do not share this trait, nor ever want to do so. Get in their shoes. Ditch the computer on the weekends. Go run, forget about everything, and you may be surprised how many new ideas jump in your head while you’re out in the real world.

  10. Have Other Interests

    If the technology you use and know needs to be multi-dimensional, shouldn’t you be as well? Go to a Toastmasters meeting and try speaking about something not computer related. Climb a mountain. Paint. There is so much to do and so little time, so try something new this week.

  11. Be Yourself

    That’s really all you can ever be, right? “This is your life and it’s ending one minute at a time” - make every minute count.