The bane of our industry is poor quality software. We live in a disposable world and we treat our software in the same way. This fact is easily obscured by the mesmerizing stream of innovation; we're almost happy to discard the crap we use today in favor of new things, even knowing full well that these too will be considered crap in just a few years. Of course, throwing something old away in favor of buying something new is good for the manufacturers and hence we consumers are encouraged to think this way. That's why we don't see cars built to last for thirty years; the car manufacturing industry is far better off if the bucket of rust falls apart after just ten years. The sooner the better, in fact. Though of course, as a manufacturer, you don't want the car you've built to fall apart faster than the other manufacturer's car; you want to have a reputation of quality, so there is significant pressure to keep the darn thing on the road for a reasonably long time. The pressures on the software industry are quite similar. We don't really need a new version of our operating system when the old one is more than adequate, but if we can be convinced that we really need some new wow factor, we can be convinced to make someone else rich. Similarly, we need a new language to replace Java almost as badly as we need another mouth to eat more quickly.
I think the fact that software is all too easily viewed as lacking long term value leads to a career path that might best be described as Teflon Programming. The career works as follows. Always look towards starting something new. If you can't drive the innovative ideas yourself---so few can---look elsewhere for them. Pay very close attention to buzzwords! They will guide you like a moth to a flame. When you see the bright light, do something in that space and do it quickly! Don't worry about testing and code quality, it will only slow you down. You want to be the one who achieves 80% of the goal with only 20% of the effort. Doing so will impress many people and you will move ahead faster by impressing more people. Once you've delivered your first beta, be sure to drop your project like a hot potato, of course with the premise that it's "hot" in a good sense, i.e., like hot property. If you've managed perceptions well, you'll have been promoted by this point for your extremely innovative thinking and amazing productivity. Now just rinse, lather, repeat. The programmers left juggling your hot potato will curse you, but they are the meek and they will not inherit the earth. You can easily besmirch their character for having allowed your impressive results to flounder. Their complaints will just be ignored as the petty griping of those without talent and vision. Meanwhile, you're like Teflon: nothing bad sticks to you because you're busy attracting attention to the next more wonderful thing you've moved on to. That's right, you've learn the art of taking credit and giving blame; it will serve you well in your quest to be the pinnacle of success.
As you might have figured out, I don't care for Teflon Programming, I don't care for the fact that it's so easy to get ahead with that approach, and most of all, I don't care for the fact that it's bad for the clients. I've been working on EMF for a very long time, and much of that has been a struggle because, shockingly, not everyone is enamored with modeling and, worse still, most people even have negative preconceptions. Nevertheless, I intend to continue for a long time. To make it a pleasure, I make sure I create as little crap as possible, because my clients and I will have to live with both the good and the bad forever. In other words, I believe my responsibility is to ensure that my clients have something of lasting value and that they can confidently look to me to ensure that what they build today will have value well into the foreseeable future. I think many of the people at Eclipse are like me. In fact, I like to think that most of the people at Eclipse are like me. When I look at what we're doing with e4, I see what appears to be proof positive. Sure it would be easy to start with a clean slate and do something completely fresh and innovative, without regard for past mistakes or for impact on existing clients, but that would be Teflon Programming and that's not what Eclipse is all about.
Use and misuse of statistics
2 years ago