{'fraction_non_alphanumeric': 0.025116279069767444, 'fraction_numerical': 0.0018604651162790699, 'mean_word_length': 5.5212121212121215, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Educating Software Engineering Managers

The term, "Software Engineering," has been in use for more than 30 years. In that time, the software community has undergone many changes including the introduction of new programming languages, new analysis and design methods and more advanced, easier to use development environments. Even with all these improvements, software continues to be a source of problems and increased risk for most corporations. If the "software problem" were truly of a technical nature, the problems (e.g. late delivery, cost overruns, low quality) would have been largely solved. More recently, the source of these problems has been attributed to the people who direct software development and maintenance efforts - the Software Engineering Manager. This paper examines the nature of Software Engineers, the skills needed to effectively manage them, presents a method for solving most intractable problems associated with managing Software Engineers and discusses the educational issues associated with training effective Software Engineering Managers.