Sunday, February 18, 2018

Switch off of Java

Back when I was looking for a software development job I had decided I was going to switch tech stacks from Java to something like Go or Ruby and do coding interviews with those languages even though they weren't my strongest language. A mentor of mine had given me some advice that it really wasn't worth doing. I should stay with Java and instead work on data structures and algorithms. This would get me a job at a top company like Google or Facebook. I would still play with other tech/languages a bit on my free time but I took the advice and focused instead on Java while heavily focusing on data structures and algorithms.

Some companies, especially the larger ones will interview you in almost any language and just want to see if you have the core Computer Science concepts down. They don't really care what language you use. Data Structures and algorithms are obviously important, but this doesn't mean you shouldn't invest the time to switch languages.

Well I never made it back to a software development job because I changed course. But during my travels I did end up talking to a different guru (former Google engineer, started successful company) who gave me some different advice. Generally younger, more forward thinking companies start their tech with newer languages and technology. The culture, the type of coworker that I would have would be different. I'd probably like my coworkers better and like the company better.

It takes a lot of effort to learn a new language but this doesn't often times lead directly to higher pay. Thus, people don't do it. Java shops tend to have and older crowd since Java was the hot new thing back in the day. These days maybe Golang, Erlang, Kotlin, etc. Its amazing to think that for many young software engineers, these will be their first language. Some Java folks will try them out but many will not have the motivation to do so (hey after all Java is still the #1 used programming language). But if you are looking for extraordinary, it may be worth avoiding the laggards (majority) and stay with the early adopters.