Với sự phát triển chóng mặt của Microservices, Cloud Computing, DevOps và AI/ML, nhu cầu về các chuyên gia Java Backend chưa bao giờ lớn đến thế. Các công ty công nghệ, các ngân hàng, các tổ chức tài chính…, từ các gã khổng Iồ công nghệ như Google, Amazon, Facebook, Microsoft, Netflix hay các ông Iớn phần mềm tên tuổi Việt Nam: FPT Software, Viettel, CMC, VNPT đều cần đến các chuyên gia Java Backend để xây dựng và phát triển các ứng dụng và hệ thống của mình.
Mặc dù nhu cầu cao nhưng nguồn cung các lập trình viên Java Backend chất lượng lại không đủ đáp ứng. Nhu cầu về các chuyên gia Java Backend luôn cao hơn so với nguồn cung, dẫn đến tình trạng “khan hiếm nhân tài” và đẩy mức lương lên cao.Theo khảo sát từ các trang tuyển dụng top 1 như TopCV, TechWorks.vn, Indeed thì mức lương trung bình của một Java Backend chuyên sâu tại Việt Nam hiện nay dao động từ 25 triệu đến 40 triệu đồng/tháng.
Việc trở thành một Java Backend chuyên sâu không chỉ mang lại cho bạn một công việc ổn định và mức lương hấp dẫn mà còn mở ra cho bạn những cơ hội phát triển sự nghiệp, thăng tiến lên các vị trí quản lý dự án, kiến trúc sư phần mềm, hoặc chuyên gia kỹ thuật.
Am hiểu sâu sắc và cập nhật Iinh hoạt về Java Backend chuyên sâu mang Iại giá trị cao hơn
Hiện nay, ngoài việc bạn đã nắm vững nhiều kiến thức và kỹ năng khác nhau, từ lập trình cơ bản đến kiến trúc hệ thống, cơ sở dữ liệu, và các công nghệ mới thì việc làm chủ DevOps và SysOps, được tiếp cận các công nghệ hiện đại như: Microservice, Spring, Operation… là một lợi thế cạnh tranh lớn đối với các Java Backend Developer.
Nó không chỉ giúp bạn tăng năng suất làm việc mà còn mở ra nhiều cơ hội nghề nghiệp hấp dẫn. Bằng cách kết hợp các kiến thức và kỹ năng này, bạn có thể đóng góp vào việc xây dựng các hệ thống phần mềm hiện đại, ổn định và hiệu quả.
Thị trường ngày càng đòi hỏi các sản phẩm phần mềm được phát triển nhanh chóng và liên tục. DevOps và SysOps giúp các doanh nghiệp đáp ứng được yêu cầu này. Các công ty áp dụng DevOps và SysOps thường có lợi thế cạnh tranh lớn hơn so với các đối thủ.
Một chuyên gia Java Backend sẽ biết cách Iàm chủ và kết hợp DevOps và SysOps với Java Backend, sử dụng các công cụ như Maven, Gradle, Jenkins, Docker để tự động hóa việc xây dựng, kiểm thử và triển khai ứng dụng Java, sử dụng các công cụ như Ansible, Puppet để quản lý cấu hình của hệ thống và các ứng dụng, sử dụng các công cụ như Prometheus, Grafana để giám sát hiệu năng của hệ thống và tìm kiếm lỗi.
Java Backend Developer thực thụ vận hành Iinh hoạt Microservices để phân chia ứng dụng thành các dịch vụ nhỏ giúp dễ dàng quản lý, mở rộng và triển khai; phát triển các ứng dụng microservices, cloud-native thông qua Framework Spring và sử dụng các dịch vụ đám mây như AWS, Azure, GCP của Cloud Computing để triển khai và quản lý ứng dụng
Bạn muốn trở thành một Java Backend Developer toàn diện?
Khóa học Java Backend chuyên sâu của TacaSoft sẽ trang bị cho bạn không chỉ kiến thức nền tảng vững chắc về Java mà còn giúp bạn làm chủ DevOps và SysOps. Bạn sẽ được tiếp cận với những công nghệ hiện đại nhất như Microservices, Spring, và các hoạt động vận hành hệ thống.
Tại sao nên chọn khóa học Java Backend chuyên sâu của chúng tôi?
- Toàn diện: Từ kiến thức cơ bản đến nâng cao, từ lập trình đến vận hành hệ thống.
- Thực hành: Áp dụng kiến thức vào các dự án thực tế, giải quyết vấn đề thực tế.
- Cập nhật: Luôn cập nhật những công nghệ mới nhất, xu hướng phát triển của ngành.
- Linh hoạt: Phù hợp với nhiều đối tượng, từ sinh viên đến chuyên gia.
Đối tượng tham gia cho khóa học Java Backend chuyên sâu:
- Sinh viên CNTT: Muốn xây dựng nền tảng vững chắc cho sự nghiệp.
- Lập trình viên Junior/Senior: Nâng cao kỹ năng, mở rộng cơ hội nghề nghiệp.
- Leader/Senior: Cập nhật kiến thức, hỗ trợ team và quản lý dự án hiệu quả.
Giá trị nhận được sau khóa học Java Backend chuyên sâu
- Trang bị và làm chủ kiến thức cơ bản về lập trình: Database (MySQL), JavaCore
- Nắm bắt chuyên sâu về Spring Framework và phát triển dịch vụ theo hướng Microservices
- Có kiến thức nền tảng về Docker, Container, triển khai được các services theo quy trình CI/CD trên môi trường AWS
- Làm chủ được kiến thức về Linux OS và các kiến thức về System Admin (Networking, Storage, Security, Monitoring….)
Nội dung chương trình khóa học:
Học phần 1: DataBase MySQL
Day 1 – Leson1
- Khai giảng & giới thiệu về khóa học
- Cài đặt & Giới thiệu tài liệu khoá học (Drive File Stream)
- Giới thiệu về Web architecture
Day 2 – Lesson 2
- Review Assignment & Lý thuyết Lesson 1
- Datatype (Number, Character, Date & Time, Enum)
- Constraint (Primary Key, Foreign Key, Unique Key , Default, Not null, Check)
Day 3 – Lesson 3
- Review Assignment & Lý thuyết Lesson 2
- Select, Where ( = , >, <, >=, <=, !=, <>, And, Or, Between and, In, Not In, Like, Not Like, Is Null, Is Not Null)
- Distinct, Order by, Limit, alias
- Aggregate functions (Count, Sum, Min, Max, Avg), Group By, Having
- Insert, update, delete statement
Day 4 – Lesson 4
- Review Assignment & Lý thuyết Lesson 3
- Join (Inner Join, Left Join, Right Joi, Cross Join)
Day 5 – Lesson 5
- Review Assignment & Lý thuyết Lesson 4
Day 6 – Lesson 6
- Review Assignment & Lý thuyết Lesson 5
- Optional Join (On Delete Cascade, …)
Day 7 – Lesson 7
- Review Assignment & Lý thuyết Lesson 6
- Trigger, Index, Case When
Day 8 – Review
Review Assignment & Lý thuyết SQL trong học phần
Học phần 2: JavaCore
Day 1 – Lesson 1
- Datatype (String, Int, Date, Boolean, …)
Day 2 – Lesson 2
- Review Assignment & Lý thuyết Lesson 1
- Flow control statements (If-else, ternary, switch-case, for, foreach, while, do while, break, continue)
- Operator (i++, Arithmetic, Relational, Logic)
- Date, String, Number Format
Day 3 – Lesson 3
- Review Assignment & Lý thuyết Lesson 1 & 2
- Primitive & Wrapper Classes
- Các phương thức trong class Object
Day 4 – Lesson 4
- Review Assignment & Lý thuyết Lesson 3
Day 5 – Lesson 5
- Review Assignment & Lý thuyết Lesson 4
Day 6 – Review
Review Assignment & Lý thuyết Lesson 1,2,3,4,5
Day 7 – Lesson 6
- Review Assignment & Lý thuyết Lesson 5
Day 8 – Lesson 7
- Review Assignment & Lý thuyết Lesson 6
- Các thành phần static và luồng điều khiển
- Các thành phần Non-static và luồng điều khiển
Day 9 – Lesson 8
- Review Assignment & Lý thuyết Lesson 7
Day 10 – Lesson 9
- Review Assignment & Lý thuyết Lesson 8
- Java Structure (JVM, memory, …)
- Interpretion & Compilation
Day 11 – Lesson 10
- Review Assignment & Lý thuyết Lesson 9
Day 12 – Lesson 11
- Review Assignment & Lý thuyết Lesson 10
Day 13 – Review
Review Assignment & Lý thuyết Lesson 6,7,8,9,10,11
Day 14 – Exam
Học phần 3: Spring FW
Day 1 – Lesson 1 – Spring Boot
- (Spring Boot) Setup Spring tool suite & Postman
- A few concepts (Web & Web service, JSON & XML, API & Restful API, HTTP)
Day 2 – Lesson 2 – Spring Core
- (Spring Core) Review Assignment & Lý thuyết Lesson 1
Day 3 – Lesson 3 – Spring Data JPA & Other Tools
- (Spring Data JPA & Other Tools) Review Assignment & Lý thuyết Lesson 2
- Hello World Spring Data JPA
Day 4 – Review
- Review Assignment & Lý thuyết Lesson 1,2,3
Day 5 – Lesson 4 – Specification, ModelMapper
Day 6 – Lesson 5 – Validate, Internationalization & Other tools
- Review Assignment & Lý thuyết Lesson 4
Day 7 – Lesson 6 – Exception, Log4J, Basic authentication
- Review Assignment & Lý thuyết Lesson 5
Day 8 – Review
Review Assignment & Lý thuyết Lesson 4,5,6
Học phần 4: Basic Linux OS (Kiến thức căn bản về hệ điều hành Linux OS)
Day 1 – Hệ điều hành Linux OS
- Kiến thức về hệ điều hành linux và kernel
- Thực hành cài đặt hệ điều hành Linux và các lựa chọn trong quá trình cài đặt (CentOS)
- Thực hành cài đặt hệ điều hành Linux và các lựa chọn trong quá trình cài đặt (Ubuntu)
- Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)
Day 2 – Command line Linux OS basic (Các khối lệnh trong Linux – Day 1)
- Kiến thức cơ bản về các khối lệnh trong linux dùng để quản lý thư mục (Directory); quản lý tệp (File)
- Thực hành gõ các khối lệnh dùng để quản lý thư mục (Directory); quản lý tệp (File); quản lý phân quyền file and folder; quản lý nội dung tệp tin (file contents); quản lý tệp văn bản vi/vim; quản lý bộ lọc (filter); quản lý nén và giải nén ( zip/unzip);trang hướng dẫn sử dụng (man pages); tổ chức tệp tin trên linux (Filesystem hierarchy); lọc thông tin trên linux (filters)
- Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)
Day 3 – Command line Linux OS basic (Các khối lệnh trong Linux – Day 2)
- Kiến thức cơ bản về các khối lệnh trong linux dùng để quản lý user và group; quản lý ổ cứng ( disk manager); quản lý tiến trình (process) ; Quản lý network; Quản lý phần cứng ( hardware manager); quản lý lập lịch (scheduling)
- Thực hành gõ các Khối lệnh cơ bản về Users ; quản lý Users (Users Management) ; quản lý Password (Password Management) ; quản lý Groups ; quản lý tiến trình (Process); quản lý Disk ; quản lý Hardware; quản lý Hardware (RAM) ; quản lý Network ; quản lý lập lịch Cron(Scheduler)
- Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)
Day 4 – Cài đặt/Gỡ cài đặt gói
- Kiến thức cơ bản về trình quản lý cài đặt gói (yum/apt-get) và build gói từ source code
- Thực hành cài đặt/gỡ cài đặt gói thông qua yum/apt-get
- Thực hành cài đặt từ source code
- Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)
Học phần 5: MicroService
Day 1 – Lesson 1 – Tổng quan về kiến trúc hệ thống micorservice
- Giới thiệu về RESTful web services
- Microservice là gì? Các thuật ngữ hay dùng trong microservices: Decomposing & Single-Function, …
- Microservice với springboot, spring cloud
- Giới thiệu về Docker, cài docker destop trên windows, mac-os
Day 2 – Lesson 2 – Thực hành với Docker
- Review Lý thuyết Lesson 1
- Các câu lệnh cơ bản với Docker
- Docker compose; docker images; docker container; docker volume
- Viết docker file, tạo docker image với docker command
- Viết docker compose.yml file, tạo docker container
- Kiểm tra images, container; xoá: images, container, volume
Day 3 – Lesson 3 – Deployment với Docker
- Review Lý thuyết Lesson 2
- Các câu lệnh với docker container
- Docker hub là gì, tạo docker image và push lên docker hub
- Tạo instance VPS Ubuntu(Linux) để deploy spring boot app
- Một số câu lệnh cơ bản và cần thiết trên Linux
- Pull image tử docker hub, build container với docker compose
- Cấu hình in-bound, out-boud cho VPS, test API bằng postman ứng dụng spring boot chạy bằng docker
Day 4 – Lesson 4 – Build các microservices trong hệ thống
- Review Assignment & Lý thuyết Lesson 1,2,3
- Kiến trúc hệ thống micro services
Day 5 – Lesson 4 – Build các microservices trong hệ thống
- Review Assignment & Lý thuyết Lesson 4
- Cơ chế xác thực người dùng bằng JWT
- Access token và refresh token
Day 6 – Lesson 4 – Xây dựng các thành phần của hệ thống microservices
- Review Assignment & Lý thuyết Lesson 5
- Giới thiệu Eureka discovery services
- Xây dựng server để đăng ký các service con trong hệ thống(Eureka)
- Enable discovery client auth service
- Enable discovery client account service
- Enable discovery client department service
Day 7 – Lesson 4 – Xây dựng các thành phần của hệ thống microservices
- Review Assignment & Lý thuyết Lesson 6
- Giới thiệu về RestTemplate và FeignClient
- Xây dựng API gateway với Spring Cloud
- Cấu hình tập trung với service config
- Event Sourcing trong microservice
Day 8 – Lesson 4 – Xây dựng các thành phần của hệ thống microservices
- Review Assignment & Lý thuyết Lesson 7
- Xây dựng thêm tính năng cho account service
- Xây dựng thêm tính năng cho deparment service
- Dynamic routing and loadbalancer với Netflix Ribbon
- Monitoring với Netflix Hystrix dashboard & Turrbine
Day 9 – Lesson 4 – Xây dựng các thành phần của hệ thống microservices
- Review Assignment & Lý thuyết Lesson 7
- Xây dựng khả năng chịu lỗi và phản hồi lỗi dùng circuit Breaker Pattern với Netfix Hystrix
- Kết hợp Spring Clound và Spring Security OAuth2 bảo mật API
Day 10 – Lesson 4 – Xây dựng unit test
- Review Assignment & Lý thuyết Lesson 9
- Cài đặt Jacoco Code Coverage Plugin
- Viết testcase đầu tiên cho account service
- Hoàn thành test class Account Controller
- Hoàn test business rule Account service
- Viết Intergration test cho Account Service
Day 11 – Lesson 4 – Quản lý chất lượng và an toàn code
- Review Assignment & Lý thuyết Lesson 10
- Tìm hiểu Sonarqube và cài đặt
- Khắc phục lỗ hổng code với Sonarqube
- Khắc phục lỗi duplicate code
Day 12 – Lesson 4 – Xây dựng Centralised Log Analyses
- Review Assignment & Lý thuyết Lesson 11
- Phân tích ưu và nhược điểm của Elasticsearch. Cài đặt Elasticsearch trên windows và Linux
- Quản lý Elasticsearch trên UI với Kibana. Thực hành các câu truy vấn co bản với Elasticsearch
Day 13 – Xây dựng Centralised Log Analyses
- Review Assignment & Lý thuyết Lesson 12
- Đẩy dữ liệu vào elasticsearch bằng logstash
- Xử lý filter tối ưu tìm kiếm trong elasticsearch bằng java spring boot
Day 14 – Lesson 4 – Xây dựng các thành phần của hệ thống microservices
- Review toàn bộ kiến thức trong package 4
- Kiểm tra lại tổng thể các thành phần trong hệ thống
- Run tất cả các services con, test hoạt động và performance cho toàn bộ hệ thống
- Tổng kết kiến thức và khuyến khích học viên đặt các câu hỏi mở rộng về kiến trúc hệ thống
Day 15 – Lesson 4 – Thi hết học phần
- Thi trắc nghiệm đánh giá năng lực học viên
Học phần 6: DevOps
Day 1 – Lesson 5 – Tổng quan về DevOps
- DevOps cần phải học những gì?
- Các câu lệnh cần thiết trong terminal macos; linux, CMD hay powercell trong window
- Tìm hiểu các khái niệm: DNS, HTTP, HTTPS, FTP, SSL
- Cài đặt các web server phổ biến: Apache, Nginx
Day 2 – Lesson 5 – Các khái nhiệm và chức năng thường được sử dụng
- Review Lý thuyết Lesson 1
- Memory storage and File systems.
Day 3 – Lesson 5 – Các khái nhiệm và chức năng thường được sử dụng
- Review Lý thuyết Lesson 2
- Caching Server, Load balancer
- Quản lý version code với: Github, Gitlab, Bitbucket
- Monitor server với: Nagios, Zabbix, Icing, Datadog
- Dùng các Docker container build nhiều server dưới local sử dụng loadbalancer để cân bằng tải server
Day 4 – Lesson 5 – Triển khai CI/CD cho hệ thống microservice
- Review Assignment & Lý thuyết Lesson 1,2,3
- Triển khai CI/CD với Gitlab CI
- Tổng kết nội dung học phần DevOps
Học phần 7: Intermediate System Admin (Quản Trị Hệ Thống)
Day 5 – Phần mềm hệ thống
- Kiến thức Database và WebService; Queue and Caching
- Hướng dẫn cài đặt và cấu hình Database và WebService; Queue and Caching
- Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)
Day 6 – Networking
- Kiến thức về giao thức mạng TCP/UDP , IP, ICMP, BGP, OSPF; Kiến thức về LAN, VLAN, IP, Subnet, Gateway, Routing, MAC Address, NIC
- Kiến thức về thiết bị phần cứng mạng ( Hub, Switch, Router)
- Hướng dẫn cài đặt và cấu hình network, sử dụng các công cụ troubleshooting network (ping, telnet, traceroute, mtr, nmap, nc, tcpdump …)
- Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)
Day 7 – Storage
- Kiến thức về DAS và NAS Storage
- Hướng dẫn cài đặt và cấu hình hệ thống NAS storage ( NFS or CIFS storage)
- Kiến thức về SAN và Object Storage
- Hướng dẫn cài đặt và cấu hình hệ thống Object Storage (Ceph/Minio storage)
- Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)
Day 8 – Security
- Kiến thức chung về bảo mật; thuật toán mã hóa và hàm băm ( symmetric, asymmetric encryption and hash function); Kiến thức về mã hóa đường truyền TLS/SSL; Kiến thức mã hóa data; Kiến thức về Firewall (tcp/ip blocking) và Web Application Firewall (http blocking)
- Hướng dẫn cài đặt và cấu hình Firewalld /Iptable trên linux
- Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)
Day 9 – Monitoring, Logging and Alerting
- Kiến thức về Monitoring, Loging and Alerting
- Hướng dẫn cài đặt và cấu hình hệ thống Monitoring (sử dụng Zabbix) Hướng dẫn cài đặt và cấu hình hệ thống Logging (sử dụng Rsyslog/ELK )
- Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)
Day 10 – System Architecture
- Kiến thức về Web Application Architecture và Deployment Architecture
- Thực hành đánh giá điểm mạnh/yếu trên các bản vẽ kiến trúc deployment có sẵn (đánh giá bản vẽ Monolithic, Microservices and Serverless Architecture)
- Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)
Học phần 8
Thi hết học phần & Tổng kết Q&A
- Thi trắc nghiệm đánh giá năng lực học viên
- Tổng kết kiến thức và khuyến khích học viên đặt các câu hỏi mở rộng về quản trị hệ thống