Restarting my development engine
For the past several years, I've bounced necessarily between sectors such as consulting, media production, construction, and oil & gas. While I'd like to say this has been by choice, each position change has been a result of forces out of my control. While I won't get into the specifics here, it's been a welcome change to get back into web development.
So, here I find myself wanting to and actively getting back into building websites. I've had experience with a number of popular frameworks and CMS's but I've been excited to have the opportunity to flex my thinker (that's my brain 🤔) and learn something completely new to me.
I have to say, developers are not bereft for choice when deciding what to use. I mean, there are so many options it's paralyzing.
Some of the questions I've asked myself are...
- Should I learn a new-to-me language, like Python or Ruby?
- Should I stick good old hardy php?
- Is Laravel still The Bestâ„¢ framework for php development?
- Should I try to build in Rails? @DHH, so it should be awesome, right?
- I've used EmberJS a heap-load. Should I use React or Vue instead?
- What about Angular...is it still a thing?
- And what about a build tool? webpack, parcel, Gulp, Grunt, broccoli, etc.
- What front-end framework should I learn/use/become an expert in? create-react-app, NextJS, NuxtJS, Gatsby, etc.
- Should I split App from API?
- Should I build a monolith app?
- REST or GraphQL API? Wait, what's GraphQL???
This could go on for awhile.
My point is, there are so many options, so many decisions to make, it can so easily bring me to a grinding halt.
Abstractions
Has web development always been like this? I really don't think so. As humans learn and systems evolve, we build abstraction layers above what we consider trivial tasks.
In web development, we've abstracted HTML, CSS, and Javascript behind layers and layers of build tools, modules, references, props, composers, INSERT_FANCY_NAME_HERE.
I'm not saying abstractions are a bad thing. In fact, I think they're the opposite. These abstractions breed technological advancements we wouldn't have dreamed about years ago. It's simply the case that we are option-wealthy. Not only are there thousands of packages already created we can learn from and use as developers, hundreds more are added everyday. We are in a development golden age.
For those us of who have been on pause or stepped away from development for a time, stepping back into this raging torrent is overwhelming. Seriously mind-numbing. I feel like Neo looking at the Matrix for the first time, overwhelmed by the flood of data. I can't mentally parse the signal from the noise.
Summary
My first couple weeks back in the saddle have brought me to surmise the following:
- Make a quick and educated choice to learn one language/framework/concept and see it to completion.
- Block new wizz-bang fanciness, the distractions competing for attention as I learn language/framework/concept above.
- Build something real. I'm rebuilding gpjobs.ca as a NextJS + Laravel API app.
I hope after a few weeks of hard focused work, I have a good return and can be proud of my work. I think that's the best I can ask for.