A couple months ago, I started taking classes at Chabot College. One reason is to get the degree that shows what I’m talking about. But there’s another reason, even more fundamental: filling in the gaps in my own knowledge.
(The first dimension would be a set of object keys – the DOM nodes. Another dimension represents undo history, like a timeline. A third dimension could be the shadow content. I could define other dimensions might exist for building an individual transaction until it is completed, or otherwise creating a “workspace” for experimenting.)
About 24 hours ago, I had an idea, related to my multi-part keys for hashtables implementation. Typically, in designing a data structure class, I think about how to give each piece of data an address first, then I implement ways to store data by that address. The idea is to flip that approach around: to define an API that lets the user place an object with an address, and then add new dimensions to the address space as the user needs them.
This underlines why I’m going to college after at least six years as a professional software developer. It’s a gap in my knowledge.
Some people, like me, enter this field with a talent built upon years and years of tinkering, of experimenting and of thinking. The software industry can really take a person like that quite a ways. Others enter the industry having taken computer programming courses – and that’s really hit or miss for an inexperienced person. (No offense intended to the software engineers who started through college!)
I wonder if taking up college classes after you’ve been in the industry a while is actually the best approach of all: continuing the education, helping clarify what you’re working on and expanding the imagination with new possibilities.
I wonder how many current software engineers have decided to go back to college after being in the field a while, to push themselves and their capabilities even further.