ผมที่ทำงานกับ .Net กับเพื่อนรุ่นน้องที่ใช้ python ได้มาคุยกัน
ระหว่างนั้นก็พูดถึงสถานการณ์ที่เกี่ยวกับการหางาน
ระหว่างรุ่นน้องที่ใช้ภาษาอย่าง Rust, Elixir ซึ่งในประเทศพบได้ไม่บ่อย
กับรุ่นน้องที่ใช้ภาษาอย่าง Java, JS ซึ่งพบได้บ่อยในประเทศ
พวกเรารุ่นน้องเลยลองคุยกันว่าแบบไหนจะได้เปรียบกว่ากัน
แน่นอนว่าด้วยความรู้ที่ยังไม่มาก ข้อสรุปที่ได้คือการแสดงศักยภาพผ่าน CS และการสอบโค้ดดิ้งเป็นสิ่งสำคัญที่สุด
หลังจากนั้นก็คงต้องขึ้นอยู่กับบริษัท ซึ่งได้มาเพียงข้อคาดเดาเท่านั้น
รุ่นพี่ ๆ คิดเห็นกันอย่างไรบ้าง?
20 ความคิดเห็น
ผมมาเห็นโพสต์นี้ช้าไปหน่อยเลยเหมือนมาคอมเมนต์ตามน้ำทีหลัง แต่การพูดแค่ว่า "ภาษาก็เป็นแค่เครื่องมือ~~~" ดูจะเป็นมุมมองที่ไม่ค่อยสมจริงเท่าไร อย่างน้อยถ้าเป็นจูเนียร์ที่ใช้ Rust ได้ดี ทั้งที่มันมี learning curve สูงและมีกำแพงในการเริ่มต้นพอสมควร คนคนนั้นก็น่าจะจัดการภาษาอื่นอย่าง .NET หรือ Python ได้แบบสบาย ๆ ผมคิดว่าในแง่พื้นฐาน ความสามารถน่าจะต่างกันอยู่พอสมควร จากประสบการณ์ของผม คนที่เข้ามาในตลาดนักพัฒนาด้วย Python มากกว่า c/c++ มักจะด้อยกว่าอยู่มากทั้งเรื่องความรู้พื้นฐานด้าน c/s ความรู้อัลกอริทึม และเซนส์ในการทำงาน แน่นอนว่าถ้ามีความรู้โดเมนของสายงานนั้นมารองรับด้วยก็จะเกิดพลังเสริมกัน แต่สรุปคือ ในความเป็นจริง ความต่างของฝีมือนั้นเห็นได้ชัดตั้งแต่จุดเริ่มต้นแล้ว และมันไม่ใช่แค่เรื่องของการเลือกภาษาอย่างเดียว
แม้จะไม่ใช่ประเด็นหลักของคำถามนี้นัก แต่บางครั้งพอได้ยินคนพูดว่า "ภาษาเป็นแค่เครื่องมือ จะเลือกอะไรก็ไม่สำคัญ" ก็อดรู้สึกเสียดายอยู่บ้างไม่ได้ แต่ละภาษามีคุณค่าและเจตนาที่มุ่งไปไม่เหมือนกัน ทว่ากลับดูเหมือนว่าสิ่งเหล่านั้นถูกเหมารวมไปว่า "ก็ทำอะไรแบบนั้นแบบนี้ได้เหมือนกันทั้งคู่"
ผมเห็นด้วยได้ถ้าคำกล่าวที่ว่าภาษาเป็นเพียงเครื่องมือนั้นจำกัดอยู่แค่ในช่วงเริ่มต้น เช่น การเรียนรู้โครงสร้างการควบคุม โครงสร้างข้อมูล และอัลกอริทึม อย่างไรก็ตาม หลังจากพ้นช่วงเริ่มต้นไปแล้ว ผมคิดว่าควรคำนึงถึงรายละเอียดต่าง ๆ อย่างแรงเฉื่อยของอุตสาหกรรม ไลบรารีมาตรฐาน ไลบรารีจากบุคคลที่สาม โมเดลการทำงาน วิธีการดีพลอย การเข้าถึงและคุณภาพของเอกสารอ้างอิง รวมถึงจำนวนผู้ใช้ด้วย ยกตัวอย่างเช่น ต่อให้พลังในการแสดงออกของภาษาทั่วไปจะเท่าเทียมกันเพียงใด สำหรับงานแมชชีนเลิร์นนิง การเลือก Python ก็ยังเป็นตัวเลือกที่ปลอดภัยที่สุดอยู่ดี
อาจเป็นเพราะผมยังเป็นจูเนียร์อยู่ เลยอาจจะเห็นแค่ในช่วงเริ่มต้นการเรียนก็ได้ครับ
ขอบคุณสำหรับคำแนะนำดี ๆ นะครับT_T
เห็นด้วยครับ 555
เทคสแตกที่ใช้กันอย่างแพร่หลายในอุตสาหกรรมบ้านเราจะได้เปรียบ สิ่งที่เรียนรู้ได้ด้วยการศึกษาด้วยตัวเองกับสิ่งที่เรียนรู้ได้ในบริษัทนั้นมีความแตกต่างกัน ผมคิดว่าอย่างหลังอย่างน้อยก็น่าจะไม่โดดเดี่ยวนัก
เป็นรุ่นน้องที่เคยทำ Java แล้วดันไปตกหลุมเสน่ห์ของ .NET เข้าอย่างจังเลยครับ T_T
ในทางเทคนิค เทคโนโลยีที่สมบูรณ์กว่าหรือมีประสิทธิภาพในการทำงานมากกว่าก็ไม่ได้เป็นสิ่งที่ตลาดเลือกเสมอไป สำหรับผม เมื่อราว ๆ 10 ปีก่อน มีบริษัทใหญ่ที่ใช้ Python Django อยู่แค่แห่งเดียว เลยจำได้ว่าต้องยอมล้มเลิกเรื่องหางานไปอย่างเงียบ ๆ แล้วไปเรียน PHP กับ Spring แทน ตอนนี้ก็น่าเสียดายอยู่เหมือนกัน เพราะรู้สึกว่าไม่ว่าเฟรมเวิร์กไหนในตอนนี้ก็ยังให้ประสิทธิภาพการพัฒนาได้ไม่เท่า Django
อ๋อ...งั้นคงต้องลองคิดดูก่อนแล้วครับ
พูดตามตรง ถ้าเชี่ยวชาญภาษาใดภาษาหนึ่งให้ดีจริง ๆ แล้ว ภาษาอื่น ๆ ก็ปรับตัวได้ไม่ยาก
เว้นแต่ว่าจะเป็นสถานการณ์แบบย้ายจากภาษาเชิงวัตถุไปเป็นภาษาเชิงฟังก์ชันน่ะนะ
น่าจะอ้างอิงจากประกาศรับสมัครงานของบริษัทที่อยากเข้าไปทำงานนะครับ
ภาษาอาจไม่ใช่สิ่งที่สำคัญขนาดนั้น.. สิ่งสำคัญอาจเป็นความชำนาญในการเข้าใจและจัดการสภาพแวดล้อม หรือการออกแบบที่แข็งแกร่ง.. ตั้งเป้าไปที่การศึกษาหรือมีส่วนร่วมคอมมิตกับโอเพนซอร์สที่ออกแบบมาดีในภาษาที่ต้องการ..
เรียนรู้จากการดูโอเพนซอร์ส! จะจำไว้ครับ
อย่างน้อยในประเทศก็มีบริษัทที่ใช้ Java เยอะ จึงได้เปรียบเรื่องการหางานด้วย
ถ้าใช้ Java เป็นภาษาหลักแล้วค่อยศึกษาภาษาเสริมอื่น ๆ เพิ่มไป มองเฉพาะในแง่การหางานจะได้เปรียบกว่า
ไม่เกี่ยวกับฝีมือเลย แค่ไม่มีประสบการณ์ที่เกี่ยวข้องก็มักมีโอกาสสูงที่จะตกตั้งแต่ขั้นเอกสาร T_T
ถูกต้องครับ ต่อให้เก่งภาษาอื่นแค่ไหนก็ตาม ถ้าภาษาหลักที่บริษัทใช้คือ Java บริษัทก็ย่อมต้องการพนักงานที่สามารถเข้ามามีส่วนร่วมด้วย Java ได้ทันที
ต่อให้ผมท่อง cs จนขึ้นใจและจำเอกสารได้เป๊ะขนาดไหน
ถ้าตัวโปรไฟล์ไม่ตรงกับบริษัท เขาก็คัดตกตั้งแต่รอบเอกสารเลยครับ T_T
น่าเศร้าที่นี่คือประสบการณ์ตรงของผมเองครับ T_T
ภาษาเป็นเรื่องของการเลือกงั้นเหรอ?
ที่บริษัทผมทำกับ Java framework หรือเว็บโซลูชันอย่าง WebSquare แต่สำหรับการพัฒนาเป็นงานอดิเรก ผมใช้ node หรือ rust
ถ้าทำแค่งานบริษัทอย่างเดียว ผมคิดว่าการเดินตามบริษัทก็ถูกต้องแล้ว แต่ถ้ามีการพัฒนาที่ตัวเองอยากทำ ก็คิดว่าน่าจะหาเวลาว่างมาเรียนภาษาที่ตัวเองต้องการ...
ผมคิดว่าความรู้ด้าน CS หรือความรู้ด้านสถาปัตยกรรมสำคัญ เพราะภาษาและเฟรมเวิร์กเปลี่ยนได้เสมอ ผมคิดว่าภาษาไม่ใช่สิ่งสำคัญครับ
คงต้องกลับไปเปิดหนังสือเรียนเฉพาะทางอีกครั้งแล้ว
มีแจ้งเตือนขึ้นมาเลยเข้ามาดู เห็นว่าท่านด้านบนคุยกันเรื่องว่าภาษาเป็นแค่เครื่องมือธรรมดาหรือเปล่า 555
ผมไม่ได้คิดว่าภาษาเป็นเครื่องมือที่ "ธรรมดา" แต่ก็คิดว่าเป็นเครื่องมือครับ
ผมคิดว่าแต่ละภาษามีปรัชญาและหลักการออกแบบของตัวเอง จึงควรเข้าใจสิ่งเหล่านั้นแล้วเลือกภาษาที่เหมาะกับปัญหาที่ต้องแก้ (หรือผลิตภัณฑ์ที่ต้องส่งมอบ)
สุดท้ายแล้ว การจะหาภาษาที่เหมาะเจอได้อย่างไร ก็ต้องอาศัยประสบการณ์หรือการเรียนรู้ครับ ในมุมมองนี้ ผมเลยมองว่าภาษาเป็นเครื่องมือ และสิ่งที่สำคัญกว่าคือสถาปัตยกรรมหรือความรู้ด้าน CS
พอกลับไปดูคอมเมนต์ที่เขียนไว้เมื่อ 2 สัปดาห์ก่อน ก็รู้สึกว่าประโยคท้ายที่ว่า "ผมคิดว่าภาษาไม่ใช่สิ่งสำคัญ" มันดูหยิ่งไปหน่อย เลยขอฝากคอมเมนต์เพิ่มเติมไว้แบบนี้ครับ 555