Software Engineer

I am a Software Engineer. I have a Bachelor (Honours) of Science in Information Technology from the University of Sunderland - Class of 2003. I have been developing software since 2001 when I was offered a role at CERN as part of their Technical Student Programme.

By 2016 I had grown really tired of the software industry and by the end of 2019 Apple killed whatever excitement I had left. I am not sure what the next 10 years will bring. What I do know is that my apettite to do work that is impactful has only grown bigger and stronger. Great people make me tick more than anything.

I am also tired.

Urban Legends ...O Is For Object (Part 1)

An urban legend, urban myth, urban tale, or contemporary legend,
is a form of modern folklore consisting of stories usually believed by
their tellers to be true.

After all these years of Object Oriented Programming being taught at universities, cou-nt-less number of books written on the subject, advocates, conferences et. al. you would expect that pretty much by now developers would be convinced of its merits and know to a great extend how to apply its principles.

However this is not the case. Every now and then a discussion will spur about how it’s OK to violate basic principles, how OO makes code difficult to understand and the main argument usually boils down to “there is no need to over-engineer”. Then comes the drama. There isn’t enough time, it costs money, there is no need to do it.

After all this time as developers we fail to see the facts and accept hard core evidence that other computer scientists are presenting us with. Stop pretending like it’s a matter of “personal taste”. This is about software engineering.

Software engineering (SE) is a profession dedicated to designing, implementing, and modifying software so that it is of higher quality, more affordable, maintainable, and faster to build. It is a “systematic approach to the analysis, design, assessment, implementation, test, maintenance and reengineering of software, that is, the application of engineering to software.”

As a developer you should care and feel responsible for the code you are producing.