Month | Goals | Activities | Resources |
---|---|---|---|
Year 1 | Foundations | ||
Month 1-2 | Programming Basics (Python/C++) | - Learn basic programming concepts: variables, data types, loops, conditionals. Practice writing small code snippets. | - Codecademy or Udacity: "Intro to Python" - Sololearn App |
- Code daily on platforms like HackerRank or LeetCode (Easy level). | - HackerRank/LeetCode beginner-level problems | ||
Month 3 | Data Structures Introduction | - Study basic data structures: arrays, linked lists, stacks, and queues. Practice related problems. | - YouTube: "Data Structures Easy to Advanced Course" by William Fiset |
- Build mini-projects (e.g., a simple calculator or quiz game) to apply what you've learned. | - Project-based learning: FreeCodeCamp, DevProjects | ||
Month 4 | LinkedIn & GitHub Setup | - Set up LinkedIn and GitHub profiles, including a simple bio and picture. | - LinkedIn and GitHub tutorials on YouTube |
- Post your first project on GitHub and connect with classmates and coding peers on LinkedIn. | - "GitHub & LinkedIn Profile Optimization" by Amigoscode (YouTube) | ||
Month 5 | Continue DSA Practice | - Practice problems focusing on binary trees and recursion basics. Aim to solve at least 3 problems weekly. | - GeeksforGeeks: "Data Structures Basics" |
- Participate in coding communities like CodeChef or LeetCode's weekly challenges. | - CodeChef contests and LeetCode Weekly Challenges | ||
Month 6-7 | Learn HTML, CSS, JavaScript | - Learn the basics of web development, creating simple responsive web pages. | - "HTML, CSS, JavaScript for Web Developers" on Coursera by Johns Hopkins University |
- Start building a personal portfolio website. | - freeCodeCamp’s HTML/CSS Course | ||
Month 8 | Simple Full-Stack Project | - Learn basics of Node.js or Django and create a simple CRUD application. | - YouTube: "Full Stack Web Development Course" by Traversy Media |
- Deploy the project on GitHub Pages or Vercel. | - Vercel or GitHub Pages deployment tutorials | ||
Month 9 | Mid-Year Review & Basics in Algorithms | - Review DSA progress, aiming for 20-30 completed problems on LeetCode. | - LeetCode or HackerRank profile review and progress |
- Study sorting algorithms like quicksort, mergesort, and insertion sort. | - "Sorting Algorithms for Beginners" playlist on YouTube by Tech with Tim | ||
Month 10 | Explore Hackathons | - Attend hackathons to gain exposure (start with beginner-friendly virtual ones). | - Devpost for upcoming hackathons - MLH (Major League Hacking) website |
- Practice building quick projects in teams, focusing on collaboration and brainstorming. | - MLH beginner hackathons (join as an observer or contributor) | ||
Month 11-12 | Deepen DSA Skills | - Study advanced data structures: heaps, graphs, hash maps. | - Educative.io: "Ace the Coding Interview" - HackerRank Data Structures |
- Participate in online coding contests to improve speed and problem-solving strategies. | - Codeforces contests and AtCoder beginner contests | ||
Year 2 | Intermediate Skills & Projects | ||
Month 1 | Start Competitive Programming (CP) | - Start competitive programming, solving problems on Codeforces and CodeChef. | - YouTube: "Competitive Programming for Beginners" playlist by Errichto |
- Practice dynamic programming basics (start with simple DP problems). | - "Dynamic Programming - A Beginner’s Guide" by Aditya Bhargava (Medium article) | ||
Month 2 | Data Structures & System Design | - Study scalability, REST API basics, and build a basic REST API. | - "Learn REST APIs" by freeCodeCamp (YouTube) |
- Explore open-source projects on GitHub related to REST APIs. | - GitHub search with filters for beginner-friendly repos - GitLab's Open Source list |
||
Month 3 | Build a Full-Stack Project | - Build a social media clone or blog platform using React and Express.js (or Django). | - React and Express tutorials on YouTube (Traversy Media) |
- Deploy on platforms like Heroku. | - "Deploying a React App to Heroku" (official Heroku guide) | ||
Month 4 | Enhance LinkedIn & Resume | - Update LinkedIn and GitHub profiles with your full-stack project, detailing the tech stack used. | - LinkedIn Learning: "Building an Impressive LinkedIn Profile" |
- Connect with professionals in your desired fields and get feedback on your profile. | - YouTube: "How to Grow Your LinkedIn Network" by Influential U | ||
Month 5 | Hackathon Preparation | - Start participating in hackathons and working on real-world problems in teams. | - Devpost for hackathon listings - MLH (Major League Hacking) advanced challenges |
- Focus on rapid prototyping, UI/UX basics, and pitching project ideas. | - "Design Thinking" by IDEO on Coursera | ||
Month 6-7 | Internship Search | - Apply for internships on LinkedIn and job portals like Internshala. | - Internshala, LinkedIn Jobs, and AngelList for internships |
- Tailor resumes for specific roles and use GitHub to showcase projects. | - "How to Write a Resume for Tech" by The Tech Resume Handbook | ||
Month 8 | DSA Advanced & Mock Interviews | - Study advanced algorithms: graphs, dynamic programming, and practice mock interviews. | - LeetCode and Pramp (mock interview platform) |
- Do 1-2 mock interviews with friends or online to build confidence. | - Pramp for mock technical interviews | ||
Month 9 | Build and Deploy a Real-World Project | - Build an app with user authentication and database integration, like a task manager. | - YouTube: "Build a Full Stack MERN App" by freeCodeCamp |
- Deploy on Vercel or DigitalOcean for experience with deployment processes. | - DigitalOcean deployment guides | ||
Month 10 | Explore Open Source | - Contribute to open-source projects, especially during Hacktoberfest. | - Hacktoberfest by DigitalOcean - GitHub Open Source Guide |
- Use Git and GitHub for version control and collaboration. | - "Git and GitHub Crash Course" by Traversy Media on YouTube | ||
Month 11-12 | Competitive Programming & Refine DSA | - Aim to solve medium to hard-level questions consistently on platforms like LeetCode. | - LeetCode Medium & Hard problem sets |
- Focus on improving problem-solving speed and accuracy. | - CodeChef and Codeforces advanced contests | ||
Year 3 | Advanced Skills & Internships | ||
Month 1 | System Design & Advanced Full-Stack Development | - Study advanced system design concepts like load balancing, caching, and microservices. | - "System Design Primer" by Donne Martin on GitHub |
- Build a project showcasing these skills, focusing on performance and scalability. | - "Scalable Web Architecture" course on Udemy | ||
Month 2 | Internship & Interview Preparation | - Apply for competitive internships and prepare for interviews focusing on system design and algorithms. | - Glassdoor and Internshala for job applications |
- Practice mock interviews and prepare for behavioral questions. | - Interviewing.io and LeetCode interview prep | ||
Month 3 | Advanced Data Structures (Tries, Segment Trees) | - Deepen understanding of complex data structures and algorithms, focusing on interviews. | - "Advanced Data Structures" by MIT OpenCourseWare on YouTube |
- Handle questions with edge cases and optimize solutions. | - HackerRank advanced problem sets | ||
Month 4 | Networking & Brand Building | - Attend industry webinars, coding meetups, and network with professionals. | - Meetup.com for tech events, LinkedIn Events |
Month 5-12 | Specialization & Projects | - Work on specialization projects in fields like AI, data science, or cybersecurity based on interest. | - Courses on Coursera/EdX for advanced topics - Kaggle for data science projects |
- Focus on finalizing a well-rounded portfolio with projects, internships, and real-world experience. | - GitHub portfolio, LinkedIn profile improvements |