Best advice for the newbie? Don't believe the gitricheqwik fables. It does not work that way any longer. Meanwhile, advice to new CODERS: learn all you can! There's another 20 years work ahead to get a reasonable PAYCHECK from companies chasing the top spot.
By no means I disagree, I agree on every word you wrote. Just want to expand this bit, I see it useful considering the investment it can take.
I used to be a master on Photoshop X, then X+1 came along. Then the updates came more often involving Flash, Freehand, PageMaker, etc etc. It became more and more difficult to stay updated on every single program. Sure the basis are the basis, still many companies when hiring you want to test you on the latest version. Then you might surprise some things moved from this menu to another, some vanished. Staying up to date
became increasingly difficult even if you can still master the trade, even if you can still build skycrapers, but remember
sometimes what matters is what the person hiring you/testing you thinks and values, this affects many industries.
Coding? can you?, I never see this topic on WebmasterWorld but I want to bring it to life. Many companies and job positions require tests, yes, many of those are unfair and push you to code on a whiteboard, then you might find how difficult it is to remember some commands and functions they want to test on you. And perhaps you just built a big community on the web, an amazing CMS... and still FAIL the test. There was an online movement on this, many experienced and famous coders started joining and complaining: "I would also fail that test blah blah", others posted stuff like "I copied code to build X thing", others things like "I copy my own code and reuse because no matter what, after so many years I still need to google how to regex".
It's not only the web that changed, it is the hiring process too. You might get hurt even if you can get things done.
The multi flavor war. I'm personally sick of this. So, someone needs a timer + disabling a button + validating some input. You can do all of that on javascript, yet many will go for all those 3 things to Jquery, Angular, React, Vue, etc. And demand you to do it there. Perhaps you would avoid Jquery for speed and size, besides it's only 3 things!. You might be surprised how the industry changed, you can get things done but on February 2016 you are required to master Mangular 2.1, BlahQuery 4.2, BooTools 5.0.
I don't know... I see constant job ads requiring:
- Angular
- Vanilla CSS Framework
- Coffee Script
- Bootstrap
- Skeleton
- Laravel and Symfony
- Ruby on Rails
- Phyton
- PHP
- CSS
- HTML5
- .Net
- Oracle
- MySQL + PostGress
- Java
Looks pretty huh? do you now all of them? are you sure every single one will be required?
what kind of job requires all of them?, I can think of possible scenarios where they require this from you, but they won't be abundant, so why so many ads asking for this? doesn't make any sense. Besides, you might just need 5% of Ruby and 10% of Laravel for that job, in full reality, still the test won't measure your 5% or 10%, will test you beyond that, you might fail on a test that goes beyond what you are required to do. For what? only to see 6 months later the company just built a garbage slow website and app.
Isn't that enough? you might train yourself on all of that, then find 6 months later some new version came out breaking a lot of the code. Take per example Symfony, there is a gap in versions where your code is just not compatible. The same website says is version x.1, and then version x.2.1 (just saying) but they clarify, it's a rewrite so it's like two diff frameworks in many ways, totally incompatible. It sucks.
You can learn javascript, no problem, go for it, you are done. You can learn Symfony, really? I applied for a job where they asked Symfony, learned it, yes, only to find out many things are broken (100% honest on this) and "sometimes, some things work", yet you might find abandoned threads everywhere on X commands that are not reliable because they tend to fail and doesn't work as the manual says.
I've been recently reading about coders who now hate coding, coders who quit and are now on something else, and many of those articles hate the NVanilla version 4.1, the new release of BlahFramework 4.1.2 that fixes all that 4.1.0 failed to do, then MonkeyScript, or SpaceJS 19.20 etc. Just posted on the native development for mobile something like this too, and it hurts to see many of those BLAH frameworks dead after 1 year.
Technology goes way fast, too fast that you might fall from the taxi before getting in depending where you get to work. I worked on a big media company, and at one point they said "let's go to JSP, move everything to JSP", it was such a fail... errors everywhere, we got the manuals, sometimes you mixed things like the manual said only to find it didn't work. Check online "JSP pages suck", you might face this over and over as a coder. It is sometimes difficult to get managers to understand why you should stay to X tool and not Z, they might wonder why "you" say this while the industry promisses a big change on version x.1.2.1.2.3.1.
I've been working alone on coding, I've seen the places for teamwork and many times the members of the team change as quick as the software versions. Yes, that's why quality has dropped.