You know the type; the one who manages to throw in more buzzwords per sentence than anyone else. They will amaze and dazzle you with the latest I'm-in-the-know, (and you are not) phrases. Don't get me wrong, any good engineer or technician must know the latest terms and trends in order to understand and convey concepts, technologies and ideas. Some buzzwords of the past include: Virtualization, Five 9's, SOA (still out there), Tera/Peta-anything, and most recently, Cloud. More important than knowing the latest catchphrase is the ability to integrate promising new functionality into the current technical posture of the system and business. Consideration of how the technology will be used and integrated is traditionally the domain of the engineer. An engineer must assess associated risks and impacts in order to ensure a smooth transition. My daughter recently asked me what I do at work, which always seems harder to explain than it should. To avoid the gory details, I explained an engineer is someone who sees a problem and then fixes it or improves it. She wasn't exactly thrilled with my abstract answer. In truth, engineering is a systematic approach to address a technical opportunity. In the 60's, systems began to increase in complexity, so much that the systems engineering model of dividing tasks into functions with interfaces was developed. This increase in complexity continued into the 70's and 80s' as software development necessitated a framework, eventually known as the Software Development Lifecycle (SDLC). Frameworks are the structures, typically tailored to specific knowledge domains, to guide the professional across the system lifecycle. In the 90's and the 2000's, the mainstream acceptance of the Internet and ability to instantly share data gave rise to multiple domain-specific frameworks. Examples of frameworks today include the IT Infrastructure Library (ITIL), Department of Defense Acquisition System (DAS), and The Open Group Architecture Framework (TOGAF). No matter what methodology or approach is used, the core phases of engineering will not change. Highly summarized, they are:
- Identify what is required to do
- Design the system to achieve what is required
- Implement your design
- Test your implementation to the requirements
Repeat. This approach can be used to address any system or technology. This helps to explain why engineering skills have been and will continue to remain highly desired in the workforce regardless of the specific industry. Buzzwords and jargon will continue to be used by the crowd that desires to be on the cutting edge of technology. But just saying the right phrase doesn't ensure a true understanding of benefits, drawbacks, risks, or what degree you should implement the latest technology. For that, you need a good engineer.