Thursday, November 3, 2011

Introducing My Blog

Welcome to my Blog.

Since this is my first post I'll start by introducing myself and the purpose of this Blog.

I am a 25-year (and counting) veteran of Software Engineering. I learned programming on a TRS-80 Model III. My heart belongs in personal computer land. In college I was an avowed language junkie and learned every programming language I could get my hands on. I still have a soft spot for LISP, and APL will always tickle my fancy. I used to think in Pascal but over lack of use that has morphed into C and is moving to C++. When I graduated college there were very few personal computing jobs available. At that time I was swept into the dominant market of mainframe programming. After a bit of a culture shock I learned the ins and outs of writing and supporting a mainframe COBOL debugger written in MVS assembler. As my career progressed and the personal computing market took hold I have had the delight of working in cross-platform mode. Most of my employment has been in companies whose main software is on the PC but need a mainframe component, port  or some level of mainframe support. In those companies I have produced code that runs in either or both environments (including Windows and various *NIX brands). I have had some awesome mentors and in many cases have had to support my own code for longer than five years.

I have seen loads of software. I have taken over projects written by other programmers who are no longer with the company. I have supported my own code through loads of production releases. Some of the projects I have taken over went smoothly, despite no knowledge of the product.  The code was written in a way that learning it with no help, was easy. Everything was just where it belonged or had a logical pointer to figure it out.

Other code was hopeless spaghetti. Even with intimate knowledge of other software that performed the same task and help from the originator, the code was difficult to follow and touchy to maintain. I have experienced the same types of things in my own code. There were places where I didn't quite know what I wanted to do and did the quick-and-dirty solution, which resulted in maintenance nightmares until I grew smart enough to rewrite my own mess. There were places where I took the time to design things properly, left it to work on another project for multiple years, and picked up where I left off with no problems at all.

Which brings me to the point of this Blog.

In this Blog I will approach one major impediment to software support in every post.  These are issues that tripped up myself and the companies I worked for-things that are easy to brush off as a new programmer, but wind up more important than the expediency of the "just-ship-it" mentality.

I hope you enjoy my Blog. I welcome constructive discussion.

Thanks!
GoodCoder

No comments:

Post a Comment