ชีวิตการฝึกงานของผม นายแบงค์ชาติ อาลัย

feature_full03

ผมนายแบงค์ชาติ อาลัย นักศึกษา คณะวิศวกรรมศาสตร์และสถาปัตยกรรมศาสตร์ สาขาวิศวกรรมคอมพิวเตอร์ ชั้นปีที่ 4 จากมหาวิทยาลัยเทคโนโลยีราชมงคลอีสาน จังหวัดนครราชสีมา ได้เข้าปฏิบัติงานสหกิจศึกษาในภาคการศึกษาที่ 1/2557 ระหว่างวันที่ 18 สิงหาคม พ.ศ.2557 ถึงวันที่ 4 ธันวาคม พ.ศ.2557 โดยงานที่ได้รับมอบหมายต่าง ๆ นั้นเกี่ยวข้องกับการพัฒนาโปรแกรมหรือเว็บไซต์ด้วย Open source technologies โดยรายละเอียดของงานที่ได้รับมอบหมายสามารถอธิบายได้ดังต่อไปนี้

1. ศึกษาการใช้งานคำสั่งพื้นฐานต่าง ๆ บนระบบปฏิบัติการ Ubuntu เพื่อช่วยในการเขียนโปรแกรม ในระหว่างที่ทำการศึกษาค้นคว้าก็ใช้ google กระหน่ำกันแบบสุด ๆ เพื่อหาขั้นตอนการใช้คำสั่งนั้นคำสั่งนี้แต่ คำสั่งหรือชื่อคำสั่งเหล่านั้นไม่มีอยู่ในสมองเลย เพราะสิ่งที่เห็นตรงหน้าคือ เราอยากให้เป็นแบบนั้นเป็นแบบนี้ หรือเรียกง่าย ๆ ว่าทำยังไงดีถึงจะออกมาได้อย่างที่เราต้องการ ก็ยิ่งทำให้การค้นคว้าลำบากขึ้นไปอีกหนึ่งเท่าตัวเพราะต้องค่อย ๆ คิดคีย์เวิร์ด ที่ตรงกับสิ่งที่เราต้องการ ในที่สุดก็เจอ และจำกันไปอีกนาน

2. ศึกษาการใช้งาน Vi Text Editor ที่ถูกติดตั้งมาพร้อมกับระบบปฏิบัติการ Ubuntu เพื่อช่วยในการ เขียนโปรแกรม เหมือนจะง่ายมากแต่มันไม่ได้ง่ายอย่างที่คิดแค่ลองเผลอพิมพ์ตามปกติอย่างที่เคย ๆ พิมพ์มา โค้ดโปรแกรมอาจจะเละเอาได้ง่าย ๆ ก็ต้องใช้เวลาอยู่นานกว่าจะเริ่มชินและใช้คำสั่งต่าง ๆ ได้พอที่จะโค้ดโปรแกรมได้อย่างสบายใจมากขึ้น และพอใช้งานไปได้สักพักใหญ่ ๆ ก็เริ่มถูกใจและติดใจ ความเป็น shortcut ความไวในการกระโดดข้ามไปมา ความอิสระเสรีในหน้าจอดำๆ ที่เราอยากจะลบหรืออยากจะไปโผล่ที่ไหนก็ได้ในพื้นที่นั้น แต่ก็ไม่ใช่ว่าจะไม่มีข้อเสียเลย ในการทำงานจริงก็ยังจำเป็นที่จะต้องใช้ Editor ที่ดีกว่านี้รองรับการทำงานต่าง ๆ มากมาย เช่น Eclipse เป็นต้น แต่ไม่ว่าจะยังไงถ้าอยากเขียนโปรแกรมให้สนุกหรือแก้โจทย์ปัญหาด้านอัลกอลิทึมต่าง ๆ การเขียนโค้ดด้วย Vi ก็เป็นทางเลือกที่น่าสนใจสำหรับผม

3. ออกแบบเว็บไซต์ด้วย Html และ Css การออกแบบหรือจิตนาการในการสร้างสรรค์ความสวยงามนับว่าผมอ่อนหัดและอ่อนด้อยที่สุด แต่ไม่ว่าจะไปทางไหนหรือทำงานอะไรความสวยงามก็ยังเป็นสิ่งที่สำคัญเสมอเพื่อดึงดูดให้คนสนใจในงานของเราหรือผลิตภัณฑ์ของเราเพื่อเพิ่มโอกาสในการนำลูกค้ามารู้จัก และนำไปสู่การปิดการขาย ดังนั้นการออกแบบก็เป็นสิ่งสำคัญไม่แพ้การเขียนโค้ด โปรแกรมประมวลผลการทำงานเช่นกัน ในช่วงแรกๆ ที่ผมได้เข้ามา ก็แก้ครับ แก้จนกว่าจะดีจนกว่าจะมองแล้วสบายตาดูไม่ขัดกับวัตถุประสงค์ของเว็บเพจที่ได้ทำการสร้างขึ้น

