We have a few Software Engineers in their 60s and 70s. Some of them didn't know what SFTP is, but when it comes to what they're good at, they're awesome. They're still useful and they make decent bank. Our average software engineer is around 35.
With a CS degree, you should know damn near everything. My cousin had a CS degree and based on required classes, he had to know how to write compilers, kernels, network stacks, design CPUs, 3D game engines. He did not have a lot of practical work in any of those, but he had to learn the theory, data structures, and understand how and why the were designed the way they were, then implement simple versions of what he learned.
He came from a Uni that is a world leader in Bio Engineering, and CS was considered a harder subject because CS is very hard. If it's not hard, you're not doing CS.
we've entered an age in which demanding that every programmer has a degree is like asking every architectural engineering to have a background in structural engineering
Keep in mind that human beings are pretty good at creating a shared mental context of their conversation
You also assume a certain amount standard knowledge and understanding among the peers in order to have a "shared mental context". Depending with whom I am talking, I may need to dumb down my vocabulary or complexity of ideas. If I toss out the phrase "scalable lockless eventually-consistent datastructure", it is going to WHOOSH over 99% of the people I talk to. Now I need to spend several days trying to get someone up to speed with the concept, but they probably won't fully understand a lot of what I'm talking about for months or ever. They're not less smart than me, they just don't have the obsession required to maintain the attention to detail required to understand some advanced topics.
I know 1, maybe 2, people at work I can talk with at full capacity, and we can tear through ideas quickly. We don't "brogram", but we do go to each other with a well thought out issues and present pros, cons, and random thoughts. I work with many bright programmers who do a great job, but most of them are "normal" intelligent people. Not nearly as obsessed as a small handful of us. There is a huge gap between an intelligent person who can program and a probably equally intelligent person who has been programming since a young child and can tell you almost exactly what is going on under the hood networks, CPUs, thread schedulers, memory allocators, garbage collectors.
I've done my fair share of nonintuitive optimizations that result in slower micro-benchmarks, but faster macro-benchmarks. Maybe using a struct instead of an object shows as being slower in a micro-benchmark because you're copying around more data, but the macro-benchmark shows up faster because the random memory access caused by objects is thrashing the cache and the struct has better locality with fewer evictions.
Maybe your simple lock looks to be faster, but has horrible scaling under high contention.
Maybe allocating objects looks plenty fast, but putting pressure on the garbage collector is invoking many stop worlds which is hampering your thread scaling
Maybe your SQL query optimizer is showing you that a column is causing a scan, so you want to index it, but if you rearranged your query, you could do without the index all together.
Of course most of their programs work just fine and don't need these levels of understanding, but there is a reason why my programs seem to just work so well. They're quite thought out, from top to bottom.
That could be said of anyone. Add some optional easier starting classes. I guess I assumed the boys knew more because they started self learning at a young age. Many high end Universities have something like 50%-80% drop out rates in their CS 101 classes because it is so hard, with no option to minor in CS. Considered one of the hardest courses, worse than many other STEM fields.
They changed their stance on enforcing hierarchical routing. They now allows non-hierarchical routing only for the purpose of multi-homing. You need special IP addresses.
Also, even with DNS it would be a PITA to change all the records to point to new IPs.
Mine just works. Out of the box, Stock PFSense picks up the machines name and adds it to the DNS records. My 5 year old wireless $40 printer even works with DNS and no configuration at all on my part.
Stick me behind carrier grade NAT will you. I guess I'm going to test out my resilience to DDOS attacks. What's my IP. OK, launch a 110Mb/s attack. It's my listed IP, bugger off.
Just you wait. ICANN is changing policies and will soon start taking back IP blocks from people and drastically raising prices. Need a/24 so you can multi-home? Too bad! We can't be wasting those large IP blocks, yoink. Well shit, your company no longer has failover. Get ready.
CGN is more expensive, more complicated, and reduces customer satisfaction. Perfect for anyone who wants to become a Comcast or Verizon as one of the worst ISPs.
DHCPv6 provides more control to the administrator in assigning addresses. If you really want that sort of control over your IPv6 addresses, you don't understand IPv6 yet.
I forgot to mention, I had to put myself through college, which involved skipping meals, eating cheap ramen, and making a 5Lb bag of unshelled peanuts last until next paycheck as my lunch and sometimes dinner. My co-workers regularly offered me their left overs. I lived in an apartment with black mold issues, but I didn't complain because the rent was cheap, even that I could barely afford.
We didn't own a TV until the mid 90s when I was almost 10. Couldn't afford one. Didn't get cable until I was in high school, couldn't afford it. We had one car, it was about 8 years old when purchased, and made it last another 8 years before it died.
We didn't live in the streets, but we were not well off.
For me, graduating with a 3.6 in a programming that my Uni has a multi-decade 100% job placement with an average fresh out of colleges starting wage of $60k-$80k. In mind to late 2008(recession), I was inundated with job offers after graduation that would have placed me above the median household incoming for any of the cities where the jobs were located.
So yes, getting a 4.0 means you're out of poverty and above the median household income for your personal income.
We wouldn't need the FCC to make any sort of regulation changes if we could just get lemon laws for ISPs. Instead of fines, make it stupid easy to sue your ISP to get your bills refunded.
Therefore, it is a cultural thing and I doubt that it will improve any time soon.
We already have a flood of bad programmers, why do we want more? Your "facts" only show that there is more demand or more monetary desire for women in STEM in those other countries. More modern research is showing that the percentage of women who actually WANT to do STEM is actually very close to what the USA has for current percentages. It's also a note of interest that the percentage of women who want to do STEM is identical in all countries and cultures.
The initial research was done by a collaboration of some very prestigious universities, but they did say that while they feel confident in their findings, more research from different angles must be done on the subject.
We don't need more STEM, we need more good STEM. Don't push women into the fields, just don't hold them back. While we at it, lets get rid of this surplus of idiots.
Sometimes I think people just want to complain. There was a "gender discrimination" article about CS a while back that garnished a lot of attention. The funny thing it started with the father talking about how smart and interested his daughter was in CS, but ended with her dropping out because it was too hard and all of the boys already knew most of the material coming into the class. I suddenly lost all sympathy.
It was probably a bad example of what women are experiencing, but the amount of attention and community support made me question the rational. She couldn't compete, that's all there is to it.
Neither Linux nor FreeBSD were willing to enable ASLR by default and other similar technologies because they broke so much code. OpenBSD came along and did it, took it on the chin, and everyone benefited.
You also need PAE aware drivers, which was an implementation detail since drivers were not marked as PAE. Pretty much only server grade hardware had PAE drivers, even then you had to ask the manufacturer or they had to advertise it somewhere. Otherwise enjoy random memory corruption and bluescreens for seemingly no reason.
What's your definition of "low income"? I lived in a household that made less than $25k/year because my dad was trying to go to school, but because he was going to school, our family was not eligible for welfare. My mom tells me of stories where she would purchase a watermelon because it was cheap at the time, and that one fruit had to last her for dinner for an entire week. As a child, we only went to the movie theatres twice, EVER. Jurassic Park was one, I forget the other.
Now that you have an idea of how poor we were, my brothers are 4.0 students in college and I managed a lowly 3.6 in my major. Escaping poverty is simple in any decent society.
And to think, their hardware is still better than most out there. They still get the fewest complaints on NewEgg for much of their stuff for a reason. Their appliance like hardware anyway, SSDs, monitors, etc.
Have your ever seen your Netflix traffic? A large portion of it is already going back upstream...
Incorrect. A "large" amount of traffic may be going back upstream, but the ratio of down to up is about 35:1. Just ACK data, nothing special. Someone may think 10Gb up is a large amount of data, but relative to the 350Gb/s down, it's nothing.
CS != IT. This makes as much sense as complaining that your car mechanic knows nothing about engines.
The mechanic may not know how to build an engine, but he damn better understand the ideas behind how they work and be able to do basic maintenence.
We have a few Software Engineers in their 60s and 70s. Some of them didn't know what SFTP is, but when it comes to what they're good at, they're awesome. They're still useful and they make decent bank. Our average software engineer is around 35.
With a CS degree, you should know damn near everything. My cousin had a CS degree and based on required classes, he had to know how to write compilers, kernels, network stacks, design CPUs, 3D game engines. He did not have a lot of practical work in any of those, but he had to learn the theory, data structures, and understand how and why the were designed the way they were, then implement simple versions of what he learned.
He came from a Uni that is a world leader in Bio Engineering, and CS was considered a harder subject because CS is very hard. If it's not hard, you're not doing CS.
we've entered an age in which demanding that every programmer has a degree is like asking every architectural engineering to have a background in structural engineering
Fixed.
I've had that happen before. Getting my leg to relax took a little while.
Keep in mind that human beings are pretty good at creating a shared mental context of their conversation
You also assume a certain amount standard knowledge and understanding among the peers in order to have a "shared mental context". Depending with whom I am talking, I may need to dumb down my vocabulary or complexity of ideas. If I toss out the phrase "scalable lockless eventually-consistent datastructure", it is going to WHOOSH over 99% of the people I talk to. Now I need to spend several days trying to get someone up to speed with the concept, but they probably won't fully understand a lot of what I'm talking about for months or ever. They're not less smart than me, they just don't have the obsession required to maintain the attention to detail required to understand some advanced topics.
I know 1, maybe 2, people at work I can talk with at full capacity, and we can tear through ideas quickly. We don't "brogram", but we do go to each other with a well thought out issues and present pros, cons, and random thoughts. I work with many bright programmers who do a great job, but most of them are "normal" intelligent people. Not nearly as obsessed as a small handful of us. There is a huge gap between an intelligent person who can program and a probably equally intelligent person who has been programming since a young child and can tell you almost exactly what is going on under the hood networks, CPUs, thread schedulers, memory allocators, garbage collectors.
I've done my fair share of nonintuitive optimizations that result in slower micro-benchmarks, but faster macro-benchmarks. Maybe using a struct instead of an object shows as being slower in a micro-benchmark because you're copying around more data, but the macro-benchmark shows up faster because the random memory access caused by objects is thrashing the cache and the struct has better locality with fewer evictions.
Maybe your simple lock looks to be faster, but has horrible scaling under high contention.
Maybe allocating objects looks plenty fast, but putting pressure on the garbage collector is invoking many stop worlds which is hampering your thread scaling
Maybe your SQL query optimizer is showing you that a column is causing a scan, so you want to index it, but if you rearranged your query, you could do without the index all together.
Of course most of their programs work just fine and don't need these levels of understanding, but there is a reason why my programs seem to just work so well. They're quite thought out, from top to bottom.
That could be said of anyone. Add some optional easier starting classes. I guess I assumed the boys knew more because they started self learning at a young age. Many high end Universities have something like 50%-80% drop out rates in their CS 101 classes because it is so hard, with no option to minor in CS. Considered one of the hardest courses, worse than many other STEM fields.
They changed their stance on enforcing hierarchical routing. They now allows non-hierarchical routing only for the purpose of multi-homing. You need special IP addresses.
Also, even with DNS it would be a PITA to change all the records to point to new IPs.
Mine just works. Out of the box, Stock PFSense picks up the machines name and adds it to the DNS records. My 5 year old wireless $40 printer even works with DNS and no configuration at all on my part.
Stick me behind carrier grade NAT will you. I guess I'm going to test out my resilience to DDOS attacks. What's my IP. OK, launch a 110Mb/s attack. It's my listed IP, bugger off.
Just you wait. ICANN is changing policies and will soon start taking back IP blocks from people and drastically raising prices. Need a /24 so you can multi-home? Too bad! We can't be wasting those large IP blocks, yoink. Well shit, your company no longer has failover. Get ready.
CGN is more expensive, more complicated, and reduces customer satisfaction. Perfect for anyone who wants to become a Comcast or Verizon as one of the worst ISPs.
DHCPv6 provides more control to the administrator in assigning addresses. If you really want that sort of control over your IPv6 addresses, you don't understand IPv6 yet.
You're doing it wrong!
I forgot to mention, I had to put myself through college, which involved skipping meals, eating cheap ramen, and making a 5Lb bag of unshelled peanuts last until next paycheck as my lunch and sometimes dinner. My co-workers regularly offered me their left overs. I lived in an apartment with black mold issues, but I didn't complain because the rent was cheap, even that I could barely afford.
Yes, what a lavish lifestyle.
We didn't own a TV until the mid 90s when I was almost 10. Couldn't afford one. Didn't get cable until I was in high school, couldn't afford it. We had one car, it was about 8 years old when purchased, and made it last another 8 years before it died.
We didn't live in the streets, but we were not well off.
For me, graduating with a 3.6 in a programming that my Uni has a multi-decade 100% job placement with an average fresh out of colleges starting wage of $60k-$80k. In mind to late 2008(recession), I was inundated with job offers after graduation that would have placed me above the median household incoming for any of the cities where the jobs were located.
So yes, getting a 4.0 means you're out of poverty and above the median household income for your personal income.
We wouldn't need the FCC to make any sort of regulation changes if we could just get lemon laws for ISPs. Instead of fines, make it stupid easy to sue your ISP to get your bills refunded.
Therefore, it is a cultural thing and I doubt that it will improve any time soon.
We already have a flood of bad programmers, why do we want more? Your "facts" only show that there is more demand or more monetary desire for women in STEM in those other countries. More modern research is showing that the percentage of women who actually WANT to do STEM is actually very close to what the USA has for current percentages. It's also a note of interest that the percentage of women who want to do STEM is identical in all countries and cultures.
The initial research was done by a collaboration of some very prestigious universities, but they did say that while they feel confident in their findings, more research from different angles must be done on the subject.
We don't need more STEM, we need more good STEM. Don't push women into the fields, just don't hold them back. While we at it, lets get rid of this surplus of idiots.
Sometimes I think people just want to complain. There was a "gender discrimination" article about CS a while back that garnished a lot of attention. The funny thing it started with the father talking about how smart and interested his daughter was in CS, but ended with her dropping out because it was too hard and all of the boys already knew most of the material coming into the class. I suddenly lost all sympathy.
It was probably a bad example of what women are experiencing, but the amount of attention and community support made me question the rational. She couldn't compete, that's all there is to it.
Neither Linux nor FreeBSD were willing to enable ASLR by default and other similar technologies because they broke so much code. OpenBSD came along and did it, took it on the chin, and everyone benefited.
You also need PAE aware drivers, which was an implementation detail since drivers were not marked as PAE. Pretty much only server grade hardware had PAE drivers, even then you had to ask the manufacturer or they had to advertise it somewhere. Otherwise enjoy random memory corruption and bluescreens for seemingly no reason.
What's your definition of "low income"? I lived in a household that made less than $25k/year because my dad was trying to go to school, but because he was going to school, our family was not eligible for welfare. My mom tells me of stories where she would purchase a watermelon because it was cheap at the time, and that one fruit had to last her for dinner for an entire week. As a child, we only went to the movie theatres twice, EVER. Jurassic Park was one, I forget the other.
Now that you have an idea of how poor we were, my brothers are 4.0 students in college and I managed a lowly 3.6 in my major. Escaping poverty is simple in any decent society.
And to think, their hardware is still better than most out there. They still get the fewest complaints on NewEgg for much of their stuff for a reason. Their appliance like hardware anyway, SSDs, monitors, etc.
Have your ever seen your Netflix traffic? A large portion of it is already going back upstream...
Incorrect. A "large" amount of traffic may be going back upstream, but the ratio of down to up is about 35:1. Just ACK data, nothing special. Someone may think 10Gb up is a large amount of data, but relative to the 350Gb/s down, it's nothing.
Hey now, "up to" 10 gallons of gas. Five is greater than zero, so it fulfills that requirement.