โลกทุกวันนี้ช่างสะดวกสบาย เต็มไปด้วยแอพพลิเคชั่น, เว็บ, และโปรแกรมหลายๆ ตัวที่เข้ามาอยู่ในชีวิตเราเพื่อทำให้ชีวิตเราง่ายขึ้น
แต่ ณ จุดหนึ่งหากเราคิดจะสร้างของพวกนี้ขึ้นมาด้วยตัวเอง จะเริ่มต้นอย่างไร? พลก็เคยอยู่ในจุดนี้เหมือนๆ กับพวกเราที่อยากจะสร้างแอพ, อยากจะสร้างเว็บ, อยากจะทำของเจ๋งๆ พวกนี้ขึ้นมา
นั่นแหละ “ของเจ๋งๆ” พลขอเรียกโปรแกรม, เว็บ, หรือโมบายล์แอพพลิเคชั่นพวกนี้ว่า “ของเจ๋งๆ” ก็แล้วกัน
เคยมีพวกเราถามว่า “ทำยังไง? ใช้เครื่องมือไหน? ต้องเรียนตัวนี้ใช่ไหม? ใช้เวลากี่วัน?”
หึหึ ถ้าสูตรสำเร็จมันเป้ะเหมือนต้มมาม่า 3 นาทีหลังซอง มันก็ดีเหมือนกัน
แต่ในเรื่องนี้ ผมจะขอแบ่งปันแนวคิด และประสบการณ์สำหรับพวกเรา ผู้ที่ไม่เคยเขียน หรือพัฒนาของเจ๋งๆ ขึ้นมา แต่สนใจ หรืออยากจะทำ
เผื่อว่าจะเป็นพื้นฐาน และบอกเล่าว่าคุณจะต้องเจออะไรในวันพรุ่งนี้
อ้อ ไม่ต้องห่วงนะ ในเรื่องนี้ไม่มีคำศัพท์วิเศษชวนมึนอะไรทั้งนั้นล่ะ หลายๆ อย่างคุณจะได้เห็นได้ยินมาก่อนค้นหาเจอเรื่องของพลแล้ว
ก่อนที่เราจะเริ่มสร้างแอพ
ขอแชร์ว่า การสร้างของพวกนี้ ไม่ว่าจะเป็นโปรแกรม (ในยุคที่พลรู้จักมันถูกเรียกแบบนี้ โปรแกรม Microsoft Word เป็นต้น), เว็บแอพพลิเคชั่น, หรือโมบายล์แอพพลิเคชั่น, หรืออะไรก็แล้วแต่ในอนาคต…
เป็นการสร้างแบบเฉพาะอีกรูปแบบหนึ่ง เหมือนงานฝีมือ
เราต้องมีทักษะเพื่อทำมันได้ และประสบการณ์เพื่อทำให้มันดีกว่า และง่ายขึ้นสำหรับเรา
แน่นอนเราต้องอ่านหนังสือเพิ่ม, เราต้องลองผิดลองถูก, เราจะต้องอุทิศเวลาให้มัน, และแน่นอนว่า เราจะเหนี่อยแน่
แต่การเดินเข้ามาเส้นทางนี้ (เหมือนจอมยุทธ์เลยเนอะ) พลพบว่าเราได้ค้นพบความรู้ที่วิเศษ, แนวคิดต่างๆ ที่เอามาปรับใช้ในชีวิตประจำวันได้ , ได้รู้จักเพื่อนพี่น้องมากมายและ ที่สำคัญคือสิ่งที่เราสร้าง จะเปลี่ยนชีวิตคนให้ดีขึ้น
พลคิดว่าสิ่งที่เราทำคล้ายๆ กับนักประดิษฐ์ในอดีต อย่างคนที่คิดค้นโทรศัพท์เครื่องแรก หรือคนที่คิดค้นระเบิดปรมาณูได้
ลองคิดดูสิว่า iPhone หรือ Facebook มันทำให้ชีวิตเราง่ายขึ้นขนาดไหน (อ่า แน่นอน Facebook มันอาจจะดูดเวลาเราไปพอตัว แต่เราก็ติดต่อว่าคนรู้จักได้ดีกว่าจดหมายสมัยก่อนนะ)
พลจึงชอบบอกกับเพื่อนพี่น้องที่อยู่ในสายเดียวกันเมื่อมีโอกาสว่า
สิ่งที่พวกเราทำน่าจะถูกเรียกว่า Creator มากกว่านะ
เพราะเราจำเป็นต้องทุ่มเทหลายๆ อย่าง เหมือนการประดิษฐ์ของเจ๋งๆ ขึ้นมา และของนั่น…ให้ตายสิ มันเจ๋งเป็นบ้าเลย
ดังนั้นเข้าใจไหมครับ อย่ามองสิ่งที่คุณกำลังสร้างนั้นด้อยค่า อย่าทำให้มันเป็นโปรเจคจบ ที่เอาไว้แลกเกรด, อย่าทำให้มันเป็นงานพิเศษที่ทำส่งๆ ไป เพราะทุกอย่างที่เรากำลังสร้างต่อไปนี้ จะมีผลกับชีวิตของคนอื่นแน่นอน
เริ่มจากมองหาปัญหาที่มี
หากเราอยู่ในจุดที่กำลังคิดว่าจะสร้างอะไรดี? จะทำเว็บแอพดีไหม? จะทำโมบายล์แอพดีไหม? ขอบอกเลยว่าเรากำลังได้รับโอกาสดีสุดๆ
ซึ่งส่วนใหญ่จะเป็นนักศึกษาที่กำลังอยู่ในมหาวิทยาลัย หรือคนจัดหาเวลาพอจะเริ่มทำอะไรพวกนี้ (รู้ไหมน้องๆ นักศึกษา หลายๆ คนอิจฉาพวกน้องนะ ที่มีเวลาไว้สร้างของเจ๋งๆ เยอะขนาดนั้น)
จริงๆ การสร้างของเจ๋งๆ ให้ผู้คนใช้งาน มันเหมือนกับการจีบคนๆ หนึ่ง หรือทำให้คนนั้นพอใจครับ
ง่ายขนาดนั้นเลย?
เคยเห็นคำจั่วบรรยายหนังไหมครับ หนังตั้ง 2 ชั่วโมง แต่จั่วไว้ประโยคเดียวแหน่ะ
เพียงแต่ถ้าเราเข้าใจแนวคิดของมันแล้ว เราจะมั่นใจกับการก้าวเดินไปในแต่ละวันมากขึ้น
โดยทั่วไปผู้คนทุกหมู่เหล่ามีปัญหาครับ ปัญหาเล็กน้อย ถึงใหญ่แตกต่างกันไป หากเราคิดจะสร้างของเจ๋งๆ มันต้องเข้าไปแก้ปัญหาของผู้คนกลุ่มนั้นได้
แน่นอนว่ามันจะไม่จบลงที่การนั่งหน้าคอมวันละ 10 ชั่วโมงอย่างเดียวแน่
เหมือนจีบคนๆ หนึ่ง คุณต้องคอยเช็กให้มั่นใจว่า คนๆ นั้นเขาเร่ิมชอบคุณหรือเปล่า ถ้าไม่ชอบ จะจีบต่อไหม? หรือจะเปลี่ยนวิธี? หรือจะเปลี่ยนของขวัญ?
นางเอกในหนัง ส่วนใหญ่จะโดนทำร้าย หรือโดนจับ แล้วใครล่ะที่เข้าไปช่วย? พระเอกไง
แต่การส่งของเจ๋งๆ เข้าไปช่วยคนๆ นั้น ไม่ใช่สุ่มสี่สุ่มห้าเข้าไปช่วยเลยนะ เคยเห็นพระเอกทำนางเอกตายกับมือไหมล่ะ เยอะแยะนะ
อันตรายที่สุด คือ การมโนไปเอง ว่ามีคนต้องการของเจ๋งๆ ของเรา เพราะหลังจากเสียเวลาไป อาจจะไม่มีคนอยากให้คุณช่วยก็ได้
มีวิธีหลากหลาย ที่ทำให้เรามั่นใจได้ว่า เรากำลังมาถูกทางแล้วหรือไม่
ดังนั้นโดยภาพรวม คุณกำลังสวมบทซูเปอร์ฮีโร่ เพื่อใช้พลังของเจ๋งๆ เข้าไปช่วยเหลือผู้คนนั่นเอง
แล้วเราควรฝึกทักษะไหนก่อน?
มีโอกาสที่ผมได้พูดคุยกับพี่น้องสายเดียวกัน มีความเห็นหนึ่งที่ตรงกันว่า
เราควรต้องคิดแก้ปัญหาเป็นขั้นตอนให้ได้ก่อนเรียนเขียนโปรแกรมเสียอีก
ฟังดูแปลกๆ ไหมครับ?
จะเขียนแอพ เขียนโปรแกรม ทำไมต้องมานั่งแก้ปัญหาด้วย? ต้องเรียนวิธีเขียนโปรแกรมไม่ใช่หรือ?
เพราะส่วนหนึ่งของการพัฒนาของเจ๋งๆ คือเราต้องรู้ก่อนว่า ของเจ๋งๆ ของเรามันจะต้องทำอะไรบ้าง? แล้ววิธีนี้มันจะเข้าไปแก้ปัญหาของผู้คนได้ไหม?
เพื่อให้เรารู้ว่าเราต้องเขียนให้ของเจ๋งๆ มันทำงานยังไง ไม่มาก ไม่น้อยจนเกินไป เหมือนทำกับข้าว เราคงไม่เทน้ำตาลลงไปทั้งขวดหรอกนะ
อ.พีรวัฒน์ วัฒนพงศ์ ผู้เป็นอาจารย์สอนผม ได้พูดประโยคหนึ่งในคาบแรกที่เรียกกับท่านว่า
90% ของซอฟต์แวร์ ไม่ได้อยู่ในโค้ด
ตอนแรกผมหัวเราะกับเพื่อนๆ เพราะมองว่าพัฒนาซอฟต์แวร์ ก็คือเขียนโค้ดสิ จะมีอะไรมากกว่านี้
หลังจากผ่านมหาวิทยาลัยจนมาถึงวันนี้ มันแสดงให้เห็นแล้วว่า ทักษะการเขียนโปรแกรม เป็นแค่ส่วนหนึ่งของกระบวนการสร้าง “ของเจ๋งๆ” นั่นเอง
ทักษะอื่นๆ ที่เห็นกันว่าจำเป็นคือ
- การสื่อสารกันในทีม
- การวางแผน
- การวิเคราะห์ปัญหา และระบบ
- การเรียนรู้ด้วยตนเอง
- การปรับตัวเข้ากับการเปลี่ยนแปลงอยู่ตลอดเวลา
- (มีอะไรเห็นว่าต้องมีเพิ่ม ค้อมเม้นต์ด้านล่างได้นะครับ)
และเมื่อเราพูดถึงการเขียนโปรแกรม หรือเขียนแอพ ตอนนี้มันคล้ายๆ กับการที่คุณจะเรียนภาษาต่างประเทศสักภาษา ที่คุณเพียงต้องอุทิศเวลา และฝึกฝนให้สามารถทำได้นั่นเอง
ไม่ต้องกลัวว่ามันจะยาก เรียกว่ามันท้าทายมากกว่า เพราะไม่มีใครบนโลกนี้เกิดมาปุ๊บก็เขียนแอพ เขียนโปรแกรมเป็นเลย ตอนเริ่มแรกสุด ผมก็งงเหมือนเพิ่งปั่นจิ้งหรีดมาสดๆ เลยล่ะ ฮ่าๆๆ
ซึ่งจะพูดในเรื่องอื่นๆ ที่ผมจะเล่า และแชร์ไว้ในแฟนเพจนะ
ดังนั้นเมื่อเราคิดจะสร้างแอพ… หรือของเจ๋งๆ ที่เราคิดอยู่นั่นแหละ
- ของเจ๋งๆ ของเราควรจะมุ่งแก้ปัญหาให้คนได้ เหมือนพลังพิเศษของซูเปอร์ฮีโร่
- อย่ามโนไปเองว่าของเราเจ๋งสุด มันจะพิสูจน์ได้ว่า ใช่ หรือไม่ หลังจากผู้คนได้เริ่มใช้มัน
- การพัฒนาแอพพลิเคชั่น จำเป็นต้องมีทักษะคิดแก้ปัญหา และมองขั้นตอนต่างๆ ออก ก่อนที่จะเริ่มเขียนโปรแกรมหรือโค้ดเสียอีก
เมื่อเราเข้าใจแล้วว่า การสร้างของเจ๋งๆ นั้นควรมีอะไรบ้าง และเรากำลังทำไปเพื่ออะไร เราก็พร้อมจะเปิดรับความรู้ต่างๆ ที่อยู่ในเส้นทางนี้แล้วครับ