<p>
</p>
<ol>
<li><p>A good computer science graduate will have a solid knowledge of the concepts of the field (as opposed to programming skills tied to a specific computer language that can become obsolete) and can learn new technologies easily (however, the hard part may be convincing someone of that in an interview – assessing learning ability of non-trivial matters is hard to do in an hour). A certain classic introductory computer science textbook has been used from the 1980s until now in many of the top universities.</p></li>
<li><p>That is if the senior developers were not adding sufficient value. A good senior developer will know his/her way around the code base, know what kinds of mistakes have been made in the past (and can be avoided in the future if one knows about them), and will be a valuable resource for everyone else. Replacing him/her with another (junior or senior) developer would be a significant loss for the organization (although short sighted management decisions do happen).</p></li>
<li><p>During the great offshore outsourcing business fad of the early 2000s, companies rushed offshore for price and price alone. They often got less than what they paid for. While there is certainly offshore outsourcing going on now, it is less of a mad rush to outsource everything as opposed to things that make sense to outsource (e.g. 24 hour technical support). Of course, poor management decisions still do occur.</p></li>
</ol>
<p>All types of work must adapt to technological change. Software development is not unusual in this respect.</p>