I went back to staff engineer after trying to make it as a teacher.
Teaching is not a dynamic career, at least not for me, the one full time CS teacher at the small school I was at. There’s a little more data to it though: based on the attitudes of a large enough minority of staff and majority of leadership, it wasn’t a career where one could take risks and reap rewards. Not with the amount of social capital I brought to the role, at least.
I had hoped that as a CS teacher with a huge amount of industry background I would be able to make an impact outside of my classes. The quality of the school’s IT meant that, with the right leadership, the IT team should have been crying for out something new. They certainly had the funding for it — external funding from a high net worth parent — but the will to do something novel and interesting just wasn’t there. In the end I was kept at arms length from any of the new hotness projects, which themselves were very staid and notable only in that they made enormous spends on high value equipment rather than doing anything valuable with people — the staff and pupils.
One or two individuals attached to those projects should hopefully still be able to make an impact, despite the lethargy of the old guard wanting their thumbs in the pie and their unending ability to extinguish any dynamism.
(Procurement of new hardware, for example, had to be signed off on by IT. They were the blockers to one very cool new piece of hardware but they weren’t incentivised to do anything other than get everyone to agree they were the gatekeepers. They weren’t incentivised to open the actual gates at any kind of speed.)
I’m much happier back in industry. The true joy of tech is that the business’s primary asset is the codebase, the diffs to the codebase, and the engineers driving them. We can gather around the machine and tangibly make it better through generating intellectual property using our keyboards.
With teaching, the main way of making any kind of progress like that was in the classroom. By its very nature, that is lonely work. You teach solo. You mark solo. There’s no collaboration at all with peers and 80% of the job ends up being behaviour management rather than content creation and delivery.
Interestingly, the most peer collaboration I did as a teacher — which as I said, wasn’t very much — was very much about behaviour management of the kids. That part was cool, but it’s nothing compared to churning out diffs and, moreover, collaborating with other devs to encourage and develop them to churn out their own impactful diffs.
When I put it like that, I guess I’m still a teacher but now I get paid 10x for doing it with young adults instead of old kids. (By which I mean both the high school pupils and the handful of childishly petty staff who sullied my experience.)