Blue-collar knowledge workers will save the economy
seldo.com
seldo.com
http://en.wikipedia.org/wiki/Elk_Rapids,_Michigan
http://en.wikipedia.org/wiki/Antrim_County,_Michigan
Unemployment stats: http://bit.ly/12HtfrM
I've now been in the SF Bay Area for six years and have co-founded three companies: Adonomics, Everlane, and Dev Bootcamp. I'm living on Fantasy Island, but there were plenty of people I went to high school with who would be equally or more capable of doing any of the things I did.
But when you're "inside" a place with a devastated economy, you're understandably myopic. You're asking yourself things like "What do I do if I get sick or get laid off and lose my health insurance? How am I going to afford next month's rent? How will I get my car's heater repaired before winter?" The world of technology is so far outside your realm of experience that the opportunity it might provide doesn't even register.
When people talk about the "bubble" in Silicon Valley, they usually mean a capital bubble. I think the more relevant one is the complete disconnect between how people in the SF Bay Area live (or "the tech industry" more broadly) and the reality experienced by most people outside.
This experience is one of the main things that drove me to help start Dev Bootcamp (http://devbootcamp.com).
I'm incredibly fortunate but the people I encounter in the bay area who are completely oblivious to what poverty really is do a lot to dishearten me.
Good to know somebody from the sort of place I'm from made it out here.
Cheers.
If you want any pointers on NYC or with your programming studies let me know.
Cheers and good luck either way :)
I'm not saying you are, but most people I know who talk in those terms forget that. Ceci n'est pas une pipe, the map is not the terrain, etc. etc.
At the extreme, the subjective experience is something like this: http://whatever.scalzi.com/2005/09/03/being-poor/
I used to be responsible for finding US sources for certain products. If you aren't aware, you'd think that the price of a US-made product is 10x that of China, when in reality, it is just the supply chain that is 5 people deep, but only if you really work at getting it that low. The amount of "middle men" is absurd. I reversed engineered quite a few supply chains, and even managed to get in contact with the source, but there I was blocked. I had to go one person higher, but that person refused to speak to my company. I then had to go one person higher, and they refused to talk to me. I ultimately ended up going up 5 levels away from the source, but even that is not a chain, but more like a web. If I was able to buy from the source, or even two levels away, the price of the products would be cheaper than China.
The final slap was that the person I finally managed to get a "yes" from was not willing to work with me unless I worked specifically on their terms. I won't go into detail, but their term was 100% unreasonable. The fact is that the supply chain in the US is far to complex and it is based on protecting profits. US-made items are not inherently more expensive than Chinese products, but even those with clout have to deal with long response times and an ever-growing web of middle-men. Simply hiring a Mandarin speaker to call China is far quicker and easier.
Then they'd show it, have meetings, make changes, etc. Did this for multiple years. And made a handful of sales. Why? Because they never promoted it (either under their own name or another). Why not? Because they didn't want to 'upset' their current channel partners. But they'd investigated direct sales for a few years because the channel wasn't delivering.
Absolutely ridiculous, and it would not surprise me one bit if I could call China and order the exact versions of what they made and have them shipped to my house faster than ordering from this company in Chicago.
I'm not suggesting all companies are like this by a long shot, but I've seen inside more than enough to understand just how inefficient many companies are, and this idea of 'protecting' the supply chain will be a pretty moot point as it becomes easier and easier to order direct from alibaba vendors and have things shipped over in days vs waiting for the appropriate field-sales-marketing-division-exec-vp-manager to fire up their outlook and hunt-and-peck a typo-laden form letter complete with out-of-date brochure/price-list.
What happened is that the distributors decided to go past the suppliers and order direct from China, which they couldn't do even 5 years ago, but the suppliers, if they ever went direct to the end-user, would get tarred by the entire industry. It didn't stop here. End-users would contact the suppliers, who would uphold the honor and refer them to distributors. The end-user would say screw that and order direct from China who couldn't care less about what American companies think.
I don't want to specify what industry I used to work in, but that fact is that this old-world ol'boy protectionism is destroying America's ability to re-enter manufacturing. The sick part is that there are entire regulatory bodies protecting the supply chain.
Unfortunately, politicians either don't know the truth, or really can't be expected to explain all of this to the general public. Of course, the politicians will be incorrectly blamed for not bringing jobs back to America, but the reality is that this all has to change from within the industries who are destroying themselves.
The "refer to distributor" model can have its place, but I think those days are numbered for many industries. In many cases, it's just a different person you're ordering from, and an extra day to get your stuff - there's 0 value add. The fact that we can even talk about ordering direct from China - shipping stuff 15,000+ miles over several days, and still getting better value than buying from someone two states away says far more about the state of 'business' than anything else. It's felt to me that for most of my adult working life, 'business' has been far more about cost cutting and offshoring jobs than creating any sort of value - I'm not even sure most 'business' people (with the degrees and years of experience) even understand how to create or measure the value their customers want. Competing on price alone they've been doomed for a generation, and we're continuing to see the unravelling of American business (primarily manufacturing, but it'll happen to other industries too).
I've been convinced for quite a while that price-slashing is the ultimate killer. The only advantage US suppliers have at this point is keeping foreign-bought stock locally so that they can deliver in less than a week. End-users are learning very quick, especially with the price of software decreasing, that keeping things in-house is not only more convenient, but cost less too.
Even buying from the US can be drastically cheaper - I bought a professional condenser microphone, and even with $80 shipping, it was literally half the price of buying it in stores.
The retail industry is up in arms about it, and keep lobbying politicians to reduce the tax-free import threshold from $1000 (which will hardly make a difference), and saying it's the internet's fault - but all the Internet is doing is showing what BS the whole supply chain is.
If the shops could buy directly from the supplier, instead of buying from a distributor buying from a wholesaler buying from an importer buying from a US distributor, we wouldn't have this problem.
Another issue is mold-creation, which is separated from manufacturing in many cases and also very expensive. The piece-counts are usually tolerable. The fact is that China can do custom molding much cheaper and many US companies refuse to do it at all.
I've also discovered that many companies will straight-up lie to you about USA-made items as well. The company I worked for recently caught one person lying about this stuff, so there's that element as well.
If you relax any of those criteria, you suddenly don't have a programmer shortage anymore.
In addition, programming is inherently not something you can have masses of blue-collar people doing. Once you program something once, there's zero cost to make a copy. That's why blue collar jobs are dying in all sorts of industries where things can be automated - they soon will be automated.
The idea of websites that are 'factory produced' is called facebook pages or any of a number of other as-a-service setups that give you a domain, some pages, and a form-based interface to fill them out.
There's again no need to go bringing a bunch of people into the equation - those sass businesses need virtually no human sales or support compared to a car dealership in every city over 10k people. You can sell your product everywhere on earth with a sales and support system of ~100 people, if you really want to hold a lot of hands.
I'm in Columbus, Ohio, and its near impossible still to find a local Rails & Backbone developer who is looking for work and does a good job. I'm not going to work them to death, and i'd be willing to pay a decent salary.
Friends in NY, Boston, Austin, Chicago and DC have reported similar findings in looking for qualified individuals. These people aren't looking for rockstars, but often just someone who will do the job well.
If you're willing to hire remote, it still isn't always easy to find someone, but it does get much easier comparatively.
I don't understand this. Why not hire a good programmer and give them few weeks to learn those technologies? Has anyone here hired a programmer who was good but failed at his job because they couldn't learn whatever language fast enough?
I mean, I can understand certain companies want people with very specific skills -- say, embedded programming -- that can hit the ground running. And some companies have enough candidates that they can afford to exclude the ones who don't have those skills. But if you talk about shortage then it seems you're not one of those companies.
Even if you want someone who speaks english as a first language, you're still closing the door on at least 90% of the population that could contain someone who would work for you and do a great job.
Can't promise he's what you or anyone you know is looking for in terms of a potential employee, but it might be nice from a community-building standpoint!
This may be true in small startups which cannot necessarily afford looking for candidates beyond the bay area or internationally. It's expensive flying a candidate in who has a 10% chance of becoming a potential hire. Then when you give them an offer, they've probably already decided to move to the bay area and are choosing between 10 different offers. If they're outside the country, you need legal help for immigration.
"Only look for people in the SF bay" is not true for any tech company larger than 400 people.
This is absolutely not true. I am working in SF with a number of electrical engineers working as software developers. I have a degree from a small state college.
Its been a miserable failure. I've come to the conclusion that programming is hard, and I've been incredibly privileged by having a computer since I was 2 (C64!) and I have so much built in knowledge that I don't even realize I have.
Also, this stuff just isn't fun for a lot of people. Sometimes its downright painful for them and they just can't push themselves through the tough parts motivation-wise. I can imagine it being a bit like doing Crossfit (or any exercise). I know I'd be a lot healthier if I did it for a year. But the upfront expense, the pain, and being incredibly bad at it for the first few months just makes it so I don't even try- even though I know the benefits could be life changing.
I bought a copy of Agile Development on Rails and gave it to such a friend. He didn't know how to pull up a command prompt, and I realized that he didn't know what a text editor was. Or that you'd run things from the terminal, and type them in the text editor. I helped him get past that, but he never focused in on it and never saw the beautiful and amazing parts of it.
Another friend got a little farther. But I soon realized how much 'background' knowledge he was missing. I pointed him toward some free online CS courses, which helped. But life got in the way and it just wasn't the #1 thing for him, so he got distracted and quit when he moved to a new (small) city.
Another friend wanted help getting started. He was motivated, but we hit a major problem. He's a student with an older iBook. We had huge issues setting up Ruby due to various environmental problems. I didn't have the time to really redo his entire system, but I wasn't able to get Ruby installed easily since he was on 10.3 or something ancient.
Just telling people that there are boatloads of money to be had, and that there are tons of resources out there doesn't always work. They really have to love it to get through that first painful year or so.
Now perhaps having more jobs (these knowledge factories) that will give people an environment to work in, the tools, the training, etc... might help. But otherwise, I've just seen that I have personally been a complete and utter failure at helping friends get into programming. I'm thankful that I have a background that makes it easy for me to do and learn, but many just don't have that background and I don't know how to help them get past that.
I too had issues with hardware (my only computer was a $300 netbook) but I got around this by getting a Linode and using that to do all my development. This had the added benefit of forcing me to familiarize myself with the command line and Vim/tmux (though, I do admit I had some experience with basic commands from trying out linux a few times when I had been younger and too broke for Windows).
In my case, I was so hopelessly in debt and so upset with the aimless path my life had been taking that I threw myself into programming. It was extremely difficult at first since there were a ton of concepts that I had to learn even to be able to understand the official documentation. I found myself going through beginner tutorials and books over and over, each time picking up more details and each time coming away with more understanding. When I had trouble figuring out Rails, I went deeper and tried to understand Ruby first. When I felt I wasn't making any progress (it took me months to really wrap my head around blocks until one day it just dawned on me), I would explore Javascript or try to update my html/css knowledge to modern standards or explore the wonderful world of man pages. I even made an effort to make any procrastination beneficial by making sure it was "on-topic" by reading Hacker News, toying with project euler or studying math. In short, I tried to make thinking like a programmer my life. I felt like I had a lot of catching up to do with those who had been programming from their youth. I also wasn't sure if the current booming market would perpetuate forever and I didn't want to miss my chance to gain precious experience while the door was still open to me.
This was probably the first time in my life I had devoted myself so fully to anything. I had always been someone with one thousand differing interests and lacked in-depth knowledge in many subjects. It was hard giving up things like photography and probably-excessive reading (I would often spend entire weekends reading through piles of books) to focus on something that was often not as relaxing or easy, but I found the challenge incredibly stimulating (more stimulating than anything I had encountered in university for instance) and it wasn't long until I found my mind constantly wandering toward whatever concept I had been learning or working on.
While I originally was enticed by the financial benefit of programming, I find that to not be a large factor in why I work today. Once I got out of my financial hole, it was like being able to breath for the first time and in an instant I stopped caring about pushing my way to the top. The thing that gets me up in the morning now is the thrill of solving the problem and that wonderful feeling of accomplishment when you realize that what you worked on is succinct, beautiful and works. I have been trying to encourage some of my friends who are now stuck in dead-end low-paying jobs, surviving thanks to credit cards and on the verge of devastation by something as minor as needing new tires for their car, but I have yet to have any success in pushing anyone in this direction. Like you, anyone I've tried to encourage has usually fallen off the wagon pretty quickly. Maybe it was simply easier for me since I was never scared to tinker or play with the computer. Maybe I'm just a bit more obsessive.
Whatever the reason, I couldn't be happier where I am today. I get to build things and solve problems/troubleshoot everyday. I get to work with smart people who genuinely work hard at what they do. I look forward to expanding my knowledge and improving myself and my code for the foreseeable future and maybe, one day, building my own business and my own product to help change the world like so many of you guys have.
So, I know it can be discouraging when your friends don't stick with programming, but don't write off everybody because of a handful. Even if it is rare, there are a few of us out there who just need the right kind of push. As the old saying goes, "you can lead a horse to water, but you can't make them drink".
When I'm building a website for a small business, I'm not breaking any new technical ground. They need an inventory database, product news, search, an ordering and fulfillment system. At the moment, there are a bunch of systems that promise to fill that niche, but they usually still need somebody who knows HTML and CSS if they're going to customize them to any degree. Why is that? There should be WYSIWYG editors for these things. You should be able to drag-and-drop drupal modules into place in an editor, not glue them together with configs and code.
Your friend shouldn't have to know about Ruby or Rails or Agile development. The fundamentals of computer science are as relevant to building a low-traffic website as the fundamentals of chemistry are to baking a cake. Sure, you do better if you know them, but 99% of people can get by just fine by trial and error.
What the people who have CS degrees should be doing is not building websites; they should be building the WYSIWYG editors.
I don't want the dentist and the mechanic to be configuring this software -- that's what I want the "blue collar programmer" to be doing, after a few weeks of training. But I want the dentist and the mechanic to use the software after it's configured.
(Also, to do much useful in Wordpress, you soon need to learn CSS and HTML, if not PHP. That's still too complicated. I want these tools to require no coding at all.)
The trouble is that if it's sufficiently easy and painless that the "blue collar programmer" can do it in three hours, the guy who owns the auto shop or the restaurant who wants the website can probably figure out how to do it in twice that long and is liable to choose that over paying someone money.
Or, the smart people who are doing it today will then be able to use the new tools plus a trivial amount of code to do it in fifteen minutes instead of three hours, which won't create any new jobs, it will just make simple websites much cheaper because they can be "mass produced" by a subset of the same people who are making them now.
If you want to attack the problem of unskilled workers without somehow converting them into skilled workers, try going at it from the other end: Find ways to reduce the cost of living for those people (i.e. reduce the cost of food, housing and medical care). That better allows those people to make a living on the low wages incident to their skill level.
People always ignore that aspect of standard of living because the incentives to fix it are counter-intuitive or have strong lobbies against them. The way you make things less expensive is by reducing margins (and thus profits -- and thus tax revenue) or by increasing automation and eliminating even more unskilled jobs. But the net effect is to increase prospects for the average unskilled worker, because those with existing jobs in effect have more money in their pockets, and those with no jobs can now accept a lower paying job while achieving the same standard of living.
I used to be want the same things as you do, but it has taken me many many years to internalize the lesson that somewhere, somehow, you WILL need to write code to reach your goals. The more you try to dodge and dive around that core truth of all software, the harder the code that you will need to write ends up becoming.
Wordpress already exists and there are many folks, and many or most without CS degrees, who will happily develop and administer a site for you. The pipe dream comes in when you expect those sites to generate sales and provide immediate value. If every dentist in my community uses your magical Wordpress site, will sales and value magically increase for all of them?
We're not going to retrain blue collar workers to do IT as it's done now, and the factory model doesn't work - consulting companies have been trying to do this for decades with no success (well, aside from billing a whole lot of hours).
If we want to deal with high unemployment on the lower rungs of the job ladder we need to stop the flood of illegal immigrants. Any small gains we try to make by bringing people up the ladder will be washed away in short order.
I also have to point out that, as an ex-blue-collar worker myself, that blue-collar workers in generally really don't care about education or any intellectual pursuits. Sorry, but the glove of doing programming doesn't fit everyone, and it shouldn't fit everyone. The world is interesting because we all have our unique abilities.
Granted, if they knew who to higher and what problems they needed to solve they would get by at 1/3 of our what we charge. But, most people and organisations are unbelievably incompetent.
PS: As to immigration a lot of the work done by immigrants would simply disappear without immigrant labor because it's just not worth minimum wage and or could just as easily be done outside the country. However, when it comes to the upper ends of the work force we are far better off with them than without. Don't forget Sergey Brin was born in Russia and I don't think we would be better off without Google.
But a lot more of it would still need to be done, and people would get paid enough that going off public assistance made sense.
Also, don't conflate illegal immigrants with legal immigrants. Sergey Brin didn't slip over the border with a sixth grade education and no ability to speak English. What we lack is jobs for people on the left half of the bell curve. There's plenty of room on the right half.
We both came to the realization that he needed formal edication for both learning the concepts and gaining credibility. He just finished his first semester and is loving it!
Instead of being the teacher, point your friends to people that are trained to educate. If the person is serious about changing their life, school is the first place they should go.
I'm a terrible teacher for others but I teach myself amazingly well. Reasoning that if you're not a good teacher then the only alternative is a formal school; I'd say there are more options such as self-teaching. It doesn't work for as many people but does work very well for some.
You cannot expect the construction sector to grow forever. You cannot expect factories to stop using better and better robots. You cannot expect developers to stop automating more and more processes, including their own job.
The only sectors were you can try to create "infinite employment growth" are social: healthcare, education, some creative industries. These sectors have hard dependencies on their customers/workers ratio, and are forced to grow and shrink in tune with actual population numbers.
Unfortunately, these are also sectors we undervalue and underfund, with very sensitive boundaries, and where classic capitalistic paradigms don't work well. There is a lot of work to do.
This type of component-based software development has been available for years. It just hasn't become popular with programmers, because configuring components isn't considered programming since it doesn't involve typing cryptic ASCII code. This is the main issue holding back software development.
Also, the idea that you shouldn't have to write code to position text and graphical elements on a page, I think would be obvious to more programmers if it weren't for the HTML+CSS tradition that has been built up and become ensconced.
>I think would be obvious to more programmers if it weren't for the HTML+CSS tradition that has been built up and become ensconced.
HTML/CSS and in fact the entire web stack is a horrible monster. It's essentially programming in assembly to put dialogs up on a screen. The only real saving grace is reach.
Here's an experiment, put up a modal dialog up in your GUI. One line. Now do the same in a webpage.
One of the top reasons why blue collared labor is being phased out is not only due to outsourcing, but also from the installation of robotic workers (i.e. Amazon's warehouse infrastructure). One of the fundamentals of programming or software engineering is the ability to reuse code, modules, frameworks, you name it. With this level of automation already in place and still growing, there's absolutely zero need for this class of blue collared knowledge workers as you've described.
Also, that jobs that require "worthless" college degrees and/or oversaturated professional degrees (e.g. law grads) still have more job security than those with little to no post-secondary education.
It would be interesting to see a similar graph-by-occupation when the dot-com bubble burst. Would you see the exact opposite trend?
In the same way that the economy went through a transition during the beginning of the industrial revolution, the same is happening today.......granted I would love to see things move towards a resource based economy ala the zeitgeist movement.....but that is another discussion.
If anything, smart software will put mediocre programmers (and novelists) out of work. It seems unlikely, however, that we'll ever see a significant number of unskilled workers in the tech sector.