Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Run your enterprise like a startup

DZone's Guide to

Run your enterprise like a startup

· Java Zone
Free Resource

Microservices! They are everywhere, or at least, the term is. When should you use a microservice architecture? What factors should be considered when making that decision? Do the benefits outweigh the costs? Why is everyone so excited about them, anyway?  Brought to you in partnership with IBM.

I've worked in a variety of companies and I notice an interesting phenomena -- It seems that the capabilities of individual programmers in companies are inversely purportional to the size on the company. Tech startups with 3 folks always seem to have superstars, even though it's a huge drain on their budget, but IT shops with 1000 people seem to always have 10 people who seem to be doing everything.

The irony in this situation is that a startup has the least amount of money to spend on programmers, but requires hiring only the best and needs to spend a disproportionate amount on payroll. On the other hand, a company flush with cash that could easily hire only the best and brightest, inevitably hires "everybody else". This means that particularly large shops end up with a handful of superstars (just by sheer luck of the draw) who do the majority of the work (and then burnout and leave) and a bunch of "also ran" folks who are really just padding their resume and being a drain on your cash flow.

A visionary IT leader at a large company would break software delivery down into a cluster of startup-like groups with very large degrees of autonomy. Forget about the mythical efficiencies of "enterprise architecture initiatives" and simply hold teams' feet to the fire to deliver real solutions with aggressive timelines. Use the incubator model to foster competition within the organization, after all, two insanely great teams working furiously on the same solution seems inefficient on the surface, but at the end of the day/week/month, you're more likely to then have TWO possible solutions to choose from. If you have one mediocre to crappy team of 50 slogging along and delivering nothing, you may be saving payroll money in the short term, but you will bleed to death waiting for solutions that will possibly never appear.

Discover how the Watson team is further developing SDKs in Java, Node.js, Python, iOS, and Android to access these services and make programming easy. Brought to you in partnership with IBM.

Topics:

Published at DZone with permission of Michael Mainguy, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}