Do you know someone with an interesting job, or have you taken a professional detour? E-mail us if you are interested in being featured on Professional Detours.

17 March 2011

One Conference Call Away From Unemployment: The Software Developer's Tale

Adrian Dunston doesn’t think his career is that interesting. He wanted to be a computer programmer from the time he was young, and that’s what he does for a living now. But like most people who graduated from college in the post-9/11 world, he had some frustrating career setbacks and plenty of learning experiences. He’s worked in basement offices with rats and roaches and seen three companies buckle. He’s made some very foolish decisions when he thought he was being wise, and he’s stumbled into some great opportunities when he wasn’t even looking where he was going. Here’s the story of how he came out on top.

Adrian grew up in the 1980s, a time when personal computing was just starting to gain ground as part of the American family. “We all liked video games, we all played Pac-Man and Frogger on the Atari,” Adrian said. “I was pretty obsessed with them, but everybody was obsessed with them.” But the DOS games on his grandfather’s IBM computer were different, and Adrian found them far more fascinating. “I could sit and draw on PrintMaster for hours, and you know, I wouldn’t draw on paper. I was interested in interacting with this thing that would do whatever I said and figuring out the limits of my imagination.”

PrintMaster showed Adrian that computers were tools, not toys, but that with those tools, he could create incredible things. “When you sit down and imagine stuff, you don’t see the whole picture. You just see the parts you’re thinking about….With a computer, you imagine things with such depth and such specificity that they’re almost real. And the way you can show it to other people, it’s even more real.”

Adrian took a few courses in computing through middle school and high school, but until college he was mostly self-taught. He graduated from high school in 1997 and enrolled at NC State University as a Computer Science major for the following fall. In the meantime, though, he had the whole summer off, and at 17, he was out to get his very first job.

Adrian started applying at retail stores around town, and the first job he was offered was at a chain jeweler. “I was promised commissions, and there was talk of always meeting quotas and lots of money, so I accepted,” Adrian said. But that evening, he got a phone call from the father of a friend offering him an internship at IBM. Adrian turned it down.

He said, “There was a ton of money involved, but I said, ‘I just accepted this job at [the jewelry store], and it wouldn’t be right for me to turn around and tell them that I can’t take it.’ And I thought that I was making a very adult decision, that I was being honest and upstanding, but really I was just screwing myself.”

The jeweler ended up not paying anywhere near what they said they would, never made quota, and eventually went out of business. But Adrian had learned an important lesson. “The companies you try to get jobs with, they’re not there for you. They’re there to make money….If somebody offers you a better job somewhere else, you don’t have to be loyal to your company, that’s ridiculous. And that’s weird to say, because the company I work for now is a great company, and they do try really hard to take care of their employees… The fact that I stay where I am is because I don’t think there is any better job for me anywhere in the world.”

This was a lesson that Adrian would learn over and over again as he began to seek work in his field. In 1999, Adrian got another shot at the IBM internship, and he took it. Then, in 2000, Adrian started working part-time at a company called WebAppFactory making, predictably enough, web applications. He describes WAF as “a company with no experience and no direction and lots of money…The salary that they offered me as an intern was amazing, so I didn’t care that they didn’t seem to have any clue or plan. I just went along with it.” Was that a good idea? “It was a good decision to go along with it; it was a bad decision to buy an engagement ring on credit.”

Because the management didn’t know what they were doing, Adrian “was thrown in the deep end and had to learn how to do a programming job before I had my degree. I had to learn a lot very quickly. It was fun and interesting, and it was a chance to sit and program stuff that wasn’t for school, and it was a lot of money. Interning at IBM had some of the money but none of the experience. The kinds of jobs that I got at IBM were not ‘throw you in the deep end’ kinds of jobs, because it turns out IBM does know what they’re doing most of the time. But working for this small business, I had to do their production work. I had to make design decisions that really should be made by a manager or an architect or someone with experience, but there was no one so I had to make them. And if there was a mistake, I had to fix it. It was cool.

“And then they crashed. There was a conference call between the two offices, the head of the company explained that we were running out of money, and that if we didn’t land a couple of contracts within a few weeks we would be out of money and close. So we tried to land those contracts, and then a couple of weeks later, there was another conference call that said, we’re out of money, we’re done.” So Adrian started looking for work elsewhere, but he didn’t have to go far.

“Across the hall there was another company called Jetstream. They were a little more grown up. You know, a Foosball table in the break room and beer in the company fridge, and they sponsored a Battle Bot. So,” Adrian laughed, “a little more grown up. A little less money, a little less responsibility, a little more direction. So I started out doing little dinky things, like a food ordering system for the employees. But by the end I was making web applications that controlled phone switches that were being demoed to AT&T. Just little prototypes, but that was sort of a big deal.

