
Talance Hiring Guide : Go Developer #9
Go เรียกอีกอย่างว่า Golang หรือ Go language เป็นภาษาโปรแกรมแบบโอเพ่นซอร์สและการพิมพ์แบบ static ซึ่งถูกออกแบบโดย Google ตามวัตถุประสงค์ที่ต้องการให้ภาษาออกมาเรียบง่าย ประสิทธิภาพสูง และเข้าใจง่าย
เป็นความจริงที่ภาษา Go ได้รับการออกแบบโดย Robert Griesemer, Rob Pike และ Ken Thompson เหล่าวิศวกรคอมพิวเตอร์ที่ไม่ชื่นชอบการเขียนโปรแกรมด้วยภาษา C++ เลยแม้แต่น้อย
แต่เริ่มแรกภาษา Go ได้รับการออกแบบภายใต้แรงบันดาลใจจากภาษาที่เรียบง่ายและใกล้เคียงภาษามนุษย์มากที่สุดอย่าง Python แต่ยังคงต้องการความรวดเร็วแบบภาษา C ทำให้ภาษา Go มีประสิทธิภาพมากยิ่งขึ้้นอีกด้วย โดยได้รับการเผยแพร่ต่อสาธารณชนเมื่อปี 2009 และถูกทำให้กลายเป็นโอเพ่นซอร์สเวอร์ชันแรกที่มีชื่อว่า Golang 1.0 ในปี 2012
จุดเด่นของ Go
มีหลายเหตุผลที่ทำไม Golang ถึงเป็นภาษาที่มาแรงอย่างมากในปีที่ผ่านมา ด้วยความโดดเด่นด้านการทำ back-end ที่ช่วยให้โปรเจกต์มีประสิทธิภาพเพิ่มมากขึ้นหรือแม้กระทั่งสามารถพัฒนา smart contract ที่ช่วยสร้างความโดดเด่นให้กับองค์กรสมัยใหม่ได้
ทั้งนี้ Golang ยังมีจุดเด่นอีกมากมาย ซึ่งวันนี้ Talance จะพาคุณมารู้จักกับจุดเด่นต่าง ๆ เหล่านี้
- Performance & Speed : มีความรวดเร็วพอ ๆ กับภาษา Java แม้มีขนาดของโค้ดที่ยาวกว่าก็ตาม
- Community : คอมมูนิตี้ของ Go กำลังเติบโตอย่างต่อเนื่องโดยปัจจุบันมีผู้คนบน Github มากกว่า xxxx ราย และผู้ติดตามบน Twitter มากกว่า xxxxx ราย
- Easy Learning : ภาษา Go เป็นภาษาโปรแกรมที่ง่ายที่สุดหากคุณมีพื้นฐานในการเขียนภาษาคอมพิวเตอร์อื่น ๆ อยู่แล้ว โดยนักพัฒนาซอฟแวร์หลายรายสามารถสร้างแอปขั้นสูงด้วย Go ได้ภายในเวลาไม่กี่ชั่วโมง
- Well-Scaled : Goroutines ใช้หน่วยความจำเพียง 2 kB ซึ่งทำให้สามารถปรับขนาดได้เมื่อจำเป็นอีกทั้งยังไม่ต้องพึ่งพา multi-threading แบบดั้งเดิมอีกด้วย
- High-Demand : Go เป็นภาษาโปรแกรมที่มีความต้องการมากที่สุดอันดับ 1 ของโลกในปี 2021 และดูเหมือนความต้องการในปีนี้ก็ไม่ลดลงเช่นเดียวกัน
ความนิยมของ Go ในช่วงที่ผ่านมา
เป็นเรื่องตลกร้ายที่ภาษา Go ถูกออกแบบมาเพื่อให้มีคำค้นหาที่ง่าย โดย Golang มาจากชื่อโดเมนของเว็บไซต์ทางการของ Go อย่าง golang.org ซึ่งมันมีประโยชน์อย่างมากเนื่องจากผู้คนส่วนใหญ่มักค้นหาคำว่า “Go” โดยทั่วไปบน Google ซึ่งทำให้คนใหม่ ๆ ที่กำลังมองหาข้อมูลเกี่ยวกับการเขียนโปรแกรมสามารถมองเห็นมันได้อยู่ตลอดเวลา
อย่างไรก็ตามองค์กรขนาดใหญ่จำนวนมากเริ่มใช้ Golang เพิ่มขึ้นเป็นอย่างมากในช่วงที่ผ่านมา ได้แก่ Google, Cloudflare, Dropbox, MongoDB, Netflix, SoundCloud, Twitch และ Uber เป็นต้น
จากการสำรวจที่จัดทำโดยชุมชน Golang อย่างเป็นทางการจะเห็นได้ว่าภาษา Go ส่วนใหญ่มักถูกใช้สำหรับการเขียน Web programming, Database และการใช้งานที่เกี่ยวข้องกับ DevOps ตามการอ้างอิงจากข้อมูลในปี 2019-2020 แสดงให้เห็นว่าการใช้งานภาษา Go สำหรับ Web programming ยังคงได้รับความนิยมอย่างต่อเนื่อง
ต่อมาไม่นานด้วยความเรียบง่ายของ Go ทำให้กลายหนึ่งในสาเหตุหลักที่ทำให้ภาษาโปรแกรมได้รับความนิยมเพิ่มขึ้น 5 อันดับจากอันดับที่ 10 เป็น 5 ตามการสำรวจนักพัฒนา StackOverflow ในปี 2020 จากความคิดเห็นของนักพัฒนากว่า 65,000 ราย
ด้วยการเปลี่ยนแปลงทางเทคโนโลยีอย่างรวดเร็วของภาษาคอมพิวเตอร์ทำให้ประเทศต่าง ๆ กว่า 162 ประเทศมีการใช้งานภาษาที่แตกต่างกันออกไป โดย Golang ได้รับความนิยมด้านการค้นหามากถึง 1.24% จากจำนวนภาษาคอมพิวเตอร์ทั้งหมดในปี 2021
ปัจจุบันในปี 2022 Go Developer ถูกใช้งานใน solidity หรือ blockchain development เนื่องจากเป็นภาษาสำหรับการเขียน smart contract ในเครือข่าย Ethereum blockchain ซึ่งเป็นเครือข่ายบล็อกเชนขนาดใหญ่ที่สุดของโลกเป็นอันดับที่สองที่มาแรงเป็นอย่างมาก
อีกทั้ง Golang ยังถูกใช้ในการทำ Decentralized Applications (DApps) ซึ่งเป็นแอปพลิเคชันหรือโปรแกรมดิจิทัลที่ทำงานบนเครือข่ายบล็อกเชนและทำงานแบบ P2P โดยอยู่นอกขอบเขตและการควบคุมของหน่วยงานใดหน่วยงานหนึ่ง โดยได้รับความนิยมอย่างมากจากการเติบโตของบล็อกเชนในปี 2021-2022
Insight จาก Talance
ในปี 2021 ที่ผ่านมา ได้มีผู้ว่าจ้างตามหา Go Developer คิดเป็นจำนวน 2 โปรเจกต์จากทั้งหมด 161 โปรเจกต์หรือคิดเป็น 1.24% จากจำนวนโปรเจกต์ในปี 2021 ทั้งหมด
อย่างไรก็ตามในช่วง 9 เดือนแรกของปี 2022 ก็ได้มีผู้ว่าจ้างตามหานักพัฒนาภาษา Go เพิ่มขึ้นเป็น 13 โปรเจกต์จากทั้งหมด 250 โปรเจกต์หรือคิดเป็น 5.2% จากจำนวนโปรเจกต์ในปี 2022 ทั้งหมด
สิ่งนี้แสดงให้เห็นว่า Go Developer ได้รับความนิยมจากผู้จ้างงานมากขึ้นเมื่อเทียบกับปี 2021 โดยปัจจุบัน Talance มี Go Developer อยู่บนแพลตฟอร์มทั้งหมด 29 รายซึ่งส่วนใหญ่มีเวลาว่างสำหรับการรับงานฟรีแลนซ์สัปดาห์ละ 20-25 ชั่วโมง
หา Go Developer ได้จากที่ไหนบ้าง
แน่นอนหากคุณกำลังมองหา Go Developer อันดับแรกเลยคือคุณต้องเข้าใจจุดประสงค์ขององค์กรก่อนว่ากำลังต้องการทำโปรเจกต์ระยะสั้นหรือยาว แม้กระทั่งลักษณะของโปรเจกต์ว่ากำลังต้องการพนักงานแบบ Full-time Developer หรือ Freelance Developer กันแน่ ซึ่งวันนี้ Talance จะมาช่วยพาให้คุณขยายทีมด้วย Full-time Developer และ Freelance Developer แบบจัดเต็ม
ขยายทีมด้วย Full-time Developer
การมองหา Full-time Developer ในภาษา Go นั้นควรเริ่มจากถามหาความต้องการขององค์กรก่อนว่าต้องการนักพัฒนาในระดับไหน เช่น Junior Developer, Mid-Level Developer หรือ Senior Developer ซึ่งหากได้ข้อสรุปแล้วจึงจะเริ่มโพสต์ตามหา Full-time Developer ตามกลุ่มต่าง ๆ
ทั้งนี้การตามหา Full-time Developer ในระยะเวลาสั้น ๆ เป็นเรื่องที่เกิดขึ้นได้ยากอย่างมากเนื่องจากขั้นตอนการค้นหา สมัคร คัดเลือก สัมภาษณ์ และเซ็นสัญญาจ้างงาน ซึ่งจะใช้เวลาโดยเฉลี่ยต่อการเปิดรับ Full-time Developer อยู่ที่ 30-60 วัน (ประมาณ 1-2 เดือน) แต่ก็ยังคงคุ้มค่าหากต้องการจ้างงานในระยะยาว เช่น องค์กรมีโปรเจกต์ในระยะยาวหรือมีปริมาณงานจำนวนมาก
แต่อย่างไรก็ตามหากการจ้างงาน Full-time Developer ไม่ตอบโจทย์ของคุณในตอนนี้ ก็ยังมีทางเลือกอื่น ๆ เช่น Outsource หรือ Freelance Developer เป็นตัวเลือกอยู่
ขยายทีมด้วย Freelance Developer
Freelance Developer ถือเป็นตัวเลือกที่ตอบโจทย์อย่างมากหากคุณต้องการตามหานักพัฒนาในระยะเวลาอันรวดเร็วเนื่องจากไม่ต้องผ่านขั้นตอนต่าง ๆ ให้ยุ่งยากหรือเป็นเวลานาน
Talance แพลตฟอร์มค้นหา Freelance Developer ที่จะช่วยให้องค์กรต่าง ๆ ได้นักพัฒนาไปช่วยพัฒนาโปรเจกต์ได้ภายใน 7 วัน ซึ่งเร็วกว่าการหาพนักงานประจำถึง 4-8 เท่า พร้อมเรทราคารายชั่วโมงที่ถูกกว่าการจ้างพนักงานประจำในระยะสั้นอีกด้วย
เงินเดือนของ Go Developer
Go Developer ในตลาดแรงงานหลัก ๆ แล้วถูกแบ่งออกเป็น 2 ประเภท ได้แก่ พนักงานประจำ และ ฟรีแลนซ์ ซึ่งทั้งสองแบบจะมีเรทค่าใช้จ่ายที่แตกต่างกันตามความยากง่ายของโปรเจกต์ แน่นอนว่าหากเรากำลังต้องการโปรแกรมเมอร์ในระยะยาวการจ้างพนักงานประจำย่อมตอบโจทย์กว่าฟรีแลนซ์ซึ่งเป็นการเพิ่ม Fix-cost ให้กับบริษัท แต่หากองค์กรของคุณต้องการโปรแกรมเมอร์ในระยะสั้นฟรีแลนซ์ย่อมตอบโจทย์มากกว่าเนื่องจากบริษัทไม่ต้องแบกรับ Fix-cost ในระยะยาว
พนักงานประจำ
ตามข้อมูลจากกลุ่ม Facebook เช่น โปรแกรมเมอร์ หา งาน หา โปรแกรมเมอร์, Thai Work From Home งานประจำทำที่บ้าน, Jobs for Thai Programmers รวมถึง Linkedin และ JobDB ของ Developer ภายในประเทศไทยพบว่าสถิติการจ้างงานพนักงานประจำนั้นมีอัตราเงินเดือนที่แตกต่างกันออกไป โดยแบ่งได้ออกเป็น 3 ระดับได้แก่ Junior, Mid-Level และ Senior
Junior Developer : มีฐานเงินเดือนอยู่ที่ 20,000 – 35,000 บาทต่อเดือน
Mid-Level Developer : มีฐานเงินเดือนอยู่ที่ 35,000 – 70,000 บาทต่อเดือน
Senior Developer : มีฐานเงินเดือนอยู่ที่ 90,000 – 120,000 บาทต่อเดือน
หมายเหตุ : ฐานเงินเดือนแปรผันกับ “ประเภทของบริษัท, company size, job qualification, ประสบการณ์ที่ต้องการ และอื่น ๆ อีกมากมาย” โดยเก็บข้อมูลผ่านกลุ่มตัวอย่างเท่านั้น
Freelance
องค์กรส่วนใหญ่มักกังวลว่า Freelance Developer จะมีค่าใช้จ่ายที่เยอะเกินงบประมาณที่ตั้งไว้ของบริษัท แน่นอนว่าหากคุณเทียบค่าตอบแทนที่จ่ายกับพนักงานประจำต่อฟรีแลนซ์ในแต่ละเดือนนั้น ฟรีแลนซ์อาจมีเรทที่สูงกว่าอย่างแน่นอน อย่างไรก็ตามฟรีแลนซ์ส่วนใหญ่นั้นมักมีประสบการณ์ทำงานที่สูงและมีความเชี่ยวชาญในหลายสายงานทำให้การจ้างฟรีแลนซ์เข้ามาช่วยพัฒนาองค์กรในแต่ละครั้งยังช่วย “เสริมสร้างและพัฒนาทีมในองค์กร” ได้อีกด้วย
ตามข้อมูลจากการจ้างฟรีแลนซ์รายโปรเจกต์นั้นจะมีราคาอยู่ระหว่าง 9,500 – 600,000 บาทต่อโปรเจกต์ทั้งนี้ขึ้นอยู่กับความยากง่ายของแต่ละโปรเจกต์รวมทั้งหากองค์กรของคุณต้องการความพิเศษในทักษะอื่น ๆ เป็นอย่างมากก็จะยิ่งมีเรทค่าใช้จ่ายที่เพิ่มมากยิ่งขึ้น
ทราบหรือไม่ว่าเรทค่าตอบแทนรายชั่วโมงของ Golang Developer ในทวีปเอเชียนั้นอยู่ที่ราว ๆ 18-42 ดอลลาร์ต่อชั่วโมง ซึ่งราคาถูกกว่าทวีปอื่น ๆ 5 – 40% เลยทีเดียว
วิธีการประเมิน Skill ของ Go
วิธีการประเมิน skill เบื้องต้นของ Goalng Developer นั้นมีอยู่มากมายแต่ทั้งนี้ควรประเมินทักษะที่แข็งและอ่อนของพวกเขา มาดูกันว่านักพัฒนา Go ควรมีทักษะอะไรบ้าง
- มีความเชี่ยวชาญกับแนวคิดพื้นฐานของภาษา Go
- มีความเข้าใจอย่างลึกซึ้งกับ Goroutine
- มีความรู้เรื่อง Go frameworks เป็นอย่างดี
- มีความรู้เกี่ยวกับการสร้าง Go Template
- มีความคุ้นเคยกับ Godoc
- มีความเข้าใจกับ Go channel patterns
Talance แนะนำคำถามสำหรับ Go Developer
Q : Gopath environment variable คืออะไร
A : Gopath environment variable ใช้เพื่อกำหนดตำแหน่งของพื้นที่ทำงานภาษา Go
Q : Go interfaces คืออะไร
A : Go interfaces ได้รับการพัฒนาเพื่อกำหนดพฤติกรรมของ object สิ่งเหล่านี้สร้างขึ้นโดยใช้คำสั่ง ‘type’ ตามด้วยชื่อและอินเทอร์เฟซของคำสั่งหลัก
Q : Golang มีโครงสร้างการวนซ้ำกี่แบบ?
A : Golang เสนอโครงสร้างลูปเดียวเท่านั้น นั่นคือ ‘for’ เท่านั้นแต่ลูปนั้นจะมี 3 องค์ประกอบที่แตกต่างกัน
จ้าง Go Developer กับ Talance
ท้ายที่สุดหากคุณกำลังมองหา Freelance Developer ผู้เชี่ยวชาญ Talance เป็นหนึ่งในคำตอบแรกที่จะช่วยให้คุณสามารถหาคนที่ตอบโจทย์กับลักษณะโปรเจกต์พร้อมเลือกได้แบบ on-demand
หากคุณต้องการจ้าง Golang Developer กับ Talance พวกเรามีหน้า “Talant Profile Showcase” ที่จะช่วยให้คุณตัดสินใจเลือก Developer ต่าง ๆ ได้ง่ายยิ่งขึ้น
Talant Profile Showcase เป็นพื้นที่สำหรับองค์กรที่ต้องการ Resource เพื่อไปพัฒนาโปรเจกต์ที่องค์กรของคุณต้องการ วันนี้เรายกมาให้ดูทั้ง ประสบการณ์ทำงาน, Technology, ประเภทโปรเจกต์, จำนวนชั่วโมงทำงานต่อสัปดาห์ และ ค่าบริการรายชั่วโมงเริ่มต้น ให้องค์กรเลือกกันแบบจัดเต็ม
รู้หรือไม่? ผู้ว่าจ้างยอมจ่ายเงินให้กับนักพัฒนาภาษา Go ต่อโปรเจกต์อยู่ที่ 39,000 – 156,000 บาท ซึ่งใช้ระยะเวลาการจ้างงาน 320 ชั่วโมง หรือจ่ายเพียงประมาณ 39,000 บาทในแต่ละเดือนเท่านั้น
สรุป
Golang กำลังได้รับความนิยมอย่างมากจากอุตสาหกรรมบล็อกเชนและ Web programming เป็นอย่างมากในปี 2022 ดังนั้นหากคุณต้องการจ้างพวกเขาอย่าลืมที่จะสอบถามความคุ้นเคยกับภาษา Go และ Go Framework รวมทั้งประสบการณ์ในอุตสาหกรรมต่าง ๆ ที่ผ่านมา
ทั้งนี้ Ethereum ได้เปลี่ยนกลไกฉันทามติจาก Proof-of-Work สู่ Proof-of-Stake ทำให้การเขียน smart contract กำลังเพิ่มมากขึ้นในช่วงท้ายไตรมาสของปี นั่นรวมถึง Golang Developer ก็กำลังจะได้รับความนิยมเพิ่มมากขึ้นเช่นเดียวกัน
ท้ายที่สุดทำไมคุณถึงยังไม่สร้าง Freelance Developer ผู้เชี่ยวชาญผู้ผ่านประสบการณ์มากถึง 5-7 ปีในเรทราคาสบายกระเป๋ากันหล่ะ? รออะไรจ้างเลย!