Meet the Team: John Rood, Codecademy Senior Software Engineer

Meet the Team: John Rood, Codecademy Senior Software Engineer

Everybody’s career journey looks different — even the journeys of our own team members! That’s why we’re so excited to share stories and advice from Codecademy’s Software Engineers, Data Scientists, Product Managers, and more to show people what it’s like to work in tech.

Today we’re spotlighting John Rood , a Senior Software Engineer on Codecademy’s Engineering team who’s been with us for two years.

?

Tell us about yourself! How’d you end up working in tech?

“I recall, at some point in my pre-teen years, checking out the book Beginning Programming for Dummies from a local library. I learned how to install QBasic on my Windows 3.1 PC and write a few simple programs. I remember being so excited that I tried explaining it to a friend and writing code for him with pencil and paper. During high school and college, I spent a lot of time coding for fun and creating graphics programs with MSWLogo, audio effects using Nyquist, and little electronic contraptions with Arduino.

I studied theology in college, but I applied for a helpdesk job at my school’s IT department and mentioned on my resume that I had some programming experience. To my surprise, they hired me for an entirely different position as a part-time Software Developer. When I realized that I had stumbled into a massive programming career opportunity, I spent nearly every extra moment learning the web technologies I needed for the job. At the time, those technologies were C# tools such as ASP.NET and JavaScript libraries like jQuery and Knockout.js.

After graduating, my part-time job became full-time. Within the first year, I discovered Codecademy, which was especially helpful for developing my skillset around web fundamentals like HTML, CSS, and JavaScript. Over the next decade, I worked at several companies and continued learning from other developers and from Codecademy courses until I eventually came to work here at Codecademy!”

?

Tell us about your role. How would you explain your job to a stranger?

“As an Engineer on the Dotcom team, I work on many of the public-facing features that you see when you visit the Codecademy site like the homepage, course catalog, docs, articles, and the blog platform. This involves both front-end and back-end programming, mostly with Next.js, but also some Go. On a daily basis, I spend a lot of time writing code, reviewing code from other engineers, project planning, and using Datadog to track down issues and trace the performance of our services. I also help with some course content like the Learn Next.js course.

An interesting project that I worked on recently is the improvements to our main site search. There are some especially challenging optimization problems to solve when you want users to have a really snappy experience of searching through such a large dataset. It was a chance for our team to use some new technology and dive deep into text matching algorithm work. It’s been especially satisfying to see what we were able to deliver with near instant autocomplete and highlighting.”

?

What advice do you have for people interested in a role like yours?

“HTML, CSS, and JavaScript are still the core languages that you need a good grasp of in web development. I don’t think that will change anytime soon. At this moment, React largely dominates the web ecosystem, and learning React (probably with Next.js) is the next most important thing. After that, I recommend learning at least one other framework, perhaps Svelte or SolidJS, and then learning another language that might be used on the backend like Go.

To gain a well-rounded understanding of those technologies, I recommend four parallel approaches:

  • Taking interactive courses (like Codecademy’s courses!)
  • Working alongside seasoned developers
  • Using the technology to build a hobby project that you enjoy
  • Listening to experts in the field (I personally really enjoy livestreams from Ryan Carniato, who is the author of SolidJS)

?

What do you wish you knew before you began your career?

“I lived in downtown Chicago for many years, and I wish that I had paid more attention to Meetup.com and taken advantage of the vibrant tech meetup scene much earlier. There are so many coding and data science groups that host free events (typically with free pizza).

It’s a great way to meet other engineers and get a sense for what the trends are in coding. Such groups seem to exist in every major urban center, and if you live in such a place, this is a perk you really should not miss out on.”?

Looking to connect with other developers online? Check out our community spaces that are full of people you can go to ask questions, share stories, and make new friends.

?

What’s something you want to learn next??

Astro is a very interesting framework that I want to put more time into learning. Most popular frameworks today are, at their core, SPA (single page app) frameworks that allow you to have a fast experience navigating between pages on a given site. This comes at the cost of loading extra code on the first page that you visit, although that cost is fairly small for some frameworks like Svelte and SolidJS.

Astro is an MPA (multi page app) framework at its core. Knowing when an app should be a SPA vs MPA is a complicated question that I wrestle with. I sometimes suspect that there are many SPA applications that should be MPAs, although Rich Harris (author of Svelte) makes some compelling points to the contrary in this talk. I want to have a better sense of what a good modern MPA looks like.”

?

What’s your favorite Codecademy course??

“My favorite Codecademy course that I’ve taken is Learn Go. I was part of a group of engineers that took this course together last year. At the time, I was already experienced with Go, but it was really fun to revisit the fundamentals of Go in that interactive format and to talk about it with friends.”

要查看或添加评论,请登录

Codecademy的更多文章

社区洞察