0

The Developers Dilemma — The Skill Trap

 2 years ago
source link: https://itnext.io/the-developers-dilemma-the-skill-trap-f03df1193295
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

The Developers Dilemma — The Skill Trap

Do you stick with your current skills or learn new skills?

Photo by Karolina Grabowska from Pexels

I cannot help fearing that men may reach a point where they look on every new theory as a danger, every innovation as a toilsome trouble, every social advance as a first step towards revolution, and that they may absolutely refuse to move at all — Alexis De Tocqueville.

The skills which contribute to your success in your career as a developer can be the skills that stop you moving to opportunities in new technologies later in your career.

The skills that were in demand can become less in demand in a new technological environment.

The more successful a developer is, the harder it is to move away from those skills and success.

Innovators dilemma

People with a great invention prefer to iterate that invention/product/service that has brought them success and they have invested in, instead of disrupting that industry with a new service, tool, product.

Success creates inertia. You want to keep making profit by doing the same thing. Clayton Christensen create the idea of The Innovator’s Dilemma.

A product or service will be disrupted by a cheaper product that initially starts with a simpler cheaper version that doesn’t worry the existing leading companies.

“Disruptive products are simpler and cheaper; they generally promise lower margins, not greater profits. Second, disruptive technologies typically are first commercialized in emerging or insignificant markets. And third, leading firms’ most profitable customers generally don’t want, and indeed initially can’t use, products based on disruptive technologies.” Clayton M. Christensen

The initial cheaper version wins a small part of the market and the existing innovators aren’t worried about it and they continue to focus on the larger and more profitable part of market. This is called low end disruption.

for business think

  • Blockbuster — Netflix streaming
  • Kodak — Digital cameras
  • Computers — Iphone (smart phones)
  • Physical shops — Amazon (the internet)

For development think

  • Servers — Cloud services
  • Applications on computers — Internet — cloud computing
  • Mobile apps

The initial first versions were not good and less functionality that people dismissed them. They got traction and then the functionality improved, whilst the cost stay low.

The is low end disruption, something that initially isn’t worth the money to worry about, compared to the big money companies are making.

As the functionality of the low-end products improve but the price stays low, it’s slowly disrupts the entire market.

This happens in development, the first versions of the internet, mobile and cloud services were very limited. When I saw the cloud version of Dynamics 365, it was harder to use, had less functionality and more difficult for developers.

What I should have looked at was the potential. Companies wouldn’t need to maintain physical servers or hire expensive IT staff to maintain those servers and services.

Dynamics 365 improved and the companies and developers who stayed with on premise got left behind. Eventually, they had to move online, but they had given everyone else a head start.

Developer Dilemma

Developers have two mindsets towards technological change. The developers who are at the top of their existing technology see it as a threat to the value of their skills (and worth). This often leads them to dismiss new software development tools, languages and change.

The other mindset is to view new technology as an opportunity. The opportunity is to get to a technology first and become an expert where there is little competition. New technology is an opportunity for junior developers who have little experience to lose.

This isn’t disruption of an existing technology but competing in a new technology where there are no competitors. If you then take a wider perspective, you see all technologies are competing to be used to create software.

Developers are experts in a single technology or a few complementary technologies. They have invested lots of time, experience and effort into becoming an expert in technology.

They are reluctant to throw this knowledge away and move onto a new technology. Lots of technical experts stick to what they know and create solutions using tools/services they are comfortable with.

Many developers are dependent on a technology for their brand, e.g. MVP’s and developers consider leading experts (creating videos, giving presentations).

Success

Success breeds complacency. Complacency breeds failure. Only the paranoid survive. Andy Grove

Success in a technology makes it hard to give it up and move away from it. In a changing technological environment, what was successful yesterday might stop being successful in the future.

The value of a skill (in technology) is based on the demand and the uniqueness. If there are lots of developers with the same skill, then the value of the skill is reduced.

If there is demand for these skill and a scarcity of developers, then the value goes up. At the moment you see low-code software development growing and there isn’t enough developers, so companies are bidding up the wages.

Embrace change

