So many all the things
In some ways, I feel like I've done a disservice to myself for taking a year away from .NET development to work on the Java stack. And then to take a job at a large bank in a group whose sole purpose is to put out fires it seems. The disservice sentiment occurs to me as I try to figure out what I want to be when I grow up. When I see some of the cool things people are doing in the software development scene, it occurs to me that I am on the healing edge of development. The bleeding edge has already went through days/weeks/months/years ago, and the healing is all but complete.
I want to learn React. I start working through a class on Pluralsight, and realize I should learn how to use these task runners. Then I realize I should learn how to be more proficient with JavaScript. It's been a few years since I worked in pure JavaScript, so that seems like a reasonable building block to nourish. Then there's TypeScript. Whoa. Wut? Statically typed JavaScript? That seems pretty sweet. Wait. What's this transpiling stuff? Oh yeah. Ok. That makes sense. Of course. Higher level language built on slightly-less higher-level languages. LESS is still around. SASS is still there. jQuery is still there. Pug? What? Why would you...oh. Huh. Holy monkey - you can do that with CSS? Maybe I should brush up on my algorithms and data structures. Even though I have yet to use any complicated data structures since I started coding "professionally", it seems like it could help me think differently and possibly make future coding episodes more productive. Then there's AngularJS. And Angular2+. And Vue.js. And...well, the list goes on for client-side frameworks/libraries. Combined with the rise of Node and NPM (and all variants of package managers) there's a veritable explosion of things to learn.
Meanwhile, the bleeding edge keeps cutting at a seemingly unsustainable (indeed, an unmanageable) pace. My reading list keeps getting larger. My time to actually learn things seems to keep shrinking and I'm stuck fighting fires with decaying technology. Sure, that technology will be around for a good while because it can be expensive to rewrite entire applications from the ground-up. It's just that, well, I don't want to work on that old stuff. I want to work on newer stuff. Maybe not the latest-and-greatest-good-luck-getting-this-to-work-on-your-machine sort of new, but newer. Angular 7 or React 16 (or whatever it is these days). The releases from these large frameworks and libraries is incessant and relentless and impressive to say the least.
And, oh, by the way, full-stack development has become quite a different beast from what it was just 5 years ago. Back then, full-stack development meant working with a database (SQL Server, for example) and a web application (ASP.NET WebForms). If you got fancy, you may have a project specifically for database access, and one for business logic and one for UI logic, but if there were more than a few people working on that same codebase and were being forced to get something working, it didn't take long for that whole separation of concerns thing to be a sewing circle where everything knows everything about everything. That's ok, we'll fix it later.
So yeah, in some ways, maybe I committed a disservice. On the other, I'm glad I changed direction for a while and tried the Java ecosystem. While the tools and technologies that were chosen for the work I was doing was far from optimal, the learning experience was useful. To see a different approach to the same solution I'd been working on in the .NET stack was helpful. It was basically writing custom forms on top of a database. Seems simple enough, right? And with the smallish number of users, it made a lot of more complicated decision about synchronicity (or lack thereof) moot.
Here I am, another two years into another job that has taken me nowhere. Sure, I've learned a few things here and there, but from a technology perspective, I've been doing the same sort of thing for about 3-4 years. It's time for a change. Let's get closer to the bleeding edge. Or at least on the blade.
One of the main reasons I chose this career was the vast amount of learning possibilities. That's clearly still an integral part of this profession - possibly more-so these days. There are containers and Visual Studio Code - OMG - and now you can run SQL Server 2017 on a Mac using Docker? How cool is that?? It's always seemed like the final vestige of development on a PC was having access to SQL Server. Now, with docker, and .NET Core, all that stuff can run anywhere. How cool is that?
This technology thing is pretty cool, but so very overwhelming at times. So, yeah. I'm pretty comfortable with the decision I made to start into software development, but I still don't know what I want to be when I grow up.
I want to learn React. I start working through a class on Pluralsight, and realize I should learn how to use these task runners. Then I realize I should learn how to be more proficient with JavaScript. It's been a few years since I worked in pure JavaScript, so that seems like a reasonable building block to nourish. Then there's TypeScript. Whoa. Wut? Statically typed JavaScript? That seems pretty sweet. Wait. What's this transpiling stuff? Oh yeah. Ok. That makes sense. Of course. Higher level language built on slightly-less higher-level languages. LESS is still around. SASS is still there. jQuery is still there. Pug? What? Why would you...oh. Huh. Holy monkey - you can do that with CSS? Maybe I should brush up on my algorithms and data structures. Even though I have yet to use any complicated data structures since I started coding "professionally", it seems like it could help me think differently and possibly make future coding episodes more productive. Then there's AngularJS. And Angular2+. And Vue.js. And...well, the list goes on for client-side frameworks/libraries. Combined with the rise of Node and NPM (and all variants of package managers) there's a veritable explosion of things to learn.
Meanwhile, the bleeding edge keeps cutting at a seemingly unsustainable (indeed, an unmanageable) pace. My reading list keeps getting larger. My time to actually learn things seems to keep shrinking and I'm stuck fighting fires with decaying technology. Sure, that technology will be around for a good while because it can be expensive to rewrite entire applications from the ground-up. It's just that, well, I don't want to work on that old stuff. I want to work on newer stuff. Maybe not the latest-and-greatest-good-luck-getting-this-to-work-on-your-machine sort of new, but newer. Angular 7 or React 16 (or whatever it is these days). The releases from these large frameworks and libraries is incessant and relentless and impressive to say the least.
And, oh, by the way, full-stack development has become quite a different beast from what it was just 5 years ago. Back then, full-stack development meant working with a database (SQL Server, for example) and a web application (ASP.NET WebForms). If you got fancy, you may have a project specifically for database access, and one for business logic and one for UI logic, but if there were more than a few people working on that same codebase and were being forced to get something working, it didn't take long for that whole separation of concerns thing to be a sewing circle where everything knows everything about everything. That's ok, we'll fix it later.
So yeah, in some ways, maybe I committed a disservice. On the other, I'm glad I changed direction for a while and tried the Java ecosystem. While the tools and technologies that were chosen for the work I was doing was far from optimal, the learning experience was useful. To see a different approach to the same solution I'd been working on in the .NET stack was helpful. It was basically writing custom forms on top of a database. Seems simple enough, right? And with the smallish number of users, it made a lot of more complicated decision about synchronicity (or lack thereof) moot.
Here I am, another two years into another job that has taken me nowhere. Sure, I've learned a few things here and there, but from a technology perspective, I've been doing the same sort of thing for about 3-4 years. It's time for a change. Let's get closer to the bleeding edge. Or at least on the blade.
One of the main reasons I chose this career was the vast amount of learning possibilities. That's clearly still an integral part of this profession - possibly more-so these days. There are containers and Visual Studio Code - OMG - and now you can run SQL Server 2017 on a Mac using Docker? How cool is that?? It's always seemed like the final vestige of development on a PC was having access to SQL Server. Now, with docker, and .NET Core, all that stuff can run anywhere. How cool is that?
This technology thing is pretty cool, but so very overwhelming at times. So, yeah. I'm pretty comfortable with the decision I made to start into software development, but I still don't know what I want to be when I grow up.
Comments
Post a Comment