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

Comments

  1. A good start. I look forwards to see where this writing leads you. Also I liked the links you provided.

    ReplyDelete

Post a Comment

Popular posts from this blog

Sleep, Lord's Prayer, Now and the Future

Project Valhalla Space-Time Continuum