Here are my 2 cents:
- Increase your visibility: create a proper LinkedIn, Github and AngelList profile. Recruiters are active on LinkedIn and AngelList. Make sure that you have a great profile that helps you get visibility. Do not post/share unnecessary stuff that dilutes your branding.
- : just having visibility as such is useless if you are unable to get shortlisted for interviews. If some recruiter contacts you, you should make sure that you reap that opportunity and that your resume is shortlisted. How do you do that? Learn new skills and build great projects around those skills. For instance, you may want to learn Web Development. For this, you can choose to pick up say Django, which is a great Python-based Web framework. Now, don’t just learn Django. Build a great project around it which you can showcase on your resume. This drastically increases your chances of success. Also, gone are the days of old technologies like ____ (I won’t name, else people may get offended). Focus on cutting-edge technologies that are trending in the market. Machine Learning, Artificial Intelligence, Blockchain, etc.
- Prepare well for interviews: all your efforts around increasing your visibility and building a great resume would go waste if you are unable to do well in the interviews. It is good to know Machine Learning. However, interviewers don’t just evaluate your current level of knowledge. Most of them are also interested in your thinking and problem-solving abilities and also your ability to pick up new things. As a result, it is quite a well-established fact that most Software companies conduct an interview around Data Structures, Algorithms and fundamentals of Computer Science (OS, Databases, etc). Therefore, it is extremely important that you focus on these skills as much as you spend time learning Machine Learning or any other skill.
- Utilize your network: try reaching out to your friends, seniors, and colleagues who are working in a company where you want to work. Ask them for help in getting you a referral. For this, you need to win the confidence that you are worth referring. That’s where point 1 comes into the picture - increase your visibility.
Some other important points to note:
- Good software companies do not care about the number of years of experience you bring on the table. Most of them care about your ability to learn new things and move fast. You should be able to prove it by showcasing the latest skills. As an example, if you are a PHP developer, you are likely to get paid lesser as compared to a Python developer. Having Python on your resume shows that you care to pick up new skills. This is exactly the same reason due to which Machine Learning engineers make more money than simple web/Android developers.
- Resume quality talks a lot about you. Companies do not expect a software engineer to make the highest quality, most beautiful resume. However, if you are making typos in your resume, that clearly shows that you are careless. If you cannot spend 30 minutes to proof-check your resume, you sure will be careless at your job. Companies hate that. Unless you work at a company where the packages are absolutely fixed, your resume is surely going to be one of the factors that will decide your salary. Good resume implies a higher salary.
- Prepare for interviews. You built an awesome large scale Machine Learning application. Awesome. But what do I do with it? How do I trust you that you made it and not your colleague? Also, the application may be amazing, but it has nothing to do with what my company does. So, I will surely evaluate you by conducting an interview. If you are unable to clear my interviews, I don’t care if you built the next Facebook. I need to hire someone to build my company. I am not hiring someone to build another Facebook for me and so, you will have to clear the hiring bar of my company.