Learning to code is not hard. At all. Not relative to things that actually are hard. Having trained as an electronic engineer, programming is by far one of the easiest things I've ever done, by an order of magnitude. You can tell by the number of teenagers that can code, how many teenagers can design a nuclear submarine? That is much harder to learn.
Your comment is both unfairly dismissive and wrong.
| Learning to code is not hard. At all.
This assertion is empirically untrue in the market for programmers (if nothing else). Why are programmers paid as skilled laborers? How many not hard (at all), highly paid, and quite frankly cushy job exists? In the Bay, hiring is the biggest problem.
| how many teenagers can design a nuclear submarine?
Why is designing a nuclear submarine the point of comparison? Is this some sort of humble brag?
| That is much harder to learn.
No one claimed programming is the hardest job in the universe. It is perfectly possible for harder jobs to exist and for programming to be hard.
I'd disagree, except that so much of this depends on how you define "learning to code".
Digging into someone else's code base to understand it well enough to fix bugs and add features without introducing unintended side-effects is, at least for me, quite a challenge. It takes a tremendous amount of persistence, the ability to build a mental blueprint containing substantial amounts of logic, and - most importantly - the ability to swap into the mindset of whoever wrote the app, rather than the way you would have written it.
You know, a lot of us have studied tough things - I was a pure math major and I was a PhD student for a while in a very math-ish engineering department at Berkeley where most of the day was spend on proofs about stochastic systems or convexity. This sort of background isn't unusual here on HN, yet many of us would say that while code itself contains a wide range of challenges and difficulties, the field absolutely has monumental challenges that will push very smart people as far as they can go, maybe farther.
I once (about 15 years ago) got rebuked (gently) by a researcher at Sun Labs once when I dismissed a potential project as "easy." A museum was looking for someone to help build a search engine for their art collection. I said "a db search across some metadata, that's not a huge challenge." The researcher replied, with a mild smirk, "oh, I didn't realize you'd already solved all the issues in image search."
So then I backpedalled a bit and talked about the specs the museum had mentioned, "oh, well, they're just looking for search on some metadata". He replied, "well, maybe that's the only way they understand the problem, but you don't need to accept those limits".
There's also the amount of context required. To write a basic program, you don't need to know how computers actually work. Sure, it helps, but it isn't a prerequisite.
Designing a nuclear submarine, however, requires a lot of interconnected disciplines that rely on an understanding of each other.
To a lesser degree, it's similar to setting up your own ESXi cluster at home. You need to know more than just VMware--you need to understand networking, storage, flashing and configuring the host BIOS... AWS is quite a bit easier than managing your own physical environment.
Which may relate to why we see more younger people getting into coding than infrastructure/operations (regardless of the money).
I think it depends how you define "coding". Writing a compiler for C++ from scratch for instance isn't the same feat as coding a bubble sort in php. Besides, nobody designs a nuclear submarine anyway. I assume it's always a team work. It involves a lot of knowledge that not a single individual possesses.
I think the biggest advantage, the ease comes from the instant feedback you get while learning. Tweak something? See what it does.
Nothing's more frustrating to learn than something that comes with no feedback. i.e. relationships, getting a job, education its self
Yes and no. From my own experience I would agree that learning to code is initially easier than hard engineering disciplines. However, the worst code I've encountered is written by EEs and MEs that overestimate their skills.
And, as mentioned elsewhere, there's a big difference between writing an application or two and being involved in a larger software engineering effort.
Well learning if - while is like drawing a submarine on paper. How many teenagers can design an embedded software system of a nuclear submarine is a better question I think.