My role has recently been tweaked to help support a new employee, and as such I’m presented with the task of motivating without condascending when walking through the many elements of coding for modern business applications.
I’ve been around long enough to pick up little quotes that may be used as “watch-phrases” to remind indiviuals of when the need arises. It’s often difficult for us to adapt to strange working practices at the best of times, and condensing working practices into repeatable and memorable phrases could make it easier.
“Little and often”
In reference to Source Control, checking in little and often encourages the developer to create small, atomic changes to source control, which is essential for a reliable source-code repository. It is all too easy to get your nose deep in work and forget that you have ended up performing many tasks and rolling them all into one check-in, making it difficult to pick it apart if necessary.
“Fail early, fail fast”
Being a small company, we have to be particulary fleet of foot when working with clients and developing our products and skill-sets. Agile project management practices help us achieve this, although it would be impossible to fully implement all the principles of Agile which relies on larger teams. The principle here is that it is okay, to fail. Failing itself is a learning process and essential to preventing a bigger failure and therefore costs later in the project. But do it fast!
“Do only one thing, do it well” and “Keep it Simple, Stupid”
When coding, it is easy to start building too much into too little. Whether it is an overwhelmed class full of functionality that could be farmed out, or the other extreme; a bunch of barely connected classes that come together in a somewhat complicated way to perform something quite simple. SOLID principles work well here, if only as a reminder or gateway to other design patterns such as Repository, Factory and other such patterns. Additionally, one should always consider if you’re building a sledgehammer. KISS (Keep It Simple, Stupid) always helps remind you of the importance of the task in relation to the wider project.
“There’s no such thing as a stupid question …”
… just stupid people who try to answer it themselves. By this I am trying to encourage the disruption of my day and distractions to my work by asking a question that should be asked, as opposed to a question answered using only their own incomplete intuition. Clearly, Google/Bing is your friend here, but what is important is to back that research up with ensuring that the answer is appropriate to the organisation or project.
Updated 8 August 2012:
I just found myself saying …
“If you find yourself doing it again, you’re doing it wrong”
Using KISS we can make sure we keep DRY, by creating lots of small functional components that can be re-used to form larger functions. If you find yourself re-using code or copying and pasting, you’re probably missing this opportunity for re-use.