Interning at CodeHS in a Nutshell
By Elysa Kohrs
I’m Elysa, and for the past two summers, I have been lucky enough to work as a software engineering intern at CodeHS. Here goes my attempt to turn condense two summers of coding, learning, and fun into a single post (which I have decided should be called a nutshell).
You build awesome projects
Interns at CodeHS get real projects. You’re introduced to the codebase with an onboarding week and some smaller projects, but soon you are adding features and completing projects that impact thousands of teachers and students.
My first summer, I built Access Controls, which was apparently the most requested feature by teachers and allows them to decide whether and when their students can access different parts of a course. And this summer, I worked on all things mobile apps. Zach and Jeremy built a version 1 during a hackathon, and soon after, I took the lead on this project which was brand new for CodeHS and had (and still has) a lot of potential. Now with CodeHS, you can view graphics programs as apps, you can write native apps in the Sandbox, and you can even turn a CodeHS program into an app on the App Store or Play Store if you’re up for a challenge.
You learn lots of things
Interning at CodeHS last summer was my first internship at any company, and I came into it with limited web development experience. I’d done a bit of front-end development for a UI class, but was unfamiliar with the majority of technologies I ended up using at CodeHS. Throughout onboarding bootcamp and as I worked on a variety of projects across the site, I became proficient in more technical things that I ever could have expected, ranging from Django and Ajax to caching and migration conflicts.
But the most valuable lessons I’ve learned have not been technical skills. For example, I’ve learned that “done is better than perfect,” even if it goes against my perfectionist nature, and I’ve learned that code review isn’t scary, but rather a way to improve your code and discover things you wouldn’t learn any other way. I’ve learned that a project isn’t done when it goes live, because it doesn’t matter how great that project is unless your coworkers and CodeHS users know that it exists and how to use it. And I’ve learned that external collaboration is cool, and multitasking is really hard, and writing is important even for programmers.
This summer, I would say that the number one thing I learned is how much I can learn (so meta, I know). I worked on the mobile apps project throughout almost the entire summer, and I had basically zero technical knowledge I needed for the project when I started it. But by becoming immersed in the project, asking questions, Googling lots of things, and struggling through roadblocks, I learned the technical expertise that I needed and am finishing this summer with a project that I am really proud of. And the next time I start a project that seems overwhelming and like foreign territory, I will be much more confident in my ability to do it.
You have fun
In the San Francisco office, we eat lunch together every day and have recess on Wednesday afternoons. This summer, we also did an offsite company activity at a pottery painting studio and had an intern outing to a cruise tour of the bay. Once a month, there is a company-wide hackathon and the chance to work on any CodeHS-related project. We do 1-on-1’s so that everyone in the company, including interns and remote employees, gets to know each other on an individual basis. Maybe I’m biased, but I think work should be fun and CodeHS has definitely been a fun place to work.
To the CodeHS team, thanks for two amazing summers of helping me learn, dealing with all my questions, trusting me to work on impactful projects, and making interning such a great experience. And to anyone considering an internship at CodeHS — definitely apply! It’s a great place to work, learn, and grow, as I hope I have conveyed in this nutshell.
Elysa was a Software Engineering Intern at CodeHS during Summer 2017 and Summer 2016. She is studying Computer Science at MIT.