5 ms·
Some of the ideas referenced in this article seem kind of weird to me, like that coding is “the next big blue collar job.” Is this a profession or a trade? Is
by elipsey 9y ago
Some of the ideas referenced in this article seem kind of weird to me, like that coding is “the next big blue collar job.”
Is this a profession or a trade?
Is “Software Engineering” a euphemism that exaggerates our jobs?
Did I waste my time getting a CS degree and spending half my life learning to do this?
I’m all in favor of anyone who wants to learn programming having a go at it, but I hope it doesn’t make me an elitist if I wonder whether it’s fair to consider software dev or engineering a trade skill that most anyone should be able to learn in several months without a general STEM education...
- celim307 9y agoAll I know is that I've definitely been in some jobs where gluing together api's and cranking out templates felt closer to assembly line work than actual programming.
- TallGuyShort 9y agoI think there's a spectrum. People who optimize file systems, for example: that's on the "engineering" side of the spectrum. It requires a scientific approach to the research. It requires a very deep understanding of complex systems, formal reasoning, and emergent behavior. On the other end of the spectrum, I know people who got a degree completed unrelated to STEM, and through some on-the-job training managed to work their way into reasonably successful careers doing routine web development, or similar things. That certainly looks more like a trade. It's a marketable, valuable skill. They had to put some effort into something like an apprenticeship. But it's not exactly half their life training for a formal engineering discipline either. There are plenty of respectable ways to make a living in the software world that don't require a 4-year degree from en engineering school. I don't think we should pretend otherwise or force people into the way we got our education. I'm more on the engineering side, but I'm very passionate about my work, and not everyone needs to be like that. Some people just want to make a living and focus on other things in life.
- freeflight 9y ago> I think there's a spectrum. People who optimize file systems, for example: that's on the "engineering" side of the spectrum. It requires a scientific approach to the research. It requires a very deep understanding of complex systems, formal reasoning, and emergent behavior. In Germany, there are two different flavors for the apprenticeship to "Fachinformatiker" (Computer Science Expert): One for software development and one for systems integrations, there's even a sub-specialization for "support".
- posterboy 9y agoThe translation "expert" is ridiculous. Its an apprenticeship at college level, not a doctorate. I have no idea what the american equivalent is, because there might not be a standardized title, and maybe expert is not a protected title. Fachinformatiker is more of a technician with 1.5y of school and 1.5y on the job training interleaved.
- TallGuyShort 9y agoFWIW, Google translates it as "IT Specialist". That sounds accurate for what you're describing.
- freeflight 9y ago> The translation "expert" is ridiculous. Not my translation, it's the "official" translation from the German Chamber of Industry and Commerce [0]. > I have no idea what the american equivalent is, because there might not be a standardized title, and maybe expert is not a protected title. I don't think there is a US equivalent to the German "Fachinformatiker", just like there's generally no real US equivalent to the German apprenticeship system. Imho Fachinformatiker as an apprenticeship is a good approach because not every IT job needs to be on an academic level, no reason to lock a whole field of work behind the entry-barrier of having an academic title/university education. [0] https://www.darmstadt.ihk.de/produktmarken/aus_und_weiterbildung_channel/ausbildung_channel/Anlagen_Artikel/englische_berufsbezeichnungen/2535860 https://www.darmstadt.ihk.de/produktmarken/aus_und_weiterbil...
- alphaalpha101 9y ago>I think there's a spectrum. People who optimize file systems, for example: that's on the "engineering" side of the spectrum. It requires a scientific approach to the research. It requires a very deep understanding of complex systems, formal reasoning, and emergent behavior. Is it engineering then? Or is it scientific? Because they're not the same thing.
- TallGuyShort 9y agoHaving a scientific approach to one aspect of the field's literature is hardly saying you're a scientist. But then some people do refer to themselves as computer scientist. But we're really getting caught up in titles too much, IMO.
- alphaalpha101 9y agoProgrammers are not computer scientists, and computer science is no more equivalent to software engineering than physics is equivalent to civil engineering. Programmers are also not, in general, software engineers. It's not about getting 'caught up in titles' either, IMO. It's an important distinction. Computer science programmes get flack for not teaching practical software engineering skills, which is totally unreasonable. Just as we have physics programmes, we should have proper computer science programmes. You are allowed to do a physics degree and offer physics courses without people going 'but how do I design bridges??'. Yet every computer science lecturer will tell you they've had people ask 'but what does this have to do with making websites??'.
- TallGuyShort 9y agoI guess I'm just confused why you take issue with the phrase "a scientific approach to the research"? You don't see people applying the scientific method and academic rigor to papers in that part of the software field? That doesn't make them scientists, but I didn't claim it did.
- kemiller2002 9y agoIt's not fair to think they can learn how to really develop software in a few months. It sets them up for an unreasonable expectation. Can some people do it? Yeah sure. There are always going to be those few people that can pick it up and grasp it that quickly, but for most it's just not possible. I've met a number of people with 4 year degrees that can barely do it. If this were easy, then there wouldn't be a shortage of developer constantly. I am sure there are some jobs people with a couple months of experience can do adequately, but this is far from the norm.
- seabird 9y agoThe line has blurred because many companies now mandate that you hold a degree and 22 years of experience to even look in the direction of a computer, but I would say that not too long ago, it would be a pretty fair claim. There's no need to pretend that code monkeys who churn out generic CRUD programs are highly skilled or talented. It's respectable, pays enough, demands enough, and many people are capable of it; it's as close to a blue collar office job as you could ask for. Actual software "engineers," working on complex problems in computation, mathematics, physics, etc. are hugely outnumbered, even today, let alone tomorrow.
- shawndrost 9y ago[I'm a cofounder at Hack Reactor, a coding bootcamp.] Your comment defines a trade skill as one "that most anyone should be able to learn in several months without a general STEM education". So, let's evaluate that question for a few different trades/professions. "Software Engineering": We have determined, through experimental proof, that bootcamps can make (some) novice non-degree-holders into employable software engineers in 3 months. Probably 3-18 months would cover most people that would otherwise be entering college in a CS major. At parties I like to ask people how long it would take to teach someone to do their job. (Posit that they're smart and interested.) For most white-collar jobs, people answer "6-18 months". Most trade schools are somewhere in that region as well. In my opinion, most professions would be well-served by the bootcamp model (like software engineering is) and a 6-18 month training period. So per your definition, I would say there are few professions out there, if any.
- eropple 9y ago> We have determined, through experimental proof, that bootcamps can make (some) novice non-degree-holders into employable software engineers in 3 months Engineers or developers? How can you differentiate? I've been writing code for about twenty-two years now (fifteen getting paid for it), I build large systems with tight fault tolerances and work to deeply understand my failure cases. Your "6-18 months" is probably enough to make a code grinder. I wouldn't say twenty years, with current tools and current culture, has made me an engineer.
- ringaroundthetx 9y ago> Engineers or developers? > Code grinder Well those semantical terms won't get you anywhere. There isn't a difference which will reach consensus. But alas, I see the root of your argument. Universities aren't teaching people to be great for corporate America, despite how warped that ideal of higher learning has become. Coding schools are sticking to what is relevant for current roles. Many of the coding schools already know what the current roles are and act as glorified recruiters making the bulk of their earnings on the placement of their students in roles they have already lined up. Being productive in a corporate environment doesn't take much time at the right level of the stack.
- jcranberry 9y agoJust because you've finished a machinist apprenticeship doesn't mean you're a master machinist. It's the same thing for software development. You can learn how to be useful or productive (albeit with a limited set of skills) in several months of applied training. That doesn't mean you're automatically skilled in things such as handling big data, compiler construction, HPC/optimization, systems programming, multithreaded applications...the list goes on. However, as far as I can tell, not only is a 4 year program overkill for what most people want to do, a CS bachelor's degree usually doesn't cover particularly relevant information. A computer science degree teaches computer science, not software engineering. It's intended to introduce basic concepts which will be needed when proceeding on to do research. What most people really want is an education in software engineering.
- q845712 9y agoMy background is a CS degree from a liberal arts college, and I've found that my coursework in compilers and operating systems has often come in very useful. Additionally I've found that recent grads who have "computer *" degrees (e.g. "engineering" instead of "science") often are lacking exactly the most helpful and applicable knowledge I picked up in undergrad. That said, I completely agree with your sentiment: Had my priority been to establish a software engineering career, a whole lot of what I did could have been skipped and substituted for things like learning how to write good unit tests. I also strongly agree with you on "finished apprenticeship" vs. "master."
- slavapestov 9y ago> Did I waste my time getting a CS degree and spending half my life learning to do this? Yes.
- bdcravens 9y ago> Is “Software Engineering” a euphemism that exaggerates our jobs? Maybe. I'd argue if you're mostly working with frameworks, you're probably more of a technician than an engineer. I believe software engineering is a thing, but most who carry that job title don't do it. In the same sense that there's not much "science" in computer science.
- mentallimits 9y agomost anyone who is sufficiently intelligent and detail oriented. which excludes the vast majority of people.