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.

For the most part, Business Logic and Data developers carry the burden for business logic and cross-functional requirements (XFRs) like scalability, testability, stability and security.  They need to provide secure and stable endpoints for the User Facing developers and independently scalable units for the Operations developers to deploy and scale.  Good API design and documentation (automated as much as possible) will make working with the other developers easier.  The pace of technology change in this space is much slower than the others.  Since this is where the “heavy lifting” happens, enterprise organizations tend to be more conservative about the technology choices.  Enterprises are spending heavily in this space in the current business cycle.  Maintenance of legacy applications are forcing heavy cost burdens on stretched budgets, so replacements are considered a good investment.

In order to succeed as a Business Logic and Data developer, one must dig in on the relevant technologies and understand how they all work together.  Sitting between the User Facing and Operations developers, strong teamwork and negotiation skills are needed to keep the work flowing forward.  Since these developers model business processes in software, they need to have the ability to ramp-up quickly on new domains and translate business language into software. Finally, constant vigilance in the security space is essential to avoid costly and embarrassing breaches.  This is the most traditional role so more senior developers should feel comfortable in this class.

=Kevin

Author: Kevin Hickey

I have been a professional software engineer for over fifteen years. I currently work at Intuit as an architect. I have written bootloaders, ported the Linux kernel and Android to new platforms, written CPU diagnostics, developed control software for CPU manufacturing and worked on enterprise web sites. As both a developer and program manager I have been helping software organizations become more agile for over a decade. I am passionate about helping teams deliver world-class software solutions to interesting problems. My current focus is on pragmatic agility for the enterprise. When I’m not behind a keyboard I enjoy spending time with my wonderful wife Amanda, rock climbing and hanging out with my dog Tex. In the summer you can find me in my pool or climbing something. In the winter I count the days until summer returns to Texas (I never have to count too long).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: