-
Design Pattern
- Singleton Design Pattern
- Factory Design Pattern
- Factory Method Design Pattern
- Abstract Factory Design Pattern
- Builder Design Pattern
- Prototype Design Pattern
- Object Pool Design Pattern
- Chain of Responsibility Design Pattern
- Command Design Pattern
- Interpreter Design Pattern
- Iterator Design Pattern
- Mediator Design Pattern
- Memento Design Pattern
- Observer Design Pattern
- Observer Design Pattern - Xử Lý Exception
- Strategy Design Pattern
- Template Method Design Pattern
- Visitor Design Pattern
- Null Object Design Pattern
- Adapter Design Pattern
- Bridge Design Pattern
- Composite Design Pattern
- Decorator Design Pattern
- Flyweight Design Pattern
- Proxy Design Pattern
- S.O.L.I.D
- Clean code
- Lập trình socket
- Java Core
- Multi-Thread
- Spring
- Java Web
- Memory Caching
- Message Queue
- DevOps
- Xây dựng một nền tảng
- MongoDB
- MySQL timestamp
- Properties vs yaml
- Kotlin
- Lập Trình Machine Learning với PyTorch
- Mã Nguồn Mở
- Ezy HTTP
- Free Chat
- Một số kinh nghiệm với Git
- Review cho đồng nghiệp!
- Kinh nghiệm phát triển dự án phức tạp, nhiều người - Tuân thủ
- Kinh nghiệm phát triển dự án phức tạp, nhiều người - Lựa chọn người đi cùng
- Ngành công nghiệp phần mềm tại Việt Nam - Mới chỉ là bắt đầu.
- Ngành công nghiệp phần mềm tại Việt Nam - Dây chuyền sản xuất.
- Ngành công nghiệp phần mềm tại Việt Nam - Thị trường
- Ngành công nghiệp phần mềm tại Việt Nam - Công ăn việc làm
- Setup Dev Environment
- Hello World
- Create a Server Project
- Handle Client Requests
- Using ezyfox-server-csharp-client
- Using ezyfox-es6-client
- Client React.js Interaction
- Build And Deploy In Local
- Tham gia phát triển open source!
- Buôn có bạn, bán có phường
- Đam mê đi đâu rồi?
- Giữa lửa đam mê!
- Tương lai nào cho tester? Thay đổi để dẫn đầu xu thế!
- Tương lai nào cho tester? - Khi thế sự đổi thay!
- Tương lai nào cho lập trình viên? Khi không có hệ quy chiếu!
- Tương lai nào cho lập trình viên - Làm đến bao nhiêu tuổi?
- Tương lai nào cho lập trình viên? Có làm giàu được không?
- Tương lai nào cho lập trình viên? Có cân bằng cuộc sống được không?
- Tương lai nào cho lập trình viên - Nhảy việc đến khi nào?
- Tương lai nào cho lập trình viên - Con đường sự nghiệp (Career path)!
- Tương lai nào cho lập trình viên - Tổng kết lại!
- Con đường sự nghiệp cho lập trình viên - Giai đoạn sơ cấp (Junior)!
- Con đường sự nghiệp cho lập trình viên - Giai đoạn trung cấp (Intermediate)!
- Con đường sự nghiệp cho lập trình viên - Giai đoạn lành nghề (Senior)!
- Giai đoạn lành nghề (Senior) - Giữa những hoang mang!
- Giai đoạn lành nghề (Senior) - Phân hoá trong doanh nghiệp!
- Con đường sự nghiệp cho lập trình viên - Trở thành chuyên gia (Expert)!
- Con đường sự nghiệp cho lập trình viên - Trở thành người ảnh hưởng (Influencer)!
- Các giai đoạn phát triển của lập trình viên - Tổng kết lại!
- Metaverse - Câu chuyện 10 nghìn CCU (Người tham gia đồng thời)
- Metaverse có khả thi ở Việt Nam?
- Lựa chọn nghề nghiệp - DevOps!
- Lựa chọn nghề nghiệp - Project Manager (PM)!
- Lựa chọn nghề nghiệp - Data Engineer!
- Lựa chọn nghề nghiệp - BackEnd Engineer!
- “Talk is cheap. Show me the code” ― Linus Torvalds
- Lựa chọn nghề nghiệp - Web Front-End Engineer!
- Lựa chọn nghề nghiệp - Mobile Engineer!
- Lựa chọn nghề nghiệp - Game Engineer!
- Lựa chọn nghề nghiệp - Product Owner!
- Tuổi trẻ cần đột phá!
- Tuổi trẻ cần sự đồng cảm!
- Tuổi trẻ - điều đáng sợ đầu tiên là gì?
- Tuổi trẻ - Điều đáng sợ thứ 2 là gì?
- Tuổi trẻ - Điều đáng sợ thứ 3 là gì?
- Tuổi trẻ - Điều đáng sợ thứ 4 là gì?
- Nếu tận dụng hết năng lực thì sẽ thế nào?
- Tuổi trẻ - Điều đáng sợ thứ 5 là gì?
- Tuổi trẻ - Điều đáng sợ thứ 6 là gì?
- Tuổi trẻ - Điều đáng sợ thứ 7 là gì?
- Tuổi trẻ - ham học hỏi là như thế nào?
- Đầu tư cho bản thân là gì?
- Học chủ động!
- Có nên quay lại công ty cũ?
- Làm cho startup (công ty nhỏ) hay làm cho công ty lớn? (Phần 1)
- Làm cho startup (công ty nhỏ) hay làm cho công ty lớn? (Phần 2)
- Làm cho startup (công ty nhỏ) hay làm cho công ty lớn? (Phần 3)
- Tự học
- Học tập tại doanh nghiệp
- Học tại trung tâm
- Cách đọc sách kỹ thuật hiệu quả
- Học trong một tổ chức mã nguồn mở.
- Câu chuyện lập trình viên - Công việc đầu tiên
- Câu chuyện lập trình viên - Mức lương đầu tiên
- Câu chuyện lập trình viên - 2018
- Định hướng là gì?
- Wordpress nguy hiểm thế nào?
- Danh sách 10 trung tâm đào tạo trình uy tín, chất lượng ở Hà Nội
Để giảm thiểu chi phí phát triển và nhanh chóng tạo ra các sản phẩm để chiếm lĩnh thị trường, thì ngày nay sự ra đời của các nền tảng (cloud) hay các ứng dụng tổng hợp như wordpress, magento là điều tất yếu. Có những thứ giờ đây người ta còn chẳng phải code. Chỉ cần bỏ ra vài chục $ là đã có ngay 1 cái website hay 1 trang thương mại điện tử.
Thế nhưng cho dù người ta không cần code đi chăng nữa thì người ta vẫn cần DevOps. Qua nói chuyện với nhiều anh em quản lý ở Việt Nam thì mới thấy nhu cầu DevOps cao và thiếu DevOps đến mức nào. Và ở các nước khác cũng thiếu DevOps không kém, ở LINE NEXT mình cũng có cả bạn nữ làm DevOps nữa, một công việc vất vả nhưng cũng rất hấp dẫn và thú vị.
Cái hay của DevOps là mỗi thứ cần phải biết 1 ít, cả về code cũng nên biết, nghiệp vụ dự án cũng nên biết, SA cũng nên biết, infra thì cần phải biết, DB cũng nên biết, nói chung là cái gì cũng biết thì sẽ thuận lợi hơn trong quá trình maintain dự án. Cái thú vị của DevOps là cảm giác như anh em được chơi đùa với công nghệ - máy móc hạ tầng, còn cái khó khăn của DevOps là phải học quá nhiều thứ, công việc áp lực và có thể phải làm vào ca đêm.
Trong quá khứ, có những hiểu nhầm nhất định, hay thậm chí là định kiến về nghề DevOps là nó cũng chỉ là mấy ông ngồi vận hành, nhìn logs, có lỗi gì thì báo Dev. Nhưng ngày nay, khi những người quản lý đi theo mô hình Agile - Scrum, họ hiểu rõ hơn vai trò của DevOps trong dự án và sự cần thiết của CD/CI để đảm bảo cho phần mềm được phát triển và tích hợp liên tục, thì tầm quan trọng và mức lương của DevOps đã được đặt đúng vị trí của nó và hiện tại thuộc dạng top, chỉ kém các cấp quản lý hoặc các công việc có tính đặc thù và yêu cầu ít nhân sự hơn mà thôi.
DevOps cũng không yêu cầu anh em phải có năng khiếu như lập trình thì mới có thể phát triển rực rỡ được, có vẻ như nó cũng chỉ cần anh em đọc hiểu tiếng anh tốt, nhưng cũng yêu cầu anh em làm việc phải chăm chỉ, cẩn thận và tỉ mỉ, nắm trong tay hạ tầng của công ty, chỉ 1 sai sót nhỏ cũng có thể làm bay mọi nỗ lực của tập thể chỉ bằng 1 câu lệnh drop database.
DevOps và hơn thế nữa!
Hôm trước có anh em hỏi mình thì từ DevOps có trở thành được SA hay không, thì mình đã có 1 cuộc trò chuyện ngắn với anh bạn thuộc team DevOps của LINE NEXT, thì anh ấy nói rằng DevOps là một lĩnh vực rộng lớn, nó không chỉ đơn giản là việc maintain dự án, DevOps còn tham gia vào việc hỗ trợ thiết kế hệ thống sao cho mềm dẻo và ổn định hơn. Mục tiêu chính khi tổ chức ra team DevOps là để giảm thiểu nghẽn cổ chai (bottlenecks) giữa toàn bộ các thành phần trong hệ thống do các team BE, FE hoặc các team khác tạo ra. Vậy nên việc trở thành 1 SA là điều hoàn toàn có thể.
Đối với Dev mà nói thì chúng ta không hoàn toàn mạnh về networking cũng như hạ tầng (infrastructure), điều đó dẫn đến việc cần có sự tham gia của DevOps trong giai đoạn thiết kế hệ thống sẽ tốt hơn, để ngăn chặn vấn đề trước khi nó có thể xảy ra. Tuy nhiên đôi khi các anh em Dev cũng chưa nghĩ đến điều này nên đã dẫn đến những hậu quả đáng tiếc, nhẹ thì là dư thừa tài nguyên, lãng phí tiền của của tổ chức. Nặng thì là gây ra tắc nghẽn, hệ thống bị ngừng hoạt động hay buộc phải loại bỏ đi các phần dư thừa.
Với những công việc quan trọng đó thì DevOps cũng cần trang bị những kỹ năng cần thiết để xứng đáng với mức lương và tầm ảnh hưởng của mình:
1. Kỹ năng giao tiếp và cộng tác để có thể làm việc mọi team và báo cáo công việc cho cấp trên.
2. Kỹ năng mềm và tinh thần cao thượng để sẵn sàng trả lời mọi câu hỏi ngớ ngẩn nhất, tin mình đi, nếu anh em không có đủ bình tĩnh để trả lời hoặc hỗ trợ các câu hỏi ngớ ngẩn thì nghề DevOps này không bao giờ phù hợp với anh em.
3. Hiểu biết về các công cụ có liên quan. Sẽ không có ai phải làm việc với nhiều tools như DevOps đâu, vậy nên nếu không thể nắm chắc các tools công việc DevOps sẽ thất bại.
4. Kỹ năng tư duy và kiến thức về bảo mật. Đó là hành trang cần thiết để DevOps tránh bị hacker qua mặt và chiếm dụng hệ thống.
5. Các kỹ năng setup các hệ thống tự động như CD/CI.
6. Kỹ năng code hay viết các script để sử dụng khi không có đủ tools hoặc tools có nhưng chưa cung cấp đủ tính năng cần thiết.
7. Các kiến thức về các nền tảng cloud mà tổ chức sẽ sử dụng để deploy. Sẽ tốt hơn nếu anh em thi 1 chứng chỉ nào đó trên các nền tảng hiện nay.
8. Kỹ năng kiểm thử. Đôi khi các em cần kiểm thử hệ thống, hay các thành phần mà anh em nghĩ ngờ nó đang có vấn đề.
9. Tập trung vào các vấn đề chính và hướng đến nhu cầu của người sử dụng. Có thể anh em sẽ nên setup các tools có giao diện để người dùng dễ dàng sử dụng và tự monitor chẳng hạn
10. Chủ động trong công việc. Luôn chủ động giao tiếp, chủ động sắp xếp lịch trình, đó là cách tốt nhất để anh em có thể làm việc với nhiều team và tránh được những vấn đề tiềm ẩn.
Không ít anh em sẽ nói là cái mức lương DevOps cao chỉ là chém gió, tôi cũng đang làm DevOps đây, lương có 30tr là hết nước. Nhưng điều đó không có nghĩa là anh đang là 1 DevOps theo đúng nghĩa, anh em mới chỉ đang làm 1 phần việc rất nhỏ của DevOp (cài đặt CD/CI, maintain, xem logs) vậy nên anh em không nhận được mưc lương của 1 DevOps thật sự cũng là điều hợp lý. Vậy chúng ta hãy luôn cầu tiến và phát triển nhé anh em. Cám ơn anh em đã lắng nghe chia sẻ của mình nhé. Cheer!!!
-
Design Pattern
- Singleton Design Pattern
- Factory Design Pattern
- Factory Method Design Pattern
- Abstract Factory Design Pattern
- Builder Design Pattern
- Prototype Design Pattern
- Object Pool Design Pattern
- Chain of Responsibility Design Pattern
- Command Design Pattern
- Interpreter Design Pattern
- Iterator Design Pattern
- Mediator Design Pattern
- Memento Design Pattern
- Observer Design Pattern
- Observer Design Pattern - Xử Lý Exception
- Strategy Design Pattern
- Template Method Design Pattern
- Visitor Design Pattern
- Null Object Design Pattern
- Adapter Design Pattern
- Bridge Design Pattern
- Composite Design Pattern
- Decorator Design Pattern
- Flyweight Design Pattern
- Proxy Design Pattern
- S.O.L.I.D
- Clean code
- Lập trình socket
- Java Core
- Multi-Thread
- Spring
- Java Web
- Memory Caching
- Message Queue
- DevOps
- Xây dựng một nền tảng
- MongoDB
- MySQL timestamp
- Properties vs yaml
- Kotlin
- Lập Trình Machine Learning với PyTorch
- Mã Nguồn Mở
- Ezy HTTP
- Free Chat
- Một số kinh nghiệm với Git
- Review cho đồng nghiệp!
- Kinh nghiệm phát triển dự án phức tạp, nhiều người - Tuân thủ
- Kinh nghiệm phát triển dự án phức tạp, nhiều người - Lựa chọn người đi cùng
- Ngành công nghiệp phần mềm tại Việt Nam - Mới chỉ là bắt đầu.
- Ngành công nghiệp phần mềm tại Việt Nam - Dây chuyền sản xuất.
- Ngành công nghiệp phần mềm tại Việt Nam - Thị trường
- Ngành công nghiệp phần mềm tại Việt Nam - Công ăn việc làm
- Setup Dev Environment
- Hello World
- Create a Server Project
- Handle Client Requests
- Using ezyfox-server-csharp-client
- Using ezyfox-es6-client
- Client React.js Interaction
- Build And Deploy In Local
- Tham gia phát triển open source!
- Buôn có bạn, bán có phường
- Đam mê đi đâu rồi?
- Giữa lửa đam mê!
- Tương lai nào cho tester? Thay đổi để dẫn đầu xu thế!
- Tương lai nào cho tester? - Khi thế sự đổi thay!
- Tương lai nào cho lập trình viên? Khi không có hệ quy chiếu!
- Tương lai nào cho lập trình viên - Làm đến bao nhiêu tuổi?
- Tương lai nào cho lập trình viên? Có làm giàu được không?
- Tương lai nào cho lập trình viên? Có cân bằng cuộc sống được không?
- Tương lai nào cho lập trình viên - Nhảy việc đến khi nào?
- Tương lai nào cho lập trình viên - Con đường sự nghiệp (Career path)!
- Tương lai nào cho lập trình viên - Tổng kết lại!
- Con đường sự nghiệp cho lập trình viên - Giai đoạn sơ cấp (Junior)!
- Con đường sự nghiệp cho lập trình viên - Giai đoạn trung cấp (Intermediate)!
- Con đường sự nghiệp cho lập trình viên - Giai đoạn lành nghề (Senior)!
- Giai đoạn lành nghề (Senior) - Giữa những hoang mang!
- Giai đoạn lành nghề (Senior) - Phân hoá trong doanh nghiệp!
- Con đường sự nghiệp cho lập trình viên - Trở thành chuyên gia (Expert)!
- Con đường sự nghiệp cho lập trình viên - Trở thành người ảnh hưởng (Influencer)!
- Các giai đoạn phát triển của lập trình viên - Tổng kết lại!
- Metaverse - Câu chuyện 10 nghìn CCU (Người tham gia đồng thời)
- Metaverse có khả thi ở Việt Nam?
- Lựa chọn nghề nghiệp - DevOps!
- Lựa chọn nghề nghiệp - Project Manager (PM)!
- Lựa chọn nghề nghiệp - Data Engineer!
- Lựa chọn nghề nghiệp - BackEnd Engineer!
- “Talk is cheap. Show me the code” ― Linus Torvalds
- Lựa chọn nghề nghiệp - Web Front-End Engineer!
- Lựa chọn nghề nghiệp - Mobile Engineer!
- Lựa chọn nghề nghiệp - Game Engineer!
- Lựa chọn nghề nghiệp - Product Owner!
- Tuổi trẻ cần đột phá!
- Tuổi trẻ cần sự đồng cảm!
- Tuổi trẻ - điều đáng sợ đầu tiên là gì?
- Tuổi trẻ - Điều đáng sợ thứ 2 là gì?
- Tuổi trẻ - Điều đáng sợ thứ 3 là gì?
- Tuổi trẻ - Điều đáng sợ thứ 4 là gì?
- Nếu tận dụng hết năng lực thì sẽ thế nào?
- Tuổi trẻ - Điều đáng sợ thứ 5 là gì?
- Tuổi trẻ - Điều đáng sợ thứ 6 là gì?
- Tuổi trẻ - Điều đáng sợ thứ 7 là gì?
- Tuổi trẻ - ham học hỏi là như thế nào?
- Đầu tư cho bản thân là gì?
- Học chủ động!
- Có nên quay lại công ty cũ?
- Làm cho startup (công ty nhỏ) hay làm cho công ty lớn? (Phần 1)
- Làm cho startup (công ty nhỏ) hay làm cho công ty lớn? (Phần 2)
- Làm cho startup (công ty nhỏ) hay làm cho công ty lớn? (Phần 3)
- Tự học
- Học tập tại doanh nghiệp
- Học tại trung tâm
- Cách đọc sách kỹ thuật hiệu quả
- Học trong một tổ chức mã nguồn mở.
- Câu chuyện lập trình viên - Công việc đầu tiên
- Câu chuyện lập trình viên - Mức lương đầu tiên
- Câu chuyện lập trình viên - 2018
- Định hướng là gì?
- Wordpress nguy hiểm thế nào?
- Danh sách 10 trung tâm đào tạo trình uy tín, chất lượng ở Hà Nội