เก่งโปรแกรมมิ่งด้วยการสร้างเทคโนโลยีขึ้นมาใหม่
คุณใช้ library และ framework อยู่ทุกวัน แต่นักพัฒนาส่วนใหญ่ไม่รู้ว่าพวกมันทำงานอย่างไร คุณสามารถเปลี่ยนเรื่องนี้ได้
ใช้แนวทาง Build-Your-Own-X ซึ่งหมายถึงการสร้างเครื่องมือที่มีอยู่แล้วขึ้นมาใหม่ตั้งแต่ต้น คุณไม่ได้แค่สร้างของเลียนแบบ แต่คุณกำลังเรียนรู้วิธีการทำงานของเทคโนโลยีจากแก่นแท้ของมัน
ประโยชน์ของแนวทางนี้:
- ความรู้ที่ลึกซึ้ง: การสร้าง HTTP server จะสอนคุณเรื่อง headers และ status codes ส่วนการสร้าง hash map จะสอนคุณเรื่องความเร็วและการจัดการ memory
- การ Debug ที่ดีขึ้น: คุณจะรู้ว่าข้อผิดพลาดซ่อนอยู่ตรงไหนเพราะคุณเป็นคนสร้างระบบขึ้นมาเอง ทำให้คุณแก้ไข bug ได้เร็วขึ้น
- ความสามารถในการสร้างนวัตกรรม: คุณจะเลิกทำตามกฎเกณฑ์เดิมๆ และเริ่มสร้างโซลูชันของคุณเอง
- การเติบโตในสายอาชีพ: การบอกผู้สัมภาษณ์ว่าคุณสร้าง mini-blockchain ขึ้นมาเอง แสดงให้เห็นว่าคุณคือวิศวกร และมันจะทำให้คุณโดดเด่นกว่าคนอื่น
- ความมั่นใจที่แท้จริง: การแก้ปัญหาที่ยากลำบากด้วยการสร้างขึ้นมาใหม่ตั้งแต่ต้น จะช่วยขจัดอาการ Imposter Syndrome
วิธีเริ่มต้น:
อย่าเพิ่งเริ่มจากการสร้าง operating system ให้เริ่มจากจุดเล็กๆ เลือกสิ่งที่คุณใช้งานอยู่ทุกวัน
เริ่มต้นด้วยโปรเจกต์เหล่านี้:
- คำสั่ง
lsสำหรับแสดงรายชื่อไฟล์ - คำสั่ง
grepสำหรับการค้นหาแพทเทิร์น - Linked List หรือ Hash Table พื้นฐาน
- HTTP server แบบง่ายสำหรับ static files
- โปรแกรมจัดการรายการสิ่งที่ต้องทำ (to-do list) แบบ command-line ขนาดเล็ก
- การสร้าง Promise implementation ขึ้นมาใช้งานเอง
ถ้าคุณใช้ React ให้ลองสร้าง component renderer แบบมินิมอล ถ้าคุณใช้ Git ให้ลองสร้าง git init เวอร์ชันแบบง่ายๆ
เลิกใช้เครื่องมือแบบไม่รู้อะไรเลย แล้วเริ่มสร้างพวกมันขึ้นมาเอง