Twitter GitHub Facebook Instagram

Daniel Irvine on building software

Know the rules well...

4 October 2012 you can break them effectively.

So said Dalai Lama XIV.

The rules that the software development community operates under are often rigid and out-dated. They are constantly being redefined by people who are willing to bend or change the rules as new tools and technologies appear on the horizon.

We are in the business of building things, and innovation occurs not just in the software we develop but also in our development methods. Just like any other manufacturing business.

Knowing the rules and knowing when to break them is one of the key traits of a successful developer. Keep abreast of new ideas and do your own thought analysis of every technique you come across.

If you’re working on a team and want to change the way your team works, be prepared to back up your ideas with facts and structured argument. The usual position for most nine-to-five developers to is to adhere to the norm and allow no deviation from that path. If your own values have led you to believe a different path may be more effective for your team, you’ll need to work extremely hard to convince them of your logic.

From my own personal point of view, I’ve learnt that effectively communicating a new idea to others is hard. Really hard. It’s easy to convince myself, but coming up with the right things to say to others--the politics--is a challenge.

There have been times that I’ve lost the argument and lost faith in my own ability as a developer: I guess that’s just human nature. What if it happens to you? In those moments it’s so important to have faith in yourself and your own vision. Don’t let the setbacks cause you to lose your passion.

Of course, sometimes you might just be wrong. When you present your ideas, make sure you always listen to others and think about what they’re saying. Never ignore their counter-arguments: everyone’s opinion is valid. Listening to those counter-arguments should always cause you to reconsider your position, and might cause you to change your mind.

Remember, the people who break the rules effectively are the ones who define our industry and are some of our most valuable members. Don’t be afraid to challenge the norm.


About the author

Daniel Irvine is a software craftsman at 8th Light, based in London. These days he prefers to code in Clojure and Ruby, despite having been a C++ and C# developer for the majority of his career.

For a longer bio please see To contact Daniel, send a tweet to @d_ir or use the comments section below.

Twitter GitHub Facebook Instagram