Be all you can be

If I don’t say it every day I must say it to developers every week. “Be selfish”. While the world seems bathed in endless capital to get the next big thing to market the one thing we are well short of is skilled and impassioned developers.

Having had a wonderfully happy and successful .Net career I have no bug to bear. My belly is round and voluminous with all the riches it has provided me but the grip of its allure on our community saddens me.

In a very reasonable and inspiring conversation today with some of the smartest people I am sure to ever meet there was still this niggling fear of letting go of what they know for pastures possibly greener. Here we were faced with the challenge of efficient, simple fast build pipelines that inevitably need be containerised. We have been trying really hard to make Mono a great story so we can use all the DevOps riches the Open Source community provides. Mono has its challenges and we are working around them. But to watch the room divided by those who were willing to wait for Microsoft to catch-up and those who weren’t was inspiring. My role as agitator was far from done. Lets not forget in just over a month it will be about a year since Microsoft announced Docker compatibility. The entire ecosystem has moved on considerably since then and we still don’t have mainstream windows containers. Do we wait? What do we get in windows container months from now that we have not been able to get in a Linux container for more than a year? 12 months is an eternity in our industry. In JavaScript years that is like a decade…thats pre IPhone…crazy talk ;)

If we play this back as technologists who’s near every thought revolves around pragmatic problem solving we would never allow our customers to make bizarre loyalty based decisions if we could help it. We take endless pride in building things fit for purpose and of outstanding quality but somehow right now the .Net community in so many ways just seems so resistant to change and this is where I want to call out “be selfish”.

As a developer you owe it to yourself and your employer to be selfish every day and make sure some part of your day is about your evolution, honing of skills and mindset. Because as much as your product manager may want you to deliver that next story they also want you to be making sure that your craft is constantly evolving in a manner that will support their grandiose aspirations in the future.

How? Start working on your story telling. Work on your leadership alliances. Once you can tell meaningful and compelling stories about the value of skills and development and you have some leadership alliances in place it comes down to how often you feel the need to play that card. Creating a culture of ardent if not maniacal approach to personal as a developer starts with you and your organisation will always be richer for your legacy. Be selfish!

If I can use functional programmings reemergence into the mainstream as a useful method for “correctly” creating applications of significant scale quickly and manageably. The evidence is somewhat compelling and for a “selfish” developer something they would have considered and tinkered with at a minimum. The unselfish developer I have little doubt will happily argue “but I can build that in Rails. or ASP .Net”. Because to them they have never had the time to remove the blinkers and look up from their happy place. They are normally driven to be amazing for their employer and appear productive and deliver fast, relative to what they know today. Selfish developers are normally insanely curious. Happy to put a little white lie into their planning meetings about the size of a story so they can spend just that little more time getting creative on a task. Taking a moment to look up from what they know and challenge the status quo. Don’t fear being selfish, your brain is for hire and every minute you fill it with something useful your employer gains and gains big. So while you may not yet be JK Rowling and are battling to sell your need to be selfish for the greater gain find ways to be selfish in your every day.

I implore you to remember how you ended up here. You love solving problems, your brain aches for the challenge. For goodness sake don’t waste it on ways you know now, spend it on finding better, simpler and faster from anywhere the options are infinite. Please believe me when I tell you that the next great solution is not always going to be on your favourite vendors homepage.

New and shiny is the new norm. There are many great articles about not picking new and shiny and being still in your choices. That may work for those who are content with their agility but be sure you are comparing to your competitors not your own legacy.

Be selfish, you only get one crack at this life so make it beautiful, feed that curiosity and make sure to inspire those around you.

PS: I have two hours of commute a day so listen to a lot of podcasts here are some of my favourite selfish and inspiring audio purveyors.

Software Engineering Radio
The Bike Shed
Ruby Rogues
DevOps Cafe
.Net Rocks
The Change log
The Ship Show
Arrested DevOps
JavaScript Jabber
Giant Smashing Robots
NodeUp
Functional Geekery

Looking for somewhere to be selfish come and join us at SEEK