EOD: What has a software developer really learned?
I am a software developer who transitioned into the role of an entrepreneur because I strongly felt that software can provide powerful solutions for problems that would otherwise remain unaddressed. One of the most important metrics that I set out to measure for my success on this journey was: How much can I learn and how fast?
For me this is a daily exercise, I take a deep breath at the end of my day and do a basic gut check along with any metrics I can scrape from my personal graphs on Toggl and RescueTime.
After going through an insane number of emails, chat messages, supporting the team and the community, reading blogs, posting on stackoverflow, training with self-learning websites for the latest technologies, digesting market articles shared by colleagues and google feeds … what have I as a software developer really learned? More importantly: What have I produced?
And the answer isn’t always pretty: Nothing! Then again, there are days when its the exact opposite.
I find myself mired in the same endless loop that consumed me when I worked for others. Sing it with me: “its one step forward and two steps back & that’s just how I like to spell success” … cue *jazz hands*
Why? Why isn’t every day super productive even when you might set the agenda and order for everything that takes place? I believe I’ve narrowed this down.
Its the tools stupid! The sheer amalgamation of tools gets in the way.
For frontend there are:
- Angular: Wait! angular 1.x or angular 2.0? … oh no let’s worry about the death of 1.x while at the same time consuming every article about the possibility of success with 2.0
- Others: React, BackBone, Amber etc.
For backend there are:
- NodeJS: Express, LoopBack, BlueMix
- Java: Tomcat, UserGrid, Apigee127
- Others: Parse(dead), ParseGround/Sashido(resurrected?), Kinvey(dead~ish?), Firebase, Meteor etc.
Any and all technologies mentioned or missing, surely deserve great praise for what they have accomplished but for any lone software developer who wants the power to churn out applications at the speed of light with security and scale built-in, there are just too many tools that don’t really go that extra mile. It is always a “mash-up” or a “stack” or worst of them all: “it-depends”.
If you too, get that nagging feeling that there are plenty of articles about what’s new and what’s gotten better, which get you excited about learning … but never quite satiate your appetite to go out and kick arse by bringing an idea to life … right the frick now! Then join me in a moment of silence as we all wait for something coherent to tie technology together and empower us to build better software in the years to come.
Silver lining — Well, its not all fire & brimstone! Hopefully, this provides perspective to those of us facing challenges with how to filter and narrow the incoming barrage of tech information. Lets focus our time on what matters:
Only the technologies that will make a significant dent in our ability to produce are worth our time, the rest can wait in our reading list for another day when they’ve improved by leaps & bounds.