Why America’s obsession with STEM education is dangerous

Back in the days of the dinosaur, I was invited to have lunch in the faculty dining room while working on a project at my campus. This was 4 years following getting my engineering degree. They asked me now that I was "out in industry" what changes would I make to the curriculum? It took me only seconds to say "Half the math and twice the English. I haven't seen an integral in 4 years but wrote 500 pages of reports last year." They all nodded in agreement ... and changed nothing.
Amen.

Most of solving any problem in the business world is actually defining the problem. Once defined correctly, the potential solutions are much easier to quantify and evaluate.

This debate reminds me one that was constantly discussed back in the day.....does one need to be familiar with the job in order to manage it well? Shouldn't one be a programmer before managing programmers? Shouldn't one have worked on the product before managing the production? Shouldn't one be familiar with the technology first? Should management really be a major? Should it be a Masters program only?

Working in in the technology business, the last person I want managing programmers is a programmer. The programming manager typically defines/prioritiezes the problems (see the quote above) and divides the work between his/her staff trying to keep the progress towards the overall goals of the unit balanced. You'd think that this is something that programming skills solve effectively, but quite frankly the inputs (customer requirements and priorities) are never clearly defined up front and the personalities (or lack therof - hey I can say that because I've lived the life) of your programming defy coordination (EDS' famous cat-herding commercial comes to mind here). People skills are king when it comes to managing software development. Beyond that some solid basic project management skills are about all that is necessary. Some knowledge of the technologies involved is helpful in that it allows you to determine which of your staff is suited for what part of the technical duties. Often your people will organize themselves better than you can if you focus your energies on minimizing the personal issues within the group.
 
Working in in the technology business, the last person I want managing programmers is a programmer. The programming manager typically defines/prioritiezes the problems (see the quote above) and divides the work between his/her staff trying to keep the progress towards the overall goals of the unit balanced. You'd think that this is something that programming skills solve effectively, but quite frankly the inputs (customer requirements and priorities) are never clearly defined up front and the personalities (or lack therof - hey I can say that because I've lived the life) of your programming defy coordination (EDS' famous cat-herding commercial comes to mind here). People skills are king when it comes to managing software development. Beyond that some solid basic project management skills are about all that is necessary. Some knowledge of the technologies involved is helpful in that it allows you to determine which of your staff is suited for what part of the technical duties. Often your people will organize themselves better than you can if you focus your energies on minimizing the personal issues within the group.

Having worked in the technology business as well, the worst management I experienced had no experience with the product and/or technical background. They were unmitigated disasters. The best manager I had started as a "techie" then went for management training. I agree that people skills are key to management, and some people are naturals while others should never do more than interface with a keyboard. Not all techies can be managers, but all managers should have some familiarity with the tech their group develops or uses. By familiarity with the development tools, I don't mean that they have the skills to sit down and write the code, but know the names of the tech/tools, what it is used for (design, coding, testing) , are familiar with the pros and cons of using such tech, and understand the development cycle.
 
Not all techies can be managers, but all managers should have some familiarity with the tech their group develops or uses. By familiarity with the development tools, I don't mean that they have the skills to sit down and write the code, but know the names of the tech/tools, what it is used for (design, coding, testing) , are familiar with the pros and cons of using such tech, and understand the development cycle.

Absolutely agree. I'm not really sure if this supports the idea that management shouldn't be a major, as management majors, like anyone, can take the time to learn about the folks they manage and how the job gets done. But I agree with your statement above (which I quoted).
 
I work within the tech world as PM type and floated around also as a Systems Engineer. The problem is alot of companies will take their best engineers and try to turn them into managers. Not a good idea. One, you are losing one of your best engineers from doing what they are good at and two, they don't always (in my experience its actually rarely) make good managers. Agree a Manager needs to be familiar with the tools used, the product, etc. They need a working knowledge. A good PM type is one who understands what is being created, its capabilities, how it applies to the customer and can do the translation of what the geeks are telling them and turn that into english for the customer. As easy as that sounds I have found its actually a skill many do not possess. I work for a large fortune 100 company and we have tons of people who do this for a living and we only have a handful who are really really good at this. They always seem to get to the top projects, are the most requested PM types, and are constantly in front of the CIO explaining what is going on.
 
Back
Top