Đối tượng học viên:
- Sinh viên sắp tốt nghiệp đại học ngành IT, các bạn đã tốt nghiệp đại học ngành IT nhưng chưa có việc làm, những bạn trái ngành đã học một khóa về lập trình IT nhưng đang tìm việc và không muốn xin việc ở vị trí Intern hoặc Fresher mà muốn xin việc ở vị trí JUNIOR luôn, tức là tương đương với người có từ 1 đến 2 năm kinh nghiệm (nếu học viên chưa có cơ hội thực tập ở đâu thì cũng không vấn đề gì); hoặc những bạn đã đi làm được 1 đến 2 năm rồi nhưng vẫn chưa tự tin ở kỹ năng của mình.
- Chúng tôi nhận thấy hiện nay các công ty IT tuyển dụng vị trí intern và fresher quá ít. Nếu các bạn sinh viên IT đã tốt nghiệp mà bị thất nghiệp khoảng 1 năm nữa thì sẽ gặp rất nhiều trở ngại như: Cả đời sẽ không có kinh nghiệm để xin việc với vị trí là Junior hoặc cao hơn.
Đến năm sau, khi lứa sinh viên IT tiếp theo tốt nghiệp, các doanh nghiệp IT nhiều khả năng sẽ ưu tiên tuyển các bạn sinh viên mới ra trường hơn là các bạn không có việc 1 năm qua. Lý do: sinh viên mới ra trường trẻ khỏe hơn, máu lửa hơn và còn nhớ kiến thức đã học tốt hơn. Vì vậy, việc mở khóa học này là cần thiết và cấp bách trong tình hình hiện nay.
Nội dung khóa đào tạo:
- Học viên có thể chọn bất kỳ ngôn ngữ nào để theo đuổi (Java, NodeJS, PHP, ReactJS...) nhưng phải là Full-Stack (tức là có học cả phần FE và BE).
- Khóa học này bao gồm khoảng 250 topic, được phân thành các nhóm sau:
+ Nhóm 1: Ôn lại kiến thức quan trọng của level Fresher.
+ Nhóm 2: Lập trình các chức năng đơn giản như CRUD, tìm kiếm, phân trang… với năng suất xuất phát ban đầu tương đương vói level Fresher, sau đó tăng dần cho đến khi năng suất đạt được mức tương đương Junior.
+ Nhóm 3: Phân tích độ phức tạp của thuật toán. Cải tiến năng suất của code. Tránh các lỗi hay gặp với lập trình viên. Biết cách code như đang kể chuyện.
+ Nhóm 4: Cách nghiên cứu yêu cầu và đặt Q&A trong dự án.
+ Nhóm 5: Vibe Coding (dùng AI để hỗ trợ coding).
+ Nhóm 6: Biết phân tích database cho 1 hệ thống phần mềm bất kỳ và tối ưu hóa SQL. Phân biệt được lúc nào dùng SQL DB và khi nào dùng NoSQL DB.
+ Nhóm 7: Biết unit test, fix bug, quản lý vòng đời của bug. Thành thục kỹ năng debug.
+ Nhóm 8: Biết tự review code của mình, review code cho người khác, sửa lỗi của người khác.
+ Nhóm 9: Làm được các chức năng phức tạp của hệ thống (như report, đa luồng, real-time, xử lý dữ liệu lớn…)
+ Nhóm 10: Cách làm việc với mọi người liên quan trong dự án.
+ Nhóm 11: Nắm vững mô hình Agile. Phân biệt rõ ràng với Waterfall.
+ Nhóm 12: Biết cách estimate thời gian làm việc, tự quản lý tiến độ và chất lượng công việc.
+ Nhóm 13: Nắm vững các Design Pattern thường gặp và giải thích được mọi DP trong dự án đang làm.
+ Nhóm 14: Các kỹ thuật và công nghệ nâng cao (Microservices, Apache Kafka, Redis, Elasticsearch, …).
+ Nhóm 15: Kỹ năng mềm khác (xử lý xung đột, giao tiếp, báo cáo, kiểm soát stress, quản lý công việc bằng SỐ LIỆU…).
+ Nhóm 16: Biết cách test performance cho hệ thống. Biết cách cải thiện performance cho hệ thống. Giải quyết các bài toán khó như: dữ liệu lớn, số lượng người dùng đồng thời lớn, hệ thống scale liên tục, real-time.
+ Nhóm 17: AWS, n8n, Langflow… (Devops cơ bản và Low-Code AI Automation).
Lưu ý:
- Tất cả các khóa học của chúng tôi đều có nhận học viên học theo hình thức online hoặc offline.
- Tất cả các khóa đều được dạy theo hình thức dạy kèm 1-1 (cho dù online hay offline).
- Tất cả các khóa đều được học thử 1 tuần, sau đó học viên có quyền quyết định học luôn hay không.
- Đăng ký khóa học thì thường sẽ được học ngay, không phải chờ sắp xếp lớp như học đại trà ở chỗ khác.
- Chỉ có 2 người dạy là kỹ sư Nguyễn Tấn Huy và kỹ sư Trương Thị Thanh Tâm, chúng tôi không có thuê người nào khác dạy giúp.
Các gói đào tạo:
Học trong khoảng 5 đến 12 tháng (tùy thuộc vào năng lực và độ siêng năng của từng học viên); Tuần học 4 ngày, mỗi ngày 1 buổi, mỗi buổi 2 tiếng; 1.200.000 đ / tháng.
- Học phí sẽ được thu từng tháng chứ không thu trọn khóa (Để học viên dễ xoay sở về tài chính). Nếu học viên muốn đóng học phí trọn gói, học viên sẽ được giảng viên sẽ thỏa thuận thêm về mức giảm học phí khi nhập học.
- Được giảm 200.000 đ học phí mỗi tháng (áp dụng cho toàn khóa) nếu học viên đang là sinh viên (bất kỳ ngành nào).
Vì sao khóa học diễn ra chỉ có vài tháng mà dám khẳng định là sau khóa học này học viên sẽ đạt được Level Junior?
Nếu bạn nào từng đi thực tập hoặc làm việc ở 1 công ty nào đó rồi thì các bạn sẽ hiểu được những vấn đề sau:
Thứ nhất, trong 1 ngày, tức là 8 giờ làm việc, thì không phải lúc nào các bạn cũng được ngồi code. Những việc như họp hành, viết tài liệu, đọc email, confirm nghiệp vụ với những người liên quan, và có khá nhiều những việc không tên khác sẽ làm mất rất nhiều thời gian của nhân viên. Như vậy, trong 8 giờ mỗi ngày, có khi bạn chỉ thật sự được làm việc liên quan đến coding được 4, 5 tiếng một ngày là cùng.
Thứ hai, trong 4, 5 tiếng được ngồi code đấy, có rất nhiều task tương tự nhau mà bạn phải làm đi làm lại từ ngày này qua ngày khác. Ví dụ như có một số bạn mang tiếng là có 4, 5 năm kinh nghiệm nhưng suốt ngày chỉ làm các task CRUD. Như vậy, kỹ năng lập trình của các bạn đó chỉ tầm Junior là cùng, thậm chí là tương đương với Fresher. Không phải ai đi làm cũng được may mắn vào trúng dự án có nhiều task đủ thách thức cho mình làm để nâng cao kỹ năng thường xuyên.
Thứ ba, khi các bạn đi làm, có những việc bạn làm chậm, năng suất thấp là do không có người kèm cặp cho bạn. Tức là vào dự án ai cũng bận hết, nên đâu có ai rảnh để hướng dẫn từng ly, từng tí cho bạn đâu. Chủ yếu là bạn phải tự bơi. Cho nên có nhiều cái bản thân bạn cũng không biết là mình đang làm chưa đúng. Vậy là để lọt lỗi nhiều, rồi năng suất thấp.
Thứ tư, đó là DEADLINE. Deadline là một trong những thứ làm mất đi thanh xuân tươi đẹp của bạn. Khi bạn phải chạy đua theo deadline, bạn sẽ bị cuốn vào vòng xoáy làm nhanh cho kịp giao hàng. Bạn không có cơ hội tối ưu hóa code của mình, không có cơ hội ngồi nghiền ngẫm cái gì hay cái gì dở để rút kinh nghiệm cho bản thân. Về lâu dài, bạn sẽ làm SAI mà bạn không nhận ra được mình đang làm SAI. Đầu óc bạn cứ bị deadline làm cho mất sáng suốt. Chưa kể là sếp bạn ép năng suất của bạn, bắt bạn làm việc ngoài giờ liên tục, đi làm về là chỉ muốn lăn ra ngủ.
Vậy thì khóa học này sẽ giải quyết 4 vấn đề ở trên như thế nào?
Thứ nhất, trong khóa học này, các bạn sẽ không bị làm đi làm lại các task dễ. Khi bạn hoàn thành được các task dễ với năng suất đúng như trainer mong đợi, bạn sẽ lập tức được giao hoàn thành task có mức độ khó hơn.
Thứ hai, bạn sẽ không phải làm những việc vô nghĩa như mình đã kể ở trên. Từng giây từng phút bạn làm sẽ có ích cho bản thân bạn.
Thứ ba, trainer là người định hướng, review sản phẩm, giải đáp thắc mắc cho bạn. Cho nên bạn sẽ rất nhanh tiến bộ và đảm bảo sẽ được đi đúng hướng.
Thứ tư, khóa học này cũng không phải là không có deadline cho các task. Nhưng deadline do trainer đưa ra sẽ phù hợp với năng lực của bạn hiện tại. Bạn không bị ép task, không phải làm việc vượt quá khả năng của mình. Nếu bạn trễ deadline thì vẫn có thể lùi deadline được. Sẽ tập trung vào chất lượng nhiều hơn là tiến độ công việc.
Như vậy, khi bạn học khóa này, bạn có thể tiết kiệm được 70% đến 80% thời gian so với làm việc thực tế. Tức là bạn học 5 tháng thì tương đương với đi làm hơn 1 năm là chuyện rất khả thi.
Các topic cụ thể của khóa học này là gì?
Liệt kê khoảng 250 topic ở đây luôn thì hơi dài, chúng tôi cũng đang tiếp tục cập nhật giáo trình nữa. Nên chúng tôi xin liệt kê một số topic chính trong khóa học như dưới đây:
Ôn lại mấy kiến thức cơ bản của Fresher (Java Core, OOP)
Code nhanh các chức năng CRUD cơ bản
Tích hợp BE với FE
Phân tích độ phức tạp của thuật toán là gì? Học cách cải tiến thuật toán.
Vibe Coding (dùng AI hỗ trợ coding). Biết cách dùng AI để hỗ trợ coding cho cả FE và BE.
Phải biết xóa ảo (xóa mềm) trong database.
Khi gặp lỗi không connect được tới DB thì tiến hành các bước xử lý như thế nào?
Biết unit test
Phân biệt được các giai đoạn của testing.
Môi trường local, môi trường Staging và môi trường Production là gì?
Phân biệt peer review, self review, super review, cross review
Review code + Sửa lỗi cho người khác một cách nhanh nhất.
Làm được các chức năng report phức tạp, kết nối nhiều bảng.
Transaction, Lazy/Eager loading trong DB.
Khi Coding chúng ta gặp một issue về kỹ thuật khó, mất trên vài giờ mà không xử lý được thì bạn làm như thế nào? Vì sao bạn làm như thế?
Những vấn đề nào không được phép gửi Q&A cho khách hàng mà chỉ được phép hỏi PM, TL hoặc đồng nghiệp?
Khi phát hiện thấy các tài liệu DB, tài liệu design và user story không giống nhau thì bạn xử lý như thế nào?
Hãy phân biệt lỗi Coding Logic/ Coding convention và Wrong Bussiness Logic khi log lỗi vào Jira.
Quy trình pull request trên GIT
Ba tiêu chí quan trọng nhất để đánh giá dự án có thành công hay không là gì?
Những kiểu fresher nào thường gặp khó khăn khi làm dự án?
Khi coding và test 1 chức năng thì điều gì nên làm để tiến độ nhanh và chất lượng tốt?
Nắm vững quy trình Agile.
Phân biệt được sự khác nhau giữa mô hình Agile và Waterfall.
Containerization (Docker, Kubernetes cơ bản).
Nắm được các Design Pattern cơ bản.
Nắm được SOLID.
UML và các công cụ mô hình hóa.
Biết cách làm tài liệu Detailed Design.
Nắm được Design Pattern của các Framework.
Biết những nguyên tắc cơ bản về bảo mật thông tin, biết xử lý vấn đề khi gặp các sự cố về bảo mật thông tin.
Biết sử dụng logging khi code
Biết cách estimate phần việc của mình làm trong bao lâu. Dùng phương pháp gì để estimate. Biết cách làm work break down.
Biết cách đọc dữ file có dữ liệu lớn.
Biết tối ưu câu truy vấn SQL.
Biết xử lý đa luồng. Thread pool là gì. Hàm đồng bộ là gì.
Biết cách viết batch chạy ban đêm.
Viết code clean, Refactoring, Code smell.
Cách giao tiếp với QA/PM/Client trong dự án.
Khi có change requirement xảy ra thì đội dự án phải tiếp nhận và xử lý các bước tiếp theo như thế nào?
Cách estimate theo Story Point.
Trong quá trình làm dự án, bạn đã gặp khó khăn gì khi làm việc nhóm hay không?
Monolith vs Microservices.
API Gateway vs Service Registry.
Biết xử lý các bài toán phức tạp của Microservice (Transaction, chứng thực và phân quyền)
Biết xử lý Kafka, kết hợp với queue và microservice.
Redis: Caching (Annotation, TTL, Eviction). Pub/Sub, Session storage.
Biết khi nào dùng SQL DB và No-SQL DB.
Elasticsearch: Index, Document, Mapping. Full-text search, Suggestion, Filter.
Mock Interview.
Biết cách test performance cho hệ thống.
n8n, AI cơ bản, langchain, langflow, AI Automation.
Sếp cho học công nghệ mới trong vòng 3 ngày thì sẽ học như thế nào?
Kỹ năng thuyết trình trước khách hàng, đối tác.
Trên đây chỉ là hơn 50 topic chúng tôi liệt kê cho các bạn tham khảo. Còn gần 200 topic khác nữa chúng tôi sẽ chia sẻ cụ thể cho các bạn khi tham gia khóa học. Nếu chia sẻ hết tất cả các topic chúng tôi sợ các bạn sẽ bị choáng ngợp mà không dám tham gia khóa học mất. Lưu ý là những topic chúng tôi dạy sẽ giúp các bạn có nền tảng để phát triển đến Level Senior luôn đấy. Vì nội dung khóa học này cũng có nhiều topic thuộc Level Senior chứ không đơn giản đâu nha.