The Operations Developer

In an earlier post, I outlined why I think that there is value in enterprise developer specialization.  I concluded that there are four emerging classes of developers: User FacingMobile, Business Logic and Data, and Operations.

In the past, operations was a separate role and often team working outside the development team.  The DevOps movement led many developers to acquire operations skills and move that work back into the development cycle.  When this amounted to a build-migrate-deploy cycle, it was reasonable for full-stack developers to do this work.  Now, the operations landscape is sufficiently complex that a skill class has emerged.  Operations Developers (and yes, they are developers) concern themselves with deployment scripts, infrastructure automation and cloud technologies.  They do not maintain build scripts or Continuous Integration implementations; those are the domain of the other developer classes.  Instead, they provide “infrastructure as a service” (IaaS) to the other developers and concern themselves with secure and stable scaling of that infrastructure.  Puppet, Chef, AWS, Azure, OpenStack and Docker are some of the relevant technologies.

Continue reading

The Business Logic and Data Developer

In an earlier post, I outlined why I think that there is value in enterprise developer specialization.  I concluded that there are four emerging classes of developers: User FacingMobile, Business Logic and Data, and Operations.

Business Logic and Data developers concern themselves with server-side applications containing business rules and the database.  In the enterprise, they create microservices or monolithic API services; REST is their UI.  Java and other JVM languages like Scala, Clojure and Groovy are commonly used, as well as C# and occasionally C++.  Strong understanding of the business domain, automated testing (including Test Driven Development), databases both SQL and noSQL data stores, and building scalable applications are required skills.

Continue reading

The Mobile Developer

In an earlier post, I outlined why I think that there is value in enterprise developer specialization.  I concluded that there are four emerging classes of developers: User FacingMobile, Business Logic and Data, and Operations.

Mobile developers write native mobile applications.  These developers work in mobile SDKs for their target platform, today mostly Android and iOS, though there are some Blackberry and Windows holdouts.  The stark differences between the primary development environments has given rise to some cross-platform development kits like Phonegap, React Native and Xamarian.  Like the User Facing developers, the applications produced by Mobile developers are consumed by users so interactions with UX designers are common.

Continue reading