From CodeHS Student to CodeHS Intern — Meet Will
By Will Migdol, a CS Student at Sonoma State University
My name is Will, and I am a twenty-one-year-old student at Sonoma State University pursuing a bachelor’s degree in Computer Science. This summer I’ve been interning at CodeHS after using their platform in both middle school and high school. I’d like to share how I went from using CodeHS in school to working here.
I was first introduced to programming by my dad who is a software engineer. Growing up he showed me a program called Scratch. It’s kind of like coding, but with draggable boxes. Then when I was in middle school, we did something called “Hour of Code.” This was an hour where we learned how to move a dog named Karel around the screen based on the instructions we programmed. I later found out that we used CodeHS for Hour of Code. Since high school, I knew I wanted to do some form of engineering, but I wasn’t sure what kind of engineering I wanted to pursue. When I was a senior, I took AP Computer Science, and over the summer, we were given an extra credit option to do a self-paced curriculum through CodeHS.
It was very easy to learn programming concepts through the CodeHS site which I loved. I tried using some websites before to self-teach myself how to code but always struggled until I started to use CodeHS. CodeHS helped me understand Java concepts that I still use to this day whenever I program — like functions, classes, and objects, as well as basic conditional statements and loops.
“CodeHS teaches you the logic that will let you learn how to write code in most programming languages.”
You likely won’t ever run into a real situation where you need to control a dog with a computer; however, you can take those same concepts (like functions and loops) learned while programming Karel the Dog and apply them to other programming languages and situations.
After high school, I decided to major in Computer Science. While the AP class that I took in high school was based around generic programming concepts, my classes in college have for the most part been more specific. I took classes in discrete structures (which is kind of like math, but way cooler), linear algebra (which is like discrete structures, but a bit harder), database management systems (how to save information while programming), computer organization (how a computer works) and data structures (how you format information).
During my junior year of college, I applied for internships and I got one with CodeHS! One of the things that I’ve loved about the internship is how collaborative and supportive the team is. Everyone was super helpful and patient while we did onboarding and learned how to use the libraries CodeHS uses.
I’ve gotten to work on some really cool projects so far, including implementing some designs for pages on the website, adding a way for employees to view and manage blog posts, and adding a way for users to connect their CodeHS accounts with GitHub and import their projects onto the site.
“It’s been a very enjoyable and rewarding experience getting to work for CodeHS and see code that I wrote appear on the website.”
The reason why I wanted to work for CodeHS was that I wanted an internship where I’d work for a company that makes a positive impact on many kids’ lives like it had on me. CodeHS has helped over two million students get into programming when they may not have had the opportunity otherwise. It’s also been extremely rewarding to see projects I’ve made be used by team members when previously I have just done side projects that I’ve been the only one to use.
If you’re interested in pursuing software engineering, here is some advice that I have. The first is that while you’re learning how to code, make projects that help you learn. Find a small project idea that you can make with what you know and do as much of it as you can without looking up how to do it. My second piece of advice is to not give up coding if it gets tough after the first year. I wouldn’t say it gets easier after learning the basic concepts, but once you have the first year or so of learning how to code under your belt, you can really start making applications that you and other people can actually use.
Finally, when it comes to programming, focus on whatever aspect of it makes you happy. If you like styling web pages and creating interfaces that people interact with, then you should be a frontend developer. If you’re more into the puzzle-solving aspect of programming and like working with databases, you should do backend development. If you like both, then you should go into full-stack engineering! Whichever kind of development you go into, make sure it’s one that makes you happy.
Thank you to CodeHS for helping me learn how to code and for giving me this great opportunity this summer!