Là người sử dụng ngôn ngữ lập trình Java để thiết kế, xây dựng và phát triển các ứng dụng ở mọi lĩnh vực. Họ sẽ kết hợp với những Web Developer hay các Software Developer để tích hợp Java vào các ứng dụng, phần mềm.
Yêu cầu nghề nghiệp
Nhiệm vụ
- Xác định mục tiêu, chức năng của ứng dụng.
- Tham gia trực tiếp vào quá trình lên ý tưởng, thiết kế, phát triển và vận hành các ứng dụng bằng ngôn ngữ lập trình Java theo các kế hoạch, dự án.
- Căn chỉnh thiết kế của ứng dụng sao cho phù hợp với yêu cầu và mục tiêu kinh doanh.
- Phát triển phần mềm.
- Thử nghiệm phần mềm.
- Duy trì, cập nhật các website, mã nguồn, cấu trúc dữ liệu đang sẵn có của công ty.
- Nghiên cứu và học hỏi, tìm hiểu các công nghệ mới để áp dụng theo các dự án của công ty để nâng cao hiệu suất.
- Thực hiện phân tích nhu cầu người dùng thông qua các dữ liệu phản hồi để tối ưu hóa phần mềm, ứng dụng hoặc đưa ra ý tưởng cho thiết kế mới.
- Kết hợp với các phòng ban khác để chuẩn bị các tài liệu hướng dẫn người dùng.
- Thực hiện giám sát, kiểm tra và bảo trì hệ thống, phần mềm để phát hiện lỗi và đưa ra phương án sửa chữa kịp thời.
- Hỗ trợ cho các thành viên khách trong nhóm để cùng cải tiến hiệu suất sản phẩm, tránh các lỗi xảy ra.
- Đề xuất thay đổi, đổi mới các ứng dụng, phần mềm java hiện có nếu cần.
- Thực hiện các báo cáo tiến độ dự án theo ngày, tuần, tháng; từ đó đưa ra các phương án cải thiện hiệu suất, sửa chữa lỗi để đảm bảo đúng tiến độ.
- Thực hiện các công việc liên quan theo phân công từ cấp trên.
Khả năng cần có
- Có khả năng tập trung cao độ.
- Có tính kiên nhẫn, cẩn thận, tỉ mỉ.
- Có trách nhiệm, đảm bảo thời hạn công việc được giao.
- Có niềm đam mê trong lĩnh vực công nghệ thông tin.
- Có khả năng chịu áp lực công việc.
- Có sự yêu thích nghiên cứu, sáng tạo, thường xuyên chủ động trau dồi kiến thức mới để không ngừng nâng cao trình độ chuyên môn.
Kiến thức chuyên ngành
- Kiến thức về máy tính và công nghệ thông tin.
- Kiến thức về ngôn ngữ lập trình như: C#, Java, PHP,…
- Kiến thức về máy tính, mạng máy tính, quản trị mạng, quản trị WEB server,…
- Kiến thức về lập trình và phần mềm.
- Kiến thức về các phần mềm: Visual Studio, Netbeans, JCreator, SQL Server, IIS, Adobe Photoshop, các phần mềm quản trị mã nguồn và dự án,…
- Kiến thức về cơ sở dữ liệu, các công nghệ SQL và ORM.
- Kiến thức liên quan tới hệ điều hành và máy chủ.
- Kiến thức bảo mật và an toàn thông tin.
- Kiến thức Toán học và các thuật Toán để phục vụ cho công việc.
- Kiến thức về các giải pháp về Điện toán đám mây.
- Kiến thức tiếng Anh chuyên ngành để trình bày và viết văn bản.
- Kiến thức về cách làm việc của Java Virtual Machine (Platform Independence, Garbage Collection, class files,…).
- Kiến thức về khái niệm lập trình hướng đối tượng thực hiện trong Java.
- Kiến thức về các kiểu dữ liệu và vài lớp java.lang như String, Math, System v.v, nguyên tắc luồng java.io.
- Kiến thức về khái niệm lập trình sự kiện Swing/AWT.
- Kiến thức về khái niệm Servlets&JSP.
- Kiến thức về các mẫu thiết kế (design patterns) và sử dụng của nó trong Java.
- Kiến thức về cải tiến ngôn ngữ từ những thay đổi phiên bản chính (Generics, Annotations, Enums,…).
- Kiến thức về quy tắc viết mã (Coding Conventions).
- Kiến thức về Build tool (Ant) hoặc Project Management Tool (Maven).
- Kiến thức về hệ thống quản lý phiên bản như CVS/SVN/Perforce/Clearcase.
- Kiến thức về Apache Commons Libraries và vài thư viện nguồn mở khác.
- Kiến thức về continuous Integration Tools and Unit testing.
- Kiến thức cơ bản về XML.
- Kiến thức cơ bản về các frameworks lớp Business – ví dụ như Spring
- Kiến thức về MVC Frameworks – Frameworks J2EE mã nguồn mở như Struts, Webwork, Spring MVC, Tapestry.
- Kiến thức cơ bản về Web Services.
- Kiến thức tốt về Web/Application server như Tomcat, Glassfish, WebLogic, WebSphere, Jetty,…
Kỹ năng (nghiệp vụ, kỹ năng mềm,…)
Kỹ năng cơ bản
- Kỹ năng tìm kiếm thông tin.
- Kỹ năng giao tiếp.
- Kỹ năng thuyết trình.
- Kỹ năng làm việc độc lập và làm việc nhóm.
- Kỹ năng lập kế hoạch và tổ chức công việc.
- Kỹ năng xác định, phân tích vấn đề, giải quyết vấn đề.
- Kỹ năng tư duy logic.
- Kỹ năng sử dụng thành thạo các phần mềm tin học văn phòng.
- Kỹ năng tự học và ứng dụng vào công việc.
- Kỹ năng quản lý thời gian.
Kỹ năng nghiệp vụ
- Kỹ năng lập trình.
- Kỹ năng thiết kế và phát triển phần mềm ứng dụng.
- Kỹ năng sử dụng, đọc hiểu tiếng Anh chuyên ngành.
- Kỹ năng cập nhật kiến thức, xu hướng về công nghệ, ngành và lĩnh vực hoạt động.
- Kỹ năng kiểm thử, vận hành và bảo trì phần mềm.
- Kỹ năng quản lý hệ thống cơ sở dữ liệu.
- Kỹ năng xác định các yêu cầu tài nguyên dự án công nghệ thông tin.
- Kỹ năng phân tích dữ liệu.
- Kỹ năng lập hồ sơ, thuật toán.
- Kỹ năng tích hợp các giải pháp phần mềm riêng lẻ vào các hệ thống cấp cao hơn.
- Kỹ năng hướng dẫn người khác sử dụng thiết bị hoặc phần cứng máy tính.
- Kỹ năng lập trình hướng đối tượng (OOP): Kỹ năng Java cơ bản này được sử dụng để kết hợp các đối tượng nhằm tăng cường độ an toàn và tính ổn định cho code.
- Kỹ năng về mẫu hình thiết kế (design patterns) : Mẫu hình thiết kế là các bản thiết kế kỹ thuật của code để giúp giải quyết các bài toán trong một module phát triển phần mềm.
- Kỹ năng về các lớp trừu tượng: Trừu tượng được sử dụng trong OOP để đơn giản hóa công việc code. Các lập trình viên cũng sử dụng một giao diện Java cho code nâng cao.
- Kỹ năng tuần tự hoá: Là quá trình chuyển đổi các thành các dãy nhị phân để vận chuyển các đối tượng giữa các máy ảo Java.
- Kỹ năng sử dụng Java để lập trình stack (ngăn xếp) cho một lượng dữ liệu khổng lồ được lưu trữ trên các nền tảng đám mây.
- Kỹ năng sử dụng các framework nâng cao như React hay Vue cho lập trình Front End.
- Kỹ năng sử dụng các công cụ dựng của Java để tự động hoá các ứng dụng mã nguồn.
- Kỹ năng viết các ứng dụng phía máy chủ sử dụng công nghệ của các thành phần EE như Java Beans, Java Server Pages và Servlets.
- Kỹ năng sử dụng Machine learning/Trí tuệ nhân tạo để xử lý một lượng lớn dữ liệu.
- Kỹ năng sử dụng máy ảo để tải, thực thi và xác thực code hay để tạo ra một môi trường runtime.
- Kỹ năng sử dụng các container ứng dụng để chạy các thành phần của một chương trình phần mềm.
- Kỹ năng sử dụng các công nghệ web để kết nối từ hệ thống máy tính này sang các hệ thống máy tính khác bằng các ngôn ngữ markup như CSS, HTML hay JQuery.
Công cụ nghề nghiệp
Máy móc, thiết bị
- Máy tính.
- Điện thoại.
Công cụ phần mềm
- Các công cụ hỗ trợ viết Code: Notepad++, Eclipse, Vim, Dreamweaver,…
- Các công cụ quản lý mã nguồn: Git, SVN…
- Các công cụ quản lý dự án: Microsoft Team, Redmine,…
- Các phần mềm tin học văn phòng: Word, Excel, Powerpoint,…
- Các phần mềm truy cập và chia sẻ dữ liệu như: Dropbox, Google Drive, Microsoft SharePoint.
- Công cụ dựng của Java: Apache, Sonatype, Gradle, Bazel, Nexus, CMake,…
- Công cụ DevOps:Jenkins, Kubernetes, Docker, Chef, Maven,…
- Ngôn ngữ được dựa trên Java, để tạo ra các ứng dụng di động Android: Android/Kotlin.
- Công cụ xây dựng các ứng dụng Java: Spring framework.
Thông tin khác
Phạm vi việc làm
- Làm việc tại các công ty, doanh nghiệp, đơn vị, tổ chức phát triển nền tảng ứng dụng có sử dụng ngôn ngữ lập trình Java.
- Làm việc tại các nhóm nghiên cứu chuyên ngành.
- Làm việc tại các đơn vị sự nghiệp, doanh nghiệp có nhu cầu tuyển dụng.
Yêu cầu bằng cấp, chứng chỉ
- Tốt nghiệp một trong các chuyên ngành: Công nghệ thông tin, Kỹ thuật phần mềm, Khoa học máy tính hoặc ngành học khác liên quan.
- Chứng chỉ tốt nghiệp khoá đào tạo về lập trình.
- Chứng chỉ tin học công nghệ thông tin.
- Tiếng Anh đạt trình độ bậc 3 trong khung năng lực ngoại ngữ 6 bậc theo quy định của Bộ Giáo dục và Đào tạo, Chứng chỉ ngoại ngữ tương đương hoặc theo yêu cầu cụ thể của công việc.