> On the other hand, blue-collars do non-creative jobs, they usually do not make decisions and do not solve problems; if they follow the instructions, they do their work very well.
This is a fairly elitist sort of attitude that belays the likely fact that the author doesn't actually know any builders. If they did, they'd know that rarely do engineering plans line up 100% with reality, and plenty of decision-making and creativity is needed on behalf of the skilled worker as they best try to execute the plans of the engineers.
"fairly elitist" is a very charitable interpretation of that. Sounds more like taking a class construct (blue-collar) and using it to undersell a huge spectrum of workers, while also ignoring the fact that a lot of white collar jobs also involve just following instructions.
Yeah, the whole point of Kaizen and a lot of process improvement is to involve all levels of the production line to make decisions and suggest adjustments.
The reverse is also true.. many IT jobs are procedure following and brainless.
I remember a story on reddit or SO about a plumber going into programming without a degree. He had no trouble thinking through most of the logic required saying it's just like its old job.
Agreed - there are tons of work that is creative. Heck, I think the best workers of any kind are the ones that take pride in their work and try to do it effectively - which even for jobs like cooking food or janitorial work consist of plenty of creativity, decision making, and problem solving.
I think it's better to say there are lots of jobs that don't appeal to the workers doing them.
Actually many of the younger developers I have worked with treat their jobs like a blue collar technician rather than a creative engineer. It is clear they achieved a CS degree they confused for a trade school. It is pretty clear these developers want all the vanity of being called a developer at a major brand without any responsibility to make independent decisions.
Proof: Have them produce results without the OOP patterns they learned in school or without their favorite framework.
My job would probably be considered a blue collar job. I program and operate machines, solve problems that occur with them on a regular basis, have pretty much total autonomy in the decisions I make about how to do my work, I get to be creative every single day, most of the time my boss asks me how to do things rather than telling me what to do. Or may tell me that a customer has asked for something, asks me if we can do it, I, for the most part, will say yes, then somehow find a way to do it and I learn new things and skills all the time.
Honestly if my job wasn't like that, I would've left long ago despite the decent pay.
> The universities do not know whom you see yourself as in the future, and even you often do not know that at the age of your enrolment. It is believed that it is better to teach you all the basics, than to miss something important.
Definitely agreed. Unpopular opinion: I'm a strong proponent of a CS university education, as opposed to something like a bootcamp, for this very reason. An understanding of how OSes work; basic discrete math, etc - those are fundamentals that shouldn't be ignored just because an engineer doesn't work on them on a daily basis. (Unless if the job description is for front-end development only, in which I'm less qualified to say whether a CS education is needed or not.)
And, most importantly: a university CS education gives you knowledge on what you don't know about CS. Otherwise, ignorance of your own ignorance just feeds upon itself.
I think it is more accurate to say that the knowledge of how OSes work, basic discrete math, etc. is important regardless of how that knowledge is gained.
A university education is only one way of achieving this knowledge. Even your last point of gaining knowledge about what you don't know about CS is achievable through other means (mentorship, online classes, study groups, etc.)
I think it is perfectly fair to suggest that a CS university education is a great way of achieving this knowledge, and it makes perfect sense to recommend that method if you followed that path yourself.
Personally, as someone who developed that knowledge outside the university system, I suspect that university is probably an excellent approach for most people, but I tend to encourage people to find the hunger for knowledge inside themselves and develop a passion for learning in whatever form it comes.
Sorry, but I'll point out a bit of elitism in this post.
> (Unless if the job description is for front-end development only, in which I'm less qualified to say whether a CS education is needed or not.)
The browser is an extremely complex platform, at least rivaling an operating system. If you're going to argue that advanced knowledge of a platform is required for non-frontend work, you should be comfortable making the argument for frontend.
Except people generally don't make that argument. Frontend devs (I am not one) are looked down on. But it's a double standard.
I'm sure that wasn't your intention, but it's a constant expression I see - that web developers are a class separate from the rest of us. The truth is that OS knowledge is not critical and the general sentiment that frontend devs can do their job without understand the complexities of a browser only reveals this.
More to your point, I taught myself about OS's and x86 outside of class because I wanted to learn how to exploit memory safety issues. I never made a career out of it, but I learned a lot, and it was a matter of buying a few books and talking to people on IRC. I found tons of excellent talks by Herb Sutter and Scott Meyer about CPU architecture and how code maps to it.
There's a ton of resources out there for those who choose to self-teach.
> I'm a strong proponent of a CS university education, as opposed to something like a bootcamp, for this very reason.
The value proposition of a university education is something of a moving goalpost for most people. It's not even about what you learned but how exclusive and prestigious the institution was. Or how uncomfortable and sleep deprived your experience was. If the value of a university degree were based on a skillset that could be proven, then the need for exclusive accreditation could be replaced with a simple unit test - and education would be called "training" and everyone would feel much less smug about not being "blue collar". Thank you for coming to my TED talk.
I was actually about to write a response to your previous post before you deleted it.
I found the tone pretty obnoxious as well. I dropped out, but I managed to find a job as a University research scientist for awhile. I have a strong love of theory, and probably have most of the same textbooks that many math majors would have as a result.
I will admit that the average graduate is smarter than the average dropout, but who the hell cares? There are plenty of smart autodidacts, and I feel like if you can learn a lot of the theory on your own without being forced to by a professor, that speaks well of your character.
I also found the tone pretty condescending, but I wasn't sure if that was a result of being translated from another language. I agree that both paths are viable.
Most programmers are closer to skilled tradesmen, which doesn't fit into the author's dichotomy of mindless blue-collar workers and university-educated engineers. And the trades' apprenticeship model would probably work better for most programmers than the alternatives.
That's because the authors' understanding of what blue collar workers are, are largely defined by his stereotypes. And those stereotypes are even worse in Russia than they are in US, because it had a strong class divide around that in the USSR (ironically). I grew up there, and coming from a "white collar" family, the idea of going into trade school was unthinkable, precisely because it was stereotyped as that dirty place full of brainless brutes. And such stereotypes, once they become popular, tend to be self-fulfilling, at least when it comes to "dirty" (lack of funding etc).
Such a rare opportunity it is to use the word fatuous to describe someones ideas.
The article states, "Programmers who have studied programming languages, development tools, various technologies and patterns, but have not mastered the mathematical foundations, look like artists, who have a perfect understanding of the paints and brushes, learned a lot of tricks, but do not know the colour theory, composition, perspective, human anatomy, and other basics. They may have a lot of brilliant ideas, but they will not be able to express them. And all they can do is to work as assistants or repaint other’s pictures."
Backfitting theory to practice and then trying to persuade practitioners and others that they are somehow subject to the abstractions and shibboleths of these gatekeepers, and that we do not understand our own craft, is dishonest. Nassim Taleb calls this "teaching birds how to fly."
University education is valuable when it refines and differentiates students. Outside of maths and maybe divinity degrees, most of them have become managerialist diploma mills. I don't think the article was elitist, since one of the first rules of being an actual member of an elite that you don't go on about it like that. Provocative, anyway.
I aspire to be a Scientist (currently a self-educated software engineer & UX designer).
I love education, learning, and teaching myself.
I strive to be around like-minded individuals who think logically or visually.
I have yet to find an education system (in the USA) that provides a learning style that works for me. Or, I feel forced to conform my way of thinking to a style that I consider to be inferior.
At a young age I was diagnosed with auditory hearing dyslexia. But little was understood about the relationship it had with Autism. My parents, teachers and schools did not have the resources, understanding or time to assist in my difficulties. So I resulted to teach myself most of the required subjects. I excelled with hands-on activities, problem solving, and critical thinking but struggled with testing and language based subjects. Something I'm proud of is that in elementary school I was already programming, building computers, and volunteering in the School District’s IT Department as a "junior system administrator."
Now that I have a family and responsibilities. I do worry that at some point in the future my opportunities could be restricted by not having a degree. My preference is to have the right education over a degree. But, the more that these conversations around higher education and having a degree comes up, the more I doubt my logic.
I want to attend a university where I can thrive, learn, and be challenged. But I have yet to find the right one. Until then, I continue to read books, teach myself new subjects, learn from mentors, take the occasional credited class, and seek as many learning opportunities that I can find.
I'm not sure why I'm sharing this, but this topic has been something that I've been thinking a lot about lately. It does help me to share my thoughts with people.
> I do worry that at some point in the future my opportunities could be restricted by not having a degree.
The longer you've been actually doing the work, the less people care about your degree. Don't worry about the conversations around you. Worry about the hiring - and in hiring, having a proven track record beats having a piece of paper. (At least, for most employers. The employers where it doesn't are thinking that the degree matters more than the real-world experience. You don't want to work at those places, whether or not you have a degree.)
The university gives you fundamental knowledge, which will not become obsolete when you finish your education.
The university in it's modern form has a effective history of several hundred years. That puts it far ahead of specialized engineering school but naturally hardly eternal.
What's interesting about this generally appallingly snobby and shallow article is the way the division between intellectual and manual labor has remained a constant even as this society evolved quite a distance from the time when universities mainly produced priests. The division between skills requiring a university education and those not requiring one has in the US become fuzzier and fuzzier. But division still remains a fundamental prestige point simply because no other division has replaced it (things are complicated now to create alternate division).
Moreover, it's also testament to how far programming has fallen away from other engineering fields whose on prestige guarantees them a place in the university.
> The university in it's modern form has a effective history of several hundred years.
I'm not sure what you mean by "modern form", but Oxford University is nearly a thousand years old. It's older than the printing press and the founding of the Aztec civilization.
Unrelated to the article, I'm seeing a lot of material from habr.com making it to the front page. Most of these articles are direct translation from posts from the main Russian-language site, which I've found to be an excellent-quality blog aggregator with really interesting long-form articles. Many articles are posted directly to Habr by large Russian tech firms (Yandex, Vkontakte) or firms with a lot of Russian-speaking developers (Badoo). There are also translations of many popular blog posts that make it to the top of Hacker News, and high quality discussion in general. I read Russian with difficulty, but Google-translating or finding the original linked article in the case of translations works very well. I don't know of a similar tech-focused English-language platform (Medium focuses on all sorts of topics, and is getting scummy, and Slashdot/Hacker News/Reddit are not platforms for long-form content). I wish there were an English language equivalent. Maybe habr.com will accomplish it, but with it's mostly-in-translation articles, I don't know.
I am a little annoyed that habr.com now directs to the English site for me by inferring my geo/browser language, but the Russian language content is accessible at https://habr.com/ru/
I've heard programmers described as plumbers. I've heard orthopedic surgeons described as body mechanics.
There is a certain type of person who considers any endeavour that is tactile, applied, or practical to be "blue collar". When I encounter such people I can't help but wish I were rather in the company of a plumber or a mechanic.
> There is the matter is that blue collar professions slowly become extinct because they are replaced by robots and automatic machines. Now whole factories are ruled by a few engineers and skilled technicians. This is good because no industrial work should be done by hands more than once. And that is especially true in programming, because in programming non-creative work can be automated very easily. The present world does not need more blue-collars, because machines do their work very well, it needs more scientists and engineers who will invent our future. Likewise, the world does not need more low-skilled programmers (even though they are not blue-collars in any sense) because they will be replaced very quickly by smart machines and programs. Instead, the world needs more high-skilled programmers, true engineers, who will change our life, making it better, safer and longer.
> Only one thing, please do not call yourself a programmer, because a programmer is an engineer.
No, programmers are not engineers, generally, even if it became trendy around the late-90s dotcom boom to give every programming and programming-adjacent job in private industry (government didn't really join this trend) an “engineer” title.
Maybe the appropriate title is missing since the concept is so new.
I think an appropriate name might convey a mix of the concepts: problem solving, design, creative, abstract, structure.
If you add "rigor" to this, you have a good general, multidisciplinary, description of an "engineer". I think this slight, but important, difference is why people want to use "engineer" for non rigorous software.
In reality, you probably have some gradient between "software designer" (the ever fluid art and design of software) and "software engineer" (proven critical systems).
"They may have a lot of brilliant ideas, but they will not be able to express them."
Part of me thinks this is true...but the amazing thing about programming is how many high-quality tools encapsulate the hard bits so that you can do pretty brilliant things.
Yeah, maybe you won't be a pioneer in computer vision or perception engineering, but you'll certainly be able to build useful products with robust libraries and frameworks.
> The present world does not need more blue-collars, because machines do their work very well, it needs more scientists and engineers who will invent our future.
I don't know... plumbing, welder, underwater welding, glass blower for scientific glasses, etc.. are in need iirc.
I've read this thing as well (wish I'd be able to link it) how this guy was like "nono, we might have got it wrong" — it's clearly the high-thinking non-creative (non-artful) jobs that are going to be lost first due to the advent of AGI
Reminds me of when I did an accountancy course and the instructor was talking about engineers being blue collar job as it was very practical and you could work without being a member of an official professional society. Kinda true.
True for most probably, the only engineers I've met who actually studied for and passed the PE are civil, mechanical, and electrical engineers (the ones who work for the government).
[+] [-] core-questions|7 years ago|reply
This is a fairly elitist sort of attitude that belays the likely fact that the author doesn't actually know any builders. If they did, they'd know that rarely do engineering plans line up 100% with reality, and plenty of decision-making and creativity is needed on behalf of the skilled worker as they best try to execute the plans of the engineers.
[+] [-] danans|7 years ago|reply
"fairly elitist" is a very charitable interpretation of that. Sounds more like taking a class construct (blue-collar) and using it to undersell a huge spectrum of workers, while also ignoring the fact that a lot of white collar jobs also involve just following instructions.
[+] [-] vvanders|7 years ago|reply
[+] [-] agumonkey|7 years ago|reply
I remember a story on reddit or SO about a plumber going into programming without a degree. He had no trouble thinking through most of the logic required saying it's just like its old job.
[+] [-] ergothus|7 years ago|reply
I think it's better to say there are lots of jobs that don't appeal to the workers doing them.
[+] [-] austincheney|7 years ago|reply
Proof: Have them produce results without the OOP patterns they learned in school or without their favorite framework.
[+] [-] grawprog|7 years ago|reply
Honestly if my job wasn't like that, I would've left long ago despite the decent pay.
[+] [-] smokeyj|7 years ago|reply
[+] [-] unknown|7 years ago|reply
[deleted]
[+] [-] madengr|7 years ago|reply
[+] [-] kevintb|7 years ago|reply
Definitely agreed. Unpopular opinion: I'm a strong proponent of a CS university education, as opposed to something like a bootcamp, for this very reason. An understanding of how OSes work; basic discrete math, etc - those are fundamentals that shouldn't be ignored just because an engineer doesn't work on them on a daily basis. (Unless if the job description is for front-end development only, in which I'm less qualified to say whether a CS education is needed or not.)
And, most importantly: a university CS education gives you knowledge on what you don't know about CS. Otherwise, ignorance of your own ignorance just feeds upon itself.
[+] [-] vishvananda|7 years ago|reply
I think it is more accurate to say that the knowledge of how OSes work, basic discrete math, etc. is important regardless of how that knowledge is gained.
A university education is only one way of achieving this knowledge. Even your last point of gaining knowledge about what you don't know about CS is achievable through other means (mentorship, online classes, study groups, etc.)
I think it is perfectly fair to suggest that a CS university education is a great way of achieving this knowledge, and it makes perfect sense to recommend that method if you followed that path yourself.
Personally, as someone who developed that knowledge outside the university system, I suspect that university is probably an excellent approach for most people, but I tend to encourage people to find the hunger for knowledge inside themselves and develop a passion for learning in whatever form it comes.
[+] [-] staticassertion|7 years ago|reply
> (Unless if the job description is for front-end development only, in which I'm less qualified to say whether a CS education is needed or not.)
The browser is an extremely complex platform, at least rivaling an operating system. If you're going to argue that advanced knowledge of a platform is required for non-frontend work, you should be comfortable making the argument for frontend.
Except people generally don't make that argument. Frontend devs (I am not one) are looked down on. But it's a double standard.
I'm sure that wasn't your intention, but it's a constant expression I see - that web developers are a class separate from the rest of us. The truth is that OS knowledge is not critical and the general sentiment that frontend devs can do their job without understand the complexities of a browser only reveals this.
More to your point, I taught myself about OS's and x86 outside of class because I wanted to learn how to exploit memory safety issues. I never made a career out of it, but I learned a lot, and it was a matter of buying a few books and talking to people on IRC. I found tons of excellent talks by Herb Sutter and Scott Meyer about CPU architecture and how code maps to it.
There's a ton of resources out there for those who choose to self-teach.
[+] [-] smokeyj|7 years ago|reply
The value proposition of a university education is something of a moving goalpost for most people. It's not even about what you learned but how exclusive and prestigious the institution was. Or how uncomfortable and sleep deprived your experience was. If the value of a university degree were based on a skillset that could be proven, then the need for exclusive accreditation could be replaced with a simple unit test - and education would be called "training" and everyone would feel much less smug about not being "blue collar". Thank you for coming to my TED talk.
[+] [-] barbecue_sauce|7 years ago|reply
[+] [-] staticassertion|7 years ago|reply
I'm quite biased, as I found it incredibly insulting throughout the article, as I myself dropped out of college.
I believe that college is a viable path with many benefits. I believe self taught is another viable path with many benefits.
I am a programmer, and I dislike an article saying that I am not because I chose to exit my university early and join the work force.
[+] [-] tombert|7 years ago|reply
I found the tone pretty obnoxious as well. I dropped out, but I managed to find a job as a University research scientist for awhile. I have a strong love of theory, and probably have most of the same textbooks that many math majors would have as a result.
I will admit that the average graduate is smarter than the average dropout, but who the hell cares? There are plenty of smart autodidacts, and I feel like if you can learn a lot of the theory on your own without being forced to by a professor, that speaks well of your character.
[+] [-] vishvananda|7 years ago|reply
[+] [-] unknown|7 years ago|reply
[deleted]
[+] [-] ralph84|7 years ago|reply
[+] [-] int_19h|7 years ago|reply
[+] [-] maxxxxx|7 years ago|reply
Make the bootcamps longer and more rigorous and you are there.
[+] [-] motohagiography|7 years ago|reply
The article states, "Programmers who have studied programming languages, development tools, various technologies and patterns, but have not mastered the mathematical foundations, look like artists, who have a perfect understanding of the paints and brushes, learned a lot of tricks, but do not know the colour theory, composition, perspective, human anatomy, and other basics. They may have a lot of brilliant ideas, but they will not be able to express them. And all they can do is to work as assistants or repaint other’s pictures."
Backfitting theory to practice and then trying to persuade practitioners and others that they are somehow subject to the abstractions and shibboleths of these gatekeepers, and that we do not understand our own craft, is dishonest. Nassim Taleb calls this "teaching birds how to fly."
University education is valuable when it refines and differentiates students. Outside of maths and maybe divinity degrees, most of them have become managerialist diploma mills. I don't think the article was elitist, since one of the first rules of being an actual member of an elite that you don't go on about it like that. Provocative, anyway.
[+] [-] adreamingsoul|7 years ago|reply
I love education, learning, and teaching myself.
I strive to be around like-minded individuals who think logically or visually.
I have yet to find an education system (in the USA) that provides a learning style that works for me. Or, I feel forced to conform my way of thinking to a style that I consider to be inferior.
At a young age I was diagnosed with auditory hearing dyslexia. But little was understood about the relationship it had with Autism. My parents, teachers and schools did not have the resources, understanding or time to assist in my difficulties. So I resulted to teach myself most of the required subjects. I excelled with hands-on activities, problem solving, and critical thinking but struggled with testing and language based subjects. Something I'm proud of is that in elementary school I was already programming, building computers, and volunteering in the School District’s IT Department as a "junior system administrator."
Now that I have a family and responsibilities. I do worry that at some point in the future my opportunities could be restricted by not having a degree. My preference is to have the right education over a degree. But, the more that these conversations around higher education and having a degree comes up, the more I doubt my logic.
I want to attend a university where I can thrive, learn, and be challenged. But I have yet to find the right one. Until then, I continue to read books, teach myself new subjects, learn from mentors, take the occasional credited class, and seek as many learning opportunities that I can find.
I'm not sure why I'm sharing this, but this topic has been something that I've been thinking a lot about lately. It does help me to share my thoughts with people.
[+] [-] AnimalMuppet|7 years ago|reply
The longer you've been actually doing the work, the less people care about your degree. Don't worry about the conversations around you. Worry about the hiring - and in hiring, having a proven track record beats having a piece of paper. (At least, for most employers. The employers where it doesn't are thinking that the degree matters more than the real-world experience. You don't want to work at those places, whether or not you have a degree.)
[+] [-] joe_the_user|7 years ago|reply
The university in it's modern form has a effective history of several hundred years. That puts it far ahead of specialized engineering school but naturally hardly eternal.
What's interesting about this generally appallingly snobby and shallow article is the way the division between intellectual and manual labor has remained a constant even as this society evolved quite a distance from the time when universities mainly produced priests. The division between skills requiring a university education and those not requiring one has in the US become fuzzier and fuzzier. But division still remains a fundamental prestige point simply because no other division has replaced it (things are complicated now to create alternate division).
Moreover, it's also testament to how far programming has fallen away from other engineering fields whose on prestige guarantees them a place in the university.
[+] [-] munificent|7 years ago|reply
I'm not sure what you mean by "modern form", but Oxford University is nearly a thousand years old. It's older than the printing press and the founding of the Aztec civilization.
[+] [-] sempron64|7 years ago|reply
I am a little annoyed that habr.com now directs to the English site for me by inferring my geo/browser language, but the Russian language content is accessible at https://habr.com/ru/
[+] [-] sempron64|7 years ago|reply
[+] [-] Aspos|7 years ago|reply
[+] [-] jackcosgrove|7 years ago|reply
There is a certain type of person who considers any endeavour that is tactile, applied, or practical to be "blue collar". When I encounter such people I can't help but wish I were rather in the company of a plumber or a mechanic.
[+] [-] nathell|7 years ago|reply
[+] [-] SomethingOrNot|7 years ago|reply
Engineers can be idealists, too.
[+] [-] dragonwriter|7 years ago|reply
No, programmers are not engineers, generally, even if it became trendy around the late-90s dotcom boom to give every programming and programming-adjacent job in private industry (government didn't really join this trend) an “engineer” title.
[+] [-] nomel|7 years ago|reply
I think an appropriate name might convey a mix of the concepts: problem solving, design, creative, abstract, structure.
If you add "rigor" to this, you have a good general, multidisciplinary, description of an "engineer". I think this slight, but important, difference is why people want to use "engineer" for non rigorous software.
In reality, you probably have some gradient between "software designer" (the ever fluid art and design of software) and "software engineer" (proven critical systems).
[+] [-] skipthemeat|7 years ago|reply
Part of me thinks this is true...but the amazing thing about programming is how many high-quality tools encapsulate the hard bits so that you can do pretty brilliant things.
Yeah, maybe you won't be a pioneer in computer vision or perception engineering, but you'll certainly be able to build useful products with robust libraries and frameworks.
[+] [-] anthony_doan|7 years ago|reply
I don't know... plumbing, welder, underwater welding, glass blower for scientific glasses, etc.. are in need iirc.
[+] [-] chdaniel|7 years ago|reply
[+] [-] rb808|7 years ago|reply
[+] [-] chillacy|7 years ago|reply
[+] [-] cat199|7 years ago|reply
[+] [-] unknown|7 years ago|reply
[deleted]