05.31.07

Innocence Lost: The Transition from Java Developer to VB6 Programmer

Posted in Programming, Sad, Depressing, Visual Basic, VB6, Funny, Work, General at 9:31 pm by gatormha

I learned everything I need to know about my job in the first week I was there.

When I graduated college, I thought that my days of carefree and reckless abandon were over. I had started a career with a respectable, billion-dollar publicly traded software company in the midwest. I was no longer a poor college student, I was a “Software Developer”! I had a job description, roles, and responsibilities; I had to go to meetings, meet deadlines, and make money; but most importantly, I had to develop software.

Some of my key responsibilities included:

  • Working with Solution Designers (Business Analysts) to define and clarify software requirements,
  • Creating (and having reviewed) technical design documents consisting of well defined database diagrams, solid class definitions using object-oriented design principles, and well defined and structured database designs,
  • Writing elegant, maintainable, well documented code,
  • Reviewing the code of my peers in order to improve said elegance and maintainability as well as to learn and share new coding tips and best-practices.

I used to read The Daily WTF and laugh thinking, “Nobody could ever program so poorly!” As far as I knew, all IT departments ran as smoothly as the one I was at. Like a well-oiled software writing machine.

After almost two years of this near utopia for software developers I felt my needs were no longer being met by my employer, and I decided to move on to greener pastures. I decided to find a new job.

The search was quick! I found a seemingly solid job in South Florida with a respectable, billion-dollar publicly traded construction company. I was no longer going to be a complacent software engineer from the midwest! I was going to be a VB (not yet known to me 6) programmer! I didn’t blink an eye at the difference in title. I assumed my responsibilities would be similar and my new work environment would at least be comparable to my previous one. I expected to continue being a naive software developer. But as I soon found out, my days of reckless abandon were just beginning!

One of my first jobs was to begin fixing defects for an application that nobody on my team of 3 programmers understood or had even looked at for more than 10 or 15 minutes before blowing off. The customers needed bug fixes and bug fixes I was going to give them! The programmer who originally wrote the application still worked for the company, but in another capacity at another location. I tried to call, but got no answer. I sent an email and got a nearly immediate, single syllable response that didn’t even come remotely close to answering the myriad of questions I asked. Maybe he just got back to his desk.

Another phone call — answering machine. Was he ignoring my calls?

Out of pure desperation, I sent another email thinking he was very busy and just didn’t have time to respond. I made sure to make it perfectly clear he could get back to me whenever it was convenient for him. Another immediate, monosyllabic response.

Definitely ignoring my calls.

After nearly a dozen back and forth emails like the first two, I felt I had dragged enough information out of him to begin looking into the defects I had set my sights on. I opened the code.

It was at this point, I learned the difference between being a developer and being a programmer. No longer did I have the key responsibilities I mentioned above, the responsibilities of a programmer are much different:

  • Don’t even think about trying to get requirements! Even if someone tells you what an application needs to do, it’s almost guaranteed to be different tomorrow. And again the day after.
  • Technical design documents are for cowards. So is testing. The only way to find out if something will work is to do it and get it into production! Most designs I have anymore consist of poorly scribbled, incoherent circles and boxes on the back of a notebook that even I don’t understand anymore. Any text is probably the phone number to a restaurant or what my coworkers want for lunch.
  • Writing maintainable code is the quickest way to get yourself fired! If you write code that only you can understand, you’re guaranteed to have a job — at least until they rewrite your application (which is probably never). And documenting is just going to set up your replacement to succeed! He took your job, why the hell should he succeed?! You know what the code does, why would you need to waste your time writing useless filth like comments or user manuals? They pay you to code!
  • Code reviews at my work are kind of like the unwritten rule in a men’s locker room. You just don’t look. I don’t want to see yours, you don’t want to see mine, let’s just keep our eyes above the neck.

Now don’t get me wrong, I like my job. Nowhere have I had the freedom to do what I want, when I want, how I want, where I want like this place. The only thing is that everyone I work with has the same freedoms. Everything I do, the guy next to me does 10 times worse. And chances are, I’ll be the one maintaining his code in a year.

6 Comments »

  1. gatormka said,

    May 31, 2007 at 10:24 pm

    You don’t have it so bad. I dream of Publix subs.

  2. gatormha said,

    May 31, 2007 at 10:45 pm

    You’ll be in Publix range soon enough. Then you, too, can have your fill.

  3. gatormha said,

    May 31, 2007 at 10:49 pm

    Seriously though, was this post too long? I kind of felt it was after I wrote it, but I didn’t want to take anything out. I’d really appreciate any comments good or bad. Remember, this whole site is for YOU! Give me your feedback….

  4. Jim R. Wilson said,

    June 1, 2007 at 2:18 pm

    Oh . my . god .

    —–
    Code reviews at my work are kind of like the unwritten rule in a men’s locker room. You just don’t look. I don’t want to see yours, you don’t want to see mine, let’s just keep our eyes above the neck.
    —–

    That has got to be the funniest thing I have read all week. I nearly snorted a strawberry Cherrio reading it!

  5. Rebort said,

    June 3, 2007 at 5:26 am

    Great post and in my mind not long enough — you left me wanting more details on that new job!

  6. Wille said,

    June 3, 2007 at 6:53 am

    Very apt.. :)
    I just wrote on the same subject the other day: even though some people use the terms developer and programmer almost interchangeably, there is usually a big difference in how organizations view and value the roles..

Leave a Comment