Where Have All The Hackers Gone?
We had this discussion before in the iPad thread, but it was somewhat off topic. I think this blog post is a good jumping off point to have the discussion more in general.
Where have all the hackers gone?In case you are lazy, here's a summary of the points made in the article. There's the school district where all the computers were photographing the students with the web cams. None of the many students hacked these computers or figured it out because the computers were locked down, and punishment from the school district from tinkering with the computers was severe.
Before WWII there was a generation of Americans who grew up tinkering with internal combustion engines. That large supply of mechanics gave the US a large advantage in the upcoming war. Recently DARPA has put out a paper saying that US is in big trouble because we are in very short supply of people like myself who are experts in technology and security. There is a tremendous talent shortage. That means we're in big trouble in the future.
The doom and gloom of having all these closed systems is a lot more real, even now, than you people seem to think.
Comments
The article is hinting that the ratio of good people is lower now. As a professional in the industry, I have to agree. There are good people out there, but they're rare and difficult to find. Despite this, there is a huge proliferation of resumes that look good (degree from tech school, meaningful certifications) but where the people behind them have no hacker spirit or fundamental understanding of technology.
But, it's not just me saying this. The Air Force has the same problem, according to this article ^_~
And if DARPA is getting involved, it's not just a problem of economics, but defense. If Russia and China raise entire generations of computer wizards, and we raise a generation of iKids, that is an extremely serious threat in an age when the every day workings of our society are completely dependent on technology. We will be absolutely incapable of defending ourselves from external cyber-threats if we do not have enough people who are truly skilled and knowledgeable.
When there's a serious military threat, it's not hard to draft people and train them to fight. It's a lot harder to draft and train people to be hackers. It's basically impossible.
The article is by no means gold, but I'm curious to see how the military actually responds to this perceived problem. If the system isn't making enough hackers anymore, how do you fix that?
I think you're running into the problem of the maturation of the industry. Yours is a relatively recent field, so it has yet to encounter the issues related to having a sea of shitty applicants. The sciences have been dealing with this issue forever; that's why we're assholes.
I've dealt with many science grad students. How many do you think are actually worth my time?
I don't buy that the raw talent is diminished. It's more that there's so much rough these days, the diamonds aren't worth mining.
But for technology, we need technology people everywhere. Even the grocery store, the doctor's office, etc. need tech people. Right now they contract out to someone who maybe shows up later in the week. They can't fix everything, so they make a return visit. Then they do a shitty job and come back again and again. Meanwhile all the employees and customers have a really shitty time of it. If anything serious happened, like an actual attack, there would be basically no defense or recovery.
If they called in one tech person of any caliber, their entire jobs would be revolutionized, even with existing free technology. Most clerical employees would be made redundant by a relational database with a proper front end. Those who remained would have an amazing technological experience. Breakages would be rare, limited only to hardware faults. No data would ever be lost. However, this would cost a fortune because no person of caliber will do it for less.
The shortage of scientists is holding us back, for certain. The lack of technology people is holding us back orders of magnitude more. We need many millions of hackers, and we need them now. We have some thousands.
So what do we do about this?
If you can convince me that the DOEd has done anything aside from drive our education system into the ground, then you might have a good argument. Be warned that you are fighting against all the things I have learned from people who have been trying to improve education in this country for decades. Here's a hint: they don't like the DOEd.
1- Math
2 - English
3 - History/Social Studies
4 - Science
5 - Art
6 - Music
7 - Physical Education
8 - Health Class
9 - Home Economics
10 - Actual Economics
11 - Shop/Technology (including Drawing and Design for Production and Architecture)
12 - Computer Utilization and Keyboarding
and so on...
This is just a list of subjects and classes that I took in high school.
They system in place, while it once worked, needs to be reformed. It's holding the US back and destroying chances for success in the future. At a glance the 'golden path to success' has been taught to us as follows 1) go through school 2)get a degree 3)find a job for someone 4) do as little as possible with the highest wages until step 4) retire. Not that everyone wants to get a cushy job and do nothing, but even the most capable people are usually wasted doing stupid pointless stuff that doesn't deal with any real problems.
Also the school system is failing to prepare people for their actual jobs. Most of it being esoteric bullshit that produces uniformly overly cocky, under experienced punks who have to be trained properly by their future employers. I back these statements up with two of my current bosses, one is an electrical engineer who hired me over an engineering grad student because I wasn't afraid to just start poking at all the stuff in the office and asking a ton of questions. Later she told me that she would NEVER willingly hire a 'fresh out of school' engineer because they 'think they are hot shit when all they have are bad habits and misconceptions'. She's the lead engineer/designer for Camden door controls, one of the leading door security system companies in North America.
My other boss is a corporate magician and entrepreneur. He's an excellent entertainer and thinks he's a great marketer. Too bad he isn't though, but I guess that's why I'm working for him. I understand what to do to have a successful marketing campaign, I know how to build a community and strong customer relations, but everything I do he keeps sabotaging. I write a long letter for a specific purpose and he puts it up as a random page on his website. I fix the website and he hacks it apart and puts all the old crap into the new format. It's an exercise in frustration and one of the major reasons I don't do much work for him anymore.
I'm personally beginning to believe more and more in the apprenticing style of education. Yeah, we need to learn how to do math and reading and all that, but I think the education system in general is a train wreck. In my opinion elementary and middle school should still teach the same stuff, but high school should be more about getting people into places where they can see what a job is really like. Apprentice or intern in other words, have them really look at what's out there (Rym's comments about how HS councilors don't tell you that you can be a race car driver comes to mind). The current system spends most of it's time punishing us for asking questions or really doing anything but 'drone thinking' and we're starting to see the effects of it.
If more people got out of the classroom and into a position where they could actually learn real world skills then I think everyone would be better off for it. Supplementary skill building classes could still be taught as a way to practice and develop them further, but maybe would only be attended a couple times a week. As it is there is a gigantic disconnect between school and 'the real world' and it's really screwing things up. With education deviating so far from industries graduating students are horribly under equipped to deal with the transition.
/rant (I get kind of passionate about this, my grandfather was a teacher and we talk about this stuff on occasion)
Also, the world is constantly changing. With apprenticeship, you maintain roughly the same percentage of people working in the same fields. We are in a period of rapid change. We were in a world with almost no technologists, and need many many technologists. With apprenticeship, we simply can't educate the quantity of people that we need. Schools allow for mass education that apprenticeship does not.
To make a long story short, when I applied for my major, the CS advisor told me that my high school had not adequately prepared me, despite my plans being clearly known to the school, and that they recommended I take pre-cal again. I had breezed through it in high school, but that was nothing. I failed it in college. Apparently, the pre-cal at high school was substandard. Eventually, despite the CS department doing everything they could to help me, and being patient as a retook Programming I twice, I finally had to leave and change my major. Not that I find graphic design boring, but I really wanted to program.
The problem, I've heard from some of my former high school teachers, is that the counselors (except for the new one I got, who was new to the school) were not fond of computer education, and that they pushed to remove it from the curriculum. Some people just don't like dealing with it, because "it doesn't seem all that important."
At RIT, all of the great CS students were people who had already been programming well before showing up at RIT. The CS department told people that you could take CS with no prior experience, but you could always tell who those people were. They were always struggling with basics, and had to spend way more time than everyone else on everything. They usually transferred to a different major or school.
In order to have the computer talent that the world needs, you have to start fucking early. I started with LOGO on the Apple ][ in Kindergarten. Ron Gilbert and Ken Levine spoke at their PAX keynotes about how they started programming as children on the Commodore 64 and other machines of that time period. I doubt anyone who will find a single great programmer who did not have an early start.
My suggestion to people who are about to go to college, and do not already know how to program, is to forget computer science. If you think you want to do it, but you haven't done it already, then you are basing that desire to program on what you imagine programming to be like, and not what it is actually like. If you're reading this now, it means you have a computer. If you want to program, and you haven't before, then start now. It doesn't matter what kind you do, just do something. Very very few of us programmers had any real programming education before college, and Bill Gates, Steve Jobs, and friends all dropped out of college. It's still primarily a self-taught discipline, so start self teaching.
And if you have children, I suggest that as soon as they are literate, you get them a computer that is hackable that they will have a desire to hack. An Arduino with lots of sensors and motors and such is a good start. They will learn some electronics, and they can integrate it with all their toys.