Today, the majority of engineering graduates are placed in software companies. Most software companies hire many developers every year. Even if you are from a non-CS branch, chances are good that you will work for a software company.
- If you are a student and you have some kind of knowledge about work situations in the world and you have the intuition that your chances of working for a software company are very high.
- I will strongly recommend that you try at least one job at a better product-based company.
- Don't try to access all these service-based jobs. These service-based jobs won't pay you much and 3-4 years after entering these jobs, whether you're trying to get an MBA or trying to get into a product-based company that pays better.
- Now you know that after a few years you will try to get a better job anyway. So let's start with our college days or as soon as possible.
- This will be a roadmap of what and how you should learn everything.You can complete this journey in 1.5 years.
Month- 1
- In the first month you should start learning a programming language. Learn either Python / C++.
- I should ask you to preferably start with C ++. I am telling you to study C++ because it will be useful in your programming journey ahead.
- Resources for learning C ++ - thenewboston Youtube Channel
- Resources for learning Python - Python tutorial by freeCodeCamp
- In this month you should focus on the basics of any language you choose.
- Along with completing C ++ / Python lectures. You should focus on solving some basic problems in hackerrank.
Month- 2, Month- 3 and Month- 4
- You should start learning about Data Structure and Algorithms.
- The data structure and algorithms are very important to any CS / IT job because its concepts will be verified once you start interviewing with any Product based company.
- YouTube video link through which anyone could learn about the data structure and algorithms. - MIT OpenCourseWare
- Don't finish watching all the videos at once. Begin practicing questions on the topic you have completed lectures simultaneously. Do not practice more than 7-8 questions on a topic at this time.
- In this way, you will begin to acquire problem-solving skills from questions about data structure and algorithms.
Month - 5, Month- 6 and Month -7
- Start practicing more questions about data structures and algorithms.Problem solving skills are highly required by every programmer.
- These three months will be very important to develop your problem solving skills. Remember that.
- Now a question arises where we should practice questions about Data Structure and Algorithms.
- You can start practicing data structure and algorithm problems while participating in a live coding contest.
- Two major websites hosting programming challenges include Codechef and another is Codeforces
Once you start practicing problems, you will learn many hidden skills that include.
- Learn about different types of complexity, which is the complexity of time and space.
- Debugging the code.
- How to write code under pressure, which is a very important skill.
Month- 8, Month-9 and Month-10
Since you are from a non-CS background, you need some skills to display on your resume. Learn basics of HTML, CSS and BOOTSTRAP.
As a developer, you are always expected to know all of these skills. Once you have completed learning all of these skills, try following any of the options given.
Option 1
Path to become a Front End developer.
- Learn JavaScript in good measure. It will be very important in your journey as a frontend developer.
- Now is the time to choose a frontend framework that includes ReactJS, AngularJS, VueJS.
- You can choose any of the three, but it seems like there are currently more developer jobs in ReactJS.
- For learning ReactJS use this free youtube tutorial - Learn React JS - Full Course for Beginners
- Start learning the framework and try building some projects. These projects will play an important role in separating you from a crowd that has not created a project.
Option 2
Path to become a backend developer.
For this, you can choose Django or NodeJs to become a back-end developer. For Django you need to learn Python.
- Once excellent resource for learning Django - Django Girls Tutorial
- In this website, everything is mentioned in detail if you want to learn Django. Using this website you will be able to create your own blog and also how to host a website online.
- If you know the basics of Javascript then you can learn NodeJS. NodeJS is an excellent backend framework to learn.
- In last few year demand for NodeJs developer has increased a lot. So learning NodeJS can be game changer in your career.
Once you have finished either one, among Django and NodeJS. Try to create some projects using either of these two.
- Put these codes on github. If you can host any of your projects online, please do so. It will also give you an advantage.
- There are several companies out there. They request for hosted projects. Many companies like to see if you are able to host a website.
- For hosting purposes, you can use Pythonanywhere or any other hosting medium.
Option-3
Path to become an Android developer
Learn any of the Kotlin and Java languages. I will suggest if you are starting to use Java first.
- You will also need to learn all the concepts of object-oriented programming in Java.
- Once you learn the basics of Java. Start with the basics of Android development like buttons, layout, etc.
- Create projects once you complete the basics and put all the code online on github so you can show it to potential companies.
- I cannot express the feeling in words that you will get once you see your application on your phone.
Android developer guide -
Also, throughout this period, you should keep practicing questions on data structure and algorithms.
Do not stop participating in contests. Keep Coding.
Month- 11, Month- 12 and Month- 13
In this period, you should focus on other computer science topics. Includes various concepts.
- Object-oriented programming concepts: OOP concepts
- Database management system: SQL queries.
- Operating system: operating system and its types.
- Computer networks - OSI models.
In this blog I have mentioned all the topics to learn in these subjects. - Beside competitive programming, what else should a competitive programmer, as well as computer science student, learn for getting job or profession?
Month- 14 and Month- 15
It's time to review all the concepts you have learned.
- You should start practicing all the questions that are asked repeatedly in interviews.
- You can check the Interviewbit or Leetcode website.
- You should also maintain your github correctly along with your linkedin.
- All projects should be kept on Github with appropriate comments and readme files.
If you followed the above route correctly, you will definitely get a developer job at a product-based company, even if you are not from CS.
Further reading:
Comments
Post a Comment
If you have any doubts. Please let me know.