|
I'm shocked you're asking that question. Most programmers are vocational and work for corporations. Most corporations try to force standardization. As a result, most programmers are significantly stronger in one language/platform than any other (whether they have any experience in others or not, which they usually will). As a dumb example, when XMLHTTPREQUEST hit the streets, it was a paradigm shift in enterprise, but a pretty easy one for web developers to add to their toolbox. Years pass.... When everything became javascript, that was much harder, especially for the .Net folks who came from a VB6 background rather than a pure HTTP/TCP/CGI background. Lots of companies are still in infancy with adoption of modern front ends, mostly because their programmers are not polyglots and actively resist learning new things... and you can't just abandon hundreds of legacy apps through hiring better educated, modern web developers with the limited budget most companies have. A few years ago we made a decision to shift from a .Net (+MSSQL+JQueryUI) stack to a Java stack, mostly for licensing cost avoidance after MS raised the price of SQL Server dramatically with 2012. More than three years later, >90% of our internal apps are still .Net and only a handful have been released on our new preferred stack (Java/PostgreSQL/Bootstrap/Angular) and probably only 10% of the programmers are competent enough to work independently using the new tooling. This sad state is an area where there's a lot of naivete among young programmers and startups. The corporate world just doesn't work in remotely the same way. ... ironically, a lot of "progressive" corporations end up creating mini-Innovation teams internally with their best & brightest, who are told to "act like a startup" and end up basically creating 75% of all the new stuff ... until it requires an interface to a legacy system and the devs outside the team refuse to cooperate out of fear. Oh, it's a mad, mad world. |
While I'm certainly stronger in one language I'd say it's quite normal to use at least 3 programming languages daily. As a Unix guy it's even more. If I just want to write a Python hello world I need to know some Python, some Bash, some Vimscript, some Terminal I/O. Many of my projects also have Makefiles, additional bash scripts (which includes SED and AWK besides Bash). Interaction with databases, APIs, JSON or XML or INI configs, HTML, etc is also common. And let's not forget that most systems that have grown over the years have a few DSLs to interact with their tools.
So before I finish my first coffee I've probably used 6 languages already on a typical work day. I think most coders in my company are fluent in at least 10 programming (&related) languages. And while our software development team is certainly better than my last gig I still hope it's not the top of what software dev teams can be.
And your most prevalent point is that company enforces some language usage. It's often not the same if you switch. So if you have more than 5 years you probably can increase the typical programming language fluency about 50%.
Also your example about switching stacks. Your first stack had .Net, C#, SQL, JS and JQuery. Now you at least sometimes also use Java, and whatever Bootstrap/Angular require.