เดือน | เป้าหมาย | กิจกรรม | ทรัพยากร |
---|---|---|---|
ปีที่ 1 | ฐานราก | ||
เดือน 1-2 | พื้นฐานการเขียนโปรแกรม (Python/C ++) | - เรียนรู้แนวคิดการเขียนโปรแกรมขั้นพื้นฐาน: ตัวแปร, ชนิดข้อมูล, ลูป, เงื่อนไข ฝึกเขียนตัวอย่างโค้ดขนาดเล็ก | - Codecademy หรือ Udacity: "Intro to Python" - แอพ Sololearn |
- รหัสทุกวันบนแพลตฟอร์มเช่น HackerRank หรือ LeetCode (ระดับง่าย) | - ปัญหาระดับเริ่มต้นของ HackerRank/LeetCode | ||
เดือน 3 | โครงสร้างข้อมูลบทนำ | - ศึกษาโครงสร้างข้อมูลพื้นฐาน: อาร์เรย์, รายการที่เชื่อมโยง, สแต็คและคิว การฝึกฝนปัญหาที่เกี่ยวข้อง | - YouTube: "โครงสร้างข้อมูลง่ายต่อหลักสูตรขั้นสูง" โดย William Fiset |
- สร้างโครงการขนาดเล็ก (เช่นเกมเครื่องคิดเลขหรือแบบทดสอบง่าย ๆ ) เพื่อใช้สิ่งที่คุณได้เรียนรู้ | - การเรียนรู้จากโครงการ: Freecodecamp, DevProjects | ||
เดือน 4 | การตั้งค่า LinkedIn & GitHub | - ตั้งค่าโปรไฟล์ LinkedIn และ GitHub รวมถึงชีวภาพและรูปภาพอย่างง่าย | - LinkedIn และ GitHub แบบฝึกหัดบน YouTube |
- โพสต์โครงการแรกของคุณใน GitHub และเชื่อมต่อกับเพื่อนร่วมชั้นและเพื่อนร่วมงานใน LinkedIn | - "GitHub & LinkedIn Profile Optimization" โดย Amigoscode (YouTube) | ||
เดือนที่ 5 | ดำเนินการฝึก DSA ดำเนินการต่อ | - ฝึกปัญหาการมุ่งเน้นไปที่ต้นไม้ไบนารีและพื้นฐานการเรียกซ้ำ ตั้งเป้าหมายที่จะแก้ปัญหาอย่างน้อย 3 ปัญหาทุกสัปดาห์ | - geeksforgeeks: "โครงสร้างข้อมูลพื้นฐาน" |
- มีส่วนร่วมในการเข้ารหัสชุมชนเช่น CodeChef หรือความท้าทายประจำสัปดาห์ของ LeetCode | - การแข่งขัน CodeChef และ LeetCode Weekly Challenge | ||
เดือน 6-7 | เรียนรู้ HTML, CSS, JavaScript | - เรียนรู้พื้นฐานของการพัฒนาเว็บสร้างหน้าเว็บที่ตอบสนองได้ง่าย | - "HTML, CSS, JavaScript สำหรับนักพัฒนาเว็บ" บน Coursera โดย Johns Hopkins University |
- เริ่มสร้างเว็บไซต์พอร์ตโฟลิโอส่วนตัว | - หลักสูตร HTML/CSS ของ FreeCodecamp | ||
เดือน 8 | โครงการเต็มรูปแบบง่าย ๆ | - เรียนรู้พื้นฐานของ node.js หรือ django และสร้างแอปพลิเคชัน CRUD อย่างง่าย | - YouTube: "หลักสูตรการพัฒนาเว็บสแต็กเต็มรูปแบบ" โดย Traversy Media |
- ปรับใช้โครงการบนหน้า GitHub หรือ Vercel | - บทเรียนการปรับใช้ vercel หรือ gitHub | ||
เดือน 9 | ทบทวนช่วงกลางปีและพื้นฐานในอัลกอริทึม | - ตรวจสอบความคืบหน้าของ DSA โดยมีเป้าหมายสำหรับ 20-30 ปัญหาที่เสร็จสมบูรณ์เกี่ยวกับ LeetCode | - การตรวจสอบและความคืบหน้าของโปรไฟล์ LEETCODE หรือ HackERRANK |
- การศึกษาอัลกอริทึมการเรียงลำดับเช่น Quicksort, Mergesort และ Insertion Sort | - "การเรียงลำดับอัลกอริทึมสำหรับผู้เริ่มต้น" เพลย์ลิสต์บน YouTube โดย Tech กับ TIM | ||
เดือนที่ 10 | สำรวจ Hackathons | - เข้าร่วม Hackathons เพื่อรับการเปิดเผย (เริ่มต้นด้วยคนเสมือนจริงที่เป็นมิตรกับผู้เริ่มต้น) | - devpost สำหรับ hackathons ที่กำลังจะมาถึง - เว็บไซต์ MLH (Major League Hacking) |
- ฝึกการสร้างโครงการด่วนในทีมโดยมุ่งเน้นไปที่การทำงานร่วมกันและการระดมสมอง | - MLH เริ่มต้น Hackathons (เข้าร่วมเป็นผู้สังเกตการณ์หรือผู้สนับสนุน) | ||
เดือน 11-12 | ทักษะ DSA ที่ลึกซึ้งยิ่งขึ้น | - การศึกษาโครงสร้างข้อมูลขั้นสูง: กองกราฟแผนที่แฮช | - Educative.io: "Ace the Coding Interview" - โครงสร้างข้อมูล Hackerrank |
- มีส่วนร่วมในการแข่งขันการเข้ารหัสออนไลน์เพื่อปรับปรุงความเร็วและกลยุทธ์การแก้ปัญหา | - การแข่งขัน CodeForces และการแข่งขันเริ่มต้น ATCODER | ||
ปีที่ 2 | ทักษะและโครงการระดับกลาง | ||
เดือนที่ 1 | เริ่มการแข่งขันการแข่งขัน (CP) | - เริ่มการเขียนโปรแกรมที่แข่งขันได้การแก้ปัญหาเกี่ยวกับ CodeForces และ CodeChef | - YouTube: "การเขียนโปรแกรมการแข่งขันสำหรับผู้เริ่มต้น" เพลย์ลิสต์โดย Errichto |
- ฝึกพื้นฐานการเขียนโปรแกรมแบบไดนามิก (เริ่มต้นด้วยปัญหา DP อย่างง่าย) | - "การเขียนโปรแกรมแบบไดนามิก - คู่มือผู้เริ่มต้น" โดย Aditya Bhargava (บทความกลาง) | ||
เดือน 2 | โครงสร้างข้อมูลและการออกแบบระบบ | - ศึกษาความสามารถในการปรับขนาดพื้นฐาน REST API และสร้าง REST API ขั้นพื้นฐาน | - "เรียนรู้ REST APIs" โดย FreeCodecamp (YouTube) |
- สำรวจโครงการโอเพ่นซอร์สเกี่ยวกับ GitHub ที่เกี่ยวข้องกับ REST API | - GitHub ค้นหาด้วยตัวกรองสำหรับ repos ที่เป็นมิตรกับผู้เริ่มต้น - รายการโอเพ่นซอร์สของ Gitlab | ||
เดือน 3 | สร้างโครงการเต็มรูปแบบ | - สร้างโคลนโซเชียลมีเดียหรือแพลตฟอร์มบล็อกโดยใช้ React และ Express.js (หรือ Django) | - ตอบสนองและแสดงผลการสอนบน YouTube (สื่อ Traversy) |
- ปรับใช้บนแพลตฟอร์มเช่น Heroku | - "ปรับใช้แอพตอบสนองต่อ Heroku" (คู่มือ Heroku อย่างเป็นทางการ) | ||
เดือน 4 | ปรับปรุง LinkedIn & Resume | - อัปเดตโปรไฟล์ LinkedIn และ GitHub ด้วยโปรเจ็กต์เต็มรูปแบบของคุณโดยมีรายละเอียดสแต็กเทคโนโลยีที่ใช้ | - LinkedIn Learning: "สร้างโปรไฟล์ LinkedIn ที่น่าประทับใจ" |
- เชื่อมต่อกับผู้เชี่ยวชาญในสาขาที่คุณต้องการและรับข้อเสนอแนะเกี่ยวกับโปรไฟล์ของคุณ | - YouTube: "How to Grow LinkedIn Network" โดยผู้มีอิทธิพลคุณ | ||
เดือนที่ 5 | การเตรียมการแฮ็ค | - เริ่มมีส่วนร่วมในการแฮ็กแฮ็กและทำงานเกี่ยวกับปัญหาในโลกแห่งความจริงในทีม | - devpost สำหรับรายชื่อ Hackathon - MLH (การแฮ็คเมเจอร์ลีก) ความท้าทายขั้นสูง |
- มุ่งเน้นไปที่การสร้างต้นแบบอย่างรวดเร็วพื้นฐาน UI/UX และแนวคิดการขว้างโครงการ | - "การออกแบบการคิด" โดย IDEO บน Coursera | ||
เดือน 6-7 | ค้นหาการฝึกงาน | - สมัครฝึกงานกับ LinkedIn และพอร์ทัลงานเช่น Internshala | - Internshala, LinkedIn Jobs และ Angellist สำหรับการฝึกงาน |
- ช่างตัดเสื้อเรซูเม่สำหรับบทบาทที่เฉพาะเจาะจงและใช้ GitHub เพื่อแสดงโครงการ | - "วิธีการเขียนประวัติย่อสำหรับเทคโนโลยี" โดยคู่มือเทคเรซูเม่ | ||
เดือน 8 | การสัมภาษณ์ DSA Advanced & Mock | - การศึกษาอัลกอริทึมขั้นสูง: กราฟการเขียนโปรแกรมแบบไดนามิกและการสัมภาษณ์แบบจำลอง | - LeetCode and Pramp (แพลตฟอร์มสัมภาษณ์จำลอง) |
- ทำการสัมภาษณ์ 1-2 ครั้งกับเพื่อนหรือออนไลน์เพื่อสร้างความมั่นใจ | - Pramp สำหรับการสัมภาษณ์ทางเทคนิคจำลอง | ||
เดือน 9 | สร้างและปรับใช้โครงการโลกแห่งความเป็นจริง | - สร้างแอพที่มีการตรวจสอบผู้ใช้และการรวมฐานข้อมูลเช่นตัวจัดการงาน | - YouTube: "สร้างแอป Mern Full Stack" โดย FreeCodecamp |
- ปรับใช้บน Vercel หรือ DigitalOcean เพื่อรับประสบการณ์กับกระบวนการปรับใช้ | - คู่มือการปรับใช้ DigitalOcean | ||
เดือนที่ 10 | สำรวจโอเพ่นซอร์ส | - มีส่วนร่วมในโครงการโอเพ่นซอร์สโดยเฉพาะในช่วง Hacktoberfest | - Hacktoberfest โดย DigitalOcean - คู่มือโอเพ่นซอร์ส GitHub |
- ใช้ Git และ GitHub สำหรับการควบคุมเวอร์ชันและการทำงานร่วมกัน | - "Git and GitHub Crash Course" โดย Traversy Media บน YouTube | ||
เดือน 11-12 | การเขียนโปรแกรมการแข่งขันและการปรับแต่ง DSA | - ตั้งเป้าหมายที่จะแก้ไขคำถามระดับกลางถึงระดับยากบนแพลตฟอร์มเช่น LeetCode | - ชุดปัญหา leetcode กลางและยาก |
- มุ่งเน้นไปที่การปรับปรุงความเร็วและความแม่นยำในการแก้ปัญหา | - การแข่งขันขั้นสูง CodeChef และ CodeForces | ||
ปีที่ 3 | ทักษะและการฝึกงานขั้นสูง | ||
เดือนที่ 1 | การออกแบบระบบและการพัฒนาแบบเต็มซ้อนขั้นสูง | - ศึกษาแนวคิดการออกแบบระบบขั้นสูงเช่นโหลดบาลานซ์การแคชและ Microservices | - "System Design Primer" โดย Donne Martin บน GitHub |
- สร้างโครงการที่แสดงทักษะเหล่านี้โดยมุ่งเน้นไปที่ประสิทธิภาพและความสามารถในการปรับขนาด | - หลักสูตร "สถาปัตยกรรมเว็บที่ปรับขนาดได้" บน Udemy | ||
เดือน 2 | การฝึกงานและการสัมภาษณ์ | - สมัครสำหรับการฝึกงานที่มีการแข่งขันและเตรียมพร้อมสำหรับการสัมภาษณ์ที่มุ่งเน้นไปที่การออกแบบระบบและอัลกอริทึม | - Glassdoor และ Internshala สำหรับการสมัครงาน |
- ฝึกฝนการสัมภาษณ์แบบจำลองและเตรียมพร้อมสำหรับคำถามเชิงพฤติกรรม | - สัมภาษณ์ Prep Prep สัมภาษณ์ LEETCODE | ||
เดือน 3 | โครงสร้างข้อมูลขั้นสูง (พยายาม, ต้นไม้เซ็กเมนต์) | - ความเข้าใจอย่างลึกซึ้งเกี่ยวกับโครงสร้างข้อมูลที่ซับซ้อนและอัลกอริทึมโดยมุ่งเน้นไปที่การสัมภาษณ์ | - "โครงสร้างข้อมูลขั้นสูง" โดย MIT OpenCourSeware บน YouTube |
- จัดการคำถามด้วยเคสขอบและเพิ่มประสิทธิภาพการแก้ปัญหา | - ชุดปัญหาขั้นสูงของ Hackerrank | ||
เดือน 4 | การสร้างเครือข่ายและแบรนด์ | - เข้าร่วมการสัมมนาผ่านเว็บในอุตสาหกรรมการพบปะและเครือข่ายกับมืออาชีพ | - meetup.com สำหรับกิจกรรมทางเทคโนโลยีกิจกรรม LinkedIn |
เดือน 5-12 | ความเชี่ยวชาญและโครงการ | - ทำงานในโครงการความเชี่ยวชาญในสาขาต่าง ๆ เช่น AI, Data Science หรือ Cybersecurity ตามความสนใจ | - หลักสูตรเกี่ยวกับ Coursera/EDX สำหรับหัวข้อขั้นสูง - Kaggle สำหรับโครงการวิทยาศาสตร์ข้อมูล |
-มุ่งเน้นไปที่การสรุปผลงานที่รอบด้านด้วยโครงการการฝึกงานและประสบการณ์ในโลกแห่งความเป็นจริง | - GitHub Portfolio, การปรับปรุงโปรไฟล์ LinkedIn |