Technology is evolving rapidly and with the rise in number of startups since last decade, there have been tremendous rise in number of programming languages.
When you are learning to program you must carefully choose your tool (the programming language) in which you would want to code your entire life, right? If this article was being written 10 years ago, i would have simply said just go with JAVA and you will have a great career ahead as a software engineer, but this is not the case any more.
In today's world it's better to learn the concepts (Design Patterns, Problem solving techniques) instead of mastering a programming language. Just know the basics.
With rise and fall of startup's these days you cannot stick to just one programming language, as tech industry is going through a transformation phase where everyday next big thing is coming up and if you want to be on same track you need evolve along with technology. Mastering a single language has its own drawback, as you will be bound to conventions of that particular language and your boundaries will be limited.