To only a fraction of the human race does God give the privilege of
earning one’s bread doing what one would have gladly pursued free, for
passion.
I like that quote. But let me ask…
How many software developers have a strong desire to develop enterprise business applications? How many dream of working for banks, insurance companies, automobile manufacturers, retail chains, etc? These are places we start, not places we dream of. In general, developers do not aspire to develop enterprise software, but instead develop enterprise software while they aspire to do other things. Frankly, the jobs are boring, painful, arduous, and do not challenge. The enterprise is broken. Michael Nygard touches on this in explaining why enterprise applications suck.
So how do we fix it? To do great things, you have to learn to love the process. If you want to grow a beautiful garden, you have to learn to enjoy pulling weeds. If you want to build a beautiful courtyard, you have to learn to love landscaping. If you want to paint a masterpiece, you have to learn to love the stroke of the brush. It isn’t enough to just plant the seeds. It isn’t enough to just move dirt and pile block. It isn’t enough to just apply paint to the canvas. Likewise, if you want to develop great enterprise software, you have to learn to love the process. Fixing the enterprise demands that we first fix the process.
There are a lot of suggested ways to do this. Scrum. XP. Lean. CMMI. The list goes on. But the right process - the ideal process - is a product of people, culture, technology, project, and more. There is no one-size-fits-all process. Every project is different. Every team is different. Every organization is different. What should we do? How do we fix the process? The only way to fix it is to learn to love it.
2 Responses to “The Enterprise is Broken”
Leave a Reply
[...] The Enterprise is Broken (Kirk Knoernschild) [...]
Great post, and I’d like to add another point. There’s a difference between developing technology and applying technology. If you career interests lie more with developing technology, the typical corporate enterprise may not be the best place for you. While most organizations have some internal development, it’s always going to be a subset of the overall software development space, and certainly much smaller than what a company whose business is software development would do. If, however, you’re interested in applying technology, software development may be interesting, but ultimately, it’s the application of that technology to a business problem, whether it’s off the shelf or built in-house, that drives your job satisfaction, at least from a core responsibilities. Personally, I fall into the latter category, which is why the enterprise world has been such a good fit for me. I know plenty of people who are more interested in the technology, and they bounce around from company to company, based upon their ability to work with the technologies they’re interested in. There’s nothing wrong with either. Enterprises need people with both approaches to be successful. Some may have 30 or 40 year careers, others may have 3 to 4. The most important thing to understand is what your own career aspirations are, and make appropriate decisions. If you’re a technology guy, but are envisioning a 40 year career with one company, you’d better make sure it’s a technology company.