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...
For further actions, you may consider blocking this person and/or reporting abuse
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 is.
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.
Es war schon dunkel
Als ich durch VorstadtstraΓen heimwΓ€rts ging
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.
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.
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. π€
Thanks mate.
Another symptom of that is all those books
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
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.
Yup! I share your view point. I personally believe that should be "Every one must learn to solve problems".
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.
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".
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.
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
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.
I wouldn't keep your ideas to myself, that's an important issue to tackle:)
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 π
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
I enjoyed this article. I really like your style of writing.
Thanks :)
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.
Nice music!
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.
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β¦
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.
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.
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.
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.
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.
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
Not everyone should learn to code. Instead learn logic and logical thinking.
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.
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