For the last 3 years or so, I've been volunteering to support the Computer Science curriculum at my neighborhood high school.

Generally, this has meant anything from guest lecturing in the classroom, mentoring in CS-based after-school programs, advising Senior students on their capstone projects, and sitting on the Capstone presentation panel.

I have loved every second of this work, because it's an opportunity to give back in a way that leverages my skills and interests, but a few interesting things have stood out to me over the course of this journey.

Lesson The First

The first thing I learned is that the vast majority of High School Computer Science teachers do not have a CS degree and have never worked in industry. In fact, many of them are only a step ahead of their students in terms of technical aptitude.

I don't think this is a bad thing by any stretch. These teachers are both interested in—and excited about—the work they do, but it is a stark contrast from other programs. I've never seen an art teacher that didn't study art, a math teacher that didn't study math, or a Spanish teacher that didn't study Spanish; although, I guess some gym teachers on the other hand...

This isn't an altogether surprising reality, though.

When you consider the fact that a fresh Computer Science grad is likely to make a $60k starting salary, with the potential for $160k in less than a decade, it's no surprise that they opt for a path as an industry professional instead of an educator.

Lesson The Second

The second thing I noticed is that I am, by far, the youngest software development professional in the volunteer pool—which is doubly concerning when you consider the fact that I'm almost 40.

I've been a bit saddened by the lack of other mid-career professionals amongst my fellow volunteers, but as best I can tell it is a combination of availability and connection. Most 30-something software developers don't have kids that are old enough to be in high school, which means that there's nothing that actively connects them to high schools in their area.

Why volunteer to teach Computer Science at a school your kids—if you have any—won't be at for another 5-10 years? The other volunteers all have kids or grandkids that have recently attended the school, which means that their personal incentive is significantly higher.

The fact of the matter is, though, that younger professionals have a better chance of connecting with teenagers.

It's not about being "cool," but about creating a model of someone they can see themselves becoming. I remember being 16, and I was way more likely to be able to envision myself in the shoes of a 36-year-old guest lecturer than the 66-year-old teacher.

Lesson The Third

The final thing that I noticed is that, despite the best efforts of the hardworking teachers, the students are not set up for any real success by the district.

Strong words, I know, but hear me out.

Green Mountain High School, where I've been volunteering, has an amazing career program that focuses on what students can achieve after High School without pushing the not-always-viable University path.

Options like trade schools, apprenticeships, and Community Colleges are all well-defined and the school works hard to connect with professionals like myself to round their educational curriculum out and ensure the students are not only aware of their options, but can build real connections to help them thrive after graduation.

I absolutely love this mindset, which is a stark contrast from my own High School experience.

That said, the district has different goals that don't always serve students interested in Information Technology, Software Development, or Computer Science very well.

Most schools today require (or strongly recommend Chromebooks) for their students. This serves a lot of functions, such as consistency between computer-based classroom education, shared resources, and mobile device management.

But do you know what Chromebooks don't do? They don't make for great software development machines, that's what.

Couple that with the aggressive lockdowns imposed on district networks for both "security" and "purity" reasons, and you have classrooms full of computer science students learning how to code Python in a web browser on an 11" screen using the one online REPL that hasn't been blocked yet.


So, what is the solution here?

I'm not 100% sure, but I feel pretty confident that "fixing the system" isn't a viable option. But what is viable is for us—meaning the handful of fellow nerds that read this blog—to get more involved.

You can always volunteer your time. It's as simple as reaching out to the principal of a school in your area and carving out a little bit of time in your schedule to provide some support. I make myself as available as they need me to be, but an hour a month, or even a semester, may be all you can handle; and that is OK!

If you can't volunteer your time, then consider donating equipment.

Green Mountain High School maintains a library of old, donated laptops that they use to teach the students how to do more complex things. Installing Linux, compiling code, networking. They're not great, but when compared to Chromebooks (and even the janky thrift-store box that was my first computer), it's a great start.

Not all High Schools are able to support a lending program like this, though, so be sure to reach out first. If you find that they just can't or won't take your old laptop, feel free to shoot me an email and I would be happy to clean it up, spin up Linux on it, and find a new home for it with a student who wants more hands-on experience outside of the classroom.

After all, if their parents bought them a Chromebook, the likelihood that they'll also spring for another laptop or computer to learn how to code on is pretty slim (as I've seen firsthand).

Regardless of how you might get involved, all I can say is that I hope you do something. If Computer Science is going to be a successful High School curriculum—one that exposes kids that are not already into computers to the joys of computing—then it's going to take the active support of the entire industry.


If you like this post or one of my projects, you can buy me a coffee, or send me a note. I'd love to hear from you!


This is post 012 of #100DaysToOffload