Now that I've had a chance to rant a bit about my own personal woes, I'm going to take a little time and apply a similar theme to the professional scope.
One of the things I love most about my job is that we're always pushing for new and innovative ways to solve problems. Sometimes we don't do it with the express purpose of solving problems in mind, but rather just to see if there's a better, cooler, or more fun way to accomplish what's already been done. We re-invent the wheel; it's what we do, we're good at it, and we have fun doing it.
The downside to this is that it becomes increasingly more difficult to keep things standardized. This applies to many facets of the work we do. The user interface for one application may look nothing at all like the UI for another, regardless of the relationship between the two. Code changes become difficult because there is no defined standard set between the developers. An application written in one language may have a helper app written in another.
Among the many challenges of my job is the ability to unify all these separate components into one similar look and feel, and somehow tie all the other distinctions together in an easily manageable way. The importance of this task ranges from those of us who engineer the code to the end user, who may not have the slightest idea as to the inner workings (or perhaps even functionality) of the code we write.
Since the overwhelming majority of the code we produce falls into the realm of web-based applications, I've concluded that it would be a good thing to roll out our code using a single library of functions that handle data interchange, reporting, and analysis, graphical user interface(s), and collaborative tools (i.e. "groupware" style functionality).
And thus presents the quandary. One pre-fabricated library doesn't include all the functionality we desire, merging two or more is a daunting task, and simply building such a beast is well beyond what we have the time (or even inclination) to construct. The bread and butter of our operation is in manufacturing, so our primary role is to maintain (and improve, when possible) the systems we use to assist in the production process.
The answer to this problem is elusive indeed.
No comments:
Post a Comment