ถ้าอยากเป็นสุดยอด Java Programmer ต้องมี 10 Skill นี้?
Java คืออะไร?
ถ้าคุณอยากเป็นสุดยอด Java Programmer อันดับแรกคงต้องรู้ก่อนว่า "จาวา" คืออะไร? และต้องมี Skill อะไรบ้าง? จริงๆ แล้ว "จาวา" เป็นภาษาคอมพิวเตอร์ชั้นสูงชนิดหนึ่ง ที่มีการทำงานเป็นลักษณะเชิงวัตถุ (OOP : Object-Oriented Programming) ซึ่งถูกออกแบบให้มีการเชื่อมโยงกันภายในซับซ้อนน้อยที่สุดเท่าที่จะทำได้
ภาษานี้มีจุดประสงค์เพื่อใช้แทนภาษา C++ โดยรูปแบบที่เพิ่มเติมขึ้นคล้ายกับภาษา Objective-C ซึ่งแต่เดิมภาษานี้เรียกว่า ภาษา Oak แต่ภายหลังได้เปลี่ยนไปใช้ชื่อ "จาวา" แทน จุดเด่นของภาษานี้อยู่ที่ผู้เขียนโปรแกรมสามารถใช้หลักการของ Object-Oriented Programming มาพัฒนาโปรแกรมของตนด้วย "จาวา" ได้
สุดยอด "จาวา" Programmer ต้องมี Skill อะไรบ้าง?
ต้องบอกเลยว่าสิ่งที่สามารถแบ่งแยกสุดยอด Java Programmer ออกจาก "จาวา" ทั่วๆ ไป ก็คือ Skill ที่มีมากกว่าคนอื่นนั่นเองค่ะ ซึ่งสกิลที่คุณต้องมี ก็คือ
1. Java 8
จะเห็นได้ว่างานที่เกี่ยวกับ Java Programmer นั้นยังคงต้องการทักษะของ Java 8 อยู่ไม่น้อยเลยทีเดียว ถ้าคุณไม่มีทักษะเหล่านี้แล้วล่ะก็ คงจะสู้กับ Java คนอื่นๆ ไม่ได้แน่นอน
2. Spring Framework (Spring Boot)
เนื่องจากบริษัทส่วนใหญ่ต้องการใช้ Spring Frameworks เช่น Spring MVC, Spring Boot และ Spring Cloud เพื่อนำไปพัฒนา Web Application, REST APIs Microservices
3. Unit Testing
Java Programmer ที่เก่งและมีความเป็นมืออาชีพสูง มักจะเขียน Unit Tests สำหรับ Code ของพวกเขาอยู่เสมอๆ โดยการ Test นั้นมีอยู่หลายเครื่องมือให้เลือกใช้ เช่น Unit Testing, Integration Testing และ Automation Testing
4. APIs และ Libraries
ภาษา Java ถือเป็นภาษาที่ได้รับความนิยมมากที่สุดในโลกเลยก็ว่าได้ ซึ่งมี Libraries รวมทั้งมี APIs มากมายที่คุณสามารถนำมาใช้ได้ คุณไม่จำเป็นต้องรู้ทั้งหมด แต่อยากให้ทำความคุ้นเคยกับ APIs หลักๆ เช่น JSON processing APIs อย่าง Jackson และ Gson, XML processing APIs อย่าง JAXB และ Xerces และ Unit Testing Libraries อย่าง Mockito และ JUnit เป็นต้น
5. JVM Internals
คุณต้องทุ่มเทเวลาเพื่อเรียนรู้เกี่ยวกับ JVM Internals เช่น อะไรคือส่วนที่แตกต่างของ JVM, มันทำงานอย่างไร, JIT, JVM Options, Garbage Collections และ Collectors เป็นต้น ถ้าคุณรู้จัก JVM เป็นอย่างดี คุณก็จะสามารถเขียน Java Application ที่มีประสิทธิภาพสูงๆ ได้
6. Design Patterns
Design Patterns เป็นรูปแบบการเขียนโปรแกรมเชิงวัตถุที่เป็นมาตรฐานและเป็นที่ยอมรับ ถ้าคุณไม่รู้จัก Design Pattern แล้วจะเขียนโปรแกรมได้ไหม? คำตอบก็คือ เขียนได้แต่จะเขียนได้ไม่ดี ไม่ยืดหยุ่น ถ้าใช้หลัก Design Patterns มาช่วย คุณก็จะเรียนรู้ Code ได้อย่างรวดเร็ว
7. DevOps Tools
การมีความรู้เกี่ยวกับ DevOps ถือเป็นสิ่งที่จำเป็น คุณควรทำความคุ้นเคยกับ Continuous Integration และ Continuous Deployment รวมทั้งวิธีที่ Jenkins ช่วยให้ทำมันสำเร็จ ขอแนะนำให้คุณใช้เวลาและเรียนรู้เพิ่มเติมเกี่ยวกับ DevOps และ Tools อย่าง Docker, Chef, Kubernetes เป็นต้น พร้อมทั้ง Maven และ Jenkins ด้วย
8. Kotlin
Kotlin เป็นภาษาที่ได้รับการออกแบบมาอย่างดี และเป็นภาษาที่เป็นทางการ (Official Language) สำหรับการพัฒนา Android ตามประกาศของ Google ในปี 2017 อีกทั้งมันไม่เพียงเพิ่มประสิทธิภาพในการทำงานของคุณเท่านั้น แต่ยังช่วยนำคุณเข้าไปสู่ Android Development Area ได้สะดวกขึ้นอีกด้วย
9. Microservices
เนื่องจากหลายๆ บริษัทกำลังเปลี่ยนจาก Monolithic Application ไปยัง Microservices ดังนั้นคุณควรที่จะเรียนรู้ Microservice Architecture และวิธีสร้าง Microservices ใน Java ด้วย ซึ่งโชคดีที่ Spring Framework มี Spring Cloud และ Spring Boot ที่ช่วยลดความซับซ้อนในการพัฒนา Microservices
10. IDE
หนึ่งในลักษณะที่สำคัญที่สุดของ Java Programmer ที่เก่งกว่าคนอื่นๆ คือ พวกเขาจะเก่งในเรื่อง Tools เพราะพวกเขาไม่เพียงแค่รู้จัก Tools มากกว่า Java ทั่วๆ ไป แต่พวกเขาจะรู้จัก Tools ที่ใช้เป็นอย่างดีด้วย เนื่องจาก IDEs อย่าง Eclipse, NetBeans และ IntelliJ IDEA เป็น Tools ที่สำคัญสำหรับ Java Programmer ดังนั้นคุณควรใช้เวลาในการเรียนรู้พวกมันให้มากขึ้น
-
ทำความรู้จัก Startup ธุรกิจสไตล์ใหม่ เติบโตไวกว่าที่คิด
เทรนด์มาแรงสำหรับยุคนี้ก็คงหนีไม่พ้นการทำธุรกิจแบบ Startup ที่ก่อตั้งและเติบโตอย่างรวดเร็วภายในระยะเวลาอันสั้น หลายคนอาจจะสงสัยว่า Startup เป็นธุรกิจแบบไหน อย่างไร เราจะพาทุกคนไปทำความรู้จักกัน
-
Library of Things ห้องสมุดที่ไม่ได้มีแค่หนังสือ ยืมได้ทุกอย่าง
Library of Things เทรนด์ห้องสมุดแห่งอนาคตที่จะไม่ได้มีแค่หนังสือให้ยืม แต่จะมีของใช้สารพัดอย่างให้เรายืม โดยแนวคิดนี้มีมาก่อน Internet of Things เสียอีก ไปดูกันว่า LoT คืออะไร
-
เทคนิคกุมหัวใจลูกน้อง ที่เจ้านายควรรู้ ถ้าอยากให้บริษัทประสบความสำเร็จ
เราลองมาดูเทคนิควิธีการบริหารคน บริหารงานอย่างเป็นมืออาชีพ ที่เจ้านายควรรู้ ถ้าอยากให้ลูกน้องยอมรับ เคารพนับถือและไว้วางใจ เพื่อส่งผลให้บริษัทประสบความสำเร็จกันดีกว่าว่าจะมีอะไรบ้าง?