“Then one day there was this big conference call,” Adrian paused to laugh in anticipation of the predictable ending. “Jetstream had the best software in the industry, but telephony wasn’t really ready for VOIP yet. So they said in the conference call, ‘If we don’t get more money soon, we’re going to have to start cutting back.’ So a couple of weeks later, after I’d gotten married and bought a house, they announced that all student positions would be cut.” The company folded a few weeks later.

After being let go from Jetstream and graduating from college in the spring of 2002, Adrian tried opening his own business doing tech support for local companies. He started as a subcontractor, but the established company from whom he had been subcontracting was losing ground as the economy worsened and small businesses were failing left and right. “In America,” Adrian noted, “there’s almost nothing to starting a business. I had to file two forms, one with the state and one with the city, and that’s it. Everything else is optional. That’s kind of amazing. I got to be on the other end of what would have been a conference call if anyone worked for me, and say, you know what, we’re completely out of money and we’re not getting more in, it’s time to quit. You think of companies as being these big stable physical things, but they’re not. They’re just a couple of forms on file, and people who, for the moment, are willing to do work.”

Adrian then took a job at a large retail chain to make ends meet, but even those jobs were scarce in 2002 because so many college graduates were under-employed. But then, one day, a chance encounter changed everything.

“I noticed a guy changing a bike tire by the side of the road that I had known from WebAppFactory,” Adrian said. “And I stopped to talk to him, and he said that [his new company] was looking for someone. He recommended me, I interviewed…I got the job. It was my first career job like you’re supposed to get.”

Although the work was exciting, working for a very small company had its drawbacks. The building was very old and poorly maintained. On at least two occasions, the sewer backed up into the office. Rats would often come into the offices at night. Once, during a torrential rainstorm, Adrian had to race to the office after hours and pull the servers off the racks because the server room was flooding. Still, the causal work environment suited him. “My friend, Mark, and I would bike to work and just sit down at these desks we got at NC State surplus sales. We’d sit down with our laptops, sweaty as the dickens, and write code. And it was so nice.”

Four years later, however, Adrian felt it was time to move on. He wanted more opportunity for advancement and the higher pay and benefits a large company could offer. So when a friend from college called him up to let him know that there was an opening in his department at Fortune magazine’s top rated workplace in America, he didn’t hesitate to apply.

Well, maybe he hesitated a little – he did like his co-workers and boss at the small company he worked for, and they had just moved to a nicer office on the third floor of a newer, less rat-infested building. But he remembered what he’d learned when he gave up a summer internship at IBM for a minimum-wage gig at a downward-spiraling jewelry store, and he screwed up his courage and sent an application. With his friend’s recommendation, he was offered an interview.

“Going to the interview at [my current company] was intimidating because [the company] is big and impressive, but when I sat down for the interview, they were just asking me about programming. And that’s what I do,” Adrian recalled. “By that point I had been through going door to door [as a small business owner], so I had no compunctions about telling people I was awesome. And I had been through four years of working at [the small company] on really complicated software that I had to support myself. So I was very confident and technically very bright, and they hired me right away.”

Adrian is glad to be at a large, stable company, but he values everything he learned from his time with small, volatile businesses, too. “Working for so many little companies, there’s no oversight, there’s just two pieces of paper on file with the government. And at [my last employer], I was on the phone with the customers explaining to them why he code I wrote didn’t work, and then I’d hang up and stay up half the night fixing it. After seeing so many small companies fold, I knew that I was responsible for the work. I was the one between us and the customer, between us having a job and the company folding and having to go back to [retail].”

So what advice does Adrian have for college students or new graduates in computer science? Study marketing.

You don’t have to change your major – computer science is still an excellent field – but it’s important to know how to market yourself as an employee if you’re going to compete for a job. “Nothing in college prepared me for salary negotiation,” Adrian recalled, “or for picking a good internship, for navigating corporate politics, for marketing myself as a programmer…There are books out now, books not really about programming but about building a career as a programmer.” Adrian recommends Being Geek, and The Passionate Programmer for career development in computer programming and related fields.

“It’s difficult to keep in mind at [my current job] that it’s just another company, and that if we don’t hustle we’ll lose customers and eventually there would be some giant conference call. Because there are so many people and there’s so much money coming through, it’s so easy to think that it’ll be there forever that you just fall into that complacency. You don’t think about your skills or your marketability going forward. But you have to keep in mind that you’re not safe and your company’s not safe, and you have to work hard and you have to do good work.”

No comments: