HACKER Q&A
📣 alex-berlin

How long to become a senior in a different stack/language?


Right now I'm looking for different roles and there's a lot more Java/JVM based positions around me than Node.js, in which I'd consider myself a senior.

At what point is it dishonest to apply as a senior for roles that use technologies you don't experience in?

Would expand this question to include:

- Cloud platforms (AWS, GCP, Azure, Heroku, etc

- Languages (different paradigm, differently typed, etc)

- other relavant points


  👤 davismwfl Accepted Answer ✓
Being a senior engineer is less about the language and more about your total experience and architecture knowledge. I haven't actively used Java in 10 years, but I'd have no problem applying for a senior position but I'd be very direct and honest about my current Java experience.

When I am hiring people for senior roles, I care less about the language they know and more about their actual experience. If you understand patterns you'll recognize them in any language. If you recognize good practices, they are the same across languages, for the most part. Architectures are less language dependent and more about experience.

Now, that said, there are parts of specific languages which are unique and you need to know the language well. So I am not discounting specific language knowledge, but I'd much rather have a senior engineer that knows their stuff from an engineering/architecture point and has worked in multiple languages than someone who just knows one language. So typically I only view people as senior if they know (have worked in) more than one programming language, but there are exceptions of course. Most likely a person who has 7 years of Java but has never worked in any other language is senior, but more so a senior Java person, than a senior engineer. So, they would not rank as high to me as the person who has worked in multiple languages in the same time period and solved various problems. Mainly because when you only know one language it is a hammer and you'll use it even if you need a screwdriver which is worse then they person who maybe has used 3-4 languages and is flexible about using what fits. Also, this typically goes to the fact when you get stuck in a single language on similar problems you typically have a narrow scope of knowledge. Of course, there are many exceptions, for example, the person who has worked only in Java but has worked at 3-4 companies on different problems will be a lot better then the guy coming out of a Fortune 500 firm where he worked on one product in Java his whole time there.

Hopefully that makes sense.