10 เคล็ดลับ เพื่อเป็น Java Developer ที่เก่งขึ้น

29-ส.ค.-18

คัมภีร์เทพ IT

หากคุณเป็น Java Developer/Programmer อยากให้อ่านบทความนี้ เพราะเป็นบทความที่จะมาบอก 10 เคล็ดลับ เพื่อให้คุณเป็น Java Developer ที่เก่งขึ้น มีประโยชน์ทั้ง Developer ที่เขียน Server-Side Applications และ Web Applications เรามาดูกันว่า เคล็ดลับเหล่านั้นมีอะไรบ้าง

1. เรียนรู้ Java 8

นี่เป็นหัวใจหลักที่สำคัญที่สุดสำหรับ Java Developer แม้จะผ่านมา 4 ปีแถม Java ก็ออก Release 9 และ 10 มาแล้ว แต่ก็เชื่อว่ายังมี Programmer/Developer หลายคนที่ยังไม่เคยใช้ Features ของ Java 8 อย่าง Lambdas และ Stream API ซึ่งพวกเขาส่วนใหญ่อาจจะเป็น Java Developer ที่มีประสบการณ์ทำงานมานานร่วม 10 ปี แล้ว และหากพวกเขา(รวมทั้งคุณ) ไม่ Update ความรู้ใหม่ๆ ก็อาจตามคนรุ่นใหม่ไม่ทัน เรามักจะเห็นว่างานที่เกี่ยวกับ Java Development มักจะยังต้องการทักษะของ Java 8 อยู่ไม่น้อย และถ้าคุณไม่มีทักษะเหล่านั้น โอกาสการหางานก็น่าจะลำบากขึ้น

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

ดูจะเป็นเรื่องจำเป็นสำหรับ Java Developer ยุคนี้ ที่ต้องเรียนรู้ Spring Frameworks ด้วย เนื่องจาก บริษัทส่วนใหญ่ต้องการใช้ Spring Frameworks เช่น Spring MVC, Spring Boot และ Spring Cloud เพื่อพัฒนา Web Application, REST APIs Microservices นอกจากนี้ยังมี Best Practices อย่าง Dependency Injection และการทำให้ Application ของคุณสามารถ Test ได้สะดวกมากขึ้น ซึ่งถือเป็นความต้องการพื้นฐานสำหรับ Software ในยุคนี้ หากคุณเป็น Java Developer มือใหม่ ก็ขอแนะนำให้คุณเริ่มต้นศึกษาที่ Java และ Spring Tutorial เพื่อเรียนรู้พื้นฐานของ Framework นี้ก่อน และหากคุณคุ้นเคยกับ Spring แล้ว ก็แนะนำให้ศึกษา Spring Boot และ Spring Cloud ต่อ

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

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

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

หากคุณมีโอกาสได้ร่วมงานกับ Java Developer ที่เก่งมากๆ คุณอาจสังเกตเห็นความรู้โดยรวมของพวกเขาเกี่ยวกับ Java Ecosystem และ APIs ซึ่งเป็นส่วนที่มีความสำคัญมาก ภาษา Java ถือเป็นภาษาที่ได้รับความนิยมมากที่สุดในโลกก็ว่าได้ และมี Libraries รวมทั้งมี APIs มากมายที่คุณสามารถนำมาใช้ได้ คุณไม่จำเป็นต้องรู้ทั้งหมด แต่อยากให้ทำความคุ้นเคยกับ APIs หลักๆ เช่น JSON processing APIs อย่าง Jackson และ Gson, XML processing APIs อย่าง JAXB และ Xerces และ Unit Testing Libraries อย่าง Mockito และ JUnit เป็นต้น

5. เรียนรู้ 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 ให้คุณลองไปอ่านดู

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

หากคุณเขียน Java Application ตั้งแต่เริ่มต้น คุณจะใช้เวลาส่วนใหญ่ไปกับการเขียน Object-Oriented Code และ Design Patterns และทดสอบ Solutions ต่างๆ ของปัญหาทั่วไปที่อาจเกิดขึ้น ซึ่งการทำแบบนี้จะช่วยให้  Application ของคุณมีความยืดหยุ่นขึ้นและสามารถแก้ไข Code ได้ง่าย นอกจากนี้ยังช่วยปรับปรุงคุณภาพของ Code และ Documentation โดยรวมด้วย เพราะ Java Developer คนอื่นที่คุ้นเคยกับ Design Patterns จะเข้าใจ Solution ของคุณได้ค่อนข้างเร็ว แต่อย่าเพิ่งโฟกัสไปที่ส่วนของ Code คุณสามารถใช้ Features ของ Java 8 อย่าง Lambdas และ Streams เพื่อทำการ Rewrite Patterns อย่าง Strategy Patterns ได้

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

สำหรับ Java Developer ในยุคนี้ การมีความรู้เกี่ยวกับ DevOps ถือเป็นสิ่งจำเป็น อย่างน้อยก็ควรทำความคุ้นเคยกับ Continuous Integration และ Continuous Deployment รวมทั้งวิธีที่ Jenkins ช่วยให้ทำมันสำเร็จ ปัจจุบันมันกลายเป็นสิ่งสำคัญสำหรับ Senior Java Developer ซึ่งมักจะเป็นผู้รับผิดชอบในการ Set Best Practices ของการ Coding และสร้าง Environments, Build Scripts และ Guidelines ขอแนะนำให้คุณใช้เวลาและเรียนรู้เพิ่มเติมเกี่ยวกับ DevOps และ Tools อย่าง Docker, Chef, Kubernetes เป็นต้น พร้อมทั้ง Maven และ Jenkins ด้วย

8. เรียนรู้ Kotlin

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

9. เรียนรู้ Microservices

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

10. เรียนรู้ IDE

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

คุณอาจรู้สึกว่ายาก ที่จะเรียนรู้ทุกอย่างทั้งหมดในเวลาเดียวกัน แต่ที่จริงแล้วนี่เป็นแค่ Guideline เท่านั้น คุณสามารถเลือกเรียนรู้ได้ตามความเหมาะสม แต่อย่างน้อยควรเริ่มจาก Java 8 (หรือ Release ใหม่กว่าที่คุณคิดว่าจะใช้งานมัน) และ Spring Framework ก่อน แล้วค่อยขยับไปหัวข้ออื่นๆ ซึ่งจะช่วยให้คุณสามารถเป็น Java Developer ที่เก่งขึ้นกว่าเดิมได้อย่างแน่นอน

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

 

 

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

 

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

เพิ่มเพื่อน

 

บทความที่เกี่ยวข้อง