In July 2011, I joined a company called 25K Digital as a software engineering intern. I just finished my junior year of high school, and I was excited. It was my first internship and I was ready to apply those impressive skills I had acquired over the years. I was ready to make some cool things!
25K Digital is a digital media agency. Most, if not all, of their work is client-based. They get clients with certain requirements and they design and build a solution that fits those requirements. I learned rather early on that this gets boring really quickly.
At 17, I was the youngest person there at the time. Everyone else was in their mid-20s and beyond. It was really hard for me to relate to anyone else there. I remember spending most of my lunches watching the Linux Action Show or TechSnap. Even if we did go out together for lunch, no one would want to talk about virtualization or whatever else I was interested in at the time. The company culture wasn’t something I liked. I guess that’s what you have to learn to deal with as you get older. Once you’re out of the “social bubbles” of school or college, you’re pretty much on your own.
At the time, I was interested in distributed computing. That’s what I proposed for my senior research project, and that’s what the computer systems lab directors at TJHSST approved. I wanted to build large, distributed applications because that’s what I envisioned as the future of computing. Instead of building and researching innovative things, I was stuck in a rather small room working on a WordPress site for a local construction company. Really?
I told Dave, my boss, that I wasn’t really interested in what I was doing. He clearly understood what the issue was but there wasn’t much he could do about it. The work still had to get done. I signed up to do it, and I could do it, but I always felt that my time would’ve been spent doing cooler things.
Overall, that was an interesting summer. I’m glad I experienced that side of tech industry, because I now know that I never want to get involved in client-oriented projects again. I’m also not touching client-based web development again.
After two summers of interning, I realized that I’ve become picky about internships. Last summer, I interned at FoundationDB. What an experience! To some, an internship might be about making money. While I also consider compensation to be important, I think the amount of knowledge gained and the professional connections made trump however much one makes in a summer. At FoundationDB, I realized how thrilling it is to work on a beautifully designed product that brings something new to the table. I realized that I learned tips and techniques that I probably wouldn’t have learned in school. Even more importantly, FoundationDB started me on a journey to learn more about databases and transactional systems, and even got me to create a key-value store.
For this summer, I wanted to try to get an internship that would be as lucrative as FoundationDB was. I think I found one. I’ll be working in Charlottesville for another database startup. I’m excited to learn more about what they call adaptive fault detection.
I’m honestly scared that after working for startups so much, I’ve alienated myself against larger companies or government contractors. Eh, we’ll see where things go from here.