It is a dilemma for developers to embrace a new technology where they are not an expert and have to build their skills, knowledge and experience from scratch.

The decision is to change now for a better brighter future or stick it out with the current technology and fight it out in a possible shrinking market place e.g. the software industry will move to the new technology.

This is like swimming against the tide. This is the Blockbuster approach to keep on selling video tapes when the world is moving to online streaming.

Intel had a dominance in the semiconductor business. They were the leading seller of memory chips (RAM) and had 60% of the market.

By 1998 Japanese companies had 50 percent of the market, their products were better and more reliable and Intel couldn’t compete. Intel needed to change strategy.

Andy Grove could see Semiconductors (memory) had become a commodity business and it would now compete on price. The price would get lower and so would profits.

Andy Grove was completing changing a massive company who had made billions of profit selling memory, to stop and start selling processors. Everyone at Intel hated the idea.

No one at Intel wanted to leave behind doing what had brought them success, no one wanted to stop selling semi-conductors because that’s what they knew and that’s what they were good at.

But continuing to sell semi-conductors would be a slow death to Intel, the once great company would make less profits.

Andy Grove was discussing this with Gordon Moore in 1985 and asked this question

“If we got kicked out and the board brought in a new CEO, what do you think he would do?” Moore answered without hesitation. “He would get us out of memories.” To which Grove responded, “Why shouldn’t you and I walk out the door, come back and do it ourselves?” — Inside Intel

To make the decision, Andy Grove had to take the emotion out of it and look at it from an outsider's perspective, Andy Grove took Intel out of Semiconductors and into processors and the rest is history.

Only the paranoid survive

Software development works in a changing technological industry and Only The Paranoid Developer Survives. Developers need to be looking out and assessing new technology as it comes, to see which ones will have potential to disrupt software development.

The technology comes first as a low end disrupter and will then gain popularity and demand. The earlier you get in the more of a push it will give your career.

The dilemma is do you leave your old skills, experience and knowledge behind to focus on learning new skills, knowledge and experience? The benefit is there will be less competition from other developers and you could be a leader in the new technology.

This regularly happens with new teams appearing and growing at a rapid rate. Recently I have seen Power Platform teams grow from 2 people to 30 in a year.

Not only do old skills go stale but competition in existing technology is well established e.g. the leading developers have more experience, contacts and the reputation.

To compete and beat existing technology leaders takes tremendous effort and time. To compete in a new technology is easier because there are few competitors and no one has lots of knowledge, skills and experience.

The dilemma is harder the more time you have invested into an old skill because that will make it harder and more costly to leave behind.

Difficulty comes when new services become superior or the new service gains popularity. People new to the industry or have only a few years will jump on the opportunity to learn a new skill whilst there are few experts who use that tool.

Low-Code Software Development Will Be The Low-End Disruptor of Software Development

Stick with what you know

do they double down and stick with what they knowledge and where they are an expert

learn a new technology/service where they will no longer be an expert but the industry is moving that way.

Developers have the dilemma that they cannot stand still in an evolving environment. To stand still is to fall behind.

Developers have a dilemma about how to spend their time in improving their development. The short-term approach is to enhance your current skills, knowledge and experience that help your current role.

The longer term approach would be to invest time in learning new technologies that will be in demand in the future and where there are fewer developers.

No one will say this is a growing technology or you should do this. As a developer, you will be the last to know

Not all developers are equal, senior developers have a higher current position and more time invested in mastering the current technologies they specialise in. Junior developers have less to lose and it would make more sense for them to invest their time.

A bigger problem is many developers are too busy to think about the future and learning or enhancing any skills because they are focused on a software project.

Developer Careers Are Stuck in a Loop — Eat → Sleep → Code → Repeat

Timing counts with new technologies. If you wait until they are established, you miss the opportunity for rapid career progress. To ride the wave of a technology and get it to push your career, you move just before it becomes mainstream.

The earlier you move to a new technology the fewer developers you have to compete with and the more valuable your skills in that technology are worth. To become a senior developer or architect in a growing technology is the ideal position to get bigger career opportunities.

The risk is you don’t know which new technology will be popular and you could risk learning a niche technology that never takes off.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK