Mobile Developer เรียนอะไรบ้าง
อยากเป็น Mobile Developer ต้องเรียนอะไร? มีวิชาพื้นฐานอะไรบ้างที่จำเป็นต่อการทำงาน?
เอาจริงดิ อยากเป็น Mobile Dev อ่ะ? ฉันว่ามันก็ไม่ได้ยากขนาดนั้นนะ แต่ก็ไม่ง่ายเหมือนปอกกล้วยเข้าปากอ่ะแหละ ต้องมีใจรักจริง ๆ แล้วก็ขยันฝึกฝน
ตอนแรก ๆ ที่ฉันเริ่มนะ (นานมากแล้ว จำปีไม่ได้ แต่รู้ว่าใช้ Android เวอร์ชั่น 2.3 อยู่เลยมั้ง) ก็งงไปหมด ไม่รู้จะเริ่มตรงไหนก่อนดี แต่โชคดีที่เพื่อน (ชื่อ [ชื่อเพื่อน]) มันเก่งเรื่องนี้ เลยคอยแนะนำตลอด
วิชาพื้นฐานที่จำเป็นเหรอ? อืมน่าจะเป็นพวก Data Structure, Algorithm, OOP (Object-Oriented Programming) แล้วก็เรื่อง Network นี่สำคัญเลยแหละ เพราะแอพส่วนใหญ่มันต้องดึงข้อมูลจาก Server มาแสดงผล
ส่วนถ้าอยากเป็น Android Dev โดยเฉพาะนะ คือต้องคล่อง Java หรือ Kotlin (เดี๋ยวนี้เค้าฮิต Kotlin กันแล้ว) แล้วก็ต้องเข้าใจ Android SDK ดี ๆ พวก Activity, Fragment, Service อะไรพวกนี้อ่ะ
เรื่องเรียนจบอะไรมา อันนี้ก็สำคัญนะ ถ้าจบพวก Computer Science, Computer Engineering หรือ IT มา มันก็จะได้เปรียบหน่อย แต่ถ้าไม่ได้จบมาโดยตรง ก็ไม่ต้องท้อนะ เพื่อนฉันหลายคนจบอย่างอื่นมา แล้วมาเรียนรู้เองก็เก่งได้เหมือนกัน
เอาจริง ๆ ประสบการณ์สำคัญกว่าเยอะเลย หาทางฝึกงาน หรือรับงาน Freelance ทำไปเรื่อย ๆ จะช่วยให้เราเก่งขึ้นแบบก้าวกระโดดเลย ฉันเคยรับงานเขียนแอพให้ร้านอาหารแถว [ชื่อสถานที่] เมื่อ [เดือน ปี] ได้เงินมา [จำนวนเงิน] รู้สึกภูมิใจมาก
แต่ที่สำคัญที่สุดคืออย่าหยุดเรียนรู้ เทคโนโลยีมันเปลี่ยนเร็วมากกกก ถ้าเราไม่ตาม มันก็แซงหน้าเราไปแล้ว
Developer ต้องเรียนจบอะไร
Developer ต้องเรียนจบอะไร… อืม… มันก็… ไม่ตายตัวหรอกนะ
แต่ถ้าถามถึงทางที่คนส่วนใหญ่เดินกัน… วิศวะฯ คอมฯ, วิทยาศาสตร์คอมฯ, หรือพวก IT เนี่ย… มันก็เป็นทางที่ค่อนข้างตรง
แล้ว Full Stack Developer เนี่ย… มันต้องรู้เยอะไง
- วิศวะฯ คอมฯ: มันจะสอนพื้นฐานลึกๆ พวกโครงสร้างคอมพิวเตอร์, Algorithm, Data Structure… คือมันแน่น
- วิทยาศาสตร์คอมฯ: อันนี้จะเน้นทฤษฎีหน่อย พวกภาษาโปรแกรม, คณิตศาสตร์ที่ใช้ในคอมพิวเตอร์… คือถ้าใครชอบคิดอะไรที่เป็นนามธรรมหน่อย อันนี้น่าจะใช่
- IT (Information Technology): อันนี้จะเน้นไปทางประยุกต์ใช้มากกว่า… พวก Network, Database, System… คือทำยังไงให้ระบบมันทำงานได้
แต่สุดท้าย… ต่อให้เรียนอะไรมา… ถ้าไม่ฝึก… ไม่ลองทำจริงๆ… มันก็ยากที่จะเป็น Full Stack Developer ได้
มันเหมือนกับ… เรียนทำอาหาร… แต่ไม่เคยเข้าครัวเลย… มันก็คงทำอาหารไม่อร่อยอ่ะนะ
เพิ่มเติม:
- บางคนไม่ได้จบตรงสาย… แต่ก็เป็น Developer ที่เก่งได้… เพราะเค้าขยันเรียนรู้ด้วยตัวเอง
- Full Stack Developer ไม่ได้มีแค่ frontend กับ backend นะ… มันยังมีเรื่อง DevOps, Cloud, Security อีกเยอะเลย
- เทคโนโลยีมันเปลี่ยนเร็วมาก… ต้องตามให้ทันตลอดเวลา… ไม่หยุดที่จะเรียนรู้
- การทำโปรเจคส่วนตัว… หรือการ contribute ให้ Open Source… มันช่วยพัฒนาตัวเองได้เยอะมาก
เฮ้อ… พูดไปก็เหมือนบ่นให้ตัวเองฟังมากกว่า… แต่ก็… ประมาณนี้แหละมั้ง
นักพัฒนาแอป เรียนอะไร
นักพัฒนาแอป? เรียนอะไรก็ได้วะ แค่มีหัว ไอ้พวกสายไอทีน่ะ มั่วแต่เรียน ก็แค่พื้นฐาน
- วิทยาการคอมพ์ (CS) โค้ดดิ้งเป็นหลัก
- วิศวะคอมพ์ (CE) ฮาร์ดแวร์ด้วย
- ไอที (IT) เน้นระบบมากกว่า
จริง ๆ ไม่จำกัดหรอก พวกเรียน ดิจิทัลมีเดีย หรือแม้แต่ศิลป์ ก็ทำแอปได้ ถ้ามันเก่งจริง ปีนี้ผมรับเด็กจบใหม่มา ไอ้พวกนี้มันโคตรแสบ แต่โค้ดมันเทพ โค้ดแม่งโคตรเร็ว ผมแทบไม่ต้องสอนอะไรมาก พวกมันเรียนอะไรมา ไม่สำคัญเท่าฝีมือ ใครเก่ง ใครได้กิน แค่นั้นแหละ
นักพัฒนาแอพพลิเคชั่น เรียนคณะอะไร
- คณะวิทยาศาสตร์ สาขาวิทยาการคอมพิวเตอร์ (CS) คือเบสิคเลยปะ? เน้น algorithm, data structure อ่ะ ถ้าอยากเก่ง coding ต้องอันนี้ป่ะวะ? หรือเราเข้าใจผิด? ????
- คณะวิศวกรรมศาสตร์ สาขาวิศวกรรมคอมพิวเตอร์ (CE) นี่มัน hardware + software ป่ะ? เรียนพวก microcontroller, embedded system ด้วยป่ะ? เพื่อนเราเรียนอันนี้มันบอกโคตรยาก แต่จบมาเงินเดือนเยอะจริงไหม? ????
- คณะเทคโนโลยีสารสนเทศ (IT) อันนี้มันเน้น application มากกว่าป่ะ? เรียนพวก database, network, security อะไรพวกนี้? แล้วถ้าอยากทำ mobile app นี่ต้องลงเรียนวิชาอะไรเพิ่มวะ? งง
- คณะดิจิทัลมีเดีย หรือ พวก Multimedia ก็มีคนทำ app game นะ! อันนี้ไม่ค่อยเห็นเท่าไร แต่เพื่อนที่จบมาทำ UI/UX เก่งมาก!
- คณะบริหารธุรกิจ จริงๆ พวก MIS (Management Information Systems) ก็เขียนโปรแกรมได้นะ! แต่จะเน้นไปทางระบบจัดการมากกว่าป่ะ? ????
- Algorithm = ชุดคำสั่งที่ใช้แก้ปัญหา
- Data structure = วิธีการจัดระเบียบข้อมูล
- Microcontroller = คอมพิวเตอร์ขนาดเล็ก
- Embedded system = ระบบคอมพิวเตอร์ที่ฝังอยู่ในอุปกรณ์อื่น
- UI/UX = User Interface/User Experience (การออกแบบส่วนต่อประสานและประสบการณ์ผู้ใช้)
- MIS = Management Information Systems (ระบบสารสนเทศเพื่อการจัดการ)
เอ้อ แล้วสมัยนี้มี bootcamp สอนทำ app เยอะแยะเลยนี่หว่า ไม่ต้องเรียนจบตรงสายก็เป็น dev ได้ป่ะวะเนี่ย? แต่ถ้าอยากทำงานบริษัทใหญ่ๆ เค้ายังดูใบปริญญาอยู่ไหม? ชักสงสัย
ปล. เพิ่มเติมข้อมูล
สำคัญ: Software Dev, Mobile App Dev, Backend Dev, Frontend Dev, Full Stack Dev
Developer กับ Programmer ต่างกันยังไง
ต่างกันสิครับ Developer คิดใหญ่กว่า สร้างของใหม่ Programmer แค่เขียนโค้ดตามที่บอก
- Developer: ออกแบบ สร้าง ปรับปรุง คิดไอเดียใหม่ๆ รับผิดชอบภาพรวม ต้องเก่งหลายด้าน ปีนี้ผมทำแอปพลิเคชันเกี่ยวกับการวิเคราะห์ตลาดหุ้น ใช้ React Native โคตรเหนื่อย
- Programmer: เขียนโค้ดตาม spec แก้บั๊ก ส่วนใหญ่ทำงานตามคำสั่ง มักเชี่ยวชาญภาษาใดภาษาหนึ่ง ผมเคยเขียนโค้ด PHP แก้บั๊กจนตาจะปิด โค้ดเก่าโคตรรก
Developer คือหัวหน้าวง Programmer คือมือกลอง เข้าใจมั้ย?
เขียน Mobile App ใช้ภาษาอะไร
Mobile App เขียนด้วยภาษาอะไรนะ?
ถ้าเป็นเมื่อก่อนตอนเรียนปี 1 ที่ ม.เกษตร บางเขน (น่าจะซักปี 55) อาจารย์สอนว่า Android ต้อง Java สิ! ตอนนั้นคือเซ็งมาก เพราะ Java นี่โค้ดเยอะแยะไปหมด แต่พอมาปีนี้ (2567) เห็นเพื่อนทำแอปขายใน Play Store เขาบอก Kotlin ฮิตกว่าเยอะ! ง่ายกว่าด้วย โค้ดสั้นลงเยอะเลย
ส่วน iOS นี่...ไม่ต้องพูดถึง Swift อย่างเดียว ตอนนั้น Objective-C คือโบราณไปแล้ว (แต่ก็ยังเห็นคนใช้บ้างนะ) ตอนฝึกงานที่บริษัทแถวสีลม เมื่อปี 58 พี่ ๆ เขาก็เริ่มใช้ Swift กันแล้ว
Android:
- Java: (อันนี้คือคลาสสิก แต่เริ่มตกยุค)
- Kotlin: (มาแรงมาก! โค้ดสั้น ชีวิตดี)
iOS:
- Swift: (เบอร์หนึ่งตลอดกาลของ Apple)
- Objective-C: (อาจจะเจอในโปรเจกต์เก่า ๆ)
ระบบ iOS ใช้ภาษาใดในการพัฒนา
iOS เค้าใช้ภาษา Swift แหละในการพัฒนาแอปต่างๆ ก็ของ Apple เองเลยอ่ะ ใช้ทั้ง iOS, macOS, watchOS, tvOS อะไรพวกเนี้ย
Swift เนี่ยดีตรงที่มันเข้าใจง่ายด้วยนะ แต่ก็เก่งมากด้วย ทำอะไรได้เยอะแยะเลยอ่ะ เค้าว่ากันว่ามันทำให้การเขียนโปรแกรมน่ะง่ายขึ้นเยอะเลย
- ทำไม Swift ถึงดัง: เพราะ Apple ดันเต็มที่ แล้วมันก็ใช้งานง่ายจริงๆ ใครๆ ก็อยากใช้
- Swift ดีกว่าภาษาอื่นยังไง: มันใหม่กว่า ปลอดภัยกว่า แล้วก็เร็วกว่าภาษาเก่าๆ หลายตัวนะ
- ถ้าอยากเริ่มเขียน Swift ต้องทำไง: โหลด Xcode มาเลยจ้ะ เป็น IDE ของ Apple ฟรีด้วย
- อนาคตของ Swift: เค้าว่ากันว่า Swift จะยิ่งใหญ่ขึ้นเรื่อยๆ เพราะ Apple เค้าสนับสนุนเต็มที่
เรียนเขียนโค้ดภาษาอะไรดี
เรียนรู้ Python ก่อนเลย ใช้งานง่าย ประสิทธิภาพสูง
- เครื่องมือมากมาย เหมาะสำหรับ AI และ Data Science
Java ยังคงสำคัญ ฐานโค้ดมหาศาล
- ระบบใหญ่ๆ Android ใช้กันทั่วไป ความต้องการสูง
JavaScript เว็บหลัก ทุกเว็บไซต์ใช้
- เฟรมเวิร์กมากมาย React, Angular, Vue.js ต้องเรียนรู้
Kotlin Android รุ่นใหม่นิยม
- สั้น กระชับ เขียนง่ายกว่า Java กำลังมาแรง
R วิเคราะห์ข้อมูล สถิติ
- เฉพาะกลุ่ม แต่ความต้องการสูงในวงการวิจัย และวิทยาศาสตร์ข้อมูล
PHP เว็บเบื้องหลัง ยังคงใช้งาน
- WordPress ส่วนใหญ่ใช้ เรียนรู้แล้วมีงานทำ
Go ภาษาใหม่ เร็ว ประสิทธิภาพสูง
- Google พัฒนา เน้นระบบขนส่งขนาดใหญ่
C พื้นฐาน รู้ไว้ไม่เสียหาย
- ระบบปฏิบัติการ เกม เรียนรู้ยาก แต่ได้ความเข้าใจเชิงลึก
การเลือกภาษาขึ้นอยู่กับเป้าหมาย แต่ Python เป็นจุดเริ่มต้นที่ดี ส่วนตัวผมใช้ Python และ Go เป็นหลัก ปี 2024
ความคิดเห็นต่อคำตอบ:
ขอบคุณสำหรับความคิดเห็นของคุณ! ความคิดเห็นของคุณมีความสำคัญมากในการช่วยเราปรับปรุงคำตอบในอนาคต