| Hi! Lots of good advice already given out here. But I would like to add some of my own view points About me : 23, ex-WalmartLabs, currently working on my own startup. There are many ways to become a software developer, it all depends on what kind of role you're aiming for. - Software Developer (SDE) Typically the job offered to most young grads at the bigs cos (google/linkedin/walmart etc). They want to test your algorithm and programming skills. Check out [0], [1], [2] . It should take you 1-2 months to go over most of this stuff and several more to get really good. Start applying once you have a grasp of the basic principles, perfection only comes with practice. If you're serious about such roles, I recommend spending at least 3-4 hours a day doing these problems. - Technology specialist roles (IOS/Android/Node/Python/PHP etc) These also require some programming knowledge. Use the above resources and at least do the basic Data Structure questions. Apart from that, showcase your projects, contribute to other libraries and/or roll out your own. - Devops Another cool field to get into. I am not well versed with the requirements myself but AFAIK, you need lesser DS and algo skills here and more tech domain knowledge. - Freelance/Consulting Just keep doing what you're doing right now. Find some consulting firm to market your skills for you. The monthly HN thread might be a good way to find leads/contacts. Can also consider bidding for projects on upwork/freelancer/others. ========= All in all, only thing I can say is that there's no need to be disappointed. You will get a job. You just need to prepare with a proper plan. 0 - https://www.geeksforgeeks.org (Recommended at least basic linked list, trees, arrays, graphs and greedy algo questions) 1 - http://www.leetcode.com (Do all these questions) 2 - http://www.spoj.com (can also use topcoder for this. Use this to level up your skills and land the high paying jobs ) |
Be polite and friendly (lots of rejections happen because of bad attitude).
Would recommend reading Clean Code. Might help you improve the quality of the programs you write during interviews.