Đang thực hiện
Tên đăng nhập
Mật khẩu
 
Hoặc đăng nhập bằng:
Nhập lại mật khẩu

Trang chủ Tin tổng hợp
Tin tổng hợp

Lập trình viên Java muốn thành công trong tương lai hãy làm theo 9 điều sau

Cập nhật: 07/06/2018 Lượt xem: 1508

Bạn muốn theo một hướng đi đúng? Để làm được điều này, bạn cần lập ra kế hoạch, đặt ra các mục tiêu và quyết tâm cho mục tiêu của bạn.

Lập trình viên Java muốn thành công trong tương lai hãy làm theo 9 điều sau-1


Là một Java Developer (lập trình viên Java) và là tác giả của một blog Java, tác giả Javin Paul, cũng chính là tác giả của bài viết sau, thường xuyên nhận được những câu hỏi từ các lập trình viên Java ở khắp nơi trên thế giới về cách cải thiện năng lực.
 
Hãy cùng bài viết sau đây xem 9 ý tưởng hay dành cho các lập trình viên Java trong năm 2018. Bạn có thể lấy cảm hứng từ những ý tưởng này để tạo ra các mục tiêu và quyết tâm cho riêng mình.
 
1. Tìm hiểu về điều chỉnh hiệu năng Java
 
Trong vài năm gần đây, Javin cho biết ông đã thực hiện hơn 50 cuộc phỏng vấn với các nhà phát triển Java có kinh nghiệm và một kỹ năng ông thấy thiếu phần lớn ở họ đó là kiến thức và sự hiểu biết về JVM nội bộ, các hành vi của GC và điều chỉnh hiệu năng Java (Java performance tuning).

 

Lập trình viên Java muốn thành công trong tương lai hãy làm theo 9 điều sau-2 

 
Khi kinh nghiệm Java tăng lên và trở thành nhà phát triển Java cao cấp với hơn 5-6 năm kinh nghiệm, bạn được yêu cầu phải biết toàn bộ bức tranh lớn và các chi tiết nhỏ về nguyên tắc cơ bản của Java.
 
Nếu bạn không thể mô tả một ứng dụng hoặc không thể hiểu lý do tại sao nó chậm hoặc làm thế nào để làm cho nó nhanh hơn thì bạn nên đọc một cuốn sách hay về JVM nội bộ và điều chỉnh hiệu suất, ví dụ như cuốn sách bán chạy nhất của Scott Oaks “Java Performance the Definitive Guide”.
 
Javin đã đọc cuốn sách này nhiều năm trước đây và vẫn tham khảo lại bất cứ khi nào ông có thời gian, chứng tỏ tính ứng dụng của cuốn sách là rất lớn.
 
Nếu bạn thích các khóa học trực tuyến hơn sách, bạn nên xem qua chuỗi khoá học Hiểu biết về Java Virtual Machine (JVM) - một thiết bị trừu tượng về Pluarlsight giải thích quản lý bộ nhớ, class boarding, An ninh và Phản ánh.
 
2. Mỗi ngày code 2 tiếng
 

Lập trình viên Java muốn thành công trong tương lai hãy làm theo 9 điều sau-3

 
Khi kinh nghiệm tăng lên, bạn thường dành nhiều thời gian cho việc thực hiện trả lời email, khắc phục sự cố, cố vấn hay cố gắng trở thành một người quản lý dự án tốt,…
 
Tiếc là, điều bạn bị tụt lại phía sau là code, đó là kỹ năng quan trọng nhất của một lập trình viên.
 
Nếu cảm thấy bạn code chưa đủ, hãy quyết tâm code mỗi ngày. Ít nhất, hãy viết một cái gì đó, dù là về dự án của bạn, một framework mã nguồn mở, một thư viện hay một tiện ích.
Bắt đầu luôn là điều khó khăn nhất, bất cứ lúc nào bạn cảm thấy chần chừ, hãy đọc và tái cấu trúc code cho vui trước. Sau đó, bạn sẽ thích và viết code.
 
