One Decade of Programming Later...
It’s been a decade since I started really thinking of myself as a programmer. Here’s some thoughts and reflections about my journey.
It’s been significantly longer than a decade since I first learned how to program, but it’s only been a decade since I started viewing myself as a programmer. In august of 2015, I moved to Urbana, IL to began my undergraduate studies in computer science at UIUC. I vividly remember the overwhelming anxiety I felt at the time - there was so much to learn, and so many people already seemed so comfortable with their programming ability. At my lowest moments, I felt like I’d never catch up. A decade later, I feel pretty comfortable in my abilities. I’m not absolved of impostor syndrome, but missing semi-colons don’t send me into a depressive spiral anymore.
Writing this post was pretty challenging. Initially I wanted to document the most fun things I’ve worked on in my journey as a computer scientist so far, but it read way too self-indulgent for me to feel comfortable posting it. In the end, I decided that no matter what I wrote, I wouldn’t be satisfied with it, so I decided to just post something. In a way, I think learning that perfect is the enemy of trying something at all and learning from the experience is a pretty big personal lesson that programming has taught me.
What has changed in the world?
A lot of things have changed over the last decade, but it’s hard to say how much of my perception here is truly changes within the industry versus academia/undergraduate instruction lagging behind reality. Here’s some scattered thoughts on the matter:
- It seems like cloud adoption is at least an enduring trend - I’m glad I was able to gain some skills around it at school/early in my career.
- Containers have gotten a lot better (at least in linux), but they haven’t truly solved the problems of sharing development environments in a satisfactory way.
- MicroVMs are a pretty cool thing that’s been gaining more adoption. I’ve got my eye on it as something that I expect to see be a basis for bigger things.
- Protocols take a long time to gain support and widespread adoption. I’m still sure QUIC is just around the corner. Even extensions to protocols that seem like obvious quality of life upgrades (e.g. MPTCP) don’t always succeed.
- “Learn the fundamentals” is enduring advice - people with a very strong grasp of the fundamentals are able to transfer skills and adapt as the times change.
- AI hype will probably always be around. I try not to buy into the hype too much, but being overly cynical will also bias your thinking in non-constructive ways, so I try not to do that either.
What do I want to do over the next decade?
I think it’s poetic that I’m starting my second decade as a programmer on the precipice of entering grad school. I hope to contribute to the growing frontier of computing, but I also hope that when I look back in 2035, that I can proudly say that I helped contribute to humanity, and not feel like I helped accelerate it’s destruction. Technology is currently playing a pivotal role in the many threats to society and the planet.
