I figured I would write a little bit more about what I do for work. I am a software configuration guy. Meaning I track changes to the code, build code, manage release process, and maintain environment. Let’s start with my entry into SCM…
At my previous company I began to administrate and develop for the Remedy system. We tracked all changes in IT with this system, and I produced all the reporting, and tool for submitting change requests. I also began to run one of our change control meetings for the desktop group. I was then thrown into change control. While performing my new duties I wondered on several occasion’s on how this development team can code something, release to prod (internal app that produced material for clients), and not have anyone test. Not only that but they would throw a fit if you contacted them about some bug or failure? Change control that really isn’t controlled, huh.
Fast forward to my new job. Hired as the software installer for a java web application. My tools were Ant. I was tasked with building and managing the code base. Research new tools and methods to improve build process. Work with developers and testers concerning application errors, maintain release schedule and maintain build environment. Fun. The first thing I realize was that I leave after the developers do. Did I mention everything was done manually? Dev’s would update code and check them in. I would pull said changes based on what they entered on a sheet, build, create a zip, and deploy to a testing platform. I then would track what went to what platform as well as who the tester was, what the changes was for, etc. I would archive the zip and track any others changes needed. I needed to know ever detail about what was being installed to a platform. Knowing every detail to make my job go smoother, added more work thus making my job more difficult.
To get a sense of scale, our production only installs happened Tuesdays and Thursdays with the big projects happening monthly. We also are a parallel development house with at minimum 4 major monthly releases in development. If you have a 4 week month then I would have 6 minor production installs as well. Things got a bit crazy for a while. One man armed with several excel spreadsheets, a pen for approval signatures, and a beating stick for developers, I became the savior that was hated by all. Another kind of hate was forming though, a deep hatred for my job. With our releases getting bigger and bigger. With our minor releases doubling what we typically install in a month and with new technologies being added and major environment upgrades taking place, I found myself burned out on a full time school load and 70+ hr work week. I had no one else to help me. It was just…me. No vacations, no early time off. I had to be there early and leave there late in order to deliver by deadline.
It wasn’t until almost a year ago I was saved, and the light was oh so beautiful…