But why did we have so many more women in computing in the 80s and 90s? Why did the "weak woman" appear after that point in time? It's recent enough that we should be able to reverse it before it becomes entrenched.
If you provide equal opportunity, and then over time the outcomes become more and more unequal, then I would suggest that the opportunity is not actually equal for some reason. And that is what is happening with women in computing. Outcomes indicate whether the opportunities are working.
I am not talking about the 50s and 60s. I am talking about the 80s and 90s, and not secretarial style computing work. I am talking about the programmers, system admins, and designers which all used to have significant representation from women. The exact same sorts of jobs we have today, though actually more technical than today's typical computing job.
And besides, no one's even asking for affirmative action here. Except for asking the stupid people to stop acting like immature boys while at work. Instead this is about how to encourage more women to get back into computing (where women used to be). And yet even doing something so minor as to encourage women to enter technical fields causes the idiots to claim this is misguided, a crusade against men, feminism run amuck, etc. Those are not the attitudes you would find in someone who believes in equal opportunity.
I'm on a 40 hour week. By law they can not ask you to work longer without overtime in most states, and can not fire you if you refuse. This applies even to exempt workers. The 60 hour work week is self imposed although many companies will mislead workers on this account. If an exempt worker voluntarily works longer hours management will tend to fill in that extra time with more tasks, at which point trying to shrink back down again becomes a problem. The places that do tend to have the longer hours are startups, which are places to avoid if you want to have a life or sanity or a steady salary. It is true that this may make you look like the slacker, especially at a place the values quantity over quality, but blame your coworkers for setting false expectations.
The corporation is not the type of place for prospective fathers either! This is 2015, not 1950. Today fathers are parents also, they need to share in the child rearing. Ward Cleaver needs to take time off from the office before the Beaver becomes a delinquent. Besides, June Cleaver has a day job too because that's the only way to afford a house in California. After a new baby, dad needs paternity leave as well. I see no difference between male or female in this regard.
Right. If you are all about equality that is great. Explain then why the equality has dropped over the years. Women used to form a sizable fraction of computer workers, including support, design, and development. Today that fraction is noticeably less. Things were never equal in the sense of matching outside demographics, but things are clearly worse today and something must be causing it.
How can you care about equality and yet not care if the equality is declining? What I suspect is that you care more about maintaining the status quo than about equality. Don't rock the boat in other words.
No one's asking for a crusade, no one is going to be marching in to kick all the men off of their pedestals. It is worth it though to go and find out why these problems are happening, to try and market to women and encourage them to go into computing fields again. Or is the mere marketing to women some sort of anti-male crusade?
Men are in no danger of being so unfairly represented that they end up underpaid on average compared to women, or having to create fake names and icons for online technical boards lest someone find out they're really male, or being forced out of their profession. And yet there are some morons out there who seem scared of this. They are in an amazingly advantaged group and can not even see it, instead acting afraid that one day they might not be able to tell sex jokes at work as if that is the worst possible discrimination.
IT in most places is a vile scum filled pit. Seriously. The boys club mentality is repulsive. Start acting like professionals and treat your clients with respect. Maybe you'll get a clue about why everyone hates the IT department so much.
You like the boys club, and are afraid of a PC environment. Now take out your seldom used empathy module and flip it on. Imagine if things were reversed and you were the one always in the overly sensitive PC environment, except that the women are laughing you when you walk by, or giving you looks of disdain and telling you to your face that you should be home raising the kids. Would you quit IT and head off to somewhere else? Imagine how women feel when forced to work in an organization that would embarrass a frat house. If it's wrong to harrass and attempt to force you out of your desired profession, then it is also wrong to do the same thing to someone else.
You do not love women if you don't want them as colleagues. If you only tolerate them in certain contexts then that is the definition of discrimination and prejudice. You are a bigot. You are the reason the percentage of women is dropping over time in computing fields. At least you have enough shame left to post anonymously.
This isn't about forcing people to take jobs they don't want. However women are clearly capable of these jobs, and were clearly interested in them in the past. If there is some biological basis then it does not account why the percentage of female programmers has declined over time, so I seriously doubt it's some sort of innate bias. There's a clear problem, even if you fail to acknowledge it. Why has the percentage dropped? You clearly don't care, but some people do.
Why don't you care? Worried about competition? Basically, if everything is fair and above board, why only 5% female programmers instead of 50%? And don't blame it on something stupid like "women don't like computers" or "it's genetic". It's purely a social problem, because the percentage has been going down over time.
The reason it's a problem is that we want to treat all segments of the population equally. This is evidence that clearly we don't do this as a society, and that over time we are getting worse at it. If we claim as a society that we do not discriminate then it should be worth figuring out and fixing. Why defend the status quo when it is broken?
Sadly, computer hardware engineers are just as sloppy much of the time. They can use ad-hoc designs, fudging or guessing on the numbers, utter lack of documenation, and just plain boneheaded errors that make it to the customer before being found. Even in some other areas considered a bastion of proper engineering things are breaking down. Consider the growing numbers of massive cost overruns with large civil engineering projects.
The goal of fully interchangeable and reusable parts that is the holy grail of software engineering doesn't really exist in the other engineering areas, or at least the scale is different (a resuable component is the 32 bit word, whereas the software engineers seem to want to reuse something equivalent to an entire bridge).
Software engineering isn't about software or engineering, it's completely about management.
Most of the students would never need to write a sorting algorithm. However I think ALL of his students should know how to compare sorting algorithms and understand all of the theory behind it. If what the students really want is a list of library functions to call, they can go to any stupid trade school for this. However if they are paying for an education then they should be prepared to be educated.
Now there's nothing wrong with being the entry level programmer for life. If you look at an auto company, a few people design the autos while lots and lots of people stand on the assembly line and repeat the same action a thousand times a day. With engineering, some people are technicians and some people are engineers or scientists.
So it's up to the students. Do they want to set an upper limit for themselves that they will hit very quickly, or do they want to reach for the sky?
A problem that I see *often* is in not knowing how to do math on a computer. People have a working model that numbers have infinite range and floating point numbers have infinite precision. Thus you see a lot of "(giantnumber * giantnumber) / tinynumber" and the get an overflow; or worse, it works for their test cases and their customers are the ones to get overflows and bizarre results.
I knew someone who stored floating point numbers as text (a waste of space), because otherwise the results seemed to be inaccurate when stored as binary. But so many common decimal numbers can not be represented in binary floating point with a fixed number of bits, like "0.1". Occasionally there would still be problems and the person would come to me and ask why two numbers did not compare as equal even though they looked the same when printed out.
But it can be extremely difficult to understand some piece of mathematics if you skipped all your college level maths or paid your roommate to take your tests. At the very least get a working comprehension of calculus, a working comprehension of boolean logic, a working comprehension of high school algebra, etc. However it is ok if you forget it all a year later! The important thing is that you worked hard to learn this once, you exercised your brain and molded it into a shape that was capable of learning abstract concepts, and are able to use that information later in life when presented with new ideas.
So what? They're in college. Time to suck it up and tackle that anxiety. Even if you never overcome the anxiety about math, at least the effort was made.
Even if you never use the stuff you learned in a difficult class in college, it at least has taught you to think better. Steroids for the brain. Someone who skips past all this stuff, taking shortcuts, avoiding theory, taking the easy classes like "math for athletes and web programmers", is going to have a flabby brain. They never learned how to think abstractly, never learned how to handle a complicated problem beyond their capabilities, and never learned how to learn. They're just going to have a glazed look in their eyes at the staff meetings whenever some complex topic is being discussed.
A lot of this just pushes all the buttons for me. My pet peeves with modern society are with the morons who revel in their own ignorance. There used to be a time when learning stuff was considered important. Even the president of companies would feel the need to learn what their company was about, how their product was made, how it worked, etc. Today ignorance is celebrated. Morons can go on the internet and say "I can code without knowing math", which sort of implies that people who do learn things are wasting their time. Cretins advocate that college can be skipped as a waste of time. Even those in college whine like kindergarteners that stuff is too hard or irrelevant to their future career behind a help desk.
Ignorance should never be treated as a virtue. And yet that is what is happening and this original post proves that this attitude is still alive.
Good programmers know something other than how to code. People can code while being generally ignorant of all other skills, but that doesn't make them good at it. Math is important, at the very least so that you don't have to go to the next cubicle every ten minutes to ask a stupid question. If you don't know math, then don't even consider the advanced art of floating point and the countless ways that programmers who don't know numerical analysis screw it up. If you don't know abstract math then generally stay away from coding unless you have given highly detailed notes from your boss about every step of what you're doing, otherwise you'll screw it up and make dumb mistakes.
If your program is going to be involved in some way with physical processes, then damn it you need to learn some physics! If your program is going to be involved some way with mathematical operations, then damn it you need to learn some math! If you're going to use graphics, you need to learn math. If you're going to be dealing with a radio then you need to know some physics and EE. If you're going to write something dealing with health or medicine (heaven forbid the ignorant masses attempt this) then damn it all to hell you need to know some small measure about health or medicine (and not from a tabloid).
Why is this? Because you will NOT be programming exclusively. There will be times when you need to use your brain. Not the programming part of the brain but the part of the brain that has to deal with the actual problem that the program is solving. If you need to write a control loop then how do you do this without knowing about control theory? Google won't help as you'll spend weeks getting the basics. What normally happens is that these ignorant programmers will waste the time of their coworkers asking questions. Yes, you can't know everything, and yes you will have to ask your coworkers dumb questions, it's just a fact of life. But that college level science and mathematics really does help when you're trying to learn new things or have them explained to you. It applies to the arts and humanities too, not just science and math. Being a well educated person across the board is a huge advantage to a programmer.
At the very least this ignorance will make one spend all day Googling stuff; something this author seems proud of. Like someone saying arithmetic is a pointless skill because you can use a calculator.
About the only possible job you can get programming while knowing nothing about anything except programming might be web applications. Surprisingly, this is where most programmers migrate too, especially those who take things like "coding boot camp" courses. Even then you'll stay as an entry level programmer for your entire career.
Many routers and devices ship by default with support for many different country configurations. The end user can then configure which country it is for. This may not be so common with home based devices but we definitely ship products that can be configured for the wrong country by the customer.
However the commercial software often unlocks those channels as well, if you configure it to be for a different country. The router maker can't be held liable for this, it's customer error. However the router maker can be required to disallow certain configurations (never exceed a certain radiated power) or arbitrary configurations (let the user pick channel spacing).
There are existing rules for this. You can't modify firmware in order to increase radiated power beyond the limit (on commodity devices anyway). Many radios will not even allow this even if you do rewrite the controlling firmware. The problem is that these rules tend to creep and pretty soon they'll think that other parts of firmware should be left alone, after all changing firmware is something evil that only hackers know how to do... It won't help the issue that the router manufacturers will likely back this up, they never approve of end-user modifications.
The components themselves are licensed and have passed FCC tests. The system will not be changing any operating parameters; it will keep the same frequencies, channel spacings and separations, power limits, etc. All the end user is doing is specifying how the device is being used.
Yes and no. It can be the last mile for those areas not served by fixed infrastructure. This means it gets ignored by the big boys because the market is not big enough to matter. 95% can get cable, so just write off the 5%. Some people in the past set up point-to-point last mile internet, which had problems with lines of sight, I worked for a place that did meshed last mile internet but it never took off (the big ISPs didn't care about the remaining 5% and the small ISPs weren't enough to keep it going).
Yes, point to point. Not broadcast RF to the neighborhood that everyone is sharing. General purpose wireless communications don't match the speed for connected communications. If the wireless changes you often have to change all the components, including in the home. If the wired connection changes you can usually keep the older tech in place while people upgrade over time (ie, you can keep using DSL even if the neighbor uses VDSL, or stick with the 10BaseT even if the wires support 100BaseT).
The ultimate problem is that usable bands is fixed for wireless. You can't just pick any old frequency and use that. Instead the entire neighborhood is crammed in a a few tiny regions all competing with each other to be heard (the unlicensed spectrums). If people are going to be all doing stuff like streaming video it will be cramped, no matter what actual protocols they use. Multiple uses on the same frequences, wifi, cordless radios, baby monitors, smart meters, IoT, etc. In other words, everyone is shouting at once. Point-to-point just works better but it more expensive.
But why did we have so many more women in computing in the 80s and 90s? Why did the "weak woman" appear after that point in time? It's recent enough that we should be able to reverse it before it becomes entrenched.
If you provide equal opportunity, and then over time the outcomes become more and more unequal, then I would suggest that the opportunity is not actually equal for some reason. And that is what is happening with women in computing. Outcomes indicate whether the opportunities are working.
I am not talking about the 50s and 60s. I am talking about the 80s and 90s, and not secretarial style computing work. I am talking about the programmers, system admins, and designers which all used to have significant representation from women. The exact same sorts of jobs we have today, though actually more technical than today's typical computing job.
And besides, no one's even asking for affirmative action here. Except for asking the stupid people to stop acting like immature boys while at work. Instead this is about how to encourage more women to get back into computing (where women used to be). And yet even doing something so minor as to encourage women to enter technical fields causes the idiots to claim this is misguided, a crusade against men, feminism run amuck, etc. Those are not the attitudes you would find in someone who believes in equal opportunity.
I'm on a 40 hour week. By law they can not ask you to work longer without overtime in most states, and can not fire you if you refuse. This applies even to exempt workers. The 60 hour work week is self imposed although many companies will mislead workers on this account. If an exempt worker voluntarily works longer hours management will tend to fill in that extra time with more tasks, at which point trying to shrink back down again becomes a problem. The places that do tend to have the longer hours are startups, which are places to avoid if you want to have a life or sanity or a steady salary. It is true that this may make you look like the slacker, especially at a place the values quantity over quality, but blame your coworkers for setting false expectations.
The corporation is not the type of place for prospective fathers either! This is 2015, not 1950. Today fathers are parents also, they need to share in the child rearing. Ward Cleaver needs to take time off from the office before the Beaver becomes a delinquent. Besides, June Cleaver has a day job too because that's the only way to afford a house in California. After a new baby, dad needs paternity leave as well. I see no difference between male or female in this regard.
Right. If you are all about equality that is great. Explain then why the equality has dropped over the years. Women used to form a sizable fraction of computer workers, including support, design, and development. Today that fraction is noticeably less. Things were never equal in the sense of matching outside demographics, but things are clearly worse today and something must be causing it.
How can you care about equality and yet not care if the equality is declining? What I suspect is that you care more about maintaining the status quo than about equality. Don't rock the boat in other words.
No one's asking for a crusade, no one is going to be marching in to kick all the men off of their pedestals. It is worth it though to go and find out why these problems are happening, to try and market to women and encourage them to go into computing fields again. Or is the mere marketing to women some sort of anti-male crusade?
Men are in no danger of being so unfairly represented that they end up underpaid on average compared to women, or having to create fake names and icons for online technical boards lest someone find out they're really male, or being forced out of their profession. And yet there are some morons out there who seem scared of this. They are in an amazingly advantaged group and can not even see it, instead acting afraid that one day they might not be able to tell sex jokes at work as if that is the worst possible discrimination.
IT in most places is a vile scum filled pit. Seriously. The boys club mentality is repulsive. Start acting like professionals and treat your clients with respect. Maybe you'll get a clue about why everyone hates the IT department so much.
You like the boys club, and are afraid of a PC environment. Now take out your seldom used empathy module and flip it on. Imagine if things were reversed and you were the one always in the overly sensitive PC environment, except that the women are laughing you when you walk by, or giving you looks of disdain and telling you to your face that you should be home raising the kids. Would you quit IT and head off to somewhere else? Imagine how women feel when forced to work in an organization that would embarrass a frat house. If it's wrong to harrass and attempt to force you out of your desired profession, then it is also wrong to do the same thing to someone else.
You do not love women if you don't want them as colleagues. If you only tolerate them in certain contexts then that is the definition of discrimination and prejudice. You are a bigot. You are the reason the percentage of women is dropping over time in computing fields. At least you have enough shame left to post anonymously.
This isn't about forcing people to take jobs they don't want. However women are clearly capable of these jobs, and were clearly interested in them in the past. If there is some biological basis then it does not account why the percentage of female programmers has declined over time, so I seriously doubt it's some sort of innate bias. There's a clear problem, even if you fail to acknowledge it. Why has the percentage dropped? You clearly don't care, but some people do.
Why don't you care? Worried about competition? Basically, if everything is fair and above board, why only 5% female programmers instead of 50%? And don't blame it on something stupid like "women don't like computers" or "it's genetic". It's purely a social problem, because the percentage has been going down over time.
The reason it's a problem is that we want to treat all segments of the population equally. This is evidence that clearly we don't do this as a society, and that over time we are getting worse at it. If we claim as a society that we do not discriminate then it should be worth figuring out and fixing. Why defend the status quo when it is broken?
Except that real application of computer science theory happens every single day.
Sadly, computer hardware engineers are just as sloppy much of the time. They can use ad-hoc designs, fudging or guessing on the numbers, utter lack of documenation, and just plain boneheaded errors that make it to the customer before being found. Even in some other areas considered a bastion of proper engineering things are breaking down. Consider the growing numbers of massive cost overruns with large civil engineering projects.
The goal of fully interchangeable and reusable parts that is the holy grail of software engineering doesn't really exist in the other engineering areas, or at least the scale is different (a resuable component is the 32 bit word, whereas the software engineers seem to want to reuse something equivalent to an entire bridge).
Software engineering isn't about software or engineering, it's completely about management.
Most of the students would never need to write a sorting algorithm. However I think ALL of his students should know how to compare sorting algorithms and understand all of the theory behind it. If what the students really want is a list of library functions to call, they can go to any stupid trade school for this. However if they are paying for an education then they should be prepared to be educated.
Now there's nothing wrong with being the entry level programmer for life. If you look at an auto company, a few people design the autos while lots and lots of people stand on the assembly line and repeat the same action a thousand times a day. With engineering, some people are technicians and some people are engineers or scientists.
So it's up to the students. Do they want to set an upper limit for themselves that they will hit very quickly, or do they want to reach for the sky?
A problem that I see *often* is in not knowing how to do math on a computer. People have a working model that numbers have infinite range and floating point numbers have infinite precision. Thus you see a lot of "(giantnumber * giantnumber) / tinynumber" and the get an overflow; or worse, it works for their test cases and their customers are the ones to get overflows and bizarre results.
I knew someone who stored floating point numbers as text (a waste of space), because otherwise the results seemed to be inaccurate when stored as binary. But so many common decimal numbers can not be represented in binary floating point with a fixed number of bits, like "0.1". Occasionally there would still be problems and the person would come to me and ask why two numbers did not compare as equal even though they looked the same when printed out.
But it can be extremely difficult to understand some piece of mathematics if you skipped all your college level maths or paid your roommate to take your tests. At the very least get a working comprehension of calculus, a working comprehension of boolean logic, a working comprehension of high school algebra, etc. However it is ok if you forget it all a year later! The important thing is that you worked hard to learn this once, you exercised your brain and molded it into a shape that was capable of learning abstract concepts, and are able to use that information later in life when presented with new ideas.
Squirrel!
So what? They're in college. Time to suck it up and tackle that anxiety. Even if you never overcome the anxiety about math, at least the effort was made.
Even if you never use the stuff you learned in a difficult class in college, it at least has taught you to think better. Steroids for the brain. Someone who skips past all this stuff, taking shortcuts, avoiding theory, taking the easy classes like "math for athletes and web programmers", is going to have a flabby brain. They never learned how to think abstractly, never learned how to handle a complicated problem beyond their capabilities, and never learned how to learn. They're just going to have a glazed look in their eyes at the staff meetings whenever some complex topic is being discussed.
A lot of this just pushes all the buttons for me. My pet peeves with modern society are with the morons who revel in their own ignorance. There used to be a time when learning stuff was considered important. Even the president of companies would feel the need to learn what their company was about, how their product was made, how it worked, etc. Today ignorance is celebrated. Morons can go on the internet and say "I can code without knowing math", which sort of implies that people who do learn things are wasting their time. Cretins advocate that college can be skipped as a waste of time. Even those in college whine like kindergarteners that stuff is too hard or irrelevant to their future career behind a help desk.
Ignorance should never be treated as a virtue. And yet that is what is happening and this original post proves that this attitude is still alive.
Good programmers know something other than how to code. People can code while being generally ignorant of all other skills, but that doesn't make them good at it. Math is important, at the very least so that you don't have to go to the next cubicle every ten minutes to ask a stupid question. If you don't know math, then don't even consider the advanced art of floating point and the countless ways that programmers who don't know numerical analysis screw it up. If you don't know abstract math then generally stay away from coding unless you have given highly detailed notes from your boss about every step of what you're doing, otherwise you'll screw it up and make dumb mistakes.
If your program is going to be involved in some way with physical processes, then damn it you need to learn some physics! If your program is going to be involved some way with mathematical operations, then damn it you need to learn some math! If you're going to use graphics, you need to learn math. If you're going to be dealing with a radio then you need to know some physics and EE. If you're going to write something dealing with health or medicine (heaven forbid the ignorant masses attempt this) then damn it all to hell you need to know some small measure about health or medicine (and not from a tabloid).
Why is this? Because you will NOT be programming exclusively. There will be times when you need to use your brain. Not the programming part of the brain but the part of the brain that has to deal with the actual problem that the program is solving. If you need to write a control loop then how do you do this without knowing about control theory? Google won't help as you'll spend weeks getting the basics. What normally happens is that these ignorant programmers will waste the time of their coworkers asking questions. Yes, you can't know everything, and yes you will have to ask your coworkers dumb questions, it's just a fact of life. But that college level science and mathematics really does help when you're trying to learn new things or have them explained to you. It applies to the arts and humanities too, not just science and math. Being a well educated person across the board is a huge advantage to a programmer.
At the very least this ignorance will make one spend all day Googling stuff; something this author seems proud of. Like someone saying arithmetic is a pointless skill because you can use a calculator.
About the only possible job you can get programming while knowing nothing about anything except programming might be web applications. Surprisingly, this is where most programmers migrate too, especially those who take things like "coding boot camp" courses. Even then you'll stay as an entry level programmer for your entire career.
Many routers and devices ship by default with support for many different country configurations. The end user can then configure which country it is for. This may not be so common with home based devices but we definitely ship products that can be configured for the wrong country by the customer.
However the commercial software often unlocks those channels as well, if you configure it to be for a different country. The router maker can't be held liable for this, it's customer error. However the router maker can be required to disallow certain configurations (never exceed a certain radiated power) or arbitrary configurations (let the user pick channel spacing).
There are existing rules for this. You can't modify firmware in order to increase radiated power beyond the limit (on commodity devices anyway). Many radios will not even allow this even if you do rewrite the controlling firmware. The problem is that these rules tend to creep and pretty soon they'll think that other parts of firmware should be left alone, after all changing firmware is something evil that only hackers know how to do... It won't help the issue that the router manufacturers will likely back this up, they never approve of end-user modifications.
The components themselves are licensed and have passed FCC tests. The system will not be changing any operating parameters; it will keep the same frequencies, channel spacings and separations, power limits, etc. All the end user is doing is specifying how the device is being used.
Yes and no. It can be the last mile for those areas not served by fixed infrastructure. This means it gets ignored by the big boys because the market is not big enough to matter. 95% can get cable, so just write off the 5%. Some people in the past set up point-to-point last mile internet, which had problems with lines of sight, I worked for a place that did meshed last mile internet but it never took off (the big ISPs didn't care about the remaining 5% and the small ISPs weren't enough to keep it going).
Yes, point to point. Not broadcast RF to the neighborhood that everyone is sharing. General purpose wireless communications don't match the speed for connected communications. If the wireless changes you often have to change all the components, including in the home. If the wired connection changes you can usually keep the older tech in place while people upgrade over time (ie, you can keep using DSL even if the neighbor uses VDSL, or stick with the 10BaseT even if the wires support 100BaseT).
The ultimate problem is that usable bands is fixed for wireless. You can't just pick any old frequency and use that. Instead the entire neighborhood is crammed in a a few tiny regions all competing with each other to be heard (the unlicensed spectrums). If people are going to be all doing stuff like streaming video it will be cramped, no matter what actual protocols they use. Multiple uses on the same frequences, wifi, cordless radios, baby monitors, smart meters, IoT, etc. In other words, everyone is shouting at once. Point-to-point just works better but it more expensive.
I used to flip burgers. In my experience a fired CIA agent could handle that.