Something happened. I decided to make a change.
After 15 years of being a web developer, I want to upgrade my skills, not just a bit, but an order of magnitude - enough to be hired at a large tech company like Google or Amazon.
Most web development, in general, doesn't require deep computer science knowledge, or any at all. I hadn't heard about Big-O until I already had 5 years of professional coding experience under my belt. Many times in web development, you're dealing with small enough datasets that O(n) vs O(n^2) doesn't really matter all that much, and if it does matter, a wait of 1 or 2 extra seconds generating some report is usually acceptable.
Looking back I can see where some computer science knowledge would have helped. I was doing tree traversal before I even knew what trees were. I was just coding a hierarchy.
The desire to change really started back in 2006, when my boss (he ran the company) suggested I learn some computer science subjects, because it would help me communicate better with other engineers and give me deeper technical knowledge to solve problems.
So I took 2 C courses and started reading the books in MIT's open courseware and ARS Digita. They overlap. It was going well and I was learning a lot, but I wasn't putting it into practice at work. I didn't see a need. So somewhere in the middle of reading a distributed systems book, I stopped. And since I wasn't using any of it, I forgot it all.
That was 9 years ago.
Now I'm back at it.
I'm 44 years old. I still have about 20 years of work ahead. I love programming, but web development has become pretty stale and monotonous. Yes, there's always new technology and libraries popping up to accelerate development, but unfortunately that also means it's getting easier for newcomers to develop just as well as I do, and sometimes better.
I've seen what people with a CS background can create. They create amazing things: operating systems, databases, distributed hash tables, distributed computing systems, desktop software, mobile apps, image and sound editing software - all the things I've used for free (or relatively cheap) over the years.
I want to build great things, too. It's time for me to level up.
I want a challenge. Every day. I want to work where engineers are building the future of wondrous things.
Here I go.