คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 5
มันก็มีระดับ และ เส้นทางในการพัฒนาน่ะครับ
1) ถามว่าความรู้ในมหาวิทยาลัยพอไหมที่จะออกมาทำงาน
ตอบเลยว่า พอ แต่ ยังไม่ดีพอ
เพราะใครที่เรียนมาก็จะมีความรู้ในหลักการพื้นฐาน+เครื่องมือ+ภาษา ในระดับหนึ่ง ซึ่งถ้าออกมาทำงานก็อาจะพอเปิดเครื่องแล้วทำงานได้
แต่สิ่งที่มหาวิทยาลัย(อาจจะ)ไม่ได้สอนมาคือ การหา solution ที่เหมาะที่สุด ไม่ใช่ ดีที่สุด สำหรับแต่ละการพัฒนา เป็นต้น
ดังนั้น ออกมาแล้วอย่าทำตัวเป็นน้ำเต็มแก้ว เป็นกบในกะลา ... เปิดรับ+พัฒนา มีเส้นทางอีกมากมายรออยู่
2) ในการทำงาน เช่น Java Dev ต้องมีความสามารถขนาดไหน
ตอบว่า ขึ้นอยู่กับองค์กร และ ทีมด้วย ว่าเขาเชื่อ / เขายึดแนวทางการพัฒนาสายไหน (แต่อย่างหลาย ๆ คห บอกมา ยังไงมันก็อยู่บนพื้นฐานเดียวกัน) และ ก็ทำงานตามสายไป เช่น
- coding : การเขียนให้ทำงานได้ตามที่เขาออกแบบมา + พัฒนาให้ code มีประสิทธิภาพสูงสุด ภายใต้ทรัพยากรที่กำหนด เป็นต้น
- program analyst : coding+design แนวทางของการที่พัฒนาโปรแกรม framework ต่าง ๆ เป็นต้น
- project manager : ประสานงานกับส่วนงานอื่นที่ request project มาหาขอบเขต ระยะเวลา ทรัพยากร แล้วมาบริหาร project (อาจต้องหารือหลายส่วน เช่น กับทีม server กับทีม network กับทีม database กับทีม contents กับทีม graphic เป็นต้น ... ที่สำคัญ รายงาน boss เป็นระยะ ๆ
* ทั้งนี้ทั้งนั้น ขึ้นกับขนาดองค์กร และ product ด้วย *
3) อยากเรียนแต่ไม่มีทิศทาง
อ้างอิง คห ข้างต้นที่บอก ...
- ก็พัฒนาพื้นฐานก่อน หลักการพื้นฐาน + tools ที่ใช้พัฒนา + ภาษา = ทำโปรแกรมโน่น นี่ นั่น แก้ bug ... เพื่อให้รู้ what?
- จากนั้นลองศึกษา flow ระบบงานว่าไอ้โปรแกรมที่ ๆ น่ะเวลาเอาไปใช้นี่ เขาเอาไปใช้ทำอะไร ... เพื่อให้รู้ why?
* key สำคัญ คือ โปรแกรมไม่ได้พัฒนาให้โปรแกรมเมอร์ใช้งาน ... แต่พัฒนาให้ user ใช้งาน *
- จากนั้นค่อยไปศึกษาคำว่า ระบบงาน (เพราะโปรแกรมมันต้อง run บนระบบ จึงต้องรู้ถึงความสัมพันธ์กับระบบงานต่าง ๆ เพื่อให้เวลานำไปใช้งานจะได้สามารถสอดประสานได้อย่างลงตัว) ... เพื่อให้รู้ how?
ก็ไม่รู้สินะ อาจจะเหมือนมีคนมาบอกอยากเป็นนักกีฬาเก่ง ๆ ต้องทำอย่างไร
เมื่อยังไม่รู้ ก็จงเล่น ๆ ๆ ๆ ๆ กีฬาไป ... แล้วค่อยไปใช้แนววิทยาศาสตร์การกีฬา
programming ก็คงเหมือนกัน ... จงเขียน ๆ ๆ ๆ ๆ
1) ถามว่าความรู้ในมหาวิทยาลัยพอไหมที่จะออกมาทำงาน
ตอบเลยว่า พอ แต่ ยังไม่ดีพอ
เพราะใครที่เรียนมาก็จะมีความรู้ในหลักการพื้นฐาน+เครื่องมือ+ภาษา ในระดับหนึ่ง ซึ่งถ้าออกมาทำงานก็อาจะพอเปิดเครื่องแล้วทำงานได้
แต่สิ่งที่มหาวิทยาลัย(อาจจะ)ไม่ได้สอนมาคือ การหา solution ที่เหมาะที่สุด ไม่ใช่ ดีที่สุด สำหรับแต่ละการพัฒนา เป็นต้น
ดังนั้น ออกมาแล้วอย่าทำตัวเป็นน้ำเต็มแก้ว เป็นกบในกะลา ... เปิดรับ+พัฒนา มีเส้นทางอีกมากมายรออยู่
2) ในการทำงาน เช่น Java Dev ต้องมีความสามารถขนาดไหน
ตอบว่า ขึ้นอยู่กับองค์กร และ ทีมด้วย ว่าเขาเชื่อ / เขายึดแนวทางการพัฒนาสายไหน (แต่อย่างหลาย ๆ คห บอกมา ยังไงมันก็อยู่บนพื้นฐานเดียวกัน) และ ก็ทำงานตามสายไป เช่น
- coding : การเขียนให้ทำงานได้ตามที่เขาออกแบบมา + พัฒนาให้ code มีประสิทธิภาพสูงสุด ภายใต้ทรัพยากรที่กำหนด เป็นต้น
- program analyst : coding+design แนวทางของการที่พัฒนาโปรแกรม framework ต่าง ๆ เป็นต้น
- project manager : ประสานงานกับส่วนงานอื่นที่ request project มาหาขอบเขต ระยะเวลา ทรัพยากร แล้วมาบริหาร project (อาจต้องหารือหลายส่วน เช่น กับทีม server กับทีม network กับทีม database กับทีม contents กับทีม graphic เป็นต้น ... ที่สำคัญ รายงาน boss เป็นระยะ ๆ
* ทั้งนี้ทั้งนั้น ขึ้นกับขนาดองค์กร และ product ด้วย *
3) อยากเรียนแต่ไม่มีทิศทาง
อ้างอิง คห ข้างต้นที่บอก ...
- ก็พัฒนาพื้นฐานก่อน หลักการพื้นฐาน + tools ที่ใช้พัฒนา + ภาษา = ทำโปรแกรมโน่น นี่ นั่น แก้ bug ... เพื่อให้รู้ what?
- จากนั้นลองศึกษา flow ระบบงานว่าไอ้โปรแกรมที่ ๆ น่ะเวลาเอาไปใช้นี่ เขาเอาไปใช้ทำอะไร ... เพื่อให้รู้ why?
* key สำคัญ คือ โปรแกรมไม่ได้พัฒนาให้โปรแกรมเมอร์ใช้งาน ... แต่พัฒนาให้ user ใช้งาน *
- จากนั้นค่อยไปศึกษาคำว่า ระบบงาน (เพราะโปรแกรมมันต้อง run บนระบบ จึงต้องรู้ถึงความสัมพันธ์กับระบบงานต่าง ๆ เพื่อให้เวลานำไปใช้งานจะได้สามารถสอดประสานได้อย่างลงตัว) ... เพื่อให้รู้ how?
ก็ไม่รู้สินะ อาจจะเหมือนมีคนมาบอกอยากเป็นนักกีฬาเก่ง ๆ ต้องทำอย่างไร
เมื่อยังไม่รู้ ก็จงเล่น ๆ ๆ ๆ ๆ กีฬาไป ... แล้วค่อยไปใช้แนววิทยาศาสตร์การกีฬา
programming ก็คงเหมือนกัน ... จงเขียน ๆ ๆ ๆ ๆ
แสดงความคิดเห็น
เป็นโปรแกรมเมอร์ความรู้ต้องมีขนาดไหนครับ
สมมุตินะครับถ้าอยากเป็น Java dev ความรู้ที่ใช้ทำงานจริงมันขนาดไหนครับอยากจะให้พี่ๆช่วยแนะนำหน่อยครับ ผมอยากเรียนรู้แต่ยังไม่มีทิศทางเลยครับ
ผมมือใหม่ pantip คับ โพสผิดช่วยชี้แนะผมด้วยนะค้าบบ
ขอบคุณครับบ