I doubt you professionally know 6 languages. There's a lot more to learn about the runtime, frameworks and tools of a language than there is syntax.
I doubt you professionally know 6 languages. There's a lot more to learn about the runtime, frameworks and tools of a language than there is syntax.
I have, in the past 10 years, professionally and successfully worked with C++, Scheme, Ruby, a couple generations of JavaScript and Rust. And I've written a whole pile of shell scripts. These were all "first tier" languages in which I was up-to-date at the time. I've also, as a consultant, delivered projects in C# and Java. In these cases, I didn't know all the tricks, but my code met specifications, it had tests, and it was reasonably clear.
Oh, and I also wrote a bunch of Haskell on my own time, and it was stronger than a couple of the languages that I got paid to use.
But no, I'm not professionally up-to-date in all these languages. My C++ is out of date, JavaScript frameworks change every year, etc.
But if you dropped me in a new job with a new language, I could be delivering business value and clean code inside of two weeks, and I'd be reasonably current on whatever framework I was using within a few months. Yes, it would take slightly longer for Elixir or Erlang, and longer still for something like Coq, because there would be new paradigms involved.
But there really does come a time when genuinely unfamiliar ideas in mainstream tools become rare and special. I'm always happy to learn something new like React's virtual DOM or Rust's borrow checker.
And I know plenty of people who are far, far better than I am.
And this is why I'm generally happy to assume that competent developers can learn on the job if they show any interest in doing so. You really don't need more than one person on a team who knows the deeper trivia of a framework.
This is one of the things I consider to be a trait of a senior developer, when making hiring decisions. I understand why places post jobs that want X years experience with Y stack, because they don't want to feel like they have to teach "the basics" to someone at a high level, but I've found "the basics" is just what you've described in that sentence. Good professional software developers are language agnostic - even if they've spent the last 10 years on a single language in practice.
That is true but on the other hand, vast swathes of commercial work boils down to, use a language ultimately derived from ALGOL to process data structures that were in textbooks in the '70s.
All the libraries are ultimately written by people, and people who themselves have used other languages, so variations are pretty minor. The function you need to connect to a DB might be different but I bet the parameters you pass to it are in the order of username then password, in any language. Even Ruby, whose community delights in obscure, meaningless names, has patterns in common with everyone else...
Php, Java, ruby, python, javascript, SQL, perl, pl/sql, and bash.
And have been paid to write them all over my career.
Not saying I wouldn't need a day or two to brush up on some of them (perl was pretty early in my career), but 6 languages isn't that large a number once you've been around for a decade or two, especially if you consult.
And you overestimate the differences between the runtimes and frameworks. Most of them work in a very similar way to one another.
Fortran,BASIC,Perl,PHP,ASP,PL1/G Plus MySQL and the procedural languages T/SQl and PL/SQL.
And now, as per GP post "But, I know 6 other languages, I can learn one more..." you should have no problem learning C++ on the job after being hired for a senior C++ position.
That's what juniors do. Please don't use Stackoverflow professionally like that. You should consider reading a book on the subject which provides more context and better practices.