10 เรื่องที่ควรเรียนรู้ในปี 2019 เพื่อเป็น Java Developer ที่เก่งขึ้น

05-เม.ย.-19

คัมภีร์เทพ IT

เนื่องภาษา Java ยังคงเป็นที่นิยมและเป็นที่ต้องการของตลอดงานอยู่ บทความนี้จึงขอมุ่งเน้นไปที่ Java Developer เป็นหลัก โดยในบทความนี้จะกล่าวถึงภาพรวมของสิ่งที่ทั้ง Java Web Developer และผู้ที่เขียน Server-Side Applications ควรจะต้องเรียนรู้  ดังนั้น เรามาดูกันว่า 10 เรื่องที่ควรเรียนรู้ในปี 2019 เพื่อเป็น Java Developer ที่เก่งขึ้น นั้นมีเรื่องใดบ้าง

1. เรียนรู้ DevOps Tools

สำหรับ Java Developer สมัยใหม่ ความรู้เกี่ยวกับ DevOps ถือเป็นสิ่งที่จำเป็น พวกเขาควรคุ้นเคยอย่างน้อยก็กับ Continuous Integration และ Continuous Deployment และรู้ว่า Jenkins ช่วยให้บรรลุเป้าหมายดังกล่าวได้อย่างไรบ้าง

มันกลายเป็นสิ่งที่สำคัญยิ่งขึ้นสำหรับ Senior Java Developer ที่มักจะรับผิดชอบในการกำหนดแนวทางที่เป็น Best Practice ในการ Coding และสร้าง Environments, Build Scripts และ Guidelines ต่างๆ

แนะนำให้คุณใช้เวลาในการเรียนรู้เพิ่มเติมเกี่ยวกับโดยรวมของ DevOps และ Tool ต่างๆ เช่น Docker, Chef, Kubernetes เป็นต้น พร้อมทั้ง Maven และ Jenkins ด้วย

2. เรียนรู้ Java ให้ลึกและครอบคลุมยิ่งขึ้น

นี่คือสิ่งที่สำคัญที่สุดสำหรับ Java Developer โดยทั่วไป Java ได้มีการ Update อย่างต่อเนื่องและมี Version ใหม่แทบจะทุก 6 เดือน มันเป็นความท้าทายที่ยิ่งใหญ่ที่จะทำให้คุณได้ Update ตัวเอง อย่างใน Feature ของ Java 10 เองก็ได้มีการปรับปรุงให้เขียน Code ได้สั้นลง เมื่อเทียบกับ Feature ของ Java 8 ยังไม่สามารถทำได้ซึ่งยังมี Developer หลายคนยังคงใช้งานมันอยู่

น่าเสียดายที่พวกเขาส่วนใหญ่เป็น Java Developer ที่มีประสบการณ์ในการทำงานมานาน 7 - 10 ปี เชื่อว่าเมื่อถึงจุดหนึ่งการเรียนรู้ในอาชีพของคุณจะเริ่มช้าลง แต่ถ้าคุณไม่เริ่มทำตั้งแต่ตอนนี้คุณก็จะถูกทิ้งไว้ข้างหลัง

งานด้าน Java Development เกือบจะทั้งหมดในตอนนี้ มักต้องการทักษะ Java 8 ขึ้นไปและถ้าคุณไม่มีทักษะนั้น ก็ยากที่คุณผ่านเกณฑ์เพื่อเข้าสัมภาษณ์งานหรือทำงานที่ต้องรับผิดชอบได้ดี

3. เรียนรู้ Spring Framework (Spring Boot)

ปัจจุบัน แทบจะหลีกเลี่ยงไม่ได้ที่ Java Developer จำเป็นต้องเรียนรู้ Spring Framework เนื่องจาก มีบริษัทจำนวนไม่น้อยที่ทำการ Develop โดยใช้ Spring Framework ไม่ว่าจะเป็น Spring MVC, Spring Boot และ Spring Cloud ในการพัฒนา Web Application, REST APIs Microservices

นอกจากนี้ยังมีการ Promote ในเรื่อง Best Practices เช่น Dependency Injection และทำให้ Application ของคุณสามารถ Test ได้มากขึ้น ซึ่งถือเป็นข้อกำหนดที่สำคัญสำหรับ Software สมัยใหม่

หากคุณเป็น Java Developer มือใหม่ อยากแนะนำให้คุณเริ่มต้นด้วยการศึกษาจาก Tutorials ของ Java และ Spring เพื่อเรียนรู้พื้นฐานของ Framework ที่ยอดเยี่ยมตัวนี้ แต่หากคุณคุ้นเคยกับ Spring อยู่แล้ว ก็ลองศึกษาพวก Spring Boot และ Spring Cloud เพื่อการ Develop Java Application ในยุคใหม่นี้

