13 ms·
There's a lot of fantasy in this article. Most programmers today do very little actually - we don't wield major influence. We basically glue together a bunch of
by externalreality 7y ago
There's a lot of fantasy in this article. Most programmers today do very little actually - we don't wield major influence. We basically glue together a bunch of Free Open Source offerings. The most critical skill is that ability to move fast by practicing with our Free Open Source offering tools. We pay (MS, Google, or Amazon) to host our applications. And we perform maintenance on these applications for years. Nothing special, anyone can do it. More and more people enter the work force every years. Since all things are becoming automated there will be enough jobs for the foreseeable future. We get to wear nerd clothes and act smart but generally all one has to do is be able to read documentation and use a computer. I would reckon that the average 13 year old who has a good reading comprehension can do what most programmers do these days. It's like playing a video game. They would probably be better at it too.
- NotPaidToPost 7y agoWhat you describe does not look like the typical software developer job at all. Certainly not anyone can write software. In fact, many who see themselves as "coders" are not very good at it themselves. Edit: I've found it's a bit similar to law in terms of skills and mindset. Some people struggle to follow the text of an actual law. Then, drafting an actual law is an even more specialised skill. In both software and law, if you draft badly you will face problems...
- urVeryWrong 7y agoWow, really? Because GP describes my exact experiences. I've job hopped for going on ten years now, and every slot I've inhabited was just a bunch of self-important, pendantic board game experts throwing their weight around, until they struck fear or induced mental fatigue, and wore you down to get their way. Nasty pieces of shit, barking like tiny dogs about syntactic preferences and vocabulary pissing contests, nothing more. There were a handful of rare birds at one place, and when I say rare, I mean it, because even inside the company, there were all of maybe ten people that sharp, and there rest were posturing imposters. Let's recount some of the worst. Fat nerds, pissed off about constant usage versus scooped variables, and getting in people's faces about JavaScript factoids that lack real value. Girls who code waiting to receive their daily pair-programming ass kissing session, because girl (that's right, TWO X chromosomes, AND I sit at a desk all day! Please, please, no autographs!). Meanwhile, numerous 40 and 50 year old women lumber about, chatting up fellow parents about their latest medical condition, news about their kids, or both. Walking talking dick-for-brains brogrammers talking about last years epic spring break bikini contests, while swiping through their phone's photo album brimming with tits and ass, as if they're TRYING to provoke the fat nerds into an active shooter incident. Non-binary conversation chores scuttling about with darting eyes, because they're walking around in their latest experimental underwear, dosed on horomones and looking for reasons to name drop pronouns and ask if you'll be attending the activist meeting on Wednesday. True robots that lead you to question if the machines are already walking among us. Tempermental, neurotic Jews. Culture shocked Indians that rush home at five sharp, to clock in at their arranged marriage. The extremely rare black guy, extroverting blackness as hard as possible to compensate for role he's expected to play in whatever buddy movie Mel Gibson can't do another sequel for. And, oh yeah, Asians because someone lied and told them programming was really about math. Also, godless communist Russians keeping a low profile because their smuggling malware payloads behind firewalls for Putin. Is that everybody? Let's see... Who am I missing... Oh yeah, inept QA disembarking from the short bus, and autistic security "experts" incapable of engaging in conversation that doesn't involve Warhammer 40K trivia.
- C1sc0cat 7y agoI sometimes think drafting laws badly is a feature not a bug - after all think of all that lucrative legal work for other lawyers.
- bildung 7y agoCouldn't the same (IMO flawed) reasoning applied to the topic at hand? "Computers are made complicated on purpose - after all think of all the lucrative programming jobs"
- C1sc0cat 7y agoNot in the case of laws :-( I know of one infamous Pensions case that dragged on for well over a decade in the UK over some arcane legal arguments. Of course the longer the case went on the more pensioners died
- choonway 7y agotry teaching. then you would be amazed at the tiny proportion of students able to do that on their own.
- frabert 7y agoExactly. As someone who has been asked to teach an IT technician friend how to program, it's absolutely not a trivial task. You would think the problem solving skillset of a technician would help, but nope.
- bitt 7y agoI have a friend who I consider to be tech savvy and very smart. He couldn't get "coding". Dropped the class and switched major (I know this is anecdotal). It's not for everyone [0]. I agree that it has gotten simpler, but it depends on what you're doing. Some developers "glue together a bunch of Free Open Source offerings" and some need to do a lot more than that. [0]https://blog.codinghorror.com/so-you-dont-want-to-be-a-programmer-after-all/ https://blog.codinghorror.com/so-you-dont-want-to-be-a-progr...
- golergka 7y ago> Nothing special, anyone can do it. That's what I'm thinking every day while I'm working and talking to other developers. But when I try to teach, or help non-coders who decide to take up coding, I am amazed every time to find out that there's one skill that I don't even think about that seems unteachable: structural thinking. I can teach a person how to get an input from a user. I can teach a person how to process that input. I can teach a person how to present output to the user. I have not been able to teach a person how to decompose a task "calculate effective property tax rate" (or something similar) into those steps.
- 2muchcoffeeman 7y agoI know good software engineers who believe in alternative medicines and doubt the efficacy of vaccines. I’ve met some that don’t even know the basics of how an OS or CPU works. We’re not special as a group. We’re good at some stuff and also really bad at other stuff. Just like everyone else.
- golergka 7y agoYour comment seems to be written as if it's a counterargument to something I said, but it doesn't contradict anything in my comment and I completely agree with your point.
- rujuladanh 7y agoSpeak for yourself. If what you are doing can be done by a 13 year old, that is your reality. What I do requires years and years of experience/study, and 90% of the 20 year olds cannot do it, and that is being very conservative. Of course you are talking about the average developer. But your average health personnel aren't doctors, they are nurses or assistants. And there is nothing wrong with that.
- JamesBarney 7y agoIn real life there are still projects that are failing, that are going over time and budget. There are smart guys on those projects with masters in c.s. who are making completely boneheaded calls that will mean they aren't adding any value. We can talk about how easy software is and it's just glueing a bunch of components together. But whole we do there are millions of devs that are flailing and failing to do that.
- Cthulhu_ 7y agoOne issue I have seen is that when systems should be easy to make - you know, database, data wrangling, rest API - people tend to make it more challenging for themselves. Case in point: exactly an application like what I just described, but because that was boring and basically the same application as already existed in terms of architecture, they made it a microservices application that was only supposed to communicate via events published on a central event bus. Which can be a good design pattern I guess, but they lacked an architect, formal specifications of said event bus events, and a too quick conclusion of "this needs to be in its own microservice". Tl;dr, after a year and a half they still had nothing to show for but a well put together powerpoint slide deck, and a lot of half-finished components that should in theory sorta work together. That is, unchecked developers have a tendency to overcomplicate things for their own enjoyment / challenge. I don't know how to fix that, besides having a strong tech lead who is able to rein people in and ground them.
- amelius 7y agoI think the problem is mixing terminologies: • Programmer: glues together existing tools (your example) • Software engineer/architect: builds/designs systems that can handle large loads efficiently; invents and applies techniques so the systems can become large while keeping them maintainable • Computer scientists: invents and analyzes algorithms That said, roles are usually mixed up as well, where a computer scientist in industry can easily spend 90% of their time programming.
- fouc 7y agoNot really a mixing of terminology considering that the scientists/engineers are only going to be a small proportion of the coding population.
- dnautics 7y agoI would say a true software engineer is someone that can design a system to meet a SLA, write documents which systematically show how it's measured and specced. Most software 'engineers' (including all but one of them with that title in my company) are just 'devs'. My feeling is that a software architect is someone who can design something to try to meet an SLA but is too lazy (or too high level) to actually check it.
- kitsunesoba 7y agoMost positions I've worked sit somewhere between 1 and 2, involving quite a bit of glue but a good chunk of design work as well. Had there been no design component (glue alone) the produced software probably would have been functional in the strictest sense but would also have been a slow buggy mess.
- krageon 7y agoDo you have some examples of places where you have seen this so I can avoid working there? It sounds incredibly boring.
- Tade0 7y agoPick pretty much any front-end related position. Half of my career has been spent on such things and ironically this was the better paid one. Apparently doing interesting stuff comes with a pretty hard penalty in terms of compensation.
- rxhernandez 7y ago> Apparently doing interesting stuff comes with a pretty hard penalty in terms of compensation. Yup, I'm trying to transition to web development strongly because of the much higher compensation and the ability to work remotely. I admit developing nonlinear curve fitting frameworks, working with laser physics and doing biomedical algorithms engineering was much more fun and fulfilling. However, it's far more appealing to enjoy more time with my family, work from a peaceful location and never have to deal with traffic. Though this transition to web development isn't at all helped by the fact that Javascript feels like it was a failed experiment in hell where it was probably deemed to be far too tortuous to be used as punishment; only god knows how Mr. Eich got his hands on it. (I've professionally written code in Java, Python, Matlab, Fortran, C, Go and assembly and none of those languages come within two orders of magnitude of the disdain I have for Javascript)
- scrollaway 7y agoYou can do frontend webdev and have a lot of fun. First of all, stop using plain JS and move to Typescript. That'll fix most of your issues with the language itself. Second, for what's fulfilling, it depends on what you're actually working on. If you're going to just make dynamic menus for a wordpress blog then yeah, your life is gonna be boring. But nowadays "frontend" can mean writing entire apps. My latest site (https://overframe.gg/ https://overframe.gg/) is a SPA in React+Typescript and I had a lot of fun writing it. The nitty-gritty of reverse engineering games, simulating calculations, etc; all these are still there.
- return0 7y agousually when something becomes so mechanical it is automated and the job is eliminated
- C1sc0cat 7y agoYou are assuming the eveyone has your /our skills here.
- m_fayer 7y agoSometimes I think the same thing about what I do. Then I work with a junior and appreciate the difference that a decade+ of accumulated knowledge, instincts, and intuition makes. Yes, most of us don't gain ability the way a surgeon or aerospace engineer might, it's not that palpable, but don't undervalue yourself nevertheless. It takes a lot of work and dedication to get to "I can reliably and predictably snap stuff together like legos and make a functional system."
- world32 7y agoCan you give a real world example of glueing "together a bunch of Free Open Source offerings"? I've heard the idea that thats all software engineers really do before but it doesn't seem realistic at all.
- smartstakestime 7y agobrowsers + javascript + css (frontend opensource) ... to backend , many frameworks for each langauge, many languages all documented ... to persistence layer (mysql , postgres, mssql), and finally server but as OP said thats on amazon, Azure, Dreamhost ... etc OP is discussing more so the practice of professional dev for 70 - 90% of the devs. Business guys want results , they dont care about scaling and so its about getting it out ASAP. Theres alot of politics, I was taken aback at first, with the idea of CS/software being very technical but it seems that this creates more of a differentiator for political manipulation, cause everyone is already skilled in analytics. I could go into more detail but basically its all there and a search away (google). In fact there is a term in the industry called "google-fu" (like kung-fu) which means the number of searchers you need to perform to get an answer. Its a double edge sword. All devs are on their own for learning, but all the info is out there, you just need to be willing to search and learn. Sadly many people are not like that, and that seperates the good dev from the bad dev (besides the politics). I assume its the same for being a surgeon, that all you have to do is study and learn the info and you can do it. But having a steady hand is very important. And sadly , if everyone had a steady hand , you'd still have the same amount of surgeons. Those who can do. You want to be a dev, open up the next tab and type into your tool bar "how to learn javascript". Realize that devs created this tool for you, and if you are not a dev its because you dont want to be. Its all there, the web is your oyster.
- world32 7y ago> browsers + javascript + css (frontend opensource) ... to backend , many frameworks for each langauge, many languages all documented ... to persistence layer (mysql , postgres, mssql), and finally server but as OP said thats on amazon, Azure, Dreamhost ... etc All of that requires a significant amount of engineering and coding to get working. Just using a frontend framework does not give you a working application, you still have to code that application.
- Nursie 7y ago> Nothing special, anyone can do it. They really can't. What you describe is beyond the vast majority of people. Not the vast majority of well educated people, perhaps, not the vast majority of STEM people, sure. But most folks? They'd take one look and run away from the insanely complex wizardry you seem to be practicing. Also, as other posters have said - that's your experience, not everyone's. Someone has to write the automation tools. Someone has to write the libraries. Someone has to know how to write a compiler, to write crypto routines. Someone has to create AWS. There are a lot of paint-by-numbers coding roles out there, sure, but it's far from the whole industry.
- JustSomeNobody 7y agoSure, a 13 year old could write a web ui and crud back end for a $20 IoT device. And you're correct, that's not that difficult. And while a lot of HNers live in the web world, not all of development has to do with the web. There are lots of development jobs that are much more difficult and take more skill. They don't pay FAANG money so they don't get the attention on HN, but they do exist.
- notacoward 7y agoAs others have said, speak for yourself. Sure, there are plenty of "coders" who just bolt together stuff written by others, but somebody has to create the pieces and that takes at least a little bit of real creativity. The problem is that we don't distinguish between specialties and roles. In medicine the division is clear between various surgical and non-surgical specialties, or between physicians vs. assistants vs. nurses. In law nobody confuses contract and criminal law, or attorneys (sometimes even barristers vs. solicitors) and paralegals. But we don't do that. You're slightly right in that there are people who call themselves coders who don't really create code, but real coders aren't fantasy.
- LandR 7y agoNope. Dont know how much experience you have of trying to hire developers, but the majority out there (even the ones with years of experience) don't pass the most basic of criteria for the job. Our test for hiring is a simple app that can take a value, decrement a balance and show if the new balance is negative or not. I've seen some of the tests that come in, 80%+ of the applicants fail to do this. A non-neglible amount will send in something that doesn't even compile. Good developers are rare IME. Another mate of mine that has to hire developers says he's lucky if 10% of the people who apply and get to the interview turn out they can actually write code.
- gnode 7y agoYou could make a similar meaningless argument about electronic engineers. Most just solder together ICs, and the IC designers mostly glue together IP blocks. They pay utility companies to provide electricity. To work at a lower level doesn't mean you're a more advanced engineer, in some ways it means the opposite; working at a higher level usually requires some understanding of what's below.
- notacoward 7y ago> working at a higher level usually requires some understanding of what's below. Maybe what's immediately below. I fervently wish that "higher level" developers did have some slight clue about what happens when they make a call to lower layers, especially wrt storage since that's what I work on, but I've learned not to rely on them having any such knowledge.
- subjectsigma 7y agoI'm not going to tell you you're wrong (plenty of other people did that) but I'm wondering what experiences you've had that makes you believe the average 13 year old could pick any task and just "glue together" libraries to solve it?