เก่งการเขียนโปรแกรมด้วยการสร้างเทคโนโลยีขึ้นมาใหม่
เลิกใช้เครื่องมือโดยที่ไม่รู้ว่ามันทำงานอย่างไร
นักพัฒนาส่วนใหญ่ใช้งานฐานข้อมูล (databases), เว็บเซิร์ฟเวอร์ (web servers) และเฟรมเวิร์ก (frameworks) อยู่ทุกวัน พวกเขามองเครื่องมือเหล่านี้เป็นเหมือนกล่องดำ (black boxes) พวกเขารู้วิธีเรียกใช้ฟังก์ชัน แต่ไม่รู้ว่าเกิดอะไรขึ้นภายในนั้น
คุณสามารถแก้ไขเรื่องนี้ได้ด้วยการใช้วิธี Build Your Own X
วิธีนี้หมายถึงการที่คุณเลือกเทคโนโลยีอย่างหนึ่งขึ้นมา แล้วสร้างเวอร์ชันที่เรียบง่ายของมันขึ้นมาใหม่ตั้งแต่ต้น คุณไม่ได้พยายามจะเอาชนะซอฟต์แวร์ต้นฉบับ แต่คุณกำลังพยายามทำความเข้าใจรากฐานของมัน
ทำไมคุณถึงควรทำสิ่งนี้:
- คุณจะได้เห็นว่าระบบที่ซับซ้อนทำงานอย่างไร
- คุณจะได้เรียนรู้แนวคิดหลักทางวิทยาการคอมพิวเตอร์ เช่น ระบบเครือข่าย (networking) และโครงสร้างข้อมูล (data structures)
- คุณจะได้พัฒนาทักษะการแก้ปัญหาผ่านการดีบั๊ก (debugging)
- คุณจะเข้าใจว่าทำไมวิศวกรถึงตัดสินใจเลือกการออกแบบในรูปแบบเฉพาะเจาะจง
- คุณได้แสดงให้ผู้จ้างงานเห็นว่าคุณมีความรู้ทางเทคนิคที่ลึกซึ้ง
ตัวอย่างสิ่งที่คุณสามารถสร้างได้:
- HTTP server พื้นฐาน
- ฐานข้อมูลแบบ key-value อย่างง่าย
- ระบบควบคุมเวอร์ชัน (version control system) แบบมินิมอลอย่าง Git
- templating engine พื้นฐาน
- เครื่องมือ command line ขนาดเล็ก
วิธีเริ่มต้น:
เลือกโปรเจกต์ที่เหมาะสมกับระดับทักษะปัจจุบันของคุณ หากคุณเป็นมือใหม่ ให้เริ่มจากเครื่องมือ CLI ขนาดเล็ก หากคุณมีประสบการณ์มากขึ้น ให้ลองสร้างเว็บเฟรมเวิร์ก (web framework) ขนาดจิ๋วหรือฐานข้อมูล
เลือกสิ่งที่คุณใช้งานจริง ความอยากรู้อยากเห็นจะช่วยให้คุณก้าวต่อไปได้เมื่อโค้ดเริ่มยากขึ้น
เป้าหมายไม่ใช่ความสมบูรณ์แบบ แต่เป้าหมายคือความเข้าใจ