4. เรียนรู้ Unit Testing

หากจะมีสิ่งหนึ่งที่เรามักพบได้บ่อย ซึ่งแบ่งแยก Java Developer ที่เก่ง ออกจาก Java Developer ทั่วไป ก็คงจะเป็นเรื่องของ ทักษะเกี่ยวกับ Unit Testing นั่นเอง

Java Developer ที่เก่งและเป็นมืออาชีพ มักจะเขียน Unit Tests สำหรับ Code ของพวกเขา และถ้าเขาเป็น Developer ที่เก่งและโดดเด่นจริงๆ คุณก็จะเห็นได้จาก Code และการ Test ของพวกเขา

การ Test ได้รับการพัฒนาไปมากควบคู่กับ Tool ต่างๆ สำหรับ Unit Testing, Integration Testing และ Automation Testing ซึ่งมีพร้อมให้ Java Developer

คุณสามารถใช้เวลาในปี 2019 นี้ในการฝึกฝนทักษะการ Test ใน Java ของคุณ แต่สำหรับผู้ที่ยังใหม่ และเพิ่งเข้ามาสู่โลกของ Java และ Unit Test นั้น JUnit ถือเป็น Library ที่ดีที่สุดในการเริ่มต้น JUnit 5 ซึ่งเป็น Version ล่าสุดนั้นมีทั้งประสิทธิภาพและความยืดหยุ่นและ Java Developer ทุกคนก็ควรรู้จักมันด้วย

5. เรียนรู้ APIs และ Libraries

หากคุณต้องทำงานร่วมกับ Java Developer ที่เก่งมากๆ คุณอาจสังเกตเห็นได้ว่า พวกเขามีความรู้เกี่ยวกับ Java Ecosystem และ API ซึ่งถือเป็นส่วนสำคัญภาษานี้

Java เป็นภาษา Programming ที่ได้รับความนิยมแทบจะมากที่สุดในโลกภาษาหนึ่งก็ว่าได้ อีกทั้งยังมี Libraries และ APIs อยู่เป็นจำนวนมากซึ่งช่วยให้คุณสามารถทำอะไรๆ ได้มากมาย เท่าที่จะเป็นไปได้

แน่นอนว่า คุณอาจไม่จำเป็นต้องไปไปเสียทั้งหมด แต่อย่างน้อยก็ควรคุ้นเคยกับ API ที่สำคัญๆ บางตัว เช่น JSON processing APIs อย่าง Jackson และ Gson, XML processing APIs อย่าง JAXB และ Xerces, Unit Testing Libraries อย่าง Mockito และ JUnit เป็นต้น

6. เรียนรู้ JVM Internals

หากคุณจริงจังอยากจะเป็น Java Developer ที่โดดเด่น คุณจะต้องใช้เวลาในการเรียนรู้การทำงานกับ JVM Internals เช่น อะไรคือส่วนที่แตกต่างของ JVM, พวกมันทำงานอย่างไร, JIT, JVM Options, Garbage Collections และ Collectors เป็นต้น

หากคุณรู้จัก JVM เป็นอย่างดีแล้ว คุณสามารถเขียนทั้ง Java Application ที่แข็งแกร่งและมีประสิทธิภาพสูง ซึ่งนั่นคือสิ่งที่ Java Developer ที่เก่งๆ ทำกัน

ในส่วนนี้ คุณควรเรียนรู้วิธีวางโครงสร้างใน Java Application ของคุณ, วิธีการจัดการกับปัญหาคอขวด (Bottlenecks) เช่น มี Objects ใดบ้างที่ใช้ Memory และ CPUs สิ้นเปลือง สำหรับเรื่อง Structured Learning ขอแนะนำหนังสือชื่อ The Definitive Guide to Java Performance ของ Scott Oaks ให้คุณลองไปอ่านดู

7. เรียนรู้ Design Patterns

หากคุณเขียน Java Application ตั้งแต่เริ่มต้น คุณควรใช้เวลาส่วนใหญ่ไปกับการเขียน Object-Oriented Code และ Design Patterns ที่ถูกใช้ และทำการ Test Solutions ต่างๆ ของปัญหาทั่วๆ ไป ที่อาจเกิดขึ้น ซึ่งการทำแบบนี้จะช่วยให้  Application ของคุณมีความยืดหยุ่นมากขึ้น และสามารถแก้ไข Code ได้ง่ายขึ้นในอนาคต

