Rod Hilton's rants about software development, technology, and sometimes Star Wars

Bigger and Better Things...

Right after I graduated, I decided I needed a change of scenery and decided to move from New York to Colorado. I assumed that a Computer Science degree would get me a job pretty quickly after I graduated, so I thought nothing of driving across the country with no job lined up. I figured I could move into an apartment and find a job in a few weeks. What I discovered was that my lack of experience was a major problem for most companies. My previous job had been working for a small company being run by a professor. He recruited me into his company when he saw one of my projects for his class. They were tiny. We had our company meetings in coffee shops around campus. I did all of my work in my own dorm room.

It became apparent that I lacked a great deal of real-world industry programming experience. I definitely needed to be molded, and all of the companies who saw my resume seemed to realize that.

I applied for a ton of jobs, and only heard back from one. I bought a suit the day before my interview, the only suit I had owned since I bought one for a funeral when I was a teenager.

My First Interview

The company was in Denver. I drove into the city (for the first time since I moved to Colorado) and looked for the office. The buildings seemed to skip over the address I had written. Eventually I discovered that I had to walk between two buildings, into the side entrance to the basement of one of them. No logo was on the door, so I knocked, terrified at what might open the door. A woman opened, told me I was at the right place, and invited me in. Once I stepped inside, I was asked to take my shoes off, so I didn’t track dirt onto the rug. While I sat in the “waiting area” a guy came out from an adjacent room and fiddled with a cable modem plugged in behind me. The “company” consisted of 3 people, including the receptionist. Once my “interview” began, I was asked to write some code in JSP. I had explained in my cover letter that I didn’t know anything about JSP, but I’ve used Java and I’d be happy to learn JSP. He told me to write the code anyway. “Figure it out.”

I sat in front of the computer, using the internet to look up information about JSP. Having never used it before at all, I was impressed that I managed to figure out what I did. Unfortunately, the task was connecting to a database. I needed the database connection string from my interviewer, but he refused to give it to me. He told me that was part of “figuring it out”. To connect to a database, I needed to know the server address, login, and password. How he expected me to figure that out, I have no idea. Needless to say, I was unable to complete the task, and I didn’t get the job.

As I drove home, I was terrified. I thought I’d be able to get a job, but the only one that even called me back was a place for which I was completely unqualified. Do I not know enough about the “industry” to get a real job? How will I pay my bills while I read all the books I need? How will I afford those books? As shady as that company was, I needed the job. It sucked I didn’t get it.

I stopped applying to jobs for a while. I bought three books on J2EE and tried to read through them as quickly as possible, but I found the content difficult since I lacked any kind of context. I put my job hunt on hold for a while, figuring I was unfit for the working world. About a week later, I decided to look at jobs again. I saw a job post by a company called InsightAmerica. Without a second thought, I pasted my cover letter and modified a word or two, then sent it off. I expected nothing to come of it, but the job description only mentioned Java, so maybe my lack of EE experience wouldn’t be a problem.

Within an hour, the hiring manager called me. I got a quickie phone interview and I was told someone would call me later for a technical interview. Later in the day, a guy named Duke called me and asked me some questions. I tanked his SQL questions, and I remember distinctly doing terribly with his “how many barbers are there in the U.S.” question. Somehow, though, I got an interview the next day.

My Second Interview

I showed up in my suit again and interviewed with Duke, a woman named Lisa, a skinny guy named Neal, and a big guy named Conrad, who was the first person who called me.

Conrad didn’t ask me anything at all. It seemed clear he had already decided that he wasn’t particularly interested in me. He wouldn’t even answer my questions about the company, presumably because I’d never be working there if he had his way. He spent the entire interview making jokes, clearly detached from the process and uninterested in evaluating me.

Lisa stared me down the entire interview. Every time I tried to make a joke, she knocked the wind out of my sails. She saw that I wrote “Scheme” on my resume and asked what it was. I explained it was like Lisp, and she asked how often I used it. I said I wrote some programs with it in school, and she laughed in my face, telling me if she had known you could put that on a resume she’d have put Cobol on hers. Every time I answered a question, I was met with a skeptical snarl on her face.

