As a developer, you have received so much. Your education came from many sources, often freely given. As you grow in your career and expand your knowledge base, consider taking a formal position that allows you to share that knowledge.
- Internalized the fundamentals
- Gained empathy for new devs
- Was exposed to others outside my usual socio-economic circles
- Strengthened my local community
- Nurtured a new income stream (I’ll discuss earnings potential below)
You are never above the basics
When I taught the JS boot camp, I had been a dev for five years. Three of those years were purely front end. But I discovered I had never learned the basics very well.
When you take a new position, it can feel very sink-or-swim. Sometimes we focus on surviving instead of building a long-term knowledge platform. When I started as a FE dev, I was leaving a BE heavy job. I felt overwhelmed and often did things the first way that worked, not the best way.
Teaching at the boot camp opened my eyes to how much I had missed regarding the “what and why” of good JS development. But once I had to explain, for example, ES6 arrow functions compared to using the function keyword, I was forced to learn the fundamentals.
The fundamentals of coding transcend the current framework you are using, and often even the underlying language. I had students looking to me for technical skills to start building with today, but they were also looking for coding philosophy, such as one might find in books like Clean Code by Bob Martin. It’s never comfortable to recommend books you haven’t read, so I cracked the books alongside my students.
Remember what it was like to be new?
During the first month of class, I saw awe in my students’ eyes so many times when I’d show them real-world code from my job. I also saw the fear and doubt. They “knew” they were in over their heads. Just like I “know” it too every time I start a new job.
The fear of failure seems to be pervasive in software development. It seems instinctive in most of us, for whatever reason. I don’t know if it is the abstract nature of coding, or something else, but it is there for almost everyone new to the craft.
I too often encounter experienced or naturally gifted devs who have an aura of arrogance. These devs are unapproachable for newer team members, which is a shame because they likely have a lot to share. Once upon a time, surely, these stars were that newbie. Perhaps if they were reminded of the anxiety of being new to a skill, these devs would come down off their self-assigned pedestal.
Teaching will be that reminder for you. You will gain the skill of explaining something in a variety of ways to appeal to a variety of learning styles. You will grow in the kind of compassion that gives you a reputation for humility. You will give to others the mentoring that you may wish you had.
Meet your neighbors
Both boot camp and community college introduced me to people from all different walks of life in my city. The only uniting theme was that these people had a desire to make a better life for themselves. They were willing to put their evenings, weekends, and money on the line to make it happen.
I also empathized with many students impacted by Covid-19. As software developers, we usually are able to work from home in a pinch. My students were usually not so fortunate. I had students lose jobs, lose access to reliable internet, or simply disappear from contact with me for unknown reasons.
Even in the best of times, many students at community college or boot camps come from a background of struggle. Some students slept (overnight) in their cars occasionally. Many others had unspoken stories I will never know.
Build the neighborhood
Being a positive part of students’ lives is simply a joy. Certainly I was building their technical skills. Far more importantly, I was expanding their knowledge of what was possible. Whether it was mentioning $70K starting salaries , the entrepreneurial potential of programming, or simply the joy of creating, my students’ futures were brightening.
Upskilling your community makes it more robust to economic downturns and more attractive for companies to invest in. It also shares prosperity more widely, making the community healthier and more capable of funding generous social programs.
The collateral benefits may be innumerable yet imperceptible. But the individual success stories of your students will likely rank among your proudest accomplishments.
Diversify your income
Despite what you may have heard, teaching can pay a decent hourly rate. I can’t speak to what a full time position pays compared to the hours worked, but I can speak to both a boot camp position and a community college adjunct position.
Working as an instructor at a boot camp, I made a higher hourly rate than my day job as a senior software developer (converting my salary to an hourly rate). I was absolutely shocked that this was the case. And this boot camp was just evenings and weekends so I still had my day job.
Consider the fact that boot camps want to hire experienced and well connected instructors. This means they have to compete on salary. Furthermore, my JS course wanted instructors still working at companies in the area so that students would have connections and a job funnel. This further drives up the necessary pay for instructors because another thirteen hours a week on top of a full time job.
Lecturing for my local community college, I’d peg the hourly rate at between $25-$40 an hour. This rate varies a lot depending on how much work outside the classroom you have to do. My first semester naturally took more prep than my second semester teaching the same class.
On top of these generous rates, some of the classroom time is naturally spent with students working on projects. During this time, I answered occasional questions but I also had time to get some of my own work done. Add to this the fact that I had a blast teaching, and it’s easily my favorite side hustle of all time.