DEV Community

Cover image for "Everyone Should Learn to Code" is Bullshit

"Everyone Should Learn to Code" is Bullshit

Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard on May 03, 2023

My career-related content is now open-source on GitHub. Deeply ingrained in the hiring practices of too much tech companies lies the basic assumpt...
Collapse
 
ingosteinke profile image
Ingo Steinke, web developer

Thanks for another great article that most people will probably not (want to) understand.
But to make I thing clear, as people might misunderstand subtle irony.

πŸ™…πŸ» It's not gatekeeping

It is.

OK, it's harder if you have the bad idea to be a woman, or considered too old, or had a "non tech" job before,

or if you happen to be an immigrant lacking basic English skills,
or if you have no money to buy a computer,
of have no chance to leave your village where there is no reliable internet or electricty,
or if you struggle badly to nurture your family you find no spare time to practice coding.

There are probably many more aspect that I missed from my abled and privileged perspective.
Maybe the most successful kind of gatekeeping is one that is convinced that it's not gatekeeping.

Anyway, thanks for your sharing your views and pointing your finger at the "robber barons" and their industry of aspiring low-skilled developers.

P.S. I haven't been playing piano for years due to the "long unsexy journey of playing La Campanella 1000 times badly" although I even struggled to get Mozart, Oscar Peterson, and Udo JΓΌrgens right.

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

Es war schon dunkel
Als ich durch Vorstadtstraßen heimwÀrts ging

Collapse
 
darkwiiplayer profile image
π’ŽWii πŸ³οΈβ€βš§οΈ

or if you happen to be an immigrant lacking basic English skills

Let's be real; you can be a native in a non-english speaking country and you're still disadvantaged in tech if you don't speak english.

Like, one of my coworkers (3rd year apprentice) has a youtube channel where he does programming courses in Kurdish and according to him, he opened that (like 2 years or so ago) because at the time there just wasn't anything like that.

