Apart from being comfortable with the basics, which will allow to transition to similar stuff
Language
frameworks
algorithms
class design
system design
testing
refactoring
architecture
Most languages, have many similar ideas, but different syntax
but to be an expert, you need to spend more time learning the details
Most applications/systems are written using a framework, and this leads to needs to be framework developer and need good knowledge of this framework
Main areas - dont need to be expert, but need a good understanding, and this includes hardware too. These are some areas that people will be more expert in one (t shaped developer)