The off the shelf components are inevitable in the development of the software since the programs that are widely used are developers invention (as mike said) with a few alterations to bring the customized versions of the software. The object oriented programs seem to been taking the toll in the current software developments.
I must have gotten pretty lucky in my career as most of the projects we drove to completion always had engineers of diverse talents working together. The electronics and hardware guys (me) always shared our thought processes with the software engineers, mechanical/heat transfer engineers, and so on. Even sales/marketing got involved at some point. We learned from each other and put some very good products on the market.
I had the same reaction as Lou, although I'm not a software engineer: no OTS components?! What are those engineers designing that needs hand-crafted code at every step? I thought object-oriented programming had mostly taken over by now.
Mike, as a software engineer on everything from the smallest microcontrollers to the largest corporate systems, I marvel at your comment that software engineers do not use off the shelf components. This is just not true. If you are using an object oriented language then you are using many off the shelf components. If you use a subroutine library, or an off the shelf driver, then you are using off the shelf components. If you use a UI (such as Inflexion) then you are using off the shelf components.
Just as a humorous illustration of the use of off the shelf components I relate the following. A VP of a large SW company was talking about various customer situations. Every one was 10M lines of code. Depending on how you count code (and that is a topic of debate), it is inconcievable that any team would write that much custom code. This is especially true in this day of quick turn around of products. The only systems I have seen of legitimate multi-million lines of code that was completely custom were for agencies that have been much in the news lately. Beck to my SW VP situation. As we looked at it we came to the conclusion that the code count involved all packages that were touched by the program in a Java or C++ environment. Now, most of that code will not be instantiated, but it must be tracked, and in some cases verified, to be able to certify the system.
The 100% solar-powered airplane Solar Impulse 2 is prepping for its upcoming flight, becoming the first plane to fly around the world without using fuel. It's able to do so because of above-average performance by all of the technologies that go into it, especially materials.
With major product releases coming from big names like Sony, Microsoft, and Samsung, and big investments by companies like Facebook, 2015 could be the year that virtual reality (VR) and augmented reality (AR) finally pop. Here's take a look back at some of the technologies that got us here (for better and worse).
Good engineering designs are those that work in the real world; bad designs are those that don’t. If we agree to set our egos aside and let the real world be our guide, we can resolve nearly any disagreement.
Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.