The Software Developer Evolution Is Upon Us

Starting this year and beyond, one trend we will see more of is that companies will need to make membership on their platform more valuable over time. Case in point: How many more people can join Facebook? It has very likely hit its peak in the growth department. So now, the issue is not about how many members they have on their platform, but how much value can be derived from it? Particularly since Facebook’s advertising model is approaching its limits.

Consequently, companies like Facebook have to take a hard look at going into a transactional model or actionable information where money changes hands. Such approaches that utilize cryptocurrencies could cause the Internet to become an even larger portion of our financial lives.

The effect in certain companies could mean hiring by the hundreds or even by the thousands – such as Citibank’s recent announcement that they’re going to hire 2500 developers in New York.

Therefore, I believe we’re going to need many more software developers at all levels. It’s true that today you need to have certain qualifications to become an effective software developer – likely an aptitude of the top 5% of the population. Yet, as our society gets infiltrated by more and more ML/AI driven software used in every part of our economy, we will need more than 5% of the workforce “developing” software. We need to look at perhaps the top 30% while still being very productive.

Machines still require significant education

Machine learning, at this point, is much more about letting computers learn themselves rather than telling them what to do. Yet, sooner rather than later, there will be many more people whose job will be about the process of helping machine learning…learn. That means plenty of people will still have to do the learning too. The machine can’t do it all for itself.

For instance, in extreme examples of autonomous driving, people are involved in identifying complex situations and feeding that into machine learning applications.

Let’s say a construction project is being done around a six-way intersection and the traffic lights aren’t necessarily working that well. At this point, wouldn’t it be helpful to get some sort of indication how many and which drivers will be more aggressive than others? Well, it’s going to require a lot of highly trained software developers to identify such situations and then feed the information into machine learning applications.

Now the definition of software developer might be changing.

In the old days, the role of software developer was essentially somebody who wrote a program that told the computer what to do. In the future, a software developer might be somebody who might be trying to identify what kind of problems we can teach computers to solve and others will figure out how much data we need.

The most interesting example of this is Andrew Ng, co-founder of Coursera and an Adjunct Professor at Stanford, who has frequently spoken about how some of his students realized that they could build a machine learning system to recognize, of all things, ripe lettuce. To build the first level of the system, they started by taking a variety of pictures, collecting the images and labeling them. Once they had accumulated a large amount of data, they were able to approach a number of lettuce farmers and convince them to start using the system with the caveat that they were also going to be taking snapshots. As the farmers used the system, every outcome learned would be sent back to the “mothership” so the system could be continuously improved upon. Ultimately, this machine learning system and business was sold to John Deere for $300 million.

So how many people were really required to build the whole system? Quite a few. And how many of them were writing original programs? Not that many.

What’s interesting about this in the machine learning context is that to some, it’s all about recognizing lettuce. However, there was so much more of a bigger business problem that Ng’s team was solving. Even when we see commercials for IBM Watson, the ad focuses on what Watson can do from a functional standpoint, but the bigger picture is that it allows humans – not machines – to solve bigger business challenges as a result.

In many of these situations involving machine learning, once there is a “level one” learning capability, we need to redesign the business processes to take full advantage of level one. Then we proceed to level two, which again might require a redesign of business processes.

Think of it like this – until factories were built for the steam engine, then demolished and replaced by factories built for the electric engine, the value of the electric engine and the value of electricity was fairly small. We’re going to see a lot of people analyzing various business (and everyday life) processes and then figuring out which ones could benefit from a high level of machine learning. After that is determined, they will then need to create systems that make those new processes feasible.

phot: Markus Spiske @Unsplash


Talman Advantage #8: True Help To Hit The Ground Running

With an offer coming, do you have a solid understanding of what you’ll be doing in the first 6 months? The first year? Having placed a variety of senior people at each client’s firm, Roy Talman & Associates can help you clarify a whole lot about the environment you’re about to join, your role and the true expectations of your new manager.

A recruiter without the overwhelming credibility that we have may not be able to shed as much light on what’s in store for you on Day 1 and beyond. So get the insight you need and talk to Talman first.

What’s the timetable for this evolution?

In truth, we’re seeing the pace of change speeding up already and we’ll only see it accelerate more within the next 10 years. What we do know is that the pace of change in the past is not a good approximation of what to expect for the pace of change in the future. As the human mind is more or less linear, it’s very difficult for us to appreciate how exponential change happens.

One example recently was a gigantic system built by the company Nvidia that had over one billion parameters. Impressive, right? Well, within the very same year, another system was built by Google with collaborators that had over eight billion parameters. Seven billion more parameters in one year! Who could have imagined it? Upon a closer look, perhaps it’s not as surprising when you learn that the complexity of machine learning systems has been doubling every 100 days from 2011 on.

Only five years ago, systems might have had a couple of hundred parameters. Now we’re talking about approaching 10 billion parameters. Within two years, we can expect that number to reach 100 billion parameters.

Think about that for a moment – if you have that large of a system within a couple of years, how much electricity will it take to run it? How many people will we need to feed it enough data?

A system with that many parameters has to be continuously “fed.” If you have a system with a million parameters, you need more than a million items of data for it to learn. So, if you have a system with 100 billion parameters, how much data does that system need?

Yes, right now, the vast majority of practical software is still traditional software. Many of the problems we can’t really solve with traditional software that requires somebody sitting down and figuring out every viable permutation to the work. The more data we have, the more systems we can train. And who will we need to train the systems? You guessed it: More software developers.

The redefinition and evolution of software development is upon us. Which makes it a very good thing you know a firm with over 30 years of experience in identifying the very best of the best candidates in times of change – Roy Talman & Associates. To ensure your firm is in alignment with where technology is swiftly headed next, Talk To Talman First.