Software Development classes
Sometimes, I tweet. When I tweet, sometimes people agree with me. One such occasion happened recently when I said this.
Modern software development has way more to do with reading comprehension and written communication than math.— Ross Hunter (@Ross_Hunter)
I think the main thing to take away from that image is that if you are looking for a new career and you aren't involved computer science or mathematics, you should be, and I hope my post here encourages you to get involved, especially if math has been scaring you away (check out this post for more noob encouragement). It also means we should be providing more and better training for these jobs - but that's another post entirely.
So here's my question about that chart, why are computer science and mathematics combined? Why are computer science and mathematics always combined? In my day-to-day as a developer I rarely do what I would call math. Now admittedly, computer science is different than software development, but I don't think laypeople know that. I don't think that high school kids who are deciding what do do with their lives know that. Our industry desperately needs more talented developers - and it turns out that the skills that make a good mathematician don't necessarily line up with the skills that make a good software developer.
Logic > Math
People who are good at math are good at breaking problems down into parts, recognizing patterns, and applying known formulae to those parts to arrive at the one right answer. This skill will definitely help you solve some problems in software development. However, in software we are constantly running into interesting new problems that don't have a singular right answer. This is where we get to use our creativity to create solutions. Rarely in math are you coming up with a new way to solve a problem, but in software development you do that all the time!
If you don't like math because it is repetitive and boring, look into software development!
Modern tools have abstracted away (almost) all of the ugly 1s and 0s from software development. Modern developers can focus on crafting a solid system, and (for the most part) not have to worry about things like memory management, endianness and other computer science gobbeldy-gook. Sometimes it is fun to deal with low-level stuff like that - but you don't need to understand it to build a CRUD app.
Certain types of software development do require quite a bit of math: statistical/financial software, and games involving physics - for example. However, these require math because that is the thing that the software does, it's not simply a fact of building software. When we do need math, we have code libraries and computers to help us!
You might also like
Who developed supercalc software?
SuperCalc was developed at the company named Sorcim, the history of which can be read at