It depends muchly. <i>In general</i>, I&#x27;d rather have a seasoned set of &#x27;C&#x27; programmers rather than people who are unconcerned with what happens at the level of the metal.<p>But that&#x27;s probably a personal bias, one that&#x27;s been hard-earned. It&#x27;s a way of leveraging the decades of mistakes made by those folks - and aid for by previous employers.<p>A &quot;&#x27;C&#x27; with classes&quot; approach is probably a good one - but I&#x27;d hate to find some subtle template or Boost bug in mid flight...<p>This is all IMO, but an approach like Bruce Powell Douglass &quot;Doing Hard Time&#x27; is a pretty good way to satisfy the &quot;systems engineer&quot; customers for UML charts and still have rigorous development.<p>UML is quite the anti-pattern and Rose is kind of awful but this should be a compromise that can work. CASE tools have gone out of fashion.