The same is true when you're experienced -- programmers often say that programming is easy, which is because _syntax_ is often easy. It's the mechanics of how everything fits together that is difficult, and is often overlooked as a concept.
> If I smell this attitude on someone, I’m not hiring them.
I don't think you have worked with the web in a professional capacity. Greater than 90% of the people doing this work now have no idea where the nuts and bolts actually go. They know they cannot do their jobs without some sort of framework to do most of it for them. They also know they need half a million NPM packages to left pad 3 lines of text and writing the equivalent functionality themselves is emotional torture (its like child abuse, except these are adults).
While this attitude comes across as code smell it is the industry norm. The unfortunate conclusion there is that it makes life substantially harder for people who are experienced and prefer to not operate in ways you might refer to as code smell.
Your comment comes across like someone who has read a lot of HN comments, mixed it with an anecdote or two heard from friends at a bar, and is trying to pass it off as industry experience. And yeah, if you believe HN comments, then everyone is making six figures (but somehow also contribute no value), things like docker are easy to learn and require no skill (because folks here learned them easily after having years of software development experience) and npm users pull in packages for string operations (something that was true years ago, is still occasionally true in open source, but is not true in most shops I’ve worked in).
Believe it or not, my current client does code reviews, mandates 85% unit test coverage, and tests in all the major browsers. And if anything doesn’t pass muster, even small visual defects, it gets kicked back and is not merged. When I talk to the people I meet at JS meetups, their workplaces are not all the same, but they’re usually similar.
It really doesn't take much in this technology space to be a 10x (or much more) developer. It really boils down to don't do stupid things and don't wait for dependencies to do your job for you.
I have seen first hand at multiple places that web dev is extremely fashion driven and half-assed code are passed off as industry best practice.
Moreover even without knowing the internals at workplaces, I can see typical websites are slow, buggy, crappy so even if best code, it does not mean much to me as a user.
- Where to write code
- How does a webpage actually work
- How webpages and other stuff get served
- How does the terminal work
- What does a compiler do
- What is a syntax error
- How scope works
- How functions and abstraction work (this one is often a huge mindfuck)
Then there’s the CSS and git stuff you mentioned. Beginners often find CSS super frustrating. The tutorials from different years recommend different things, and I occasionally find people trying to build pages using weird combos like position and grid or floats and flexbox. And then there’s git, which has a huge learning curve and is very difficult to pick up without someone to tell you “you’re trying to do this? Here’s what the command is called”.
In the end, even if you can figure all this stuff out that quickly (again, starting from zero) you’re going to be starting as a junior dev (You won’t be passing any tough technical interviews) and unless you’re in the bay area there’s no way you’ll be making close to six figures. And finally:
> you don’t need to be good at programming
If I smell this attitude on someone, I’m not hiring them. If someone is new, applying as a junior, and is willing to learn, that’s fine. But when I hire someone junior, I know I’m going to have to do a lot of work to train them up and fix their stuff as they get acclimated to working in software. And if they don’t follow directions, learn from their mistakes, or show a desire to improve because they’ve internalized the mindset that “you don’t need to be good at programming”, I’m going to be quite disappointed in them.