It’s been some time I wrote any post content on my blog. I thought, now, it would be good time to delve into it and share my today’s trail of thoughts how the year 2017 has fared so far this year.
Especially what it means to be in web development of today (and tomorrow).
Having worked as an engineer in web/software for past 5 years or so, I’ve witnessed and observed an amazing churn of events that bring up a plethora of technologies which help us software craftsmen, engineers and designers to drive innovation forward and beyond - by leaps and bounds. Be they come from front-end tech stack, APIs services, back-end, databases, cloud environment etc, etc. Each of these technical aspects has evolved well over time. But - more particularly - it’s the front-end community that’s evolving at an incredible speed of light.
One year ago, as I worked professionally as a front-end engineer, I come across this page and thought the items listed (in no particular order) is what I understand is the measure of success to being a front-end engineer.
Front Engineer Know-how 2016.
- UI Component
- Gulp/Grunt build automation
- SASS for CSS compilation
- Angular 2
- Client-side frameworks
- Hybrid mobile development
- Functional programming over OOD paradigm
- ES6 over ES5 syntax
- Restful JSON
- SPA (Single Page Apps) stack
- CMS platforms ie Wordpress, Drupal, etc.
Fast forward one year later, I took another recap of this…
And this list (again in no particular order) is what’s expected to be a front-end engineer.
Front Engineer Know-how 2017.
- WebAssembly - like machine assembly language but for the web.
- Reactive programming to complement functional programming
- Angular 4 - Really? What?? What just happened to 3???
- React Fiber - soon to replace React itself (that soon??)
- PostCSS + cssnext - the new SASS for 2017??
- Alternate restful architecture using ie GraphQL to JSON
- Web Components ie Polymer
- Facebook’s YARN takes on NPM
- Client-side frameworks vs client-side non-frameworks - What??.. do those even exist?
- SPA gets a new hippy name called JAM stack - huh?? JAM what???
- Static site generators in favour over CMS platforms
- the list goes on
- and on
- and on
- and on
- and on
- etc, etc…
By the time I’m done with this list, there will be other forth-coming crazy evolutions or changes to the front-end ecosystem that could either make or break all the things we now know as an engineer of today.
Not just a front-end engineer per se. But also applies to any reputable engineer who’s worked with the best/worst of this laundry-list of technologies. And you’re wondering how does any sane person be able to handle all this barrage of changes?
This aspect is important because I want to emphasise that we engineers need to raise our awareness higher of these ever-folding changes in the world of web, what they mean to us, and not let us succumb to their ‘ill-will’. We’d be sure never to be left behind if today’s hot stuff we take on will become tomorrow’s outdated fashion which we will casually disregard.
I’m not here to offer some solid advice which items are a must-have and you have to stick them as if they’re treated as your holy bible of excellent engineering craftsmanship for the web. In fact, there’s several developers’ post have been written to cover all this already (such as this, and this, and this etc…) Thus I rather not waste my time on reiterating each of their salient points there. My take on this is that I don’t fully agree there’s such thing as a shop-stop for all your engineering ingredient needs in order to make your web development career a thriving success for 2017, and beyond.
Because of this, IMHO, I don’t believe in all the hype and glory that these tools, widgets, gizmos (or whatever you may call it) could turn you into some sort of demi-god programmer that knows everything that people around you will start to grovel at your feet. Just cause you’re such a know-it-all does that mean you get less respect than any other peers if you weren’t? Not really. Does it make you a hot property for high-flying achieving recruiters, trying to pitch you for the next latest startup gig to make a world a different place? Perhaps. Would you earn more with these tools under your belt? Kind of. But more importantly - are we going to become ‘slaves’ to these perpetuating changes such that we eventually forget what we’re truly masters of our universe?
And that is knowing what we do best. Problem-solving with limitless imagination and passion.
To me, being a fantastic engineer means we need passion and curiosity to solve the most complex and difficult problems that we can deliver to our clients/bosses. We hold these values dearly to ourselves and we strive to work very hard on our reputation as illustrious innovators and builders for them. Thus we mustn’t forget how we all got our craftsman journey after years of harnessing our talents at this point in time. We love to solve problems based on our eagerness and interests thus we, as engineers, have different interests to suit our needs. With different needs, comes with different unique approaches to solving them.
With the above mentioned listed items, I see them as no more than just ordinary tools you find in a warehouse that you pick up and think to yourself, “Are these going to help me achieve something? Is this going to solve a particular problem that I haven’t managed to do on my own?” etc. You need to listen to your own gut-feel how relevant are these tools going to tailor to your own situations and make your solutions your own.
Best tools are best picked for the right job.
Not all tools are suitable for all kinds of jobs. Thus you don’t have to need every item in your toolset to accomplished the jobs. There’s only so much you can hold in your toolset that there’s little point to building a wardrobe full of fancy or trendy equipment which you never have to use often. You probably never even use them at all, if you’re smart enough to figure out how a complex problem can be fixed with trivial methods.
Same thing for web development - you don’t need to know every single facet of front-end trendy technology to make your web development career complete. We have the ultimate intelligence to analyse and deduce problems by breaking them down and solve one small problem after another - using the correct tools of our own or any one of the listed items above.
If you’re even truly bold enough, you can even your own unique toolset and made it personable for yourself such as building your framework and libraries etc, etc.
In summary, don’t get hyped with all the marketing ploy of these fancy buzzwords and trendy items that offers no merit value other than drawing some major fashion statement that falsely promises you some ‘magic’ to reach rock stardom with little or no effort. You choose the things that truly matter and makes the most sense to you.
You make the choices.
And we’re humans so we’re wise enough to decide on them. Only you make sense of all of this. You’d better do - otherwise, these things will take a huge toll on your developer sanity levels right out of the stratosphere. You’ll swear you’ll never be able to come back down on earth safely anymore.
Till then, stay sane, look after your mind and health.
Happy coding days ahead!