10 ms·
The next big blue collar job is coding
- flukus 10y agoConsidering the quality of the code I see currently and the costs created by that technical debt I'm not sure if becoming less elitist will be a good thing. Instead of all these code camps, I can't help but wonder if we could get 90% of the value and 10% of the problems if we taught people shell scripting instead of programming. It looks like wireds ad-blocker blocker has been circumvented now at least.
- vinceguidry 10y agoThe nice thing about software projects is that they're easily replaceable. They can be treated as any other business asset in that you can hire a shop to develop them or do it in-house. So long as you have enough business eyes on the process then it works. Expensive, but it works. Businesses are used to expensive. The real value of good code is way, way less than developers would like to believe. This is coming from someone who is damn near a perfectionist about code. I have to constantly check myself and ask whether whatever I'm demanding we spend time and effort on is really worth it from a business perspective. Occasionally it is, most of the time it's not. If coding wasn't the thing I could make the most money with at this point in time, I'd do something else and code free software as a hobby. At least free software really benefits from great code practice.
- the_cat_kittles 10y agoas a general rule, i think the quality of the code matters more as more things depend on it, so i think you need to temper your statement a bit- the value of good code depends greatly on what its being used for.
- flukus 10y agoI've never seen management buy in for a rewrite, especially when the code is so bad that the company starts circling the drain. The only time I've seen it is when there's been a fundamental technology shift, like from VB6/C++ to java/.net. Network effects also make it hard. Sometimes you can't upgrade X because A, B and C feed into it and D, E and F feed out of it and they're all tightly coupled (another thing that's even worse with less skilled programmers). Replacing a single component can mean rewriting the software stack of the whole company. > If coding wasn't the thing I could make the most money with at this point in time, I'd do something else and code free software as a hobby. At least free software really benefits from great code practice. Completely agree here. The money is the only thing keeping me in the industry, if that went away I'd do something much more blue collar.
- vinceguidry 10y agoSometimes I wonder if the money is the only thing that keeps me coding. It seems too hard to do well otherwise.
- braveo 10y ago> The real value of good code is way, way less than developers would like to believe Soooo much this. But it's also important to note the difference between code and system design. The vast majority of code that's written is solving problems where system design doesn't tend to make a huge amount of difference. It's only when you get to a certain scale and/or in certain domains that the system design starts to matter, and even there, the code itself is of little import.
- collyw 10y agoThen with shit code and even more for shit system design you just spend far longer maintaining the technical debt rather than adding genuine value. Every feature takes 4 times longer to implement because of it. It costs more, and ships later. And there are always bugs to fix. Its obvious to anyone capable of writing decent code that it does have value.
- vinceguidry 10y ago> Its obvious to anyone capable of writing decent code that it does have value. Business users are the ones that have to make the value decisions, and they can't write any code, much less decent code.
- flukus 10y agoAnd they are oblivious to the costs incurred by shit code.
- braveo 10y ago"shit code" is in the vast minority of code written, most of it ranges from merely crappy to so beautiful you'd auction off your own mother just to bask in its presence a little longer The reason architecture starts mattering is because you can do things like put that "shit code" behind an interface/microservice/whathaveyou and then the rest of the system just doesn't care. This is why code itself isn't particularly valuable in the way you seem to be implying. It isn't without value, but while software is valuable, it's rare for specific code to be where that value is at.
- jasonmp85 10y agoAlso: shell scripting is programming.
- dsacco 10y agoI think the article is trying to argue that we should embrace the bifurcation of the tech industry. It's pretty fair to say most software developers don't need a full computer science education. In my view, web development is especially vulnerable to continued commoditization. It makes sense to optimize the lower hanging fruit among programming jobs - aside from perpetuating high (arguably, inefficiently so) salaries, the barrier to entry really doesn't need to be as high as it is now. That's not to say coding bootcamps are the answer, but vocational training is at least a step in the right direction. From one perspective, this would be good because driving down barriers to entry will theoretically increase jobs and reduce costs. From another, it's obviously not great for web developers who are highly paid, though it could theoretically raise salaries even higher for the fewer highly trained engineers who actually require a computer science education. Either way, I think the industry would need to substantially change before the less complex/more rote programming jobs could be subsumed into vocational training. It would require a pretty significant cultural shift.
- qq66 10y agoBeing less "elitist" does not mean that standards are any lower. For example, electrician is not an elite or elitist profession, but the quality of electrical work is very high, because there are strict standards, developed carefully, that all electricians adhere to. It is because electricians do not improvise on the job that their work output is high quality. Experts develop a standard toolkit to deal with 99% of the electrical work out there, and electricians deploy those toolkits with a much greater focus on standardization, conscientiousness, and correctness rather than creativity or novelty.
- sandworm101 10y ago>> shell scripting instead of programming. I was at a discovery conference (lawyers) listening to a vendor pitching the cost of writing some ediscovery syntax to delve through a 50gb database of emails. While he was talking I performed a grep search on my ubuntu netbook, with the database on an encrypted thumbdrive. In a matter of minutes I convinced the client that he didn't need coders to do much of anything, that an idiot lawyer with a laptop could do it from his hotel room that night (which I then did). The vendor left the room very angry with me. The downside was that rather than the 100k I saved the client, all I could ethically charge was my rate for 6hours of overtime.
- flukus 10y agoI always love these stories. I'm pretty sure half of the over engineered apps where I'm working could be replaced by a handful of shell scripts. One particular one recently had us adding a whole lot of tables to the database with the accompanying sql and code so we could monitor performance in real time. The information could have easily been generated from our log files with a sed script or a flex program.
- sandworm101 10y ago(without breaking at-client priviledge) The full task wasn't exactly simple. It started with a failing part in a product. The issue was when exactly the manufacturer should have been aware of the issue. All we had was a database of emails to and from local reps, who as it turns out had been fixing the problem for a long time by telling customers to disable certain features. This fix caused other damage. From the email pile I created a graph showing when customers emails started to mention problems, when the first reps started telling them of the fix, and when those reps started talking to each other about this fix. My client-manufacturer then had an idea of when his organization should have gotten the message and put a stop to things. This then informed the negotiations. So it was cross-referencing a list of vendor emails addresses, customer email addresses, some keywords, and putting it into a timeline. Bash bash bash, a solid night's work but nothing needing actual code. Had this gone to trial we would have had the ediscovery vendor come in and do a full and proper report. It didn't, and both sides looked took my report as useful enough to come to an agreement. (I gave them my bash scripts and they verified my conclusions themselves.)
- StClaire 10y agoI've had this thought before. What's software development if not a trade? I don't want to say that work gets dumbed down, but one hundred years ago a store clerk was a solidly middle-class job, now it's not. Maybe a more relevant example. My grandfather was an accountant. What he did for most of his career, bookkeepers do now. What he did at the end of his career was basically law and banking. The electronic spreadsheet took care the gruntwork he used to do
- the_cat_kittles 10y agoabsolutely. but even today there are master craftsmen, as respected as ever. i think software developers will see the same thing- lots of jobs will become menial, but the best will still be highly sought after.
- hackuser 10y agoWhat's the difference between a system administrator and a plumber? I don't mean it as the first line in a joke.
- flukus 10y agoThe plumber can't execute change-washer.sh and have his job done in 1 second. The plumber can't use "down time" to proactively solve future issues. A sysadmin does have a higher level of abstraction available to them.
- dozzie 10y ago> The plumber can't use "down time" to proactively solve future issues. Oh, but he surely can, replacing a valve that is known for going to break in near future for instance, or putting a different one with additional safety features. > A sysadmin does have a higher level of abstraction available to them. Mainly because sysadmin works with immaterial things (software) (and some of sysadmins also work with hardware). Sysadmins really have similarities with plumbers.
- 10y ago
- orasis 10y agoFrom Scott Adams: "If you want an average successful life, it doesn’t take much planning. Just stay out of trouble, go to school, and apply for jobs you might like. But if you want something extraordinary, you have two paths: 1. Become the best at one specific thing. 2. Become very good (top 25%) at two or more things. The first strategy is difficult to the point of near impossibility. Few people will ever play in the NBA or make a platinum album. I don’t recommend anyone even try. The second strategy is fairly easy. Everyone has at least a few areas in which they could be in the top 25% with some effort. In my case, I can draw better than most people, but I’m hardly an artist. And I’m not any funnier than the average standup comedian who never makes it big, but I’m funnier than most people. The magic is that few people can draw well and write jokes. It’s the combination of the two that makes what I do so rare. And when you add in my business background, suddenly I had a topic that few cartoonists could hope to understand without living it. I always advise young people to become good public speakers (top 25%). Anyone can do it with practice. If you add that talent to any other, suddenly you’re the boss of the people who have only one skill. Or get a degree in business on top of your engineering degree, law degree, medical degree, science degree, or whatever. Suddenly you’re in charge, or maybe you’re starting your own company using your combined knowledge." http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/career-advice.html http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/care...
- flukus 10y ago> I always advise young people to become good public speakers (top 25%). Anyone can do it with practice. Wasn't he suffering from word soup around this time?
- seibelj 10y agoThere has been a "blue collar" coder for a long time, maybe always. It's all about "sandboxes", by which I mean the area the programmer is concerned with. If the sandbox of a programmer's job is in one language, say Java, and it's only writing unit tests to test other people's code, the programmer is very limited in what they are responsible for, and the cost of their mistakes is very low. Yet just writing unit tests that cover code, even if they aren't brilliant tests, certainly has value. And the number of people who can be taught to write unit tests is much higher than the number of people who can be taught to write the application itself. And the person is still a professional programmer, but they are paid less, and are less talented than other programmers. But they still make decent money and likely find this work more intellectually stimulating than selling insurance or whatever. I think a lot of people who are professional programmers find programming itself scary. Programming is a hard thing to do, and ace programmer's are very opinionated, smart, logical, and can spot non-ace programmer's pretty easily. Or maybe it's just that people are naturally lazy and don't want to get out of their comfort zone. Whatever the reason, many programmers work in one language, in one product, then try and stay in it forever. Then they get laid off after 10 or 15 years and find it quite hard to find a new job. When hiring people, I'll come across this type of resume, where they focused in some super-niche proprietary tech for many years and are unfamiliar with the latest trends, and usually are asking for a below-average salary. I have interviewed a few, and their lack of talent is so glaringly obvious I feel bad for them. But someone will probably hire them, probably the companies that think that all programmers are replaceable widgets. In summary, "blue collar" programmers already exist, it's just the author who thought he made some stunning realization, which isn't new.
- flukus 10y ago> If the sandbox of a programmer's job is in one language, say Java, and it's only writing unit tests to test other people's code, the programmer is very limited in what they are responsible for, and the cost of their mistakes is very low. Yet just writing unit tests that cover code, even if they aren't brilliant tests, certainly has value. Not disagreeing with your overall point, put I'm fixing some terrible unit tests (that aren't really unit tests) right now that do nothing but add negative value. So many otherwise experienced programmers write terrible unit tests and/or untestable code that I don't think it could ever be silo'd like that.
- nikdaheratik 10y agoThe big problem with this is that we're already competing to some extent with outsourcing shops in China and India and this trend is more likely to grow than not. While I believe there will always be an incentive to keep these jobs in-house and local, there is no reason to think it will grow to the extent that middle class blue collar work did through the industrial revolution.
- teknologist 10y agoI work in China as a programmer and the local outsourcing shops tend to throw tons of very cheap labour at anything. Unless you're building critical or sensitive systems this model can work (even for physical products and civil engineering if "QA'd" enough through brute force). It's a complete pain in the ass for the in-house team who have to pick up the pieces and maintain the code, though.
- nikdaheratik 10y agoI've worked on code that came from those shops (though maybe India more than China) and I completely agree. But it's still going to be hard to make the case for coding to expand the way auto manufacturing did, for example, when we're already outsourcing a huge chunk of work. And there's no reason to think they won't get better at the work there in any case.
- santaclaus 10y agoThis seems to depend heavily on the specific role and type of software! Building LLVM, cutting edge vision systems, self driving cars, sublinear time algorithms, ..., all probably take a bit more study than the standard definition of blue collar would demand.
- deleted 10y ago[deleted]
- brett40324 10y agoAs a counter example of what is hard or not, a bit more study is easy compared to 'the standard definition of blue collar'. As an example. Pick up a 50 pound box. Walk ten feet with it, and set it down. Repeat. For 12 hours a day, 6 days a week. That makes advanced systems design, such as self driving cars look trivial because theres a ton of talent lifting one enormously complex box, one time - then it ships.
- adrenalinelol 10y agoI'm sure large corporations would love some cover to depress wages. The reality is the blue-collar jobs the article references had low barriers of entry, and provided good salaries. SE jobs with good salaries rarely go to boot-camp graduates, and with a glut of CS majors on the market, there's no reason that'll change.
- mywittyname 10y agoWhy coding and not mechanical engineering? MEs often have jobs that could be considered blue collar if not for their degree: designing, installing, & building the same equipment that many blue collar workers use or maintain. It's because coding is seen as a trivial job despite requiring the same amount of education as an ME. Society has this imagine of 14 year old hackers that can do it with minimal training. So it's easy to convince them that some mechanic that lost his job can retrain to become a coder, because, if a 14 year old could do it... Computer Science is poised to get more difficult in the future, not easier. New companies/technologies will come along offering products that eliminate the need for low-skilled programmers, leaving the more difficult, high-skilled jobs. The tasks that get easier will no longer require a specialized developer, they can instead be done by a person with an understanding of that specific domain. Leaving the rest of the programming jobs a little bit more difficult. (I think the skewed ratio of senior to entry level programming positions is evidence of this phenomenon in action) I got my start as a teenager doing small e-commerce sites for people, but I'm not sure the "dedicated developer for a small e-commerce site" job exists much anymore. They have been replaced by Shopify, WIX and even Amazon. And once these companies out-grow their platforms, they need more experienced people to build something more robust. I think we are doing society a disservice by convincing people that anyone can A) learn to sling some JS, and B) make $80k a year doing it. Easy jobs that anyone could do are not jobs that pay 2-3 times the median salary of a region.
- nether 10y agoMechanical engineering is not being a "mechanic." They rarely build or install anything with their hands. Usually we sit in cubes running software to analyze physical systems (like air flowing over a wing) and write up the results. We use a lot of math. Technicians, who usually don't have 4-year degrees, handle the actual fabrication and maintenance. (In case you've forgotten, mechanics is a branch of physics dealing with force, acceleration, mass, that sort of thing.)
- mywittyname 10y agoI understand. I was more getting at the fact that, for example, an HVAC technician would develop an understanding of basic engineering principals by virtue of their job. But nobody would come out and say that they should be retrained to be MEs. Those same people would learn basically nothing about CS in their job, yet they should be developers.
- gtvwill 10y agoOk this article actually gripes me quite a lot due to its wrongful interpretation of what a blue and white collar job is. TBH I read it whilst I was on the toilet so I'm going to go as far as to say it gave me the shits. Unless we are going to start referring to or reclassifying typing on a keyboard for 8 hours a day as strenuous physical activity (which it is not), coding will never be a blue collar job. Blue collar jobs by definition are classed so by the large amounts and types of physical exertion required to perform them along with the location in which that job is undertaken (mostly outside or in workshops). White collar jobs on the other hand refers to work that is generally of a cognitive nature and doesn't require much in the way of physical labor and are generally done in offices(don't get me wrong blue collar jobs require cognitive processes too but they also involve PHYSICAL LABOR as a KEY component). The article would be better if it had said "blue collar work is going to be replaced by white collar work as the pillar of civil middle-class society". The title of the article currently is just plain wrong unless they are incorrectly referring to white and blue collar as some form of reference to a class system/exclusivity system based upon how many workers perform a certain type of task (e.g white collar jobs only employ a small high earning portion of the population whilst blue collar jobs employs the masses on average incomes).
- mathgeek 10y agoThis is a very excellent point. Blue collar means manual labor, while white color jobs are anything professional. Heck, most of the developers I know rarely even wear a collared shirt to begin with.
- mythrwy 10y agoSo there are three classes of work: white collar, blue collar and no collar.
- majewsky 10y agoPlease don't imply that labor that is predominantly manual cannot be professional. A better dichotomy would be: Blue-collar means manual labor, and white-collar means mental labor (with a spectrum between both poles).
- rolodato 10y agoThis is actually how programming started in the first place, and still is. It's only because of highly publicized Valley-style successes, mysticism ("these twenty-somethings wrote an app and got rich? Surely they are geniuses!") and remnants of the dotcom era that programming still has a glamorous air. Programming used to be women's work (i.e. "low level" work, similar to typists according to 1960s stereotypes), and programmers programmed a business' computers to do whatever tasks they wanted to accomplish. The vast majority of companies in the world do not have software as a core business, so this still applies to a large extent.
- battlebot 10y agoIt was never "women's work"--wiring up those analog machines is really in no way programming.
- ggggtez 10y ago>But any blue-collar coder will be plenty qualified to sling JavaScript for their local bank. Yeah, that sounds dangerous.
- flukus 10y agoDo you have any idea how many billions of dollars are moved around everyday by excel and VBA scripts? Sometimes I've replaced these with real code and they complain it doesn't replicate the VBA errors.
- codecamps 10y agoWhile I'm all for coding literacy and job retraining, I think the hype around code schools misses the fact that the field requires extremely deep knowledge along with curiosity. A few months of an intensive code bootcamp can get you the basics of writing some JavaScript, basic git workflows, and maybe some API development on top of a database, but it does nothing to develop the intuition a lot of us developed over years and years of tinkering. I've seen lots of code bootcamp grads get completely lost when deploying an application to a Linux environment. Or when they have to figure out what's going on with a malfunctioning system. Or when they have to think about networks. Or when they encounter performance issues in their code. Then I realize that a lot of my peers that I pair with were like me. They broke the school computer and fixed it when they were 12. They spent their summer job money to build a computer from parts because they were curious at 15. They taught themselves to code, then got better at college or through continued self-study. They ran Linux as their desktop for fun. Now I'm not saying that bootcamp coders can't get there, but it's hard to compare to someone that at 21 had 10 years of autodidactic learning experiences, maybe with a college degree on top of it. I'm all for being more inclusive and we really should be making efforts to get more people involved, but I think we forget how broad of a domain we work in and how long it took us to get to our skill level.
- solidsnack9000 10y agoI wonder where this fits on the continuum to end-user programming: https://en.wikipedia.org/wiki/End-user_development https://en.wikipedia.org/wiki/End-user_development One can see Rails and the later enthusiasm around Node driven by the idea that people could come to be programmers, not necessarily through a dedicated process of education in computer science.
- zackify 10y agoI wish I could just manage a login page all day, sheesh
- thyroxo 10y agoOther advice from Scott Adams: "The reality is that women are treated differently by society for exactly the same reason that children and the mentally handicapped are treated differently. It’s just easier this way for everyone. You don’t argue with a four-year old about why he shouldn’t eat candy for dinner. You don’t punch a mentally handicapped guy even if he punches you first. And you don’t argue when a women tells you she’s only making 80 cents to your dollar. It’s the path of least resistance. You save your energy for more important battles." "If there are no sponsored terror attacks before Election Day, it means ISIS prefers Clinton. They have the means. Think about it. #Trump"
- general_ai 10y agoHe's got a point though. The 70 cents on the dollar thing has been debunked pretty thoroughly by now, and yet people just keep mindlessly parroting it. Maybe arguing about it is not, in fact, a sensible thing to do.
- hackuser 10y ago> The 70 cents on the dollar thing has been debunked pretty thoroughly by now Not to my knowledge. Can you provide some reliable source that explains it? > yet people just keep mindlessly parroting it ... or are people mindlessly parroting that it's been debunked? Let's try to treat each other with respect.
- general_ai 10y agohttps://www.google.com/search?q=70+cents+on+the+dollar+myth&ie=UTF-8&oe=UTF-8&hl=en-us&client=safari https://www.google.com/search?q=70+cents+on+the+dollar+myth&... Plenty of reputable sources right on the first page of results. I can't treat people with respect if they lack critical thinking skills, sorry.
- hackuser 10y ago> I can't treat people with respect You should try a different forum than HN.
- battlebot 10y agoThis is arguably the stupidest thing I have ever read. I spent a good portion of my life learning to be a software developer--CS in college, then grad school to specialize in UX type work for awhile. Even the "local Credit Union" is not a blue collar role. Being a developer requires aptitude and constant study. I take offense because my Dad was a welder, a real blue collar worker, and it sucked balls! He never wanted that kind of life for me and for good reason, it was a dead end--working with drunks and biker trash and it was dirty and dangerous inside power plants, paper mills and tall smoke stacks. Don't write about things you don't have the first clue about!
- hackuser 10y agoA presumption of this article, and many like it, is a backwards-looking and somewhat elitist view of the economy and the workforce. Consider these quotes: * "What if we regarded code not as a high-stakes, sexy affair, but the equivalent of skilled work at a Chrysler plant?" * "teachers and businesses would spend less time urging kids to do expensive four-year computer-science degrees and instead introduce more code at the vocational level in high school. You could learn how to do it at a community college" The problem is that manufacturing jobs, or their equivalent, is going backwards. We want to go forwards, improve opportunity, income and quality of life for each generation. We want higher-paying, higher-skill jobs. Rather than find ways to not go to college, what if we continued the trend of each generation being more educated than the last? What if we sent people to college? Sanders proposed college for all, arguing that high school was sufficient a century ago but now college is needed. Clinton proposed something similar, free college for families making <$125K/yr (IIRC the details); she got the majority of votes (which doesn't qualify her for President, but does say something about the popularity of her ideas). The idea that 'college isn't for everyone' is elitist. It really means that 'college isn't for the children of the working class, only those of the wealthy'. Think about it: Will the children of Senators go to college? I think so. The children of most people reading this? Of SV millionaires? Of Apple and GM executives? Do they tell their kids, 'college isn't for everyone; learn a trade at community college'? Somehow college is for all their kids (with few exceptions), so the evidence seems strong that with the proper resources, it's for everyone.
- thehardsphere 10y ago> Sanders proposed college for all, arguing that high school was sufficient a century ago but now college is needed. Clinton proposed something similar, free college for families making <$125K/yr (IIRC the details); she got the majority of votes (which doesn't qualify her for President, but does say something about the popularity of her ideas). I would be careful here drawing conclusions like this. Voting for a candidate or party is an extremely imprecise way of determining public support for any one policy, because they're effectively an aggregation of various policy ideas and other issues. Those other things are usually not easily deconvolved from each other. It's like going to a supermarket and only being able to pick from two baskets that were loaded for you by the staff, that you can't rifle through to find out exactly what the quality of the food is. Are you buying the cart on the left because it has sweet ice cream or because the one on the right smells like it's got rotten milk in it?
- general_ai 10y agoI have a much better idea: how about you acquire some critical thinking skills instead? It'll serve you well in the long run.
- macscam 10y agoI found the statistic interesting that for 11 jobs there were 950 applicants. How does this sort of competition compare to traditoonally blue collar jobs?
- ilaksh 10y agoMost 'blue collar' jobs are probably about 1000% more complex than 'white-collar' workers realize. This discussion is about social class more than it is about practicalities. There is a divide between the ownership class and the worker class, just as there has always been. The owners always find ways to justify their unfounded belief in their superiority because that is necessary to rationalize the unequal distribution of profits and unfair burden of work. The 'coders' are the intelligent and capable hard workers. The owners, managers, 'entrepreneurs' are the ones that happen to have enough money to avoid doing real work. This article is largely just another caste justification.
- deleted 10y ago[deleted]
- dacracot 10y agoI'm going to make an assertion that will like make some of you angry. Let me start with this... Life is a bell curve. Everything you observe from weather to color to taste to whatever, measured multiple times across a large sample tends to land into a bell curve. Now we all know this also applies to people's intelligence. We tend not to emphasize it, because as empathetic members of society we know categorizing people can lead to unethical behavior. But ignoring the spread of human intelligence does not make it false. So what does this have to do with the article? Think back to high school where we were all constantly reminded of our ranking amongst our peers. Some got A's, some B's, most got C's, then the D's and F's. Now think of the friend you had that fell into the D/F group. Which do you think they are better suited for? Pouring concrete or writing secure Javascript logon pages? Let's move across the bell cure into the C's. Do you think they are better suited to hanging sheetrock or writing discrete transactional SQL in a multithreaded environment? See what I mean? Now we move to the B's, a much smaller group. They can likely code, but do they have the aptitude? I know people consistently making the Dean's List in college who can barely understand variable assignment, let alone pointer arithmetic or referential integrity. So to say that we just shift the "blue collar" workforce from "industrial" tasks to writing code, I can't see it.