Terry On Sunday, May 16, 2010
Welcome to my blog.

I am a 20+ year software development professional.  A veteran, by any standard I know of.  Over the course of my career I have worked on many fascinating projects including the ground software for GPS (perhaps you've heard of it?), an early version for the International Space Station command and control software, an anti-ICBM Star Wars "space shield" system, and flight critical components for 757 aircraft.  I have worked on projects individually, but I have also managed 50+ people working in cross-functional teams to deliver suites of software projects.

I have written code which, if it fails, could result in loss of human life.  This requires a set of skills, techniques, and mindset which you might not otherwise develop.

When I started developing code for the iPhone I noticed a distinct lack of reusable, sophisticated components.  Part of this is due to the nature of the device, and part of it is due to the nature of the SDK.

I do NOT think that it is due to the lack of knowledge or expertise of the huge community of developers that exists for the iPhone.  Time and time again I have been impressed by their generosity, cleverness, and general programming skills.

But I routinely see people advocating approaches or providing example code which is horribly written from my point of view:  it may solve the immediate problem, but can't be re-used.  Or it solves an obvious problem while introducing a subtle maintenance issue.  Or it requires re-compilation to change it's behavior.

While there isn't anything overtly wrong with that, I want to introduce people to code which takes a longer view of the software lifecycle.  Code which understands that it needs to be tested, deployed, and maintained.  Code which makes the developers' lives easier.  Code which has evolved from the approaches taken in the 60's, 70's, 80's, and 90's.

I hope to use this blog to introduce people to my mindset.  I hope you find it useful.  I hope you find bugs in my software that have escaped me.  I hope we learn together to produce apps that do more, and require less effort.

Let the coding begin!

Terry

No comments:

Post a Comment