Every key software developer, architect, and manager should clearly understand object-oriented technology. We use the term "object-oriented technology" versus "object-oriented programming" because one does not necessarily imply the other. There are many C++ and Java programmers who are developing in an object-oriented programming language without any in-depth knowledge of object-oriented technology. Their code, apart from the syntax differences, probably looks very much like previous applications they have written in FORTRAN, C, or COBOL.
While object-oriented technology is not a panacea for software developers, it is an important enough technology that the key engineers in every development organization should understand it. Even if your organization does not currently have any ongoing object-oriented development projects, you should have people who understand this technology. For starters, without understanding the technology you will never know if it is appropriate to use on your next project or not. Secondly, due to the long learning curves associated with object-oriented technology, organizations need to invest in it long before they undertake their first major project. While object-oriented programming syntax can be learned in a few weeks, becoming skilled in architecting object-oriented solutions usually takes six to eighteen months or more, depending on the initial skillset of the software engineer.