10 tips để trở thành Java Developer xịn hơn
Nhân dịp có nhiều bạn gửi tin nhắn làm thế nào để trở thành Java Developer xịn hơn, nên học Java như thế nào, và dùng trong lĩnh vực nào, mình sẽ chia sẻ vài điểm sẽ giúp bạn thăng tiến trở thành Java programmer và application developer xịn hơn.
Truớc khi đi vào chi tiết thì mình sẽ đặt trong hoàn cảnh là các bạn đều giải quyết khá tốt những mảng như Coding, Cấu trúc dữ liệu và Thuật toán, những concepts Khoa học máy tính như networking, protocols, lập trình hướng đối tượng,…
Tuyển dụng lập trình viên Java lương cao cho bạn
Học các tool DevOps (Docker và Kubernetes)
Kiến thức về DevOps đóng vai trò rất quan trọng với các Java developer hiện nay. Tối thiểu một developer cần biết và nắm rõ continuous integration và continuous deployment (CI/CD – tích hợp và triển khai liên tục) và vai trò của Jenkins. Ngoài ra senior Java developer còn phải build DevOps như set code best practice và tạo environment, build scripts và guideline.
Mình thì gợi ý bạn dành thời gian tìm hiểu DevOps cơ bản và các tool như Docker, Chef, Kubernetes song song đó là Mavin và Jenkins. Trên Udemy cũng có khóa học, nếu bạn cần nguồn tư liệu bài bản hơn.
Học Java tốt hơn (những tính năng JDK 8 đến JDK 13)
Java luôn liên tục update, và ra phiên bản mới mỗi sáu tháng nên việc cập nhật kiến thức cho bản thân là rất quan trọng và khá thử thách. Nhiều lập trình viên Java với 7 đến 10 năm kinh nghiệm chưa từng viết nổi 1 dòng code có tính năng Java 8 (như lambdas hay Stream API). Mình hiểu rằng việc tiếp nhận kiến thức ở vài thời điểm trong sự nghiệp sẽ trở nên rất chậm nhưng nếu bạn không update, thì bạn sẽ bị bỏ lại phía sau.
Hầu hết các job lập trình Java yêu cầu biết Java 8, và nếu như bạn không đạt được, thì bạn sẽ không được đánh giá cao trong các buổi phỏng vấn Java. Giờ nếu bạn phân vân chưa biết bắt đầu từ đâu thì bạn có thể tham khảo The Complete Java MasterClass trên Udemy.
Học Spring Framework (Spring Boot)
Học Spring framework dường như đã là điều bắt buộc hiện nay đối với Java developer vì hầu hết các công ty đều phát triển dựa trên Spring frameworks như Spring MVC, Spring Boot và Spring Clouder để phát triển web app, REST APIs Microservices. Ngoài ra nó còn cung cấp các best practices như là dependency injection, giúp app dễ test hơn – một trong những thứ rất quan trọng trong các ứng dụng hiện đại.
Nếu bạn là newbie Java developer, mình khuyên bạn bắt đầu với Spring tutorial để biết những điều cơ bản nhất trong framework này, sau đó hãy đến Spring Boot và Spring Cloud để phát triển các app cao cấp hơn.
Học Unit Testing (Junit và Mockito)
Sự khác biệt giữa Java Developer giỏi và một Java Developer thường đó là khả năng kiểm thử trên từng đơn vị – unit testing.
Testing đã có bước phát triển dài và hiện nay đã có vài tool có sẵn dành cho unit testing, integration testing và automation testing. Bạn có thể nâng cao testing skill với thư viện JUnit với phiên bản gần đây nhất là JUnit 5 rất là mạnh và linh hoạt
Học APIs và Libraries (Jackson, Log4j)
Một đặc điểm thường thấy ở senior Java dev là họ có kiến thức tổng quát về hệ sinh thái Java, trong đó API là phần quan trọng. Java là một trong những ngôn ngữ lập trình lâu đời và phổ biến nhất thế giới, có rất nhiều thư viên và API có sẵn để build tất cả mọi thứ. Tất nhiên là bạn không cần phải biết hết tất cả các thư viện và APIs này, nhưng bạn phải làm quen với JSON processing APIs như Jackson và GSON, XML processing APIs như JAXB và Xerces, thư viện Unit testing như Mockito and JUnit, …
Tìm Java job lương cao trên TopDev ngay!
Học JVM Internals
Xem thêm JVM là gì
Nếu nghiêm túc với sự nghiệp Java developer, bạn nên tìm hiểu về cấu trúc bên trong jvm, những thành phần trong JVM hoạt động như thế nào như JIT, JVM option, Garbage collections và collectors, JIT, JVM option, Garbage collections và collectors, v.v. Khi đã hiểu rõ JVM bạn có thể viết Java app mạnh và có hiệu suất cao hơn.
Ngoài ra bạn cũng nên biết audit lại Java app cũng như là objects nào đang chiếm nhiều tài nguyên nhất, đâu là nút thắt cổ chai trong performace, như objects nào đang chiếm nhiều memory nhất hay đang ăn CPU nhất.
Học Design Patterns (GOF Patterns)
Nếu bạn đang bắt đầu viết Java app thì hầu như bạn phải code theo hướng đối tượng, thực hành với design pattern và thử nghiệm những giải pháp cho những vấn đề phổ biến. Vì vậy càng biết và kết hợp design pattern vào code thì app sẽ càng linh hoạt và dễ thay đổi hơn trong tương lai, ngoài ra chất lượng code tổng thể cũng như tư liệu hóa cũng được cải thiện nhiều, nếu như các Java dev khác cũng quen thuộc với design pattern thì họ sẽ hiểu solution rất nhanh.
Tuy nhiên cũng đừng tập trung vào phần code, hãy nắm tinh thần chung và sáng tạo hơn nữa, sử dụng các tính năng Java 8 như lambdas và Streams để viết lại các pattern như Srategy pattern.
Tham khảo Global CyberSoft tuyển dụng Fresher đãi ngộ tốt tại TopDev
Học Kotlin (Android)
Nhiều năm trước khi đọc qua cuốn The Well-Grounded Java Developer, mình đã được truyền cảm hứng học Scala, sau đó mình cũng thử qua Groovy vì chúng được dùng nhiều để build script và kiểm thử. Những trải nghiệm như thế giúp mình rất nhiều, và đó là lý do vì sao mình luôn khuyên các Java dev nên học thêm ngôn ngữ dựa trên JVM, và một trong số đó là Kotlin.
Công ty cuả Kotlin là JetBrains, đứng sau IntelliJ IDEA, Kotlin cũng là ngôn ngữ chính thức để phát triển Android theo như Google thông báo năm 2017, không những cải thiện hiệu suất mà còn giúp bạn đào sâu hơn về lĩnh vực phát triển Android.
Học về Microservices (Spring Cloud, MicroNaut)
Architecture là lĩnh vực không ngừng thay đổi, và càng nhiều công ty đang chuyển hướng từ monolithic sang microservice. Vì vậy đã đến lúc Java dev học về microservice architecture và làm thế nào để tạo microservice trong java để hưởng lợi từ cơn sóng này. Và Spring framework có Spring Cloud và Spring Boot để đơn giản hóa quá trình develop microservice trong Java.
Học về IDE (Eclipse hoặc IDEA)
Một trong những đặc điểm của các Java dev xịn là họ rất rành các tool mình sử dụng. Các IDE như Eclipse, NetBeans và IntelliJ IDEA là công cụ quan trọng nhất đối với Java dev cho nên bạn nên dành thời gian cho chúng nhiều để tìm hiểu kỹ càng hơn. Ngoài ra thì bạn cũng có thể tìm hiểu một số plugin hỗ trợ làm task hoặc một số phím tắt để nâng cao năng suất của mình.
Những mẹo nhỏ này sẽ giúp cho công việc nhiều hơn bạn nghĩ đó.
Trên đây là các tips của mình để trở thành một Java dev xịn xò hơn năm 2020, và để follow hết những cái trên cũng khá là thử thách, nhưng điều đó cũng không cần thiết lắm đâu. Bạn có thể tập trung vào cái gì quan trọng với bản thân hơn, như học tính năng Java mới giữa Java 8 và Java 13, hoặc Spring Framework nếu chưa biết gì về nó. Nhưng nếu đã rành những cái này rồi thì cũng có thể chọn hướng khác, như unit testing, JVM hay DevOps.
Tham khảo bài viết gốc tại javarevisited
► Xem thêm việc làm Java Developer HCM hấp dẫn tại TopDev
Có thể bạn quan tâm:
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- F Framework nào tốt nhất cho dự án của bạn? – Checklist chi tiết
- K Kinh nghiệm xử lý responsive table hiệu quả
- S Stackoverflow là gì? Bí kíp tận dụng Stack Overflow hiệu quả
- 7 7 kinh nghiệm hữu ích khi làm việc với GIT trong dự án
- B Bài tập Python từ cơ bản đến nâng cao (có lời giải)
- B Bảo mật API là gì? Một số nguyên tắc và kỹ thuật cần biết
- H Hướng dẫn cài đặt và tự học lập trình Python cơ bản từ A-Z
- C Chinh Phục Phân Tích Dữ Liệu Với Pandas Trong Python: Hướng Dẫn Từng Bước
- D Display CSS là gì? Cách khai báo và sử dụng thuộc tính display trong CSS