Skip to main content
Redhat Developers  Logo
  • Products

    Platforms

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat AI
      Red Hat AI
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • View All Red Hat Products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat Developer Hub
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat OpenShift Local
    • Red Hat Developer Sandbox

      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Secure Development & Architectures

      • Security
      • Secure coding
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • Product Documentation
    • API Catalog
    • Legacy Documentation
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

How to Get Developers to Adopt Your Product

April 20, 2017
Yev Bronshteyn

Share:

    Recently, I participated in a focus group where developers were asked to discuss how they make technology adoption decisions. Even "the big guys" seem unsure of how to get developers to notice and adopt their products. So, in this post, I'm going to try to reduce our learning and adoption process down to some concrete steps. The truth is, we don't just pick up tools, components, libraries, or languages just to complete a particular task or project. In truth, any technology we adopt has to help us do one or more of three important jobs. The more of these jobs your product can do, the more likely developers will pick it up and stick with it.

    Job #1. Staying ahead of the curve.

    As developers, we're constantly navigating through a meteor shower of new frameworks, platforms, and libraries being hurtled at us at blinding speed. Somehow, we are driven and expected to possess a "technology radar," a sense of what the next big platform or paradigm is. When the business need for a new technology arises, we must be ready to leverage that new technology or fall behind other developers who are.

    So, does a developer sense which way the technological winds are blowing? We are ordinary mortals (however reluctant we may be to admit it), and the mechanisms by which we perceive “the next big thing” are often products of habit and evolution rather than conscious choice. Here are a few:

    Influencers. Everyone is promoting something, but we are most likely to listen to those who have already earned our trust or gained our rapport. These can be highly esteemed thought leaders (e.g. Martin Fowler) or senior colleagues and friends.

    Social Proof. Humans are wired to emulate the behavior of their surrounding society. Sometimes this means facing the wrong way in an elevator when everyone else is facing the wrong way. And sometimes it means getting excited about technologies that those around us are excited. For those of us who, at one time, were invested in bloated J2EE and WS-* Web Service, this can be a source of some comfort.

    The Availability Heuristic. We tend to accept the familiar thing as the truth. So when we seek to read up on some hot new web framework or programming language, we may well choose to catch up on the first one that comes to mind.

    These processes can lead us to determine which platform, language or tool to get to know in order to “stay up to date.” It’s important to note here that the desired outcome of “staying up to date” is not mastery of the tool being studied. Rather, the desired outcome is an assessment of the features and developer experience of the software, as well as its fitness for any potential development uses.

    Thus, for staying up to date, a developer need not even employ the technology itself. Rather, he or she may most immediately rely on the tool’s website, documentation, tutorials, and examples. Therefore, it is crucial for technology products to reveal their value up front. An application example showing a real-world scenario reveals the value of a programming language much more quickly than a lengthy tutorial that goes through a high-level overview, installation instructions, and a contrived “hello world”-like the program.

    Once we’ve assessed the value proposition of the tool, we may become curious enough to investigate it more extensively or file it away what we’ve learned until it’s time for job #2.

    Job #2: Getting something into production.

    Most developers won’t get to leverage every hot new technology in their work life. But occasionally, many of us do get to choose a platform or a technology to use in our day jobs, delivering value to our employers and customers. If the job at hand cannot be done with a technology already known to us, we are forced to repeat Job #1 at an accelerated pace. The unconscious permeation by influencers, social proof, and availability becomes replaced by intentional research in this scenario. The ability of the candidate product to reveal its value up front becomes even more crucial.

    However, chances are we‘ve already come across a technology that’s a candidate for the job at hand.

    Most likely, it’s a technology we’ve already used in a production-bound project. Such a technology has a gargantuan home court advantage. The greater the pressure, the more likely we are to err on the side of the familiar.

    When the job calls for a technology in a category we haven’t used yet for a production-bound job, that home court advantage goes to the technology we’ve become familiar with in the process of “staying up to date.” So, if one candidate technology has become familiar to us through influencers, social proof, and accessibility while another has not, our preference toward the familiar technology will be disproportionate to its objective merits.

    Once we’ve selected a technology for a production-bound job, our experience and outcomes with that technology serve to determine whether the technology is “rehired” for the next production-bound job. The totality of these experiences can play a part in determining whether the technology is adopted for the ultimate and most glorious job of all, job #3.

    Job #3. Keeping us happily employed.

    Why do so many engineers, teams, and enterprises still learn and use Java, all while whining continuously over its verbosity, type erasure, mammoth footprint, and more issues? The Tiobe index, which tracks programming language adoption, shows Java well ahead of the herd through most of the last 15 years. I’ve already discussed the attraction of familiarity, but 15 years is enough time for any technology to become significantly ubiquitous and familiar. And the next two runners up, C and C++, are even older.

    So why are there so many Java developers? Because it “runs everywhere?” Possibly, but most of the time java applications run on the enterprise backend, which can usually be made to conform to tight specifications. What most of us will not readily acknowledge - but know to be true - is that our most important job as engineers is not to deliver value to an employer or a customer. An engineer’s most important job is to get and to keep a job. Java has a proven track record of keeping engineers, including this engineer, happily employed for many years. This is why, for all the latest-and-greatest languages that have come since, Computer Science graduates today come into the workforce knowing Java.

    How did Java get to this lofty position? In the enterprise, IBM, BEA, and others marketed proprietary J2EE solutions aggressively to the enterprise. Broad enterprise adoption created a large developer ecosystem, which gave rise to tooling and libraries that have kept Java developers sufficiently effective and therefore content to maintain the ecosystem.

    Here's an even more striking example of the power of enterprise adoption: Salesforce. Some may struggle with the notion of resting one’s career on a closed, proprietary cloud platform. However, according to an IDC analysis, by years end of 2015 through 2020, the Salesforce ecosystem will generate 1.9 million jobs among Salesforce customers. A 2014 breakdown by Business Insider found that “Salesforce Architect” was the most valuable skill to have on a tech resume, in terms of impact on salary. There are entire recruiting firms dedicated specifically to placing candidates with Salesforce skills. Despite the risk of subjecting one’s career to vendor lock-in, the demand for Salesforce in the enterprise has led to its adoption by hundreds of thousands of developers.

    Enterprise adoption is not a necessary condition for developer adoption, but it is a sufficient condition. So when a technology is effectively marketed to and reliably supported for the enterprise, developer adoption follows.

    If you build it, will they come?

    No technology, however great, is adopted in a vacuum. To be adopted widely, a technology needs to register on developers’ technology radars, be adopted by business, and work effectively and reliably in production. Excelling at all three of these jobs may be a tall order, but when this miraculous confluence happens, the entire tech world takes notice.


     For a framework for building enterprise Java microservices visit WildFly Swarm.

    Last updated: April 19, 2017

    Recent Posts

    • Protecting virtual machines from storage and secondary network node failures

    • How to use OCI for GitOps in OpenShift

    • Using AI agents with Red Hat Insights

    • Splitting OpenShift machine config pool without node reboots

    • Node.js 20+ memory management in containers

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2025 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue