My summer here at SnapStream is coming to a close—so here’s a small reflection before I head off to college!
The weeks following my high school graduation and leading into my first real-world job (in the form of an internship at SnapStream) elicited tons of excitement—I was ready to apply my programming skills to real world problems in a real world application. However, there were a fair amount of nerves building as well as I had never programmed in a real world environment before. All of my previous programming ventures were personal projects in which the only person to whom I answered was myself. Anyway, I pushed past the nerves as they’re to be expected when trying anything different from the status quo. All that remained was the excitement, and looking back, SnapStream certainly didn’t disappoint. I learned more than I could have imagined this summer both in terms of work and software development experience.
I started the summer with another intern, Kevin, who just finished his freshman year at Rice University. I thought it was great to work a person in the same situation as I was so we could help each other out when needed. I was right about it being great to work with Kevin, but as it turns out, I definitely didn’t need him like I thought I might. My co-workers were happy to help if I had any questions. Communication with them was really easy too. I always felt like my opinion and input when discussing a bug or new feature was important and considered thoughtfully.
Along with their respect for my views both socially (as a real person, and not a car washing/shoe shining machine) and technically came what was probably my favorite part of the job. I was free to innovate and work things in my own way--I got a problem to solve and was allowed room to create my own solution. I felt like less of an intern, and more of a real developer on the team (granted I know far less than the real developers do). If I did run into trouble, however, I could easily approach the other developers. Likewise, any of my co-workers were there to provide feedback on the parts of the user interface I worked on.
As I mentioned earlier, I picked up an incredible amount of software development experience this summer. First, learning to work in a software project this large was great. My personal projects’ sizes naturally pale in comparison. In stride with working in a large software project, came working with code other than my own which is a completely different experience. I had to learn how the various pieces of the software fit together (complicated further by the new clustering features!) and how each piece was constructed. When working on a bug, I had to read through line by line to find out what was going on. In contrast, I can almost immediately jump to a certain portion of my personal projects that I believe to be suspect in order to diagnose a problem. This summer definitely gave me a good skill set to work in software other than my own.
I’ve covered the general topics that I’ve learned this summer about working and software development, but in case anybody is curious I’ll list specific languages/tools I learned to use.
4. Visual Studio’s debugger, Firebug, chrome dev tools
That about sums it up! I want to thank everybody here at SnapStream for making my summer awesome because now “I know what it’s like to work for a real company”!