ใครที่กำลังเลือกทางเดิน (ใหม่) ในชีวิตโดยการเป็น Freelance Web Developer แอดเปรมขอเป็นกำลังใจให้ทุกคนที่ลองอะไรหลาย ๆ อย่าง ทั้ง HTML, CSS, JS แล้วชอบได้สมหวังกับสิ่งที่คาดหวัง และ ยินดีด้วยแบบสุด ๆ ที่หาตัวเองเจอ.. แต่การจะกระโดดลงสู่สายงานนี้มันมีหลายเรื่องที่นอกเหนือจาก “ความชอบ” ของเราอยู่พอสมควร ซึ่งหลายเรื่องนั้นจะต้องบอกว่า สำคัญมาก ๆ เสียด้วย ที่เราต้องรู้และเตรียมตัวให้พร้อมก่อนเริ่มรับงานจริง
ซึ่ง 7 เรื่องในวันนี้จะเป็นมุมมองครบทุกด้าน โดยอิงจากประสบการณ์จริง และ การทำงานในสายนี้มากว่า 10 ปี ซึ่งคิดว่าน่าจะเป็นประโยชน์มาก ๆ สำหรับผู้ที่กำลังเริ่มใหม่ มาลองนั่งดูกันทีละข้อเลยครับ 🙂
1. ให้ทำความเข้าใจและกำหนด Requirement อย่างชัดเจน ก่อนเริ่มงาน
การเข้าใจและกำหนด Requirement อย่างชัดเจนเป็นสิ่งที่สำคัญที่สุดสำหรับ Freelance Web Developer การที่เรารู้ว่าลูกค้าต้องการอะไร ทำให้เราสามารถวางแผนและพัฒนางานได้ตรงตามที่ลูกค้าคาดหวัง และ “ถ้าขั้นตอนกระดุมเม็ดแรกนี้ผิด เม็ดต่อไปความบันเทิงจะเกิดขึ้นอย่างแน่นอน” ซึ่งนำมาสู่การแก้ที่ไม่รู้จบ และ การที่เรารวมถึงลูกค้าก็เสียเวลากันทั้งคู่นั่นเอง ซึ่งในวันนี้เรามาเริ่มกันที่ขั้นตอนสำคัญ ๆ ในการทำความเข้าใจ Requirement ไปพร้อมกัน !
ทำความเข้าใจ Requirement
เริ่มต้นด้วยการประชุมหรือสัมภาษณ์เพื่อเก็บ Requirement การพูดคุยกับลูกค้าเป็นสิ่งแรกที่เราต้องทำ ไม่ว่าจะเป็นการนัดหมายประชุมตัวต่อตัวหรือผ่านทางวิดีโอคอล หรือ อะไรก็แล้วแต่ เราควรถามคำถามให้มากพอจนกว่าจะเข้าใจความต้องการของลูกค้าให้ครบถ้วน และ ย้ำกับตัวเองไว้เสมอ เหมือนเผื่อใจ อารมณ์แบบตั้งแง่ไว้ก่อนเล็ก ๆ ว่า “ไม่ใช่ทุกสิ่งที่ลูกค้าพูด จะเป็นสิ่งที่ลูกค้าต้องการจริง ๆ”
ซึ่งตรงนี้จะขึ้นกับประสบการณ์ล้วน ๆ ว่าจะจับสังเกตได้แบบไหน แต่ถ้าไม่อยากรอเก็บประสบการณ์ อาจจะลองตั้งชุดคำถามไว้เยอะ ๆ รวมถึงขอตัวอย่างที่คิดว่าอยากได้ให้เขาแนบมาให้ด้วย ซึ่งได้แก่คำถามหลัก ๆ ประมาณนี้
- ลูกค้าต้องการเว็บไซต์แบบไหน? (เช่น เว็บไซต์บริษัท, เว็บขายของออนไลน์, บล็อกส่วนตัว)
- มีฟีเจอร์อะไรบ้างที่ต้องการ? (เช่น ระบบสมาชิก, ระบบชำระเงิน, ระบบแชท)
- กลุ่มเป้าหมายของเว็บไซต์เราคือใคร?
- ลูกค้ามีตัวอย่างเว็บไซต์ที่อยากได้หรือไม่?
- ระบบก่อนหน้าที่ใช้มันเป็นยังไง และ เจอปัญหาอะไร
- กำหนดเวลาและงบประมาณที่ลูกค้ามีอยู่คือเท่าไหร่?
และ นอกจากถามคำถามทั่วไปแล้ว ควรลงลึกในรายละเอียด เพราะเกี่ยวกับของที่ต้องนำมาใช้ในเว็บของเรา เช่น
- รูปแบบการออกแบบที่ต้องการเป็นอย่างไร? (สไตล์, สี, โลโก้)
- เนื้อหาที่จะลงในหน้าเว็บ หรือ ระบบเราตอนนี้มีแล้วหรือยัง ?
- การบำรุงรักษาเว็บไซต์หลังส่งมอบงานเป็นอย่างไร?
ต่อมาเมื่อส่วนนี้เรียบร้อยเราก็จะทำการ การสรุป Requirement เป็นเอกสาร ซึ่งจะเป็นเสมือนการรวม Requirement ที่ลูกค้าให้มาเป็นสิ่งที่เอาไว้ยืนยัน และ มองงานชิ้นนี้ให้ตรงกัน โดยภายในนี้ก็จะมีตั้งแต่
- ภาพรวมของโปรเจค สรุปสั้น ๆ ว่าเว็บไซต์นี้เกี่ยวกับอะไรและมีเป้าหมายอะไร
- รายละเอียดของฟีเจอร์ ลิสต์ฟีเจอร์ทั้งหมดที่ต้องพัฒนา พร้อมรายละเอียดการทำงานของแต่ละฟีเจอร์
- การออกแบบและ UX/UI รายละเอียดเกี่ยวกับการออกแบบที่ลูกค้าต้องการ รวมถึง Wireframe หรือพวก Design เบื้องต้น
- กำหนดเวลาและงบประมาณ ระบุเวลาในการพัฒนาและงบประมาณที่ได้ตกลงกันไว้
เมื่อเรียบร้อยเราก็จะส่งเอกสาร Requirement ให้ลูกค้าตรวจสอบและยืนยัน เมื่อได้รับการอนุมัติแล้ว เราจะได้มีหลักฐานเป็นเอกสารที่สามารถอ้างอิงได้ในกรณีที่เกิดความเข้าใจผิด
Requirement ที่นิ่งจริง ๆ ตั้งแต่รอบแรกนั้นเป็นไปได้ยากมาก
ไม่ว่าจะเหตุผล 108 หรือ อะไรก็แล้วแต่ จนถึง ความที่เข้าใจไม่ตรงกันในบางประเด็น เช่น ลูกค้าลืม Scope ของงาน ซึ่งเกิดขึ้นได้เป็นเรื่องปกติ แต่ในระหว่างการพัฒนาระบบ ควรสื่อสารกับลูกค้าอย่างสม่ำเสมอ เพื่อให้มั่นใจว่าทุกอย่างเป็นไปตามที่ตกลงกันไว้ และไม่มีการเปลี่ยนแปลงที่ไม่ได้รับอนุญาต หรือ ไม่ได้ระบุไว้ใน Requirement
จนถึงถ้าหากมีการเปลี่ยนแปลง Requirement เราควรปรับปรุงเอกสารและแจ้งลูกค้าเกี่ยวกับผลกระทบที่อาจเกิดขึ้น เช่น เวลาที่เพิ่มขึ้นหรืองบประมาณที่ต้องปรับเปลี่ยนไว้ด้วยเช่นกันนั่นเอง
2.การตีราคาและจัดการเงิน
“ไม่มีใครอยากทำงานฟรี ไม่มีใครอยากทำให้ตัวเองขาดทุน” ดังนั้นเรื่องราคาและการจัดการเงินเป็นเรื่องสำคัญที่ Freelance Web Developer ทุกคนต้องทำความเข้าใจให้ดี เนื่องจากมีผลโดยตรงต่อความสำเร็จในการทำงาน และ การเติบโตของงานเราเลย ดังนั้น ขอเริ่มกันที่เรื่องแรกคือ
การตีราคางาน
ซึ่งหลายคนถ้าเป็นสินค้า เช่น รับมา 10 บาท เราสามารถคิดไว ๆ ได้เลยว่า ขอกำไร 20% ขาย 12 บาทแล้วกัน หรือ บางคนอยากได้กำไร 30% ก็ขายที่ 13 บาท .. แต่งานบริการจะแตกต่างออกไปตรงที่ว่า “เราควรตีราคาตัวเองเท่าไหร่ดี ถึงจะเหมาะสม และ คุ้มค่ากับสิ่งที่ลงทุน ลงแรงไป
“เพราะกว่าเราจะทำเว็บได้ หรือ พัฒนาระบบได้ ไม่ใช่ของฟรี ที่เราจะคิด 10 หรือ 20 บาทต่อชั่วโมง เรามีต้นทุนคือเวลาที่เราใช้เรียนก่อนหน้านี้ไปตั้งไม่รู้กี่เดือน กี่ปี จนไปถึง Software / Hardware ที่เรากำลังใช้ ดังนั้นอย่าคิดว่าเราไม่มีต้นทุนเด็ดขาด”
Kittikorn P. – MD borntoDev Co., Ltd.
โดยจะขอเริ่มวิธีการประเมินจากตัวแรกก็คือ
ประเมินประสบการณ์และทักษะของเราเป็นที่ตั้ง ควรประเมินระดับทักษะและประสบการณ์ของตัวเองก่อน ซึ่งเป็นปัจจัยสำคัญในการกำหนดราคาค่าจ้าง โดยทั่วไปนักพัฒนามือใหม่อาจต้องเริ่มต้นด้วยราคาที่ต่ำกว่ามืออาชีพที่พวกเขาประสบการณ์มากกว่า แต่ไม่ใช่การตัดราคาเขานะ แต่ประเมินตามความจริงที่เราสามารถทำได้ ซึ่งถ้าคิดไม่ออก ไปดูข้อถัดไป
การ Research หรือ วิจัยตลาดก่อน ตรวจสอบราคาในตลาดเพื่อดูว่า Freelance Web Developer คนอื่น ๆ ตั้งราคาอย่างไร ในรูปแบบผลงานเว็บไซต์ที่ใกล้เคียง หรือ พอ ๆ กับเรา ซึ่งตรงนี้ก็ดูจาก Port ผลงานของเขาได้นั่นเอง จะช่วยให้เราได้ไอเดียเกี่ยวกับราคาที่เป็นธรรมกับลูกค้า และ เหมาะสมกับเราได้
โดยการคิดราคานั้นก็จะมีรูปแบบ โมเดลที่แตกต่างออกไปตั้งแต่
- ราคาต่อชั่วโมง (Hourly Rate)
- ราคาต่อโปรเจค (Project-Based Rate)
- ราคาแบบรายเดือน (Monthly Retainer)
การประเมินความยากและขอบเขตของงาน วิธีนี้จะใช้จากการประเมินความยากและขอบเขตของโปรเจค โดยพิจารณาจาก
- จำนวนฟีเจอร์และฟังก์ชันที่ต้องพัฒนา
- ระยะเวลาที่คาดว่าจะใช้ในการพัฒนา
- การออกแบบและ UI/UX ที่ลูกค้าต้องการ
- ความต้องการทางเทคนิคเพิ่มเติม เช่น การเชื่อมต่อ API หรือการทำ SEO
ซึ่งหลายคนบอกว่า “อะไรกัน ก็แค่จ้างเป็นรายชั่วโมงเหมือนกัน จะไปคิดเรื่องความยากทำไม” เพราะจริง ๆ แล้ว Software Project มีความเสี่ยงซ้อนอยู่ในหลายจุดของคนทำงานเหมือนกัน ไม่ว่าจะเป็น การที่เราเขียน Function ไว้ไม่ได้ตามแผน หรือ การที่ต้องไปศึกษา Tools ใหม่ ๆ ที่อาจจะไม่คุ้น หรือ ยากกว่าเดิม ตรงนี้ก็จะช่วยให้เราทำงานได้ง่ายขึ้น
อย่าลืม คำนวณค่าใช้จ่ายอื่น ๆ เอาไว้ด้วยนะ เผื่อค่าใช้จ่ายเพิ่มเติมที่อาจเกิดขึ้นกับตัวเว็บของเรา ก็อย่างเช่น
- ค่าเครื่องมือหรือซอฟต์แวร์ที่ต้องใช้
- ค่าโฮสติ้งและโดเมน หรือพวก Cloud Services ต่าง ๆ
- ค่าใช้จ่ายในการทดสอบและปรับปรุงระบบ
3.การทำสัญญา เรื่องของตัวหนังสือ ที่โคตรสำคัญ
สัญญาจะเป็นหลักฐานที่ป้องกันปัญหาที่อาจเกิดขึ้นในอนาคต และยังช่วยให้ทุกฝ่ายเข้าใจตรงกันในสิ่งที่ตกลงไว้ เพราะถ้าไม่เขียนปัญหาจะเกิดแน่ ๆ ตั้งแต่ “แก้ไม่รู้จบ” จนไปถึง “ตาม Support ไปถึงชาติหน้า” ซึ่งการ Support ลูกค้าเป็นสิ่งที่ดี แต่ถ้า Support แบบไม่มี Scope ปัญหาก็จะเกิดตามมานั่นเอง
โดยเราจะต้องรวบรวมข้อมูลที่จำเป็นเบื้องต้นสำหรับทำสัญญาไม่ว่าจะเป็น
- ข้อมูลพื้นฐาน: ชื่อ ที่อยู่ และข้อมูลติดต่อของทั้งสองฝ่าย (ผู้ว่าจ้างและ Freelance)
- รายละเอียดโปรเจค: ขอบเขตงานที่ต้องทำ ฟีเจอร์ที่ต้องพัฒนา และการออกแบบที่ต้องการ
- ระยะเวลา: กำหนดเวลาที่ต้องส่งมอบงาน ขั้นตอนการทำงานและการส่งงานในแต่ละ Phase
- งบประมาณ: ราคาค่าจ้าง รวมถึงการแบ่งจ่ายในแต่ละงวด มีการระบุราคาค่าจ้าง วิธีการชำระเงิน และการแบ่งจ่ายในแต่ละงวด (เช่น มัดจำล่วงหน้า 30%, ชำระเมื่อส่งงาน 40%, ชำระเมื่อเสร็จสิ้นโปรเจค 30%)
- การเปลี่ยนแปลงและการแก้ไขงาน: ระบุเงื่อนไขและกระบวนการในการเปลี่ยนแปลงหรือแก้ไขงาน รวมถึงค่าใช้จ่ายเพิ่มเติมถ้าหากเรามีก็ต้องระบุไว้เลย
- การบำรุงรักษาและการสนับสนุนหลังการส่งมอบงาน: ระบุบริการที่มีหลังจากส่งมอบงาน เช่น การแก้ไขบั๊กหรือการปรับปรุงเพิ่มเติมในระยะเวลาที่กำหนด
- การยกเลิกสัญญา: ระบุเงื่อนไขและกระบวนการในการยกเลิกสัญญา รวมถึงผลที่ตามมา
- ข้อกำหนดและเงื่อนไขอื่น ๆ: เช่น การรักษาความลับ การคุ้มครองสิทธิ์ในทรัพย์สินทางปัญญาว่าลิขสิทธิ์เป็นของใคร รวมถึงความรับผิดชอบอื่น ๆ ให้ครบถ้วน
สำหรับ Software Developer หลาย ๆ คน แอดเปรมมั่นใจเลยว่าความรู้ด้านกฎหมายอาจจะมีติดตัวบ้างนิดหน่อย แต่การทำสัญญานั้นมันต้องรัดกุมมาก ๆ ไม่ควรตีความไปเองแบบไหนก็ได้ ดังนั้นส่วนนี้ควรปรึกษาทนาย หรือ ลองหาเอกสารที่เขียนโดยทีมกฎหมายในการเริ่มทำจะปลอดภัยกว่า
ซึ่งจะหาเอง หรือ ลองใช้จากเว็บ https://www.wonder.legal/th/ ก็ได้ครับ (อันนี้ไม่ได้สปอนเซอร์นะ) ราคาอยู่ที่เริ่มต้นหลักร้อย แต่ใช้รับงานได้แบบสบายใจ ไม่ต้องห่วงหน้า กังวลหลังเลย
4.ความรับผิดชอบและการจัดการเวลา
เพราะการเป็น Freelance หมายความว่าเราต้องจัดการเวลาของตัวเองให้ดี มีระเบียบวินัยในงาน ไม่มีเจ้านาย หรือ ตารางเวลาเข้าออกงาน ไม่มีคนคิดตารางงานให้เรา ดังนั้นความรับผิดชอบต่อลูกค้าคือเรื่อง “สำคัญ” อย่าทำงานช้าเกินกำหนดและต้องพร้อมแก้ไขปัญหาเมื่อเกิดขึ้น ซึ่งมีหัวข้อหลัก ๆ ในเรื่องนี้ที่เราได้เรียนรู้จากประสบการณ์ที่ผ่านมาตั้งแต่เรื่องของ
การวางแผนและการตั้งเป้าหมาย
- วางแผนรายวันและรายสัปดาห์ ควรจัดทำแผนการทำงานรายวันและรายสัปดาห์ (หรือ รายเดือนได้ยิ่งดี ถ้าคิวเราค่อนข้างเยอะ) เพื่อให้เห็นภาพรวมของงานที่ต้องทำในแต่ละวันและแต่ละสัปดาห์
- ตั้งเป้าหมายที่ชัดเจน กำหนดเป้าหมายที่ชัดเจนและสามารถวัดผลได้ (SMART Goals) เพื่อให้เรามีแนวทางในการทำงานที่ชัดเจน ไม่ใช่แค่งานเสร็จ แต่ต้องกำหนดด้วยว่า “เมื่อไหร่ และ ทำยังไงให้เรารู้ว่างานนี้เสร็จแล้ว”
การใช้เครื่องมือช่วยจัดการเวลา
- แอปพลิเคชันจัดการเวลา ใช้แอปพลิเคชันหรือเครื่องมือช่วยจัดการเวลา เช่น Trello, Asana, Todoist หรือ Google Calendar เพื่อช่วยจัดการงานและติดตามสถานะงานต่าง ๆ ได้ในเวลาสั้น ๆ
- เทคนิค Pomodoro อันนี้แอดเปรมชอบใช้มาก มันเป็นเทคนิคที่จะแบ่งเวลาการทำงานเป็นช่วง ๆ โดยแบ่งเป็นเวลาทำงาน 25 นาที แล้วพัก 5 นาที เพื่อเพิ่มประสิทธิภาพและลดความเครียดได้ดีมาก (เหมือนเขียนบทความตั้งแต่เริ่มมาถึงตรงนี้ ก็ถึงรอบพักพอดี ฮ่า ๆ)
การแบ่งงานและลำดับความสำคัญ
- แบ่งงานเป็นส่วนย่อย แบ่งงานใหญ่ ๆ เป็นงานย่อย ๆ เพื่อให้ง่ายต่อการจัดการและทำงานได้ต่อเนื่อง
- ลำดับความสำคัญของงาน จัดลำดับความสำคัญของงานโดยใช้หลักการ Eisenhower Matrix (สำคัญ-ด่วน, สำคัญ-ไม่ด่วน, ไม่สำคัญ-ด่วน, ไม่สำคัญ-ไม่ด่วน) เพื่อให้เราสามารถโฟกัสกับงานที่สำคัญที่สุดได้ก่อน
ซึ่งใครอยากอ่านเต็ม ๆ แอดเขียนไว้แล้วในบทความนี้เลยย 7 เทคนิคจัดลำดับความสำคัญของงาน สำหรับคนสายไอที / โปรแกรมเมอร์
การหลีกเลี่ยงการทำงานซ้ำซ้อน
- จัดทำ Workflow ของงานเราให้ดี “เพราะระบบที่ดี จะส่งผลให้เกิดงานที่ดี” การสร้าง Workflow ที่ชัดเจนและมีระเบียบ เพื่อให้การทำงานเป็นไปอย่างราบรื่นและไม่มีการทำงานซ้ำซ้อน
- อัปเดตสถานะงานอย่างต่อเนื่อง อัปเดตสถานะงานให้กับลูกค้าและทีมงานอย่างต่อเนื่อง เพื่อให้ทุกฝ่ายรับทราบถึงความคืบหน้าและป้องกันปัญหาที่อาจเกิดขึ้นได้นั่นเอง หลายคนเลือกที่จะเงียบ แล้วส่งทีเดียว บอกเลยว่าบางที “ความเงียบนี่คือสิ่งที่น่ากลัวไม่แพ้ผีเลยนะฮะ 555”
การรักษาเวลาส่งมอบงาน และ เรื่องความรับผิดชอบ
- ตั้งเวลาเสร็จงานตามความเป็นจริง ประเมินเวลาในการทำงานอย่างสมเหตุสมผล และหลีกเลี่ยงการตั้งเวลาเสร็จงานที่เกินความสามารถของตนเอง หรือ มีการเผื่อ Buffer สำหรับกรณีที่อาจเกิดปัญหาขึ้นไว้ด้วย
- ติดตามและปรับปรุงแผนการทำงาน ติดตามความคืบหน้าของงานอย่างต่อเนื่อง และปรับปรุงแผนการทำงานเมื่อจำเป็น เพื่อให้สามารถส่งมอบงานได้ตรงเวลา และ รวมถึงรายงานสถานะงานให้ลูกค้าทราบอย่างสม่ำเสมอ ไม่ว่าจะเป็นการส่งรายงานประจำสัปดาห์ หรือการอัปเดตผ่านอีเมลหรือแอปพลิเคชันการสื่อสาร
- ตอบคำถามและแก้ไขปัญหาอย่างรวดเร็ว ตอบคำถามและแก้ไขปัญหาที่ลูกค้าร้องขออย่างรวดเร็ว เพื่อสร้างความไว้วางใจและความพึงพอใจให้กับลูกค้า อันนี้ทำให้เป็นตัวแยกระหว่างคนซื้อบริการเราแค่ครั้งเดียว กับ ใช้บริการซ้ำหลายปีเลย
สุดท้าย เพราะสำคัญที่สุดกับเรื่องคุณภาพงาน
ให้เราทำการตรวจสอบคุณภาพงานก่อนส่งมอบให้ลูกค้าทุกครั้ง เพื่อให้แน่ใจว่างานที่ส่งมอบมีคุณภาพและตรงตามที่ลูกค้าคาดหวัง และ หากเกิดข้อผิดพลาด ควรรับผิดชอบและแก้ไขปัญหาอย่างรวดเร็ว พร้อมอธิบายให้ลูกค้าเข้าใจถึงสถานการณ์ที่เกิดขึ้นและแนวทางการแก้ไขที่เราอาจกำลังทำอยู่ด้วยนั่นเอง
5. ตัวอย่างผลงาน (Portfolio) คือ สิ่งเดียวก่อนเริ่มจ้างที่ลูกค้าเห็น
เจ้า Portfolio คือสิ่งสำคัญที่จะทำให้ลูกค้ามั่นใจในฝีมือของเรา ควรมีตัวอย่างงานที่เคยทำและแสดงให้เห็นถึงความหลากหลายของทักษะ ไม่ว่าจะเป็นเว็บไซต์ที่เคยพัฒนาหรือโปรเจคส่วนตัวที่ทำขึ้นมาเอง การสร้าง Portfolio ที่ดีสำหรับ Freelance Web Developer นั้นต้องมีรายละเอียดและองค์ประกอบที่ชัดเจน ตั้งแต่ส่วนของ
- การแนะนำตัว มีส่วนแนะนำตัวที่ชัดเจน อธิบายเกี่ยวกับตัวเรา ประสบการณ์ และทักษะในการพัฒนาเว็บไซต์
- รูปถ่ายหรือโลโก้ มีรูปถ่ายที่เป็นมิตรหรือโลโก้ที่แสดงถึงตัวตนของเรา
- การแสดงผลงาน: แสดงผลงานที่เคยทำมาแล้ว โดยแบ่งเป็นโปรเจคต่าง ๆ แยกตามประเภทของงาน (เช่น Front-End, Back-End, Full-Stack)
- รายละเอียดของโปรเจค แต่ละโปรเจคควรมีรายละเอียดที่ชัดเจน เช่น ชื่อโปรเจค, คำอธิบายสั้น ๆ, ภาพหน้าจอหรือวิดีโอสาธิต, ลิงก์ไปยังเว็บไซต์จริง หรือ GitHub repository
ซึ่งตัวอย่างภายใน Portfolio ที่เป็นผลงานก็อาจจะเน้นไปคนละทางหากเราทำงานกันคนละสาย เช่นของ
- Front-End Development แสดงตัวอย่างงานที่เน้นด้าน Front-End เช่น การออกแบบ UI/UX (แม้ว่าจะไม่ใช่หน้าที่ Front-end แต่ถ้าเป็น Freelance บางทีก็ต้องรับชมเองเหมือนกัน), การพัฒนาเว็บไซต์ด้วย HTML, CSS, JavaScript, React, Angular หรือ Lib / framework อื่น ๆ
- Back-End Development แสดงตัวอย่างงานที่เน้นด้าน Back-End เช่น การพัฒนา API, การจัดการฐานข้อมูล, การใช้ Node.js, Python, Ruby on Rails อะไรแบบนี้
- Full-Stack Development แสดงตัวอย่างงานที่ครอบคลุมทั้ง Front-End และ Back-End ก็ทำได้
นอกเหนือจากส่วนนี้หากใครที่ยังไม่รู้จะเริ่มยังไง เพราะเป็นงานแรก ๆ ของเรา แอดเปรมแนะนำให้ทุกคนสร้างเป็นโปรเจกต์ Mockup (โปรเจกต์ตุ๊กตา) ขึ้นมาเพื่อให้เราได้ซ้อม และ ได้ใส่ผลงานลงไปนั่นเอง อย่างเช่น “ลองทำเว็บแสดงวีดีโอเหมือน YouTube ดุไหม” อะไรแบบนี้ได้เลย
ซึ่งจริง ๆ แล้วก็สามารถทำได้ทั้ง Front-end และ Back-end นะ แต่แค่ Back-end อาจจะต้องเป็น Technical เพราะจะไม่ค่อยเห็นเป็นภาพเหมือนฝั่งหน้าบ้านนั่นเอง
6.การพัฒนาทักษะอย่างต่อเนื่อง
ใครที่ตามวงการ IT มาสักพักจะรู้ว่า “ทุกอย่างเปลี่ยนแปลงเร็วมากกกกก (กอไก่ล้านตัว)” เราต้องพัฒนาตัวเองอยู่เสมอ ไม่ว่าจะเป็นการเรียนรู้เทคโนโลยีใหม่ ๆ การเข้าร่วม workshop หรือการติดตามข่าวสารในวงการ เพื่อให้เรามีความสามารถในการแข่งขัน เพราะหลายครั้งมันมี Tools / Concept บางอย่างที่ “ถ้ารู้แล้วงานของเราจะดีขึ้น ไวขึ้น หรือ มีคุณภาพขึ้นนั่นเอง”
ซึ่งสำหรับใครที่เพิ่งเริ่มเราไม่สามารถไปตามเก็บสกิลพวกนี้ครบหมดแน่ ๆ เพราะถ้ารอเก็บครบ น่าจะเป็นสิบปี แต่ให้เราทำการค่อย ๆ เก็บระหว่างทำงานไปเรื่อง ๆ ไม่ว่าจะอ่านบทความและบล็อกจากเว็บไซต์ต่าง ๆ เช่น Medium, Dev.to หรือพวก CSS-Tricks (จนไปถึง borntoDev ของเรานี่แหละ 555 แอบขายหน่อย ) เพื่อเรียนรู้เทรนด์และเทคโนโลยีใหม่ ๆ
แต่ใครไม่ถนัดลองหา อ่านหนังสือและ E-Books ที่เกี่ยวกับการพัฒนาเว็บ เช่น “You Don’t Know JS” ของ Kyle Simpson หรือ แนว ๆ “Eloquent JavaScript” ของ Marijn Haverbeke และ แนว Algorithms ต่าง ๆ พวกนี้ก็น่าสนใจไม่แพ้กัน
“ทั้งนี้ที่สำคัญคือ การเรียนรู้มันเป็นสไตล์ส่วนบุคคล ใครชอบฟัง ชอบอ่าน ชอบดู ก็เลือกตามที่เราถนัด มันไม่ได้มีสูตรสำเร็จขนาดนั้้น แต่ขอให้เราพัฒนาทักษะของตัวเราเองในทุกวัน วันละ 1 เรื่องก็ยังดี เพื่อให้เราสามารถเติบโต และ พร้อมรับงานที่ใหญ่ขึ้นได้ต่อไป”
Kittikorn P – MD borntoDev Co., Ltd.
หรือ อีกวิธีที่หลายคนลืมนึกถึงเวลาต้องการพัฒนาสกิลคือการเข้าร่วมงานสัมมนาและ Conference ที่เกี่ยวกับการพัฒนา Software เช่น JSConf, React Summit, Frontend Masters ซึ่งถ้าอยู่เมืองไทยออาจจะดูออนไลน์เพื่อเรียนรู้จากผู้เทพในวงการ
หรือ อาจจะดู Local Event / Conference ในไทยก็ได้ ซึ่งจัดกันทุกเดือนแบบดุ ๆ ที่เว็บนี้ได้เลย https://th.techcal.dev/ นอกจากได้ฟังความรู้แล้ว ยังได้แรงบันดาลใจ หาเพื่อนใหม่ ๆ ไม่ให้เรารู้สึกเหงาอีกด้วยนะ
เอ่อ .. แล้วถ้าใครเป็น Introvert ไรงี้ก็ไม่ต้องกังวลนะ เพราะส่วนใหญ่ก็เป็นเหมือนเรากันทั้งนั้น ไม่ได้แปลกอะไร ไม่ต้องกังวลถ้าจะทักใครก่อน หรือ เดินไปหา Speaker ที่พูดบนเวทีตอนเขาลงมาแล้วมีโอกาสหละ “เขาพร้อมจะคุย หรือ แลกเปลี่ยนความรู้กับเราอยู่แล้ว ;-)”
7.สุดท้าย เพราะสำคัญสุด “การสร้างเครือข่ายและหาลูกค้า”
มันเป็นสิ่งสำคัญมากสำหรับ Freelance Web Developer เพราะนี่คือคือช่องทางในการหาลูกค้าใหม่ ๆ และขยายโอกาสทางธุรกิจของเราเลย คิดดูว่า ลูกค้ามีตัวเลือกเพียบตั้งแต่บริษัทขนาดใหญ่ จนถึง Freelance คนอื่น ๆ
“ทำไมเขาต้องเลือกเราด้วย?”
การที่เรามีเครือข่ายที่ดี ไม่ใช่เรื่องแย่ สังคมเรามักมองคำว่า Connection ในเรื่องลบ ๆ อย่างสินบน หรือ เลือกคนที่ไม่เหมาะเข้ามาในงาน แต่ลองนึก ๆ ดูนะครับว่า
“ถ้าเรารู้จักน้องคนนึงทำเว็บเก่งมาก ๆ และ เรารู้ว่าเขามีความรับผิดชอบ ผ่านงานใหญ่ ๆ มา เราจะเลือกเขาให้ทำเว็บร้านใหม่ให้เรา หรือ ไปเลือกใครไม่รู้ที่เราไม่รู้จัก ?”
ดังนั้นการ เข้าร่วมกลุ่ม Facebook ที่เกี่ยวกับการพัฒนาเว็บ จนไปถึง กลุ่มที่มีลูกค้าของเราเช่น ร้านค้า กิจการอยู่ในนั้นจริง ๆ จึงเป็นหนึ่งในช่องทางที่ดี ส่วนใครที่อยากหาคนที่อยู่ในธุรกิจโดยเฉพาะ ลองดูพวก LinkedIn ในการเชื่อมต่อกับผู้คนในวงการ และ ลูกค้าของเราก็ได้เช่นกัน
รวมถึงอาจจะเสนอตัวเป็นคนขอช่วยลูกค้า หรือ เว็บไซต์ที่กำลังเจอปัญหา เช่น ส่งอีเมลไปขอช่วยเขาปรับหน้าเว็บ ซึ่งอาจจะทำให้เรารู้จัก และ มีการจ้างงานต่อจากนี้ หรือ หากใครกำลังเป็นนักศึกษา แอดเปรมแนะนำให้ลองหาที่ฝึกงาน เพื่อที่จะรู้จักพี่ ๆ หรือ วิธีการทำงานให้มากขึ้น เมื่อวันนึงเรามารับงานเอง รับรองเลยว่า บุคคลรอบตัวเราจะมีส่วนในความสำเร็จนี้ของเราอย่างแน่นอน
และทั้งหมดนี้คือเรื่องราวที่อยากให้เตรียมตัวไว้ก่อนเดินทาง
การเป็น Freelance Web Developer ไม่ใช่เรื่องง่าย แต่ก็ไม่ยากเกินความสามารถของเรา มันจะมีอะไรแบบนี้ รวมถึงนอกเหนือจากนี้ที่เราจะต้องเจอตลอดทาง ถ้าเรามีความตั้งใจและเตรียมตัวให้พร้อมในทุกด้าน แอดเปรมเชื่อว่าเราจะประสบความสำเร็จได้แน่นอน! สู้ ๆ และเป็นกำลังใจให้นะทุกคนนน 🧡
สุดท้ายยย หากใครอยากเก็บสกิลแบบครบ ๆ ที่เรียนไปได้แค่ครึ่งคลาสก็พร้อมสำหรับ Freelance สาย Front-end มาทางนี้ !!
กับหลักสูตรฉบับรวบรัด เปลี่ยนคุณให้กลายเป็นนักพัฒนาเว็บไซต์ฝั่งหน้าบ้าน (Front-End Developer) ได้ภายใน 3 เดือนครึ่งจากทีมผู้สอนที่ถ่ายทอดความรู้เรื่องการพัฒนาเว็บ และ คนในวงการตัวจริง
โดยมีเป้าหมายของหลักสูตรคือ “ทำให้คุณสามารถเข้าสมัคร และ ทำงานในตำแหน่ง Junior Front-End Developer ได้เลยทันทีหลังเรียนทำแบบทดสอบ และ โปรเจกต์สุดท้าทายในหลักสูตรอย่างครบถ้วน หรือ สามารถทำงาน Freelance ระดับเริ่มต้นของการพัฒนาเว็บไซต์ได้เมื่อเรียนไปถึงครึ่งทาง”