นอกจากนี้ยังช่วยปรับปรุงคุณภาพของ Code และ Documentation โดยรวมด้วย เพราะ Java Developer คนอื่นที่คุ้นเคยกับ Design Patterns จะเข้าใจ Solution ของคุณได้ค่อนข้างเร็ว

แต่อย่าเพิ่ง Focus ไปที่ส่วนของ Code คุณสามารถใช้ Features ของ Java 8 อย่าง Lambdas และ Streams เพื่อทำการ Rewrite Patterns อย่าง Strategy Patterns ได้

8. เรียนรู้ Kotlin

หากคุณเคยอ่านหนังสือ The Well-Grounded Java Developer ซึ่งกล่าวถึงข้อได้เปรียบของการเป็น Polyglot Programmer (Programmer ที่มีความรู้และสามารถเขียน Code ได้มากกว่า 1 ภาษา) ซึ่งหากมองถึงภาษาที่เกี่ยวกับ Java คุณอาจเรียนรู้ภาษา JVM ควบคู่ไปด้วย อย่างตัวหลักๆ หลายคนรู้จักกันดี เช่น Scala หรือ Groovy ซึ่งมีประโยชน์กับคุณในการสร้าง Build Scripts และ Unit Test แต่หากคุณรีบร้อนก็ขอแนะนำ Kotlin เนื่องจากเป็นภาษาที่ได้รับการออกมาแบบอย่างดีจาก JetBrains ซึ่งเป็นบริษัทที่อยู่เบื้องหลัง IntelliJ IDEA และเป็นภาษาอย่างเป็นทางการ (Official Language) สำหรับการพัฒนา Android ตามประกาศของ Google ในปี 2017 นอกจากนี้ Kotlin ไม่เพียงช่วยปรับปรุงในเรื่อง Productivity เท่านั้น แต่ยังช่วยให้คุณเข้าถึงเรื่อง Android Development อีกด้วย

9. เรียนรู้ Microservices

เนื่องจากสถาปัตยกรรม มีการเปลี่ยนแปลงอย่างต่อเนื่อง และหลายบริษัทกำลังเปลี่ยนจาก Monolithic Application ไปยัง Microservices ซึ่งในฐานะ Java Developers ถึงเวลาแล้วที่ควรจะเรียนรู้ Microservice Architecture และวิธีสร้าง  Microservices ใน Java และโชคดีที่ Spring Framework มี Spring Cloud และ Spring Boot ซึ่งช่วยให้การพัฒนา Microservices ใน Java เป็นเรื่องที่ง่ายขึ้น หากคุณอยากหาหนังสือที่เกี่ยวกับเรื่องนี้ ก็ขอแนะนำหนังสือ Cloud Native Java ของ Josh Long ซึ่งมีเนื้อหาครอบคลุมสำหรับการพัฒนา Java Applications สำหรับระบบ Cloud

10. เรียนรู้ IDE ให้ดียิ่งขึ้น

หนึ่งในลักษณะที่สำคัญที่สุดของ Java Developer ที่มีความสามารถมากๆ คือ พวกเขาจะเก่งใน Tools ที่พวกเขาใช้เป็นอย่างมาก พวกเขาไม่เพียงแต่รู้จัก Tools มากกว่า Developer ทั่วไปเท่านั้น แต่พวกเขาจะรู้จัก Tools ที่พวกเขาใช้เป็นอย่างดีอีกด้วย

เนื่องจาก IDEs อย่าง Eclipse, NetBeans และ IntelliJ IDEA เป็น Tools ที่ถือว่ามีความสำคัญต่อ Java Programmer ดังนั้นคุณควรใช้เวลาในการเรียนรู้พวกมันให้มากขึ้น

นี่คือแนวทางเบื้องต้นที่จะช่วยให้คุณรู้ทิศทางว่าจะพัฒนาตัวเองอย่างไรให้เป็น Java Developer ที่เก่งขึ้นกว่าเดิม ซึ่งไม่ได้หมายถึงว่าคุณจะต้องรู้ทั้ง 10 ข้อนี้ทั้งหมด แต่คุณสามารถเลือกเรียนรู้สิ่งที่คิดว่าเหมาะสมและเป็นประโยชน์กับคุณในการทำงาน ซึ่งหากคุณอยากเริ่มเรียนรู้ก็แนะนำให้เรียนรู้ภาษา Java กับ Spring Framework ก่อน แต่หากคุณรู้สิ่งเหล่านั้นแล้ว ก็มาเรียนรู้ Unit Testing, JVM Internals และ DevOps เพิ่มเติมก็จะเป็นประโยชน์กับคุณอย่างมาก

ที่มา:  https://javarevisited.blogspot.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด