Software Engineering Mix
A good software engineering project is like a good recipe for gorp, or trail mix for all you non-hippies. You’ve got your sweet sugar-rush components (M&Ms or dried fruits), your long-lasting savory bits (nuts and seeds), and your semi-sweet-yet-savory bits (raisins). No matter how big your sweet tooth is, if you just eat the M&Ms you won’t make it very far down the trail. The salty-savory nuts will sustain you, but most people tire of eating just nuts the whole time. You could go for the simpler recipe of just including the middle option, the raisins, but eating enough raisins to give you the energy to get down the trail is likely to give you the runs. And that’s no fun either.
You need the mixture.
There is no shortage of nuts and seeds in software development. These are the tasks which provide non-sexy baseline features for users, which build frameworks for future development, and which fix past sugar-induced errors in judgment. Looking at a good bag of trail mix, nuts and seeds are at least half of the volume; the same should be true of a good engineering project.
Then there are tasks which provide an immediate and visceral thrill, the sugar-rush of getting something out that just makes you smile. For some people these are the bits of flash that users look at and gasp. For others, it’s getting .01% better throughput on a database transaction. These aren’t necessarily the bits that will make the application work for your users, but they are fun, challenging, and make you remember you are not a mindless automaton in a corporate machine.
In between these lay the raisins. These are the deeper architectural problems which feel so great to solve but which require weeks, months, years of slogging through the morass of data and hitting dead end after dead end before finally hitting upon the solution which, in hindsight, should have been obvious from the start.
For a successful product, you need engineers hitting all three types of issues, and knocking them all out of the park. For a successful career as an engineer, you need to play all three parts, although you might find you favor one over the others. As a product manager, if you are heavily favoring one of the flavors over the others, you will soon find that your engineers yearn to work on more/less exciting/challenging products (and will be leaving your company in droves if your company can not provide that for them).
Look at your product. Look at your work plan for the next year. Do you have a healthy and sustaining mixture? Is it overly sweet, with lots of glitz and glam but no substance? Is it chock full o’ nuts, keeping everyone satisfied but no one happy? Is it raisin-heavy, overloading your engineers with intractable issues while delivering nothing to your customer base?
Again: You need the mixture.