What does it mean to be a software developer today? Is it necessary to write code to qualify as a contemporary software developer? Are practitioners of low-code and no-code development software developers? Should business stakeholders who participate in software development using platform-as-a-service development tools be considered software developers? Moreover, do IT professionals, business analysts and data analysts who develop applications count as software developers? How do we define the boundaries and definition of a contemporary software developer given the heterogeneity of contemporary modalities of software development?
The definition of a software developer provides insight into the population of labor resources that architect, implement, maintain and modify digital transformation initiatives. Technology suppliers and vendors should pay attention to the universe of software developers because developers not only build digital solutions but are also critical to their adoption and long-term success well. Meanwhile, organizations pursuing digital transformation initiatives would do well to pay attention to the demographics of software developers to ensure recruitment and retention of developers that can realize their strategic and operational goals.
Software developers include those that develop applications by means of custom coding and scripting, in addition to low code and no code developers that leverage visually guided development tools. As such, data scientists who develop algorithms in R or Python are as much of a software developer as are cloud native developers that boast fluency in container orchestration frameworks, containers and microservices. Similarly, business stakeholders that use PaaS developer tools or visually guided development platforms to create dashboards of KPIs and other operational metrics should be recognized as developers because of their ability to design, develop and iterate on digital solutions to business problems.
The larger point here is that the population of full-time professional developers is richly complemented by a universe of part-time developers that do not have developer as part of their job title, but actively participate in application development for their professional work. Examples of part-time developers include business analysts, data scientists, risk managers, systems engineers, DevOps engineers and IT operations professionals. Over and beyond this supplementary segment of parttime developers, however, end users that transform applications represent another notable constituency of software developer because they are similarly engaged in the project of designing, building and iterating on software-based digital solutions.
All this is to say that, in an era of digital transformation, every user of technology is a developer, of sorts. Gmail users that create filters to preclude unwanted email, perform advanced searches or integrate their email with apps such as Google Drive are developers. Facebook users that customize their privacy and distribution settings are developers, as are LinkedIn users that customize the content of their profiles to optimize the positioning of their profile in searches. Similarly, users of programmable thermostats and appliances that can be controlled by mobile devices are developers in much the same vein as automobile drivers that harness the voice recognition functionality of their Bluetooth systems and voice-activated GPS systems.
While IoT technologies and digital transformation have contributed to the digitization of objects, the consumerization of IT has transformed everyone into developers of varying modalities and degrees of sophistication. What is the significance of this proposition that every contemporary user of technology is a developer?
Put simply, the acceleration of digital transformation initiatives has transformed the nature of labor to the point where every end user is a software developer and correspondingly has access to a skillset that empowers them to develop digital solutions. End users of technology are intimately familiar with digitized workflows, authentication practices, the implementation of security, customized privacy settings and advanced search functionality. All this means that technology suppliers have, at their disposal a pre-trained workforce of labor that can participate in the development of digital solutions by harnessing the skills they have acquired as a result of their daily use of technology and its associated constellation of software applications.