Internships — Lots of people seem to have opinions about internships but very few people I have spoken with have had one. Last summer I had an internship with a local software company, ideacode. Yes, it starts with a lowercase ‘i’. While, I only worked part time (20-ish hours/week), as I was also taking courses over the summer, I was exposed to new software, development environments, programming languages, and most importantly real software engineers coding real world applications.
But, it could have just easily not happened. I actually met my mentor, Bishop, by happenstance. I was pulling some hiking gear out of storage for a trip when I saw a mass of programming books on a bookshelf. I could have walked by but I didn’t. Instead, I struck up a conversation. After giving my elevator speech and shaking hands I had a business card and a chance. The first thing I did upon returning from my trip was email him my resume and shortly thereafter I had an interview lined up. What is the moral of this story? Never skip an opportunity.
Interviews — There is a lot of thought about how to prepare for and act in an interview. However, after numerous military boards my interview was a nice treat in comparison. I should take a moment to emphasize that by ‘treat’ I meant enjoyable, not easy. I met Bishop and John, a coding guru, at a local Barnes & Noble. The setting was informal and we were seated at a square table surrounded by a dozen or so other customers who were reading or chatting amongst each other. Perhaps one of them was in an interview as well.
I was well dressed and I thought well prepared. However, the opening salvo of questions Bishop shot my way was not what I expected. He wasn’t trying to determine how well I knew my data structures or programming languages (at least not yet) he was trying to get a feel for who I was. He wanted to know if I would ‘fit’ well with the company. I answered to the best of my ability and tried not to sweat.
He continued with a series of situational questions, asked my thoughts on business organization and best practices, and finished by having me slap together some basic data structures on the table with sticky pads. After all of that they thanked me for my time, we shook hands, and went our separate ways.
A week later I received my first contract offer in the software development field. It felt great. If I could lend any advice from my limited experience it would be this, relax. Start by doing some research on the company you are applying for, review relevant material you think you might be asked about and above all be friendly and honest. Anyone can lie their way into a position but in the end all they will have accomplished is wasting their and their eventual ex-employers time and resources.
Mentors – Bishop was a great one. Clarifying what I mean by ‘great’ is easy when someone gives you many instances to draw from. First off, Bishop had a way of always asking questions that rode that fine line between what I know and what is too far beyond my ability to learn quickly. By asking these questions, the right questions, my knowledge in several expanded rapidly. Within a month of work I was zooming around a Linux server remotely, writing test cases in PHP, and creating advanced bash scripts to manipulate hundreds of source files simultaneously.
For the most part, I worked remotely and foresaw communication being a potential issue. But, Bishop quickly put my mind at ease. He continually responded to my emails/IMs quickly and always giving me just enough information to nudge me in the right direction without explicitly giving me an answer. This is exactly what I needed and exactly why I grew so much in such a short amount of time.
But there are two main things I will take away from my work with Bishop and ideacode. First, programming is an art as well as a science and problems should be taken on with compassion as well as deep thought. And finally, it gave me an appreciation for how beautiful complex code repositories can be. Just as whorls of tree trunks tell stories not just about the age of a tree but also climate, forest fires, and floods; peeling back the layers of code tell a story of their own.
Thank you, Bishop.
“Shallow men believe in luck. Strong men believe in cause and effect.” — Ralph Waldo Emerson