จากมือใหม่หัดเขียนเว็บ สู่การสร้างฟีเจอร์จริงที่ลูกค้าได้ใช้ประโยชน์
ก้าวแรกของการเป็นนักพัฒนา
หลายคนคงจำความรู้สึกตอนเริ่มเขียนโค้ดได้ดี มันเต็มไปด้วยความสับสนและข้อผิดพลาดมากมาย ผมเองก็ไม่ใช่คนเก่งที่จบสายตรงมา ผมเริ่มต้นจากการลองผิดลองถูกกับ CSS (ภาษาที่ใช้ตกแต่งหน้าตาเว็บไซต์) จนเว็บพังนับครั้งไม่ถ้วน จากนั้นก็หันไปฝึก Java (ภาษาโปรแกรมที่ใช้จัดการระบบหลังบ้าน) ตามที่คนอื่นแนะนำ
ผมทำโปรเจกต์เล็กๆ มาเยอะมาก ทั้งที่ไม่มีใครได้ใช้จริง เช่น แอปจดบันทึกหรือเครื่องคิดเลข ซึ่งมันช่วยฝึกฝีมือได้ดี แต่การเขียนโค้ดรันบนเครื่องตัวเอง กับการทำเว็บให้คนใช้งานจริงนั้นต่างกันมาก เพราะมันมีความกดดันเรื่องความน่าเชื่อถือเข้ามาเกี่ยวข้อง
แก้ปัญหาให้ลูกค้าด้วยไอเดียที่จับต้องได้
เมื่อผมได้รับโอกาสให้ทำเว็บขายของออนไลน์ ผมไม่อยากทำแค่ปุ่มกดธรรมดา ผมอยากสร้างอะไรที่ลูกค้าเห็นแล้วรู้สึกว่ามีประโยชน์จริง ปัญหาที่พบบ่อยคือลูกค้ามักอยากรู้ว่าของจะมาส่งเมื่อไหร่ แต่ส่วนใหญ่ต้องไปไล่หาข้อมูลในหน้าเงื่อนไขการส่ง ซึ่งมันยุ่งยากเกินไป
ผมจึงตัดสินใจสร้างฟีเจอร์คำนวณวันส่งสินค้า โดยใช้ IP Address (เลขที่ระบุตำแหน่งของอุปกรณ์ที่เชื่อมต่ออินเทอร์เน็ต) ของผู้เข้าชมมาวิเคราะห์โซนการจัดส่ง ผลที่ได้คือลูกค้าจะเห็นวันที่จะได้รับสินค้าทันทีบนหน้าเว็บ โดยไม่ต้องล็อกอินหรือพิมพ์รหัสไปรษณีย์ให้เสียเวลา
ความท้าทายที่ไม่มีสอนในบทเรียน
การสร้างฟีเจอร์นี้ไม่ได้โรยด้วยกลีบกุหลาบ ผมต้องเจอกับปัญหามากมาย เช่น ระบบดึงตำแหน่งผิดพลาด หรือตรรกะการคำนวณวันส่งที่คลาดเคลื่อนในบางพื้นที่ ซึ่งผมต้องแก้บั๊ก (ข้อผิดพลาดของโปรแกรม) จนดึกดื่น
แต่ความรู้สึกตอนที่แก้ปัญหาได้สำเร็จ แล้วเห็นข้อมูลแสดงผลถูกต้องบนหน้าเว็บจริงๆ มันเป็นความภูมิใจที่หาอะไรเปรียบไม่ได้ นี่แหละคือเหตุผลที่ทำให้คนเขียนโปรแกรมยังคงเดินหน้าต่อไป แม้จะเจอความยากลำบากแค่ไหนก็ตาม
หัวใจสำคัญของการทำงานจริง
ฟีเจอร์นี้อาจไม่ใช่ระบบที่ซับซ้อนอะไร แต่มันคือสิ่งที่ผมออกแบบและทำเองตั้งแต่ต้นจนจบ ตั้งแต่คิดวิธีแก้ปัญหา เขียนโค้ด ไปจนถึงทดสอบการใช้งานจริงบนเครือข่ายต่างๆ ความรับผิดชอบที่ต้องทำให้งานออกมาดีคือบทเรียนล้ำค่าที่โปรเจกต์ฝึกหัดให้ไม่ได้
สรุปสั้น ๆ
ประสบการณ์นี้สอนให้รู้ว่า การทำโปรเจกต์ที่มีคนใช้งานจริงช่วยให้เราพัฒนาทักษะได้เร็วกว่าการทำแบบฝึกหัดทั่วไป การแก้ปัญหาเล็กๆ ที่สร้างความสะดวกให้ผู้ใช้ได้จริง คือก้าวแรกที่สำคัญที่สุดในการเป็นนักพัฒนาที่เก่งขึ้น
เรียบเรียงจากข่าวของ DEV Community อ่านข่าวต้นฉบับ ↗