4. เพิ่มความสามารถให้กับเว็บเพจด้วย Javascript และ jQuery   ในเรื่องนี้อาจจะเป็นสิ่งที่ผมคุ้นเคยมาในระหว่างเรียนที่มหาลัยเลยทำให้ไปได้เร็วพอสมควรแต่การไปได้เร็วนี้ก็ไม่ได้แปลว่าทุกอย่างจะออกมาดีเสมอไป โค้ดบางส่วนทำงานได้แต่ตอนกลับมาดูก็ต้องมาไล่การทำงานกันสักพักเพราะขาดการวางแผน สักแต่ว่าขอให้มันทำงานได้ก่อนค่อยกลับมาแก้หรือปรับปรุงใหม่แต่สุดท้ายก็ปล่อยผ่าน พอเว็บเพจต้องการเพิ่มความสามารถบางอย่าง ทีนี้ละครับลำบากเลยกว่าจะรื้อฟื้นความทรงจำ ว่าโค้ดส่วนนี้ทำอะไรยังไงส่งค่าไปที่ไหนได้บ้างลากยาวข้ามวันเลย รู้ซึ้งและเห็นความสำคัญของการออกแบบโค้ดก่อนที่จะเริ่มทำงานจริงก็คราวนี้เลย

5. ศึกษาการใช้งาน Git เคยเจอปัญหาโค้ดหายบ้าง เขียนโค้ดใหม่ทับโค้ดเก่าบ้าง ทำตัวเองมาก็บ่อยมาก แต่พอได้มารู้จักเจ้าตัวนี้ทำให้เรื่องการดูแลรักษาโค้ดเป็นสิ่งที่ง่ายและสะดวกขึ้นกว่าแต่ก่อนเยอะ แต่ในความสะดวกก็ยังคงมีสิ่งที่ลำบากแสนเข็ญหลบซ่อนอยู่เสมอ การใช้งาน Git ไม่ใช่แค่ว่าคลิกๆ ตามปุ่มไปเรื่อย ๆ เราต้องเข้าใจหลักการทำงานของ Git ให้มากพอ เพื่อที่จะใช้งานมันได้อย่างเต็มประสิทธิภาพ ส่วนตัวผมตอนนี้ก็ยังทำได้แค่ เอาโค้ดไปเก็บแล้วดึงลงมา หรือสลับโค้ดไปมาระหว่างคนอื่น จริงอยู่ที่ว่าการรู้เพียงเท่านี้ก็อาจจะเพียงพอแต่ก็ยังจำเป็นที่ต้องศึกษาเพิ่มเติม เพราะยังมีหลายอย่างหลายเทคนิคในเรื่องนี้ที่น่าสนใจและจำเป็นอย่างยิ่งในการศึกษา

6. ศึกษาการใช้งานฐานข้อมูล MySQL ก็ยังคงเป็นสิ่งที่เคยใช้งานมาก่อนหน้านี้บางเล็กน้อย แต่ก็เป็นอีกหนึ่งสิ่งที่ผมลืมอยู่เสมอๆ คือพวกคำสั่งSql ในฐานข้อมูล MySQL ทั้งๆ ที่มันสำคัญมากในการพัฒนาโปรแกรม ผมต้องคอยเปิด google ค้นหาอยู่บ่อย ๆ แปลกมากที่พวก syntax ของ Java หรือ Javascript ก็ไม่ได้ต้องค้นหาอะไรบ่อยเท่านี้เลย แต่ก็ยังโชคดีที่ได้เอาเวลามาทบทวนรื้อฟื้นความจำต่าง ๆ ที่ลืมทิ้งไว้ที่ไหนสักแห่งนานมาก แล้วดึงมันกลับมาใช้งานได้อีกครั้ง จากโจทย์ด้านโปรแกรมแกรมมิ่งต่าง ๆ ที่ได้รับมอบหมายมา แล้วนำมาประยุกต์ใช้ร่วมกัน

7. ศึกษารูปแบบการเขียนโปรแกรมแบบ OOP ด้วย Java การมองทุกอย่างให้เป็นวัตถุผมอาจจะคุ้นเคยในชีวิตประจำวันแต่พอได้ลองหยิบความคุ้นเคยเหล่านี้มาใส่ไว้ในโค้ดของเราทำไมมันเป็นสิ่งที่ต้องคิดแล้วคิดอีกว่ามันใช่รึป่าว เราคิดละเอียดพอรึยัง หรือเราคิดมากเกินไปจนมันกลายเป็นสิ่งที่ผิดอย่างร้ายแรงอันนี้ก็เป็นอารมณ์ความรู้สึกที่เคยได้ลองหัดลองทำ แต่ไม่ว่าจะยังไงในการพัฒนาโปรแกรมด้วยภาษาอะไรก็ตามแนวคิดเรื่อง OOP ก็ยังคงเป็นรากฐานที่สำคัญเสมอในการพัฒนาโปรแกรม และสุดท้ายถึงจะฝึกงานเสร็จสิ้นไปแล้ว ในเรื่องแนวคิด OOP สำหรับผมต้องใช้เวลาไปกับมัน ฝึกฝนมันจนกว่าจะเคยชินและใช้มันได้อย่างเป็นธรรมชาติที่สุด

To be continue……………..

No Comments

Sorry, the comment form is closed at this time.