Understanding The Process

As a programmer, I tend to have times where I need to report to someone that isn't aware of how the entire design process may work.  There are times when I'd like to be able have them sign some big disclaimer or, better yet, hand them a guidebook on how a process is to work.

Thankfully, not all people I've had to report to are overly critical of what I do on a day-to-day basis

Right now I'm in the process of overhauling the reporting section of the web application that I maintain, and since this is day 3, it seems like I should be past the "create the plan of attack" phase, but I'm not.  I keep myself (somewhat) busy, as I'm the only IT guy at my job, but I'm also not just taking my time on making sure the implementation process looks correct.

If I wait too long, yeah, I could over analyze.  But, if I start coding too soon, there is the high probability that I'll end up having to redo areas that weren't fully thought out.  I don't like designing the process anymore than the next guy, but it saves a huge amount of development time if I know up-front how each aspect will work and how they will interact with each other.

So, while I'd rather be coding, I'd rather not be fixing my own mistakes either.  I just wonder if that's how the person(s) reading my reports see it...

Make It Your Own

When life hands you a horribly coded program to maintain, the best thing to do is to make it your own.

Taking ownership initially is scary as all get out.  The current codebase that I'm dealing with is a nightmare, to put it lightly.  But I had to come to terms with it.  I wanted to change it overnight, rewrite it as fast as possible, but due to a complete lack of resources since I'm the sole developer now, well, that's just not going to happen.

So, I move forward.  Each week that goes by sees more tweaks that push it in the direction that I feel it needs to go.  There are some mountains that I simply can't climb right now (register_globals in a 100k+ lines of code is the Everest here), but usability is my primary concern.  It should be security, but due to how the entire system was implemented, it's more of a long-term process than an instant fix - and we need to keep moving forward for our customers.

And while I may not be the best developer on the planet, I can say that I'm aware of the issues software faces.  All software has issues and even the best written code tends to have bugs - especially as that code grows.  Therefore I set goals that can be attained on a weekly basis and make a push to better the system.

Staying stagnant is not an option, and until you take ownership, you will always feel a bit put off by everything - that's normal.  Just get over it and push forward.  After all, you can always blame it on your predecessor.

People...

It's amazing how grateful people can be at times, but when they get the least bit frustrated, they turn wholly.  As a programmer and a computer tech, this can catch me off guard.

When I am upgrading computers, people are ecstatic.  But the moment there is a problem that never existed before that causes some issues, guess where the bull’s-eye goes?  And I guess the biggest frustration is that sometimes they decide to voice their issue as a group, adding more weight to the complaint (which I’m fine with) but more hostility as well.

So, what am I supposed to do in this situation?  Especially when I’ve had an overly foul week myself?  Exactly what I should do – bite my tongue, investigate the issue and pray to God for help finding a solution.