Tuesday, October 21, 2014

How to Guide - Learning Programming Language for Better Career

Learning a programming language and making a career out of it are interrelated but not same. Having said that, you may master one language but to grow in your career using that language you need to know more than mastering that language. Which means you may need to expand your horizon for various different tools and technologies apart from that one language you learnt or love to learn. You will also need to enhance your domain knowledge for industry along with your knowledge of software technologies. This is the package which only makes a better career, not the learning or mastering a specific language. Although, one thing is for sure to succeed what so ever technology or language you learn you must be good in logical thinking, analyzing problems, resolving issues and defining algorithms apart from your programming capabilities. 

In terms of learning any language for career, start with the popular ones like C++, Java, SQL or Python. Then expand your horizon of skills specific to that language. E.g. If you choose learning Java then once you learnt that language expand it to J2EE, then to different frameworks based on Java and also to any new technologies based on Java etc. Similarly properly selecting this step will also help in shaping up your career. Another e.g. If you picked to learn SQL then over the period you will gain mastery in it then start learning different aspect of databases like DB tuning etc.. You will find even if the SQL was your start point but once you started expanding the horizon you may shape up your career, say as a database administrator. It’s like starting up the 1000 miles of your career with initial few steps by learning a specific language.

The specific language to choose will be totally depend upon your personal preference and learning interests.  Some people want to go in web development then Java, Python, PHP etc. will be the best start point, some love the DB part then SQL is the absolute start point and for those who wants to dive deep down into OS, Drivers etc. then C, C++ is the start point.

If you are starting up your career, then I will suggest you to learn as many languages or technologies you can. Never restrict yourself to any one of the technology. Once you progress in your career you will know which one you like the most and bend or shape up your career accordingly.

If you have already spent some time in your career, then find out how that technology you are using is now evolved into new form or switch to closely matched skillset in the industry. Also it’s never too late to learn something you feel is in demand now and can also value add to your experience.

In terms of technological future none of us know how it will shape up, so stop worrying about it. If someone say the technology you picked up today will be obsolete in couple of years, then analyses it with your own knowledge and experience before accepting it. I have heard C++ will become obsolete since Java came to picture or any other web technologies ruling the world. Similarly during 2001 bubble burst heard Java will be gone from the marked in couple of years. Nothing happened till date. I just wanted to give you some examples from history to emphasis my point here. That’s why analyzing skill is the surviving skill needed for developer in this industry, not only for benefit of learning technologies but also for your own benefit of defining career path. 

Last but not least for some of the cases you may not need to be master or expertise of a particular language as some of the technologies may need particular language knowledge too where you may not need to be master of that original language but knowing that will only be enough. Sounds confusing? E.g. To learn ABAP, SAP UI5, Machine learning, some data warehousing tools etc. you may need Java as their start point or you may need .Net skills to learn SharePoint etc. So if you pick Java but want to learn SAP UI5 or ABAP then you may not need to master in Java. Although mastering any language even if it’s not going to be used as primary skill for that technology will be beneficial in long run.

I believe I had already named many programming languages, tools and technologies along with the way to learn it for better career. Hopefully this will help to anyone who is in dilemma of choosing technology for a better career. Let me know in comments, if you agree or disagree to my points or I had missed some points here.


©Tapas Majumdar

No comments:

Post a Comment