Since I am from a Computer Science background, I will write from that point of view. Also, my answer would primarily be useful for those who are still in college.
At IITs, by-and-large, we follow a template aside from our usual college curriculum. If you observe carefully, most of the courses are the same in almost any institute. Clearly, that is not the difference creator. This template is what creates a difference. This template is what most people follow which helps them develop the right skills for the industry.
- Year 1: Get extremely good at writing code. As a first step, it is important that you are absolutely comfortable with writing code. Given an algorithm's explanation, you should be able to implement it in no time. I have seen many people start Android app development in the first year. Do you know how to write code? If not, focus on that. Leave Android app development for later years.
- Year 2: Learn problem-solving. You can do so by practicing a lot of problems on various online judges like CodeChef, SPOJ, CodeForces, etc. Competitive Programming opens up your mind and helps you think faster and better. As a college student, it should be among the top things in your priority list. Participate in Programming contests like ACM ICPC. Achievements in these contests really shine on your resume. Please note that I am not marketing for Competitive Programming. I am marketing for problem-solving. Competitive Programming happens to be one of the best ways to learn problem-solving at the college level.
- Year 3: Learn backend development in at least 1 well-known programming language. I'd personally recommend Python since it is extremely popular in the market. You can alternatively try learning JavaScript (NodeJS) or Ruby (RoR). Being good at 1 backend framework opens up a huge chunk of the market for you. I have seen that a lot of students try to learn 10 different languages while they know nothing about any of them. All they know is the basic syntax of loops, if-statements, etc. Trust me, this is wasteful. You should rather be a master at 1 or 2 programming languages. What you should however know is the technique to pick-up any new tool/technology/programming language. If your concepts are right, it would take you no time to switch languages.
- Year 4: Learn new technologies like Machine Learning, Blockchain, etc. In today’s fast-moving world, it is important that you stay relevant to the market demands. This will help you create a competitive edge over your competitors.
Do not flip the order. Do not learn Machine Learning when you barely know how to write code or solve problems. Almost every company today takes a DS/Algo round. Make sure that you are able to crack it. If you have mastered the art of problem-solving, everything would be easy for you, be it Android, be it web, be it ML/AI.
Thanks for great article..
ReplyDeleteAll the best!
ReplyDeleteIt's really nice of you
ReplyDeleteIs the content a copy of similar answers you have on quora..
ReplyDeleteThat's right. For now, I have picked up my own content from Quora. I'm working on fresh content.
Delete