J.F. had a pretty good idea of what he was getting himself in to. And considering his other options -- remain unemployed, work at his father's glass company, or spend another two years at the university getting another degree -- this was actually his dream opportunity.

The year was 2002 and the technology boom had officially come to an end. As a graduate fresh out of college, JF didn't even have a fighting chance. Practically everyone in I.T. was out of work and was willing to take just about any job to pay the bills: senior-level developers were lining up in droves for junior-level positions; juniors were going after all the entry-level jobs; and the entry-level folks like J.F. were struggling to find any type of job that had any resemblance to technology.

That said, imagine J.F.'s excitement when he landed an interview for a tech support position at a software development firm. Now try to imagine his reaction when, halfway through the interview, The Boss said:

"So you know how to program and stuff, eh? You know, now that I think about it, I could really use another programmer. Can you start tomorrow?

I think J.F.'s reaction was somewhere between holy-crap-an-actual-programming-job-in-the-post-tech-boom and wait-a-minute-he-didn't-even-ask-a-single-programming-question. But no matter, J.F. couldn't pass up the opportunity and accepted the offer. He was officially a programmer.

Within his first hour of employment, J.F. realized that this business wasn't quite like the businesses he learned about in school. Or like the businesses portrayed on television. Or, really, like any other business out there. Despite being a commercial office building, The Boss took up residency in a corner of the third floor. He had a shower, bed, dresser, and all of the other living amenities one would need to live in an office building. More strangely, he would "work from home" some days, presumably to save the dreaded commute to his second-floor office.

Some days, The Boss would call himself the Managing Director. Other days, he was the Vice President of Sales. Every now and then, he'd be The Owner. But The Boss wanted a new role -- Lead Developer -- and hired J.F. to help transition him into this role.

Being as new as he was, J.F. had absolutely no idea that this was The Boss's intention. For the first few weeks, The Boss would chat with J.F. and ask very basic development questions for "curiosity's sake": How do you connect to source control? How do you add a field to a form? How do you connect to the database? How do you create a build of the software?

It all seemed very innocent until J.F. arrived at work one day to find customers literally screaming at the help desk staff about bugs in the new version of their software and developers scrambling to figure out what they were talking about. The customers seemed to have a version of the software that didn't exist and was installed earlier that morning by an unknown developer. And that was when J.F. realized what he had created: the new Lead Developer.

The developers spent the entire day fixing the mess with a series of emergency fixes and an eventual rollback to the production version. All the while, no one had any idea where The Boss was, other than "out of town on Business." They found out the next morning. He was five hundred miles away, on a customer site, and had just sold them a new module that he had developed on the spot. It was the developers' job to fix it and make it work properly.

The cycle continued almost every month for the next three years: The Boss would head out to a client site, sell a module that didn't exist, develop it in the hotel room at night, install it the next day, and let the customer work with the developers to get it working. And actually, it's probably still continuing to this very day, but J.F. was finally able to make a break after three long years. He reports that he's now working with a very professional team of analysts, programmers, and management; none of whom seem to be living in the floor above.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!