Neal was quiet for most of the interview. It was clear, however, that he didn’t like how young I was. One of my interview questions was “If you didn’t have any work to do, how would you spend your day?” I thought about it and realized that I’d probably read articles on the internet or advance a chapter in a computer book, since I like learning new languages and technologies. I responded “I guess I’d read,” and Neal chimed in with “comic books?”

Duke asked me more technical questions, but I didn’t do very well with them. Most of his questions were geared toward the kinds of things a professional programmer would know, centering around writing maintainable code. Since my previous job didn’t need the code to be maintainable, and I was never graded in school on code elegance, this was experience I lacked, and it showed. He asked me about the software development life cycle, and I didn’t even know what he meant. I was feeling my age and inexperience dragging me down.

I drove away from the company feeling like I had once again wasted my time. I didn’t hear from the company after that, and I applied for a job at Best Buy. I started thinking about working at a fast food joint, or working for my old company remotely. I felt like my life was falling apart. “I’m a smart guy,” I thought to myself, “I’d be great as a developer, I just need someone to look past my inexperience and take a chance on me.”

My First Real Job

InsightAmerica took that chance. I actually got an offer from them a week after that horrendous interview. I remember thinking at the time I’d never be able to spend the money they offered me. When I showed up for work the first day, I was so excited. A real office! Real cubicles! Holy hell, I get my own cubicle!

I jumped into my project and learned as much as I could. It turned out that I was hired as Lisa’s errand boy. She inherited an enormous Java application, and needed to devote herself to modifying the code, so she needed me to take over operational tasks on the system (like rebooting servers, manually fixing records in a database, etc). It was boring work, but I had access to the code. I read through it whenever I could. I learned a great deal about good OO development during that process, and I eventually got to a point where I understood the code better than Lisa. At one point, we both got an e-mail requesting a change. An hour later, an e-mail arrived from Lisa where she responded to the requestor by saying that the change would take weeks. I saw it appear in my inbox just after I hit send on my own e-mail explaining I had made the change and pushed it out to the server.

As time went on, Lisa was taken off the project and I was made lead developer on it. I learned more and more about what it means to develop code professionally, and eventually became well-regarded by the rest of the team. I actually learned enough to be regarded as something of an “expert” on OO development. Along with Duke, I became the “Java Guy” at the company, answering questions other developers had. I even led a few presentations on various computer science concepts. Within a year or so, I was conducting technical interviews and I had the word “senior” attached to my title. A 23-year-old with “senior” in his title.

During my time at the company, Conrad and Lisa were both fired. Neal became the manager. Duke became one of my good friends. Neal told me one day that Conrad and Lisa were both adamant I not be hired because I was so young, but he and Duke both wanted to take a chance on me, figuring I would turn out to be one of their best employees. Neal explained that he was right, and it was one of the nicest complements I’d ever received.

Moving On

InsightAmerica was my first real job in an office. It’s hard to believe I’ve only been working here two years, since I feel like I’ve learned so much. I’m Sun-Certified in Java, highly knowledgeable about OO and Design Patterns, and almost finished with a Masters program. I also have a Sun Certification in JSPs and Servlets, so screw you, basement-company. I’m a much better developer than I was two years ago, and nothing illustrated that to me better than my recent job search, in which I practically had recruiters knocking my door down as soon as I started.

It was difficult to decide to leave my company, since I was so grateful for the experience. However, I had to be realistic, and it was definitely time to move on. Even Neal left the company.

My new company is smaller, and they do really interesting work. They deal with open source software, one of my passions. Everything about the job is ideal for a switch. It’s a team of really bright geek types doing work that can make them proud.

I’m extremely excited about my new job, and I can’t wait to start. It is tough, however, to leave the first company that took a chance on me. The first company to teach me what it meant to write truly maintainable code. The first company to mold my understanding of Computer Science into something applicable to the software industry. The first company to encourage me to learn new languages and technologies, allowing me to finally feel worthy of employment at a real company. InsightAmerica taught me what I needed to know to get a job better than the one at InsightAmerica.

comments powered by Disqus