5 ms·
The whole "learn to code" and software bootcamp craze always baffled me. Like what other profession markets themselves as "Hey, our job is so easy that any schm
by hn_throwaway_99 2mo ago
The whole "learn to code" and software bootcamp craze always baffled me. Like what other profession markets themselves as "Hey, our job is so easy that any schmuck off the street can enter the career with 4 months of training." Practically every other job I can think of at a similar salary level has entrance requirements (e.g. grad school admissions exams), extensive and expensive training, a lengthy apprenticeship period and follow on licensure exams.
And more directly, I believe good software engineering is really hard. I think it takes a certain mindset to begin with that many people just do not and will never possess, and it takes years of experience to get a good sense of what works and what doesn't, especially with respect to the entire relationship between code, business, people and teams. Yet we constantly see all this devaluation of the practice of software engineering ("code was always the easy part" - bull-fucking-shit), often times by our own practitioners of the craft.
- mrguyorama 2mo agoI mean, the obvious thing is that the "learn to code quick, code bootcamps!" drive was driven by connected people who were, as they are now, attempting to drive down the cost of software development. Management types really really really loathe software developers for making good money, and have spent decades now jumping at any advertisement that suggests it can undercut the salary of your current crop of engineers. Devaluing software developers has always been the point. Whether you take the cynical view of "They resent us for being expensive" or the apathetic view of "Capitalism simply wants to eliminate any and every cost by definition"
- bornfreddy 2mo agoExactly this. And now it is AI - I can't wait to see what they will be paying in a few years to those who will be able to clean up the LLM mess.
- WalterBright 2mo ago> Management types really really really loathe software developers for making good money Of course. I bet you loathe having to spend $70,000 to buy a nice car, too! > Capitalism simply wants to eliminate any and every cost by definition You could look up what life was like under Soviet communism. Me, I prefer capitalism.
- rayiner 2mo agoThe irony is that Soviets are famous for falling behind in computing because their 5 year plans failed to appreciate the importance.
- leonidasrup 2mo agoAnd yet the Chinese with their 5 year plans are not falling behind in computing. Advances in computing can not be pinned just to planned economy/capitalist economy. For example the West Germany computer industry, French computer industry, UK computer industry (with exception of ARM), Japanese computer industry have fallen behind.
- jambalaya8 2mo agoI do not believe what the world is calling either of those things (communism or capitalism) now is anything like it was when the USSR was existent in the 1970s.
- jselysianeagle 2mo ago> Like what other profession markets themselves as "Hey, our job is so easy that any schmuck off the street can enter the career with 4 months of training." For one, the industry never did professionalize to begin with, certainly not in the way accountants, lawyers etc did. We never had any real body that could certify proficiency, which is what contributed to companies having to resort to leetcode and other such styles of interviewing. Additionally, it wasn't software engineers doing this, but people looking to cash in on students looking to get a 6-figure job. They were business people, not software engineers.
- WalterBright 2mo ago> We never had any real body that could certify proficiency Good! > having to resort to leetcode and other such styles of interviewing Such test filter out the obvious frauds.
- bdangubic 2mo ago> Such test filter out the obvious frauds. if you need garbage like leetcode to filter out "obvious frauds" you got a whole lot of problems in your company/team/...
- WalterBright 2mo agoA colleague of mine came to me for advice. He wanted one of those high dollar jobs at a well-known MegaCorp. He knew a leetcode test was used by them. I suggested that his top priority was to study the leetcode books for the next 3 weeks. I told him those three weeks would be the best ROI he'd ever make. He did so. He aced the test. He got the job with a huge offer. He agreed that the ROI was out of the park! P.S. I'm curious what your test is for obvious frauds?
- timr 2mo ago> He did so. He aced the test. He got the job with a huge offer. He agreed that the ROI was out of the park! ...and everybody clapped? I have news for you: passing an online leetcode is now so easy that an AI can do it. If you think you're catching the cheaters, you're just wrong. Leetcode was always a stupid test of competence, but it was cheap and it had a high true-negative rate, which filtered the riff-raff. That isn't true anymore.
- tayo42 2mo agoGood code apparent doesn't matter. Most software doesn't have real repurcussions for being bad. You just get a shittier oncall which doesn't seem to matter to some people
- imtringued 2mo agoThe people who have to fix the mess and the people who created it are two different groups of people.
- eudamoniac 2mo agoIt's called suicidal empathy. It manifests in many domains.
- sirsinsalot 2mo agoFour MONTHS?! Most of the dolts I interviewed in the UK had a 6 week bootcamp behind them and called themselves "JavaScript Experts". No joke.
- scorpioxy 2mo agoI was once commissioned to teach such a "bootcamp". It was a 4-months duration but 1 day a week. So something like 2-4 weeks total duration. I found out that the students were promised that this was enough to get them a job doing software development and were disappointed when I told them it wasn't. So towards the end, I took some time to explain what was missing and why it will take MUCH longer to even just learn the basics. The organizers were not happy at all that I did that. To be fair, there were a bunch of students that did listen and worked hard on their assignments and projects and went on to integrate what they learned into their chosen profession and progressed in their jobs. I was very proud of that bunch. Surprisingly, I wasn't asked by the organizers to teach again. It also didn't help that midway I was asked to switch from teaching web development to machine learning and they didn't really like it when I said "but those are two very different things".
- sirsinsalot 2mo agoYes the whole bootcamp ring was a con job. Shame on them.
- everfrustrated 2mo agoA large amount of programmers are hired just building crud apps. Display data from a database and write it back with a validation. Etc. There is very little innovation going on. And most companies do everything they can to stick to standard patterns, technologies etc where all the risk is removed and known in advance. Often "good" programmers are worse - they over complicate the architecture, go off on tangents, try to solve problems the business didn't ask for either etc. So bootcamps filled a need.
- beardbandit 2mo agoOut of every single reason given for why the bootcamp era was justified the only one I believe is that there was so much focus on it because bigger players wanted to flood the market with cheap supply and drive salaries downward. This is not any different with offshoring before, and AI now.
- eru 2mo agoYou say it like it's a bad thing.
- operatingthetan 2mo agoTrue, and the explanations about "solving big problems" are each engineer's personal brand and justification for having a job. I'm sure some of those people exist, but they probably aren't the ones doing it rote on forums.
- sscaryterry 2mo ago> they over complicate the architecture, go off on tangents, try to solve problems the business didn't ask for either etc. because they've been bitten plenty times before by business telling them that certain requirements are not needed, just to be told 2 weeks later that they are...
- arcboii92 2mo agoI've said "code was always the easy part" recently so I should probably explain where I'm coming from. I think the practice of software engineering includes that "understanding of the relationship between code, business, people and teams" you mention, which essentially boils down to the ability to skillfully design a system - regardless of whether it's a big cloud-based web application or a tiny cli tool for use within a team. To me, the difficult parts of software engineering are in the design. That's where you're defining the problem you're trying to solve, picking what technology to build upon, what kind of architecture you're planning on implementing, ruling out what does/doesn't make sense, taking input from stakeholders, and finding the balance between price and performance. Once all that is covered I generally have a good high-level mental map of a system's structure, and actually writing the code to bring those ideas to life truly is the easier part. That being said, I still believe writing good code is a skill that is only learned through experience/the practice of actually writing code. And that experience is necessary for reviewing code - regardless of whether the code you're reviewing was written by humans or AI. Kind of like baking. Putting it in the oven was always the easy part. But combining the right ingredients in the right ratios is necessary, and much more difficult than the putting-it-in-the-oven part. And even then, it takes experience to know when something needs to be pulled early or left in longer. Because ovens are non-deterministic.
- timr 2mo ago> To me, the difficult parts of software engineering are in the design. That's where you're defining the problem you're trying to solve, picking what technology to build upon, what kind of architecture you're planning on implementing, ruling out what does/doesn't make sense, taking input from stakeholders, and finding the balance between price and performance. This is exactly why I became a PM [1]. I wanted to do "harder" things that had bigger scope than I could do as "just an engineer", and the kind of roles that offer that scope within engineering end up being thin on the ground. Unfortunately, what I've generally found is that being a technical PM is a good way to have people try to knife you constantly. Most PMs are technically illiterate MBA types, and carry a deep grudge against anyone who gives the technology any consideration. They're also good at politics, and want you to die. On the other side of the coin, because most PMs are technically illiterate, engineers often instinctively reject you like a tumor. To overcome this, you need to appeal to the technology, which puts more of a target on your back from the other PMs... Anyway, my point is that this is all very sad, because you're describing is exactly what a PM does -- but with technical competence. And because of the way the industry is structured, the people who can do that either get shuffled into people management, or reach a rapid career ceiling when so-called "architecture" roles aren't available. There's this pervasive myth that you cannot be good at technology while also prioritizing the business needs, but usually what this really means is that the "business types" bias in one direction exclusively, and treat the technology as the enemy. It's why so many companies are AI-maxxing now -- the promise of replacing the expensive nerds is the eternal flame for the MBA. [1] well, that, plus after being a founder, people were suddenly willing to hire me to be a PM...
- jorblumesea 2mo agothe people with the hiring and budget aren't technical people, usually are not engineers or have that background, and are incentivized to cut costs. It's not that complex, good engineering is expensive and somewhat of a cost center. It's the same behavior around consulting firms, code boot camps, and now AI.
- ChrisMarshallNY 2mo agoMy experience: You can learn a new language, in a couple of weeks, if you’re experienced. But you’re gonna have a heavy accent. Learning the language without an accent, takes years, no matter how good you are. There’s always stories of apocryphal John Henry types, but I’ve never actually met one, and I’ve worked with some pretty sharp characters.
- win311fwg 2mo ago> The whole "learn to code" and software bootcamp craze always baffled me. Why? While the rest of your comment explains why the plan failed, it seems like it should be pretty obvious why business would try to attract an increased supply. Hint: It puts downward pressure on price. Same reason they are trying again with AI. > every other job I can think of at a similar salary level has entrance requirements' Yes, the artificial restrictions on supply is how those careers have similar salaries. Other occupations moved to have restrictions so that they could have high salaries. Software never felt the need to do the same because the natural market propped up salaries just the same, but we'll see how long that lasts now before software practitioners panic and clammer for restrictions to prop salaries back up like the others. AI does actually seem to be making inroads where "learn to code" failed. Granted, like as suggested at the top of this, the upper class of software engineers who have the necessary reputation and prestige to drive software towards being a licensed profession are not feeling the same pinch that the middle class is feeling, so that is going to make it hard to see restrictions come to fruition even now. When the upper class of software engineers start becoming afraid of shrinking incomes, that's when software engineering will start needing a license.
- eru 2mo ago> Hint: It puts downward pressure on price. Same reason they are trying again with AI. You say it like it's a bad thing. About occupational licensing for software: it's also a uniquely global market, so I'm not sure how any one economy moving ahead with occupational licensing would work, unless they also restricted what software you can import or use in the cloud.
- disgruntledphd2 2mo ago> About occupational licensing for software: it's also a uniquely global market, so I'm not sure how any one economy moving ahead with occupational licensing would work, unless they also restricted what software you can import or use in the cloud. Relatively easily, tbh. Just create a regulation that requires either the country's standards or equivalent ones to be used in the creation of any software sold to people/businesses in the country/region.
- hattmall 2mo agoA shit load of jobs could be taught to a useful level with a 4 month bootcamp. It's just that it's very easy to set up, scale, and monitor results for coding. It's the same with AI, AI isn't particularly good at coding compared to how good it could be at other tasks. It's just that by nature coding is easy to iterate, test, and verify. I've certainly seen AI produce impressive code that works but the actual quality of the code is abysmal.
- eru 2mo ago> Practically every other job I can think of at a similar salary level has entrance requirements (e.g. grad school admissions exams), extensive and expensive training, a lengthy apprenticeship period and follow on licensure exams. It's the great strength of software engineering as a profession that formal barriers to entry are so low. You are right that good engineering is hard, and many people who went to these bootcamps didn't make it. But that doesn't mean we need more bureaucracy and paperwork to keep people out.
- wiseowise 2mo ago> Like what other profession markets themselves as "Hey, our job is so easy that any schmuck off the street can enter the career with 4 months of training." Any profession with scammers, con artists, and snake-oil sellers?
- cm11 2mo agoIt might generalize to tech rather just engineering. The same pitch was made for marketing and SEO roles, designers, product managers to varying degrees.
- sky2224 2mo ago> Yet we constantly see all this devaluation of the practice of software engineering ("code was always the easy part" - bull-fucking-shit) Whenever I've used this phrase or seen other people use this phrase it's never been in the context of software engineering. It's always been in the context of literally just spitting out code that a compiler will accept. Believe it or not, a lot of students in CS cohorts have significant struggles fighting the compiler because they just don't understand the language they're programming in and are slow to become proficient (if they ever do). Thus, a lot of people have this idea that writing code, and I mean literally just spitting out something that compiles and runs is hard. Doing that is indeed quite easy today. That's what we mean by "coding was always the easy part". Writing code that actually scales into something bigger and is constructed in a way that meets requirements and is flexible? That's a whole different ball game. That's software engineering.
- vrighter 2mo agoI use a variation of it. "Typing the code in was never the hard part. The work is in figuring out what you want to describe"
- thr0w 2mo ago> And more directly, I believe good software engineering is really hard. It really is, if there's one sentiment that's remained consistent in me over time it's awe at how harsh of a mistress software is. As good as coding agents are, it still routinely dismantles them in astonishing ways. It's like complexity is the natural state to which all systems want to settle.
- ipsod 2mo agoSoftware is a machine with thousands or millions of moving parts. It's always complicated, and complexity is the natural state of complicated things.