เก่งการเขียนโปรแกรมด้วยการสร้างเทคโนโลยีขึ้นมาใหม่

เลิกใช้เครื่องมือโดยที่ไม่รู้ว่ามันทำงานอย่างไร

นักพัฒนาส่วนใหญ่ใช้งานฐานข้อมูล (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) ขนาดจิ๋วหรือฐานข้อมูล

เลือกสิ่งที่คุณใช้งานจริง ความอยากรู้อยากเห็นจะช่วยให้คุณก้าวต่อไปได้เมื่อโค้ดเริ่มยากขึ้น

เป้าหมายไม่ใช่ความสมบูรณ์แบบ แต่เป้าหมายคือความเข้าใจ

Source: https://dev.to/kelvin_kariuki_20f4bec616/master-programming-by-recreating-your-favorite-technologies-from-scratch-c9m