All the cool new tech has documentation, tutorials, websites, even the code comments, in English from day 1; if you speak it, you can adopt the tech and succeed by riding the wave of early adoption that gives you an advantage over competitors using less productive technologies (older frameworks, programming languages, etc.); if you don't speak the language, you'll have to wait it out until someone comes along to translate the documentation and make new tutorials. This is reasonably acceptable for languages like German (we have plenty of bilingual people eager to translate everything (I've even heard jokes about how literally any movie has a German dub lol)), but what about languages from less connected areas of the world that aren't so firmly incorporated into the western cultural sphere.

And that's not even considering how these language barriers then sit on top of other problems like sanctions; a few articles from Iranian developers who lost access to github come to mind. At best these difficulties add up; at worse they have a multiplicative effect.

Much of the tech we use was pretty much built "by us for us", and it's easy to forget that.

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard • Edited

It's not only outside of the "western cultural sphere".
The language bareer is real in Spain, France, Italy,... among a very much non exhaustive list of countries where we struggle with it.
My luck was that written English was for me much much simpler than spoken English, and only the former is really necessary.

Collapse
 
kibernaut profile image
kibernaut

I share your points. Especially about "robbers" and other professions. And the rhetorical device about music and the emphasis about "practice" revealed very well the problem of teaching complex precepts. IMHO, the industry needs an honest look at what's going on, and beginners need to understand what they're going to encounter in the future. 🀝

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

Thanks mate.

Another symptom of that is all those books

Teach yourself C++ in 21 days

Spoiler alert: 21 days is enough to discover C++ but absolutely not enough to master it, especially if you are doing it alone, which you shouldn't

Collapse
 
darkwiiplayer profile image
π’ŽWii πŸ³οΈβ€βš§οΈ • Edited

21 days sounds like enough time to have a good grasp at the C++ language in a very strict sense, where you have heard of all the syntax and its features. So it's not wrong, per se, but lying by omission by not mentioning to the audience that just "learning C++" isn't actually the same as learning C++

But it's also true that after learning the technicalities of the language, anyone has the required tools to just go look at some C++ languages and start picking up knowledge about idiomatic code, the ecosystem, etc., so it's not like they're left stranded with nothing useful learned and no way to continue their learning.

Collapse
 
trannguyenhung011086 profile image
trannguyenhung011086

Yup! I share your view point. I personally believe that should be "Every one must learn to solve problems".

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

That's very true because sometimes the right answer to the problem at hand is not code.

Think about bitcoin/blockchain/nft... People started from the assumption that software had to be answer, and ended up creating more problems than they solved.

Collapse
 
matahariramadhan profile image
Matahari Ramadhan

That't the point, i agree with that. I think many people misunderstand and just say "everyone should learn code", what they really mean is "everyone should learn how to solve problems".

Collapse
 
darkwiiplayer profile image
π’ŽWii πŸ³οΈβ€βš§οΈ

Programming is such an interesting field in this regard; it has the exact same combination of complexity and applicability as things like engineering, medicine, etc. while being extremely cheap to learn (no expensive machinery to train on, no material expenses, hell, even becoming a chef might cost more in materials).

And maybe the simplicity of "install an editor+language runtime and open a tutorial" gives people a skewed impression of the complexity of the field. While people seem to have an intuitive idea of how complicated it must be to do an organ transplant, or to build a skyscraper, few people seem to have a specific idea of the difficulty of building an operating system. I often get the impression that programming seems more like magic to the uninitiated.Β Obviously it must be difficult, but few seem to have a good intuition of how and why.

The way I see it, there's a balance to be achieved, between on one extreme making false promises of a smooth learning experience and an easy way of getting a well-paying job, and on the other extreme scaring away newcomers with horror stories of extreme complexity and a steep learning curve. And there's a three-way conflict of interest here: Employers want it on one end to maximise the pool of potential employees, employees want it on the other end to reduce competition, and newcomers want some sort of honest mid-point that gives them a fair basis for deciding if this is for them or not. Needless to say, it looks like right now, employers are 100% having it their way in this regard, and in my view, they're the group I least care about, so that's not nice.

This is one of the reasons I'm always adding an asterisk to "everyone can learn to code", which is that "not everyone can get extremely good at it, and even for those who can, it takes a lot of practice and learning". In a perfect world, everyone would have a go at some simple coding to see if they generally like it, and only those who actually think "This is my thing" would continue to pursue it as a potential career. If that doesn't produce enough programmers and forces Facebook, Amazon & co. to pay more than they'd like to, well, sucks for them I guess.

I also think there's an interesting tangent on the necessity of "everyday programming", not as a job, but just to make simple automation more accessible (the IOT world might be low-key trailblazing in this area). It seems unacceptable that someone who's using a computer for work these days can't handle simple scripting interfaces that, e.g., loop over some spreadsheet-like structure and calculate an average of all fields matching a condition, or delete a list of flies taken from a CSV file, and other simple tasks like that. This is a topic I'd like to write a post about at some point, but so far I still feel like there's not enough for me to write about.

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

Wii that was a very insightful comment and I agree with all your points.

What you describe at the end seems to relate well with the low code/no code movement.

I think you should write this article, at least I would be glad to read it

Collapse
 
shayes profile image
Shayes

The mainstream idea that software development is a cushy and easy job that anyone can do is far from the truth. Of course, gatekeeping is not the solution, nor is it good, as you mention. But unfortunately, that idea being sold by people with influence and opportunists offering shoddy bootcamps only floods the market, making it difficult for honest companies to find good developers and for good developers (or those with high potential) to find that first job. I have many ideas for possible solutions, but I digress.

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

I wouldn't keep your ideas to myself, that's an important issue to tackle:)

Collapse
 
shayes profile image
Shayes

I definitely agree, and I do share them in general! But I think I could go on for pages theorizing improvements... figured I'd save that for another time. Maybe I should make a post about it πŸ˜‹

Thread Thread
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

When I gave too much to say to complete it, I split the huge article in a serie of manageable small articles and it works better for both me and the readers

Collapse
 
earthcomfy profile image
Hana Belay

I enjoyed this article. I really like your style of writing.

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

Thanks :)

Collapse
 
ant_f_dev profile image
Anthony Fung

I think the argument for everyone learning to code is that it expands the mind to make people think in different ways, and improve logical thought process. I don't think it means (or at least hope it doesn't mean) that everyone should become a full time programmer.

And as you mention it, I also agree that everyone should (at least try to) learn to play music; It's shown to be therapeutic for the player among other things. Personally, I find music production fun, even though my playing standards are nowhere near being able to play some stuff I've produced live.

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

Nice music!

Collapse
 
ant_f_dev profile image
Anthony Fung

Thanks.

As you might imagine, each piece can take quite a while to do. But it's ok when it's fun and the results feel worth it.

Collapse
 
etienneburdet profile image
Etienne Burdet

Well, we do teach music and first aid in most schools and growing plants in more and more. So yes, everybody actually learns music and sport, even if they don't tour with a band or play in the NBA. There are reasons for that.

The first one is just they are valuable skills out of full time job. Just like knowing how to grow a few things, being able to teach what you know or have some nursing/medicine knowledge is useful, not being scared of simple command line and writing small scripts can be useful to almost everybody in everyday life.

Second and most importantly, it's how you find "talented" people (what you call "special dispositon of mind"). How do you know if you're passionate about coding, if you have a mind that won't sleep until you solve that bug, if you never experienced it in the first place?

Your Listz exemple highlights a common phallacy in western thinking: only hard practice will get you there. Truth is the training time varies by hundred folds between people. For some, you might train them their whole life and they'll never play it. How do yo know who has the best potential to play Listz? By trying to teach everybody.

So yes everybody should learn to code, just like everybody learns music and math. And in times where you need more, you want to increase the pool as much as you can. Now, that not everybody will make a career out of it is logic when you thing about it (we still need people to grow food at some point), but not a reality that everybody accepts indeed…

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard • Edited

Schools allows people to discover music.
Schools can't possibly turn people in musicians.
Only the musician can turn herself into a musician the day she decides she enjoys the journey and wants do that on the long term.

I'm totally for doing the same thing with programming.

Just be realist with what a career in music or programming looks like if you choose to do so.

Truth is the training time varies by hundred folds between people.

The point is that the first criteria to learn faster is simple:

How badly do you really want to learn that thing?

For example I'm really good at learning music and programming, but I'm pretty bad at learning sales and accounting.

Collapse
 
virtualmachine profile image
ByteCodeProcessor • Edited

Well software is currently the most important aspect of our society today. Everyone sees software sort of like gold and people who can manipulate simple aspects are seen as priests so you can imagine why programmers are seen as akin to oracles and are payed as such. A programmer is never paid minimum wage they are always paid higher and an observer only sees a human sitting at his desk and typing at the keyboard in a well lit AC room. Even if you explain it, the one who listens only heard "I think therefore I produce and get paid".
To use your music comparison, imagine in the 18th century you see all this classical musicians everyone's begging them to play something. As an onlooker all you'll see is a human, neatly dressed and pressing keys on a big organ to the applause of many. If there were cheap bootcamps back in the day believe me many people will leave factory work to pursue that career. But everyone knows most people of the art back in the day were snobbish behind close doors.

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard • Edited

Well software is currently the most important aspect of our society today.

I disagree, farming is probably the most important aspect of our societies today (has always been) and there many others before we get to programming.

That doesn't mean we have to become farmers, but if we somehow could use our programming skills to help farmers do their job better, that would IMHO be more impactful than creating a new JavaScript framework.

Collapse
 
virtualmachine profile image
ByteCodeProcessor

this feels a little funny to me but I imagine the end result of the help would probably be some dystopian fantasy where farming is completely mechanised.

Thread Thread
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard • Edited

Feeding 8 billion humans is no easy task. Without the green revolution people would have started dying en masse, and we are probably not done in this regard, on this planet with limited resources

Collapse
 
rcls profile image
OssiDev

Not everyone should learn to code. Instead learn logic and logical thinking.

Collapse
 
funk5thousand profile image
Funk5Thousand • Edited

Your points are well taken but largely fallacious. On an island with 200 people of course no one would code. This is basically a straw man. You've constructed an argument no one is making, and beat at it with a stick.

The general concept behind everyone should learn to code is that software and computers can improve the efficacy of any field. Farming? Yup. Teaching? Yup. Everything. Computers are a powerful tool. The statement that anyone can benefit by learning how to implement that tool is absolutely not bullshit. It is also not meant to be a literal expression that every. Single. Person. On. The. Planet. Should be writing code. That's stupid. Why would you argue against a clearly flawed interpretation of a colloquialism?

It doesn't matter anyway. We're a decade or two from natural language coding, and then everyone will be able to write code.

Oh I see 'robber Barons'. You sit in your air conditioned house, on your computer manufactured in Asia, on your European furniture and rail against the capitalist system that literally built your entire world. Right on.

This is pseudo-intellectualism at its finest.

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

Your interpretation is reasonable but I can assure you that many people think they should code for the sake of it and end up doing useless Blockchain shit instead of trying to be helpful to farmers, teachers, doctors and all the important fields