สมมตินะครับว่าเรามีเวลา 1 ปี ในการศึกษาด้าน programing
คือจะศึกษาอะไรก็ได้ ด้านไหนก็ได้ที่อยากศึกษา
ผมอยากทราบความคิดเห็นของท่านๆว่า
ระหว่างที่เราจะศึกษามันหลายๆอย่าง เพื่อให้ได้รู้กว้างๆ
หรือควรจะศึกษาอะไรสิ่งเดียวให้มันเชี่ยวชาญไปเลย
เพราะผมค่อนข้างจะสับสนกับตัวเองอ่ะครับ ตอนนี้ปี 3 ก็จะขึ้นปี 4 แล้ว ชอบการเขียนโปรแกรมหลายๆด้านอ่ะครับ web-application ก็ชอบ desktop-application ก็ชอบ game programing ก็สนใจอ่ะครับ เลยไม่รู้ว่าจะศึกษามันไปพร้อมๆกันทั้งหมด หรือศึกษาทีละอย่างให้เชี่ยวชาญก่อน ตอนนี้จะถนัดด้าน web-application มากที่สุดอ่ะรับ เพราะต้องทำงานส่งอาจารย์มากที่สุด
ขอความคิดเห็นหน่อยนะครับ ขอบคุณมากครับ
** Mark
BLeAm Sun, 06/04/2008 - 19:29
** Mark ไว้ก่อนเลยว่า ทั้งหมดเป็นแค่ความคิดเห็นส่วนตัว
ที่ดีที่สุดเลย คือรู้ให้เยอะที่สุดเท่าที่จะทำได้ และเชี่ยวชาญในทุกอย่าง(หรือมากที่สุด)ที่รู้ คือมันไม่ใช่กฏธรรมชาติที่ตายตัวเหมือนกฏเรื่องแรงโน้มถ่วง ไม่ได้กำหนดว่าความเป็นไปได้มีแค่ 2 อย่าง 1. รู้ครอบคลุมไว้หลายเรื่องแต่ต้องไม่เชี่ยวชาญสักเรื่อง กับ 2. เชี่ยวชาญแค่เรื่องใดเรื่องหนึ่ง แล้วเรื่องอื่นไม่รู้เรื่องเลย อะไรทำนองนี้ถูกมั้ย?
แต่ถ้ามันฟังดูเป็นคำแนะนำที่ห่างไกล และน่าท้อสำหรับการเริ่มต้น
อยากชวนให้คิดอย่างงี้ว่า
การที่จะรู้หลายเรื่องโดยที่สิ่งที่เรารู้ส่วนใหญ่มันอยู่ในแค่ระัดับ average มันก็ไม่ได้เป็นเรื่องเลวร้ายอะไร ทั้งยังอาจจะดีอีกด้วย คนพูดอะไรมาเราก็รู้เรื่อง แต่นั่นเป็นในมุมมองของการศึกษา แต่ถ้ามองในโลกของการแข่งขัน หรือธุรกิจ คุณสมบัติแบบนี้มันเป็นอะไรที่จำกัดโอกาสในการแข่งขัน ทั้งยังเป็นกำแพงที่สูงชันสำหรับการพัฒนาเติบโต
เพราะนั่นหมายถึง คุณอาจจะสามารถประกาศออกไปได้ว่า คุณสามารถทำได้ทั้ง A B C และ D แต่สิ่งที่คุณทำได้นั้น มันมีใครอีกหลายๆ คนก็ทำได้เหมือนๆ กัน ไม่ว่ามันจะอยู่ในคนๆ เดียวกัน หรือกระจายไปหลายๆ คน ซึ่งในมุมมองในการแข่งขันนั้น ในตลาดหรือเป้าหมายที่มีปริมาณจำกัด แต่มีผู้เล่นหรือคู่แข่งมากเนี่ย มันเป็นการลดโอกาสในการชนะของเราลงไป ถ้าคุณสมบัติหรือความสามารถมันเท่าๆ กันไปซะหมดเลย คนที่จะได้งาน น่าจะหมายถึงคนที่ให้ความคุ้มค่ากับเงินได้มากที่สุด ซึ่งในมุมมองนี้ก็คือ ราคาถูก จะเห็นว่ามันเป็นเรื่องที่น่่าเศร้า เพราะนอกจากเราจะมีโอกาสน้อยแล้ว โอกาสเดียวที่เราจะชนะหรือได้งานมันคือเราต้องราคาถูกที่สุด และในระยะยาว การที่เราจะได้แต่งานราคาถูกเนี่ย มันจะเป็นปัญหาในการที่เราจะขยับขยาย พัฒนา และเติบโต
ทีนี้ถ้าหันมามองเรื่องการศึกษาอะไรเพียงอย่างเดียวให้เชี่ยวชาญไปเลย ข้อดีของมันก็คือถ้าเราสามารถจะเชี่ยวชาญอะไรสักหนึ่งอย่างจนทำให้มันเกิดเป็นภาพในตลาดไปเลยว่า ถ้าเรื่องนี้ต้องเป็นเรา ถึงแม้ scope ของตลาดจะแคบลงมา แต่ไม่มีคู่แข่ง(หรือถ้ามีก็น้อยมาก) มันแทบจะหมายความว่า เมื่อไหร่ก็ตามที่มีใครสักคนเกิดความต้องการลักษณะนี้นั่นหมายถึงเราได้งานแล้ว แต่ข้อเสียก็คือในตลาดขยาย เราจะแข่งได้ยาก เพราะคุณสมบัติ serve ได้แต่ niche
เพราะงั้น ถ้าผมสามารถแนะนำอะไรได้ ผมอยากเสนอให้ลองมองเรื่องความเชี่ยวชาญในเครื่องมืออะไรสักอย่าง โดยที่เครื่องมือนั้นสามารถนำไปใช้ได้โดยตรงหรือประยุกต์ไปใช้กับเครื่องมืออื่นๆ ได้ไม่ยากนัก ซึ่งในโลกที่เห็นกันเป็นกระแสหลัก บางคนเลือก .NET และหลายคนเลือก Java ในมุมมองที่ว่ามัน cross-platform หรือถ้าจะมองตัวเลือกที่นอกกระแสออกมา ช่วงนี้ก็เห็นหลายคนมุ่งประเด็นไปที่ Ruby แต่ส่วนตัวผมชอบ Python :)
PS. โทษทีนะครับ ยาวไปหน่อย
ผมว่าเริ่
ABZee Mon, 07/04/2008 - 01:24
ผมว่าเริ่มศึกษาจากสิ่งที่ตัวเองสนใจที่สุดไล่ไปทีละอย่างก็ดีนะครับ การศึกษาหลายๆอย่างพร้อมๆกันบางทีมันต้องการความรู้พื้นฐานมากเหมือนกับฐานปิรามิด ซึ่งหากคุณศึกษาเอาทุกเรื่องๆจริงๆนี่คงเอาการอยู่ แต่หากไล่ไปทีละอย่างและเห็นว่ามีสิ่งไหนที่หน้าสนใจแล้วยังไม่รู้ ก็ค่อยๆศึกษาต่อเพิ่มไปเรื่อยๆ จนสุดท้ายก็จะได้ผลที่คล้ายๆกันแต่ไม่เสียเวลาหลงทาง (น่าจะ Optimum?)
PoomK
โดยส่วนตั
tekkasit Mon, 07/04/2008 - 01:45
โดยส่วนตัวผมว่า คุณน่าจะเปิดใจให้กว้างรับรู้ข้อมูลให้มาก หลักๆน่าจะแบ่งเป็น Client/Server, Web Application, Networking, Security, OS (Unix/Linux) ต้องรู้จัก,หรือเคยได้ยินบ้าง เพราะคุณต้องยืดหยุ่นและปรับตัวได้ เพราะเดี๋ยวนี้ตลาดกว้างและหลายหลายมาก การที่คุณมีวิชาความรู้/โลกทัศน์ที่คับแคบ ไม่ตรงที่บริษัทที่คุณไปสมัครงานต้องการ ก็ออกจะยุ่งยากสักหน่อย แต่ให้มีทักษะบางด้านที่โดดเด่นสักหน่อยเพื่อที่ใช้ "ขาย" ตัวเองได้
ส่วนภาษาและเครื่องมืออะไรนั้น ตอบแทนไม่ได้มั้งครับ แต่ละยุคสมัยก็เปลี่ยนแปลงไปตามกาลเวลา ตอนโน้น Form/Client ถัดมาอีกนิด CGI มีอีกนิด VB6, ASP, JSP, PHP, ... ว่าไปเรื่อย การที่คุณจะชำนาญตัวใดตัวหนึ่งต้องอาศัยเวลาครับ และที่น่าเศร้าใจคือต่อให้คุณศึกษาให้ตาย ถ้าไม่ได้ทำงาน(รับจ้าง)จริงๆ แทบหมดความหมายเพราะเป็นแค่ "ของเล่น" เท่านั้นเอง เพราะเวลาทำงานในบริษัทจะมี framework มาช่วยงานอีกต่างหากครับ
แต่เหนือสิ่งอื่นใด logical/systematic thinking, basic concept พื้นฐานต้องแน่น และมีความใผ่รู้หรือกระหายที่จะเรียนรู้อย่างแรงกล้า อ่านหนังสือ TextBook ภาษาอังกฤษอ่านออกได้ครับ
เพราะถ้าคุณมีพื้นฐานเหล่านี้ดี ภาษาก็เพียงเป็นเครื่องมือในการแสดงออกของความคิดคุณเท่านั้น
ถ้าคุณพื้นฐานไม่ดี ระบบที่พัฒนาก็ไม่ดีตาม แต่ถ้าคุณพื้นฐานดี เรียนรู้เครื่องมือใหม่ๆจากตำราต่างประเทศได้เลยครับ
และยิ่งกว่านั้น ภาษาอังกฤษหรือภาษาอื่นๆที่ไม่ใช่ภาษาไทย ต้องพอสื่อสารได้เป็นอย่างน้อยครับ จะเป็นแต้มต่อที่ดีในการสมัครงาน จริงๆนะ
Basic - Pascal - C - VB - C++ - Java - PL/SQL - VB.Net - ASP
ตามความคิ
anirut Mon, 07/04/2008 - 02:28
ตามความคิดเห็นส่วนตัวนะครับ
ควรศึกษามันหลายอันอย่างคร่าวๆ เพื่อให้รู้กว้างๆว่าแต่ละอันมันเป็นยังงัย (อันนี้แล้วแต่ความขยัน)
แล้วควรจะศึึกษาอะไรสัก 1-2 อันที่ตนเองสนใจให้มันค่อนข้างเชี่ยวชาญ โดยครอบคลุมถึงตัวอื่นที่เกี่ยวข้องด้วย เช่น Database, Web Server, Network programming เป็นต้น
เวลาทำงานจริงอาจจะไม่ได้ใช้ที่ชอบ และบางทีที่เคยชอบมันก็เปลี่ยนแปลงไป
structural programming
BonBon Mon, 07/04/2008 - 02:31
structural programming หมดแล้วล่ะครับ
ตัวไหนก็ มี learning curve ที่พอๆกัน (แต่แนว opensource อาจจะมีมากกว่าชาวบ้านหน่อย)
ผมว่า มองในมุมกลับกันดีกว่า..... อยากเป็นอะไร ก็ศึกษา อันนั้น
เช่น อยากเขียนเว็บ อยากทำ desktop app. , mobile app. แล้วมุ่งทีละจุด
แต่ถ้า จะเน้นด้าน gaming ขอร้อง!!!อย่ามาใช้ java เลย (ยกเว้นเกมบนมือถือ)
หาอาจารย์
sugree Mon, 07/04/2008 - 11:12
หาอาจารย์คู่ใจ อาจารย์ทำอะไรก็ทำด้วย มีเวลาว่างอยากทำอะไรก็ทำ อย่าจำกัดตัวเองไว้แค่ 1 ปี ไม่ใช่ว่าเรียนจบจะหยุดเรียน มันเป็นแค่การเริ่มต้นการเรียนนอกห้องเรียนอย่างเป็นทางการ
เลือกในสิ
loptar Mon, 07/04/2008 - 13:55
เลือกในสิ่งที่ชอบที่สุดรักมันที่สุดครับ ผมเชื่อว่า คุณจะไปได้ไกลที่สุดและมีความสุขด้วย ถ้าทำในสิ่งที่คุณรัก เรื่องอื่นๆ ก็เพียงแต่อย่าปิดกั้น รับไว้เรื่อยๆ เดี๋ยวความรู้ก็จะกว้างขวางออกไปเอง คุณมีเวลาเรียนรู้ตลอดชีวิตแหละครับ ไม่ใช้แค่หนึ่งปี สู้ๆ
ขอบคุณทุก
kinnykop Tue, 08/04/2008 - 00:52
ขอบคุณทุกความเห็นครับ ได้ประโยชน์มากทีเดียวครับ