The basic engineering of cars has not changed in decades. Are we software engineers doomed to end up like GM employees?
At least one type of software is developing and growing: Software which squeezes meaning out of large, messy datasets.
Most older data-oriented applications relied on data that was neatly lined up, with its meaning expressed in rigid arrangements. For example, First Name, Last Name, Date of Birth could appear as fields in a database. Applications which worked with text were limited to simple searches for known patterns. But the burgeoning new category of software finds patterns where none were known before.
I'll describe some variations on this concept, because I think that any software engineer needs to keep an eye on this as a potential career direction. I'll present this for software engineers developing applications, rather than for computer scientists focused on algorithms, or business people looking for ways to sell software.
That's because this type of software is in the ideal state of maturity for us software engineers to get into: Solutions exist in each one of these areas, having long since emerged from of academia and entered real products. But the software is far from commoditized. Many of the leading solutions require lots of custom coding and configuration, and besides that, they are hard to use. If you are a software developer, engineer or entrepreneur, the time is right to create the ideal easy-to-use software package for a well-defined functional area; or at least to use the clunky libraries available today for a specific application which blows away the competition.
See more articles in the series here: 1 2 3 4 5 6 7 8