A Bit of Background
About Me and My Views on Software Development
Welcome to my blog in which I express my opinions on software development which has been my career, man-and-boy.
What's in this post?
- Who I am
- What I believe in
Who Am I?
My name is David Kerr, located in the London area with 20+ years experience in developing software in a diverse range of industries, including defence, medical, telecoms, finance and latterly managed print services.
I started off programming Basic (woot!) and assembler on Commodore 64's, breaking game loaders, writing games and mucking about with external hardware. Since then I've programmed in Pascal, C and C++. I currently develop in Java though I'm learning Scala and Dart at the moment.
What do I Believe in?
Focussing on my software development beliefs, a short summary is: -
General Development Beliefs
- There are no absolutes in development. Period. There are always caveats and alternatives. I am not interested in wars about languages, OS's or frameworks.
- Make things better for our customers. Get close to them, put yourself in their shoes, see your software being used, be embarrassed by the wrong assumptions and pain-points.
- I value KISS, DRY and YAGNI.
- Agile is the way forward.
- The code expresses the design, but there's no harm in modelling and communicating with UML. A picture is worth a 1000 words.
- Working in supportive and collaborative teams where there is buzz and banter is far more pleasant and productive than teams of rocket-scientists vying for dominance.
- Try and write software that is understandable: code is read and maintained far more than it is written.
- Don't show off how clever you are (and by extension how stupid I am).
- Writing something in 1 line of code that can be more clearly expressed in more may make you feel superior but it just annoys me.
- Always try to grow as a developer, be open to new languages and ideas.
- This is something I look for in colleagues.
- I still love software development even after all these years of seeing so much crap. It is more than just a job.
Object Oriented Development
- I like OO development, feeling that it allows natural encapsulation of concepts and the bundling of data and behaviour together.
- I am saddened that the potential of OO has been sullied by programmers who have not had the various "light-bulb" moments of OO and use classes as mere wrappers of procedural code.
- I detest the bean programming model (get/set hell) that masquerades as OO. I will likely post about this more in the future.
- I don't think OO can answer all problems elegantly: use the right tool for the job
- I look for better approaches, new languages.
- I am not prepared to "throw the baby out with the bathwater"
- I am happy to mix OO with functional and dynamic languages
A good start. I look forwards to see where this writing leads you. Also I liked the links you provided.
ReplyDelete