Ngoài ra, bạn cũng có thể giải quyết các vấn đề dựa trên buổi phỏng vấn Cracking the Coding và 150 câu hỏi lập trình. Điều này không chỉ đảm bảo rằng bạn đã sẵn sàng cho cuộc phỏng vấn mà còn nâng cao kiến thức về cấu trúc dữ liệu, các thuật toán và logic lập trình.
 
3. Lập hồ sơ ứng dụng Java mỗi tháng 1 lần
 

Lập trình viên Java muốn thành công trong tương lai hãy làm theo 9 điều sau-4

 
Điều này đi kèm với quyết tâm trong việc đọc sách hay về JVM nội bộ và điều chỉnh hiệu suất. Nếu chỉ đọc sách là chưa đủ, bạn phải áp dụng kiến thức đó vào dự án thực tế của bạn.
 
Tác giả khuyên bạn nên lập hồ sơ cho ứng dụng Java của mình, ít nhất mỗi lần một tháng và dành nhiều thời gian để tìm hiểu và phân tích kết quả.
 
Bạn cũng có thể lấy kết xuất quá trình Java của mình hoặc nếu gặp sự cố trong chương trình gần đây, hãy kết xuất nó và tìm ra đối tượng nào chiếm hầu hết bộ nhớ của bạn. Liệu có rò rỉ bộ nhớ trong ứng dụng Java của bạn?
 
Nguyên nhân là gì? Điều gì sẽ xảy ra nếu 100 nghìn khách hàng mới khác truy cập vào ứng dụng của bạn? Nếu có thể trả lời tất cả những câu hỏi này một cách thoải mái thì chứng tỏ bạn đã có sự chuẩn bị tốt. Nếu bạn cần một số hướng dẫn giải quyết vấn đề về bộ nhớ và CPU, bạn nên xem qua Understanding and Solving Java Memory Problems (Kiến thức và cách giải quyết sự cố bộ nhớ Java) của Richard Warburton.
 
4. Tham gia các thử thách code
 
Mục tiêu này lại phần nào liên quan đến quyết tâm thứ hai kể trên – viết code trong 2 tiếng mỗi ngày. Hãy đối mặt với nó bởi đôi khi bạn không có nhiều cơ hội code trong dự án thực tế của mình để gọi là luyện tập và rút kinh nghiệm.
 
Nếu bạn đang tìm kiếm các bài tập code, không có gì tốt hơn việc tham gia lập trình và các thử thách code. Hoặc tham khảo những bài viết ở trên mạng.
 
Có rất nhiều trang web trên Internet chứa các thử thách lập trình và cung cấp cho bạn cơ hội kiểm tra kỹ năng bản thân, bạn có thể tìm trong danh sách Top 20 website học lập trình miễn phí cần bookmark ngay lập tức để có thể thực hành.
 
Nếu bạn đang tìm kiếm một số thử thách lập trình khó khăn hơn, bạn cũng có thể tìm kiếm danh sách các trang web tốt để thực hành code.
 
5. Tìm hiểu về Network programming (Lập trình mạng) trong Java
 
Một điều nữa tác giả học được từ việc phỏng vấn là các nhà phát triển Java cần cải tiến lập trình mạng socket và nguyên tắc cơ bản về mạng lưới của họ. Ông đã hỏi nhiều câu hỏi từ danh sách câu hỏi lập trình mạng Java của mình, nhưng các nhà phát triển hầu như không thể trả lời được.
 
Thậm chí một vài người trong số họ còn cố gắng phác thảo điểm khác biệt chính giữa TCP và UDP, mà có lẽ là quá cơ bản để hỏi bất kỳ nhà phát triển Java có kinh nghiệm từ 2-5 năm. Nếu bạn cảm thấy không có cơ hội học lập trình mạng socket trong Java hoặc bạn không cần chúng vì bạn là nhà phát triển web Java làm việc với JSP, Servlet và JSF thì bạn nên đọc ít nhất một cuốn sách hay về Mạng Java, NIO và lập trình mạng socket.
 
Cuốn sách Javin khuyên bạn nên đọc là TCP/IP Sockets in Java, Second Edition: Practical Guide for Programmers (The Practical Guides). Rất dễ đọc, thú vị và là một cách hay để tìm hiểu các nguyên tắc cơ bản của lập trình mạng socket.
 
6. Java 9

 

Lập trình viên Java muốn thành công trong tương lai hãy làm theo 9 điều sau-5

 
Năm 2017 chúng ta đã chứng kiến những phát hành lớn, một trong số đó là JDK 9. Tác giả chưa bắt đầu với JDK 9, nhưng ông cho biết đây là điều đầu tiên ông sẽ xem xét vào năm 2018 này. Nếu bạn muốn tìm hiểu các tính năng mới của Java 9 như Jigsaw, Reactive Streams, API enhancements,… thì Java 9 MasterClass trên Udemy là một khóa học tốt để bắt đầu.
 
7. Spring 5.0
 
Một phát hành lớn khác cho thế giới Java vào năm 2017 là Spring Framework 5.0. Với nhiều tính năng thú vị như mô hình và sự tiếp nhận reactive programming của Java 8 và Java 9, việc áp dụng Spring 5.0 sẽ tăng tốc vào năm 2018, đó là lý do tại sao mọi nhà phát triển Java nên học nó. Nếu bạn cần giúp đỡ, Spring 5.0: Beginner to Guru là một khoá học tốt để bắt đầu.
 
8. Spring Security 5.0
 

Một phát hành thú vị khác của năm 2017 mà tác giả khuyên bạn nên học vào năm nay là Spring Security 5.0. Spring Security 5.0 là một phiên bản chính, họ viết lại một vài module và sửa chữa vài trăm lỗi. Phần thú vị nhất là module OAuth 2.0. Thật không may, hiện tại không có nhiều nguồn tài nguyên để học Spring Security 5.0, nhưng Eugen đã cập nhật phần mềm Learn Spring Security bao gồm phiên bản 5.0 và bổ sung thêm một module mới trên OAuth 2.0.
 
9. Unit testing
 

Lập trình viên Java muốn thành công trong tương lai hãy làm theo 9 điều sau-6


Nếu muốn trở thành nhà phát triển giỏi hơn vào năm 2018, bạn nên làm việc với các kỹ năng unit testing. Không chỉ với unit testing mà còn cả kiểm thử tự động (automated testing) nói chung. Điều này cũng bao gồm thử nghiệm tích hợp. Bạn có thể học JUnit 5 và các thư viện unit testing nâng cao khác như Mockito, PowerMock, Cucumber và Robot để đưa kỹ năng unit testing của mình lên cấp độ mới.
 
Mockito thực sự mạnh mẽ và cho phép bạn viết một unit testing cho các lớp phức tạp bằng cách mocking dependencies và chỉ tập trung vào các đối tượng đã được kiểm tra. Nếu bạn là một người mới bắt đầu unit testing và muốn học nó vào năm 2018 thì khóa học JUnit và Mockito Crash từ Udemy là một điểm khởi đầu tốt.
 
Tóm lại
 
Trên đây là lời khuyên của tác giả Javin Paul! Nếu bạn là một lập trình viên Java với vài năm kinh nghiệm, bạn cũng có thể lấy cảm hứng từ danh sách này để đặt mục tiêu cá nhân. Bạn có thể thêm vào danh sách học Android, Docker và Spark, vì đây là điều cần thiết cho bất kỳ trình lập trình viên Java nào.
 
Tôi đã cố gắng làm nó trở nên đơn giản và dễ làm vì tôi tin rằng thành công nhỏ sẽ dẫn đến thành công lớn. Đặt ra những mục tiêu nhỏ và đạt được chúng tốt hơn việc đặt ra các mục tiêu lớn, không thực tế và không thành công trước khi khởi đầu.
 
Bạn đang mong chờ điều gì? Hãy viết ra điều bạn muốn làm trong năm nay và chia sẻ chúng với chúng tôi. Cuối năm, bạn có thể trở lại đây và cho chúng tôi biết bạn đã đạt được bao nhiêu mục tiêu.

 
Tác giả: Javin Paul

Tư vấn viên 1: Lê Thoa
Tư vấn viên 2: Thu Huyền
Tuyển sinh lập trình viên quốc tế - MMS new vision
internet of things