Your friend is right. An awesome developer is who understand at perfection algorithms design, data structures and objects.
When I began to write code (circa 1996) in Turbo Pascal, I thought it was the perfect programming language. ASM (Assembler) was the programming lang of lowest level by default, and C/C++ a prog lang of high level. And Visual Basic 4 was emerging like the future of prog langs.
In these days, almost nobody use ASM and C/C++ is consider a lang of low level which would be use when speed is a requirement and totally necessary. Visual Basic wasn't the prog lang of the future, and Turbo Pascal is a forgotten lang.
These days, based on my 16 years of experience, you should focus first in the basics, like your friend told you. And when you choose to learn a prog lang, I would recommend you to define first where do you want to work: on desktop or web environment?
For desktop environment (based on my experience and current job market): Python, Java and after C or C++. A lot of job posts in big companies ask you to know Python. Java is great because has Swing framework to make a windowed application, is cross-platform (like python and C/C++), furthermore, Java is used by default in Big Data issues like Cassandra, Hadoop, Lucene, (and there is a lot of money here) has great integration with Oracle products (more money), and is ask a lot by big companies like Python. And C/C++ is used for very specific projects and not much companies use it, except big companies of course.
Note: if you choose to work for desktop environment, the last recommendations are for Windows and No-Windows operating system. If you want to be a Microsoft geek, forget Python, Java and C, and learn Visual Basic and maybe C#, and a lot of SQL Server internals (aka SQL Server database administration).
For web environment, I recommend you to learn PHP first of all, Python and Ruby. Today there is a wave for Python programming, but PHP rocks and is used by big companies like Facebook, Tumblr and Wikimedia Foundation. Python is used by Google mainly, and Twitter uses Ruby. Furthermore PHP is easy to install, documentation is very user-friendly (I love it) and is installed in almost each hosting service that exist in the world, so you can earn more money being a web developer.
Like you're studying Financial Engineering (I'm Public Accountant and Computer Sci professional), I recommend you to focus on C++ and after in Java. Why? Well, C++ is fast to calculate things and is used extensively in Machine Learning (a branch of Artificial Intelligence sometimes used in financial issues), but in the real world, the tasks you'll face daily will be solve better with Java and the tools that use this language.
If you have any questions, feel free to contact me!