How I Got Here - I'm an Engineer Again!

When last we left off documenting my career path, I'd just been fired from my first job out of grad school.  At one point, in an early January in Chicago, I was staring at the TV after having lost my job, having been dumped after a 4-year relationship, and watching that most uplifting of all movies - Requiem for a Dream.  On the bright side, things couldn't get much bleaker.

I was concerned that, given the state of the economy at the time, I was in for a long period of extended unemployment.  Tech hiring was still anemic, and I didn't have much experience to differentiate myself from other candidates.

Luckily, I was only unemployed for about 6 weeks.  I'd landed a job as a Tier II support analyst for a payroll application written in COBOL along with supported systems written in various other languages and housed on multiple versions of Windows and proprietary Unix distros.

The division I was part of was a small company that had recently been purchased by a large HR conglomerate.  While the headquarters of the conglomerate were based in the northern suburbs, I'd be working in an office downtown!  For the first time in 7 years, I'd have a chance to live the dream I'd wanted since first matriculating from undergrad - long hours in uncomfortable clothing shielded from panoramic views by a stained, 6-foot high cloth wall.  The good life was mine!

I was part of a cohort that went through an extensive 6-week training program before being released in the wild to answer the phones.  I appreciated the training program.  It was the first time as an employee that I'd received any formal training and being a part of a "class" helped build a sense of comradery. 

I learned a lot during my time at the company, though not necessarily around software development itself.  The payroll software had an installed base (i.e. was shrink-wrapped software), because software as a service was in its very early stages as an offering, so we often had to troubleshoot issues over the phone with no idea what the current configuration of the setup looked like.

It was not uncommon to have varied exchanges of "can you send me the logs" and "try this" over several days.  The job wasn't without its stress, since people have a tendency to get massively pissed if they're not paid on time, but most of the problems occurred long before the actual ACH tape (the file that distributes pay) needed to be cut.

And, while I wasn't part of any formal software development team, I did have the chance to learn more about the software development process, the people involved in the process, and the dysfunction that can surround it.

Most fascinating of all were the long-time COBOL programmers.  I try to stay away from stereotypes, but COBOL programmers who got their start in the late 70s or early 80s definitely seem to be cut from a particular cloth.  I continually got a kick out of the fact that they referred to anything remotely in the C family of languages (including Java) as "C code."  In their collective minds, there was COBOL, FORTRAN, and everything else with COBOL serving as the pinnacle in both expression and performance.

Within such usual environs, I was lucky enough to be able to find areas where I could apply my nascent programming skills and get some experience in the development career I craved.  We often had to examine the payroll file that the COBOL program spit out, and, this being COBOL, was tied to a proprietary compiler and proprietary file system.  So a friend of mine and I wrote a parser (in Java, of course, because we wanted to be Java programmers, because what other language was even useful) that made the file interactive.  Little did I know that this parser in particular would pave my way as a full-fledged software engineer about a year later.

My interest and relative aptitude in Java gave me an in to make customizations to the company's actual Java-based self-service app, so I could, once again, label myself as a developer.

It also got me in hot water when I was shipped off to Seattle for a week to perform an application install by myself and spent 3 days troubleshooting an error that essentially meant - "you're using the wrong version of Java and need to upgrade you idiot!  If you had slightly more experience, you'd have known this within 5 minutes."

But I learned that programmers don't know everything and consultants (or their companies) can still demand top dollar even when they're incompetent (probably not the best thing to admit as I'm in the midst of spinning up my own consulting company, so assume that was just my youthful inexperience.  Anything I build for you will be the result of more than two decades' worth of experience and knowledge accumulation).

I moved on from the tech support role to a business analyst role that was ostensibly about writing test cases for the new payroll system the parent company rolled out that was meant to replace the offering I was supporting.  

However, I noticed another opportunity to write a suite of parsers that converted the various PDF datasets we received from clients into a standard interactive application that would allow our analysts to convert another company's proprietary format into something we could understand and analyze.  

As such, I got roped into supporting this parser whenever we ran test payroll runs, which would happen at any odd hour of the day or night, because there's nothing more valiant than demonstrating you'll work yourself to death for a tepid salary on someone else's terms.  At one point I remember one of the lead analysts expressing disappointment with me because I opted to go to the Christkindlemarket instead of waiting at my desk until 10 PM for the results of a run to come due.  I may have used that most airtight of excuses - "I forgot."  But I didn't forget.  Like everyone else, I don't like having my chain yanked, and I didn't have any particular reason I needed to play along.

It was at that point, combined with the company's loss of market share and dwindling prospects (at one all-hands they said something like "we don't have the benefits that we used to and we don't pay top dollar, but you can be proud to work for the industry leader") that I started looking for another job.

Due to my inexperience, I was looking for any entry-level software engineering position that would allow me to code.  I happily would've trekked back out to the suburbs just to knuckle down in ASP or PHP.  As fate would have it, though, the opportunity of a lifetime was a mere one block south of my current employer.

But that's a story for the next installment.

Until next time, my human and robot friends.

Comments

Popular Posts