You never know where inspiration may arise from. Take this quote for example.
“Don’t let nightmares get in the way of infinity.”
This is one of the more inspiring quotes I have read recently, words so profound that they have become my guiding star. How the beautiful words of a bot have made such an impact on my life!
Yes, you read that correctly. The author of this inspirational nugget and many more wonderfully uplifting quotes is none other than an AI bot called InspiroBot. The name may not be inspired, but the content it generates certainly adds joy to our earthly existence.
What is most interesting however is that this most learned and wise of bots was created by a couple of amateurs with an idea. As shared on the This American Life podcast:
“Neither of these guys had been a professional programmer or studied it in school. Peder had taught himself to code years before. And he made this with just kind of a grab bag of standard programming tools.”
This is different era from the days past when PC’s started to arrive on the scene, bulletin boards became more common, and schools started adding coding classes to curriculum. That helped popularize programming, but it was not ingrained in the culture. Now coding is for everyone.
A few weeks ago I saw this tweet from Jessie Frazelle about a tool that can create a mobile app from a Google Sheet. There are sites like Glitch where you can find and remix code. You can grab code from GitHub, Dev.to, and Stack Overflow to build an app in no time. Need to publish your app? I searched “host Python webapp” and got 48 million hits. Total newbie? Here’s 71 places to learn to code…for free.
When I give talks, some of the more astute audience members will question the traffic numbers when I mention Stack Overflow. On a monthly basis, they get anywhere between 50 to 60 million unique users. However there are only at most 25 million professional software developers in the world. Who are the other 25 to 35 million people?
I call this group the “Everyone Developers”. These are the hobbyists, school kids and office professionals that work with code but not for a living. They are tinkering and learning code. They are often lurking on Stack Overflow to get answers but never actively contribute.
This growing population of “code aware” amateurs has implications. First, the pool of talent is much larger than assumed. Every company struggles to find developer talent, owing to the fact that they only want “the best”. But much of the work that is required hardly requires highly experienced engineers. The business as usual, contextual stuff that is not cutting edge or complex does not require “the best”. That work requires people that have a decent grasp of code and have the ability to learn quickly.
Second, the type of coding most people are doing is radically different from even ten years back. We are living in an age of more tools, automation, and plug and play API’s. For example, most developer tooling not only has API’s for integration but also includes a webhooks layer for consuming messages for notifications. Developers can avoid diving into the API layer to write a custom routine, making it much easier to connect tools into team workflow. Even when you dive into code, the richness of API’s and libraries means tasks are much simpler than in previous generations of technology.
It seems as if we are talking about two different types of programmers. On the one hand you have engineers coding complex algorithms and infrastructure. They have a broader systematic view of processes, architecture, product, and all the dependencies therein. On the other hand you have developers that are focused mostly on their code and tests and less concerned with the broader system or the stuff underneath . They are cobbling together code that is built and packaged by engineers working at a deeper level of code.
Definitions can be fraught with indignation and misunderstanding. There already is enough hand wringing over titles. However definitions help organizations clarify their needs and build a strategic pipeline of talent to address the work in queue and skills required to complete that work, and avoid the hangup over “hiring the best”.
With a wider range of talent, from skilled engineer to hobbyist developer, cthere are two strategic implications for organizations. First, to deal with tech talent crunch, enterprise will need to require and upskill from the hobbyist developer pool to acquire the needed technical skils. Second, knowledge sharing, collaboration, and reusable assets go from a nice to have to urgently needed. Without a community platform, upskilling and software delivery performance are negatively impacted since information does not get to the people that need it most in a timely manner. Coupled with hiring therefore is having a developer knowledge architecture in place to enable the free flow of information, content, and reusable code.
Do you have a strategic plan for acquiring needed developer talent? Once hired, what is the plan to get them onboarded and productive quickly?
Is HTML considered a programming language?
Someone last week told me no, but maybe that’s not strictly the case. Also see SQL…
We help IT leaders in enterprises solve the cultural challenges involved in digital transformation and move towards a community based culture that delivers innovation and customer value faster. Learn more about our work here.