“Vì sao Agile đang nuốt chửng thế giới ?” (“Why Agile is eating the world”) là bài báo nổi tiếng trên Forbes đầu năm 2018, lý giải việc những doanh nghiệp hàng đầu thế giới như Microsoft, Google… “đang Agile”.
Ở Việt Nam, việc triển khai Agile đang bước vào giai đoạn phát triển bùng nổ tại các doanh nghiệp công nghệ, doanh nghiệp phần mềm. Thống kê tại Vietnamworks cho thấy tỉ lệ các vị trí tuyển dụng trong môi trường thực hành Agile đã tăng trưởng hơn 100% cùng kì hàng năm. Bên cạnh những kiến thức, kỹ năng về công nghệ, các lập trình viên đang đứng trước những cơ hội và thách thức bổ sung những kiến thức, kỹ năng thiết yếu để làm việc trong môi trường Agile. Hãy cùng Học viện Agile điểm danh những kỹ năng thiết yếu đó nhé.
1. Hiểu biết, kỹ năng làm việc trong nhóm Agile
Làm việc trong nhóm Agile đòi hỏi lập trình viên nhiều kiến thức và kỹ năng hơn, bao gồm:
- Thiết kế hệ thống: Lập trình viên không chỉ là người lập trình theo thiết kế được định sẵn bởi ai đó; họ chính là người đưa ra kiến trúc, thiết kế và lập trình cho sản phẩm.
- Quản lý dự án: Lập trình viên cùng các thành viên trong nhóm chính là người kiểm soát tiến độ của nhóm nhằm đảm bảo các phần tăng trưởng được tích hợp, chuyển giao đúng thời hạn.
- Chịu trách nhiệm về chất lượng sản phẩm: Lập trình viên chính là người chịu trách nhiệm về sản phẩm qua những dòng code được viết ra.
- Cộng tác: Lập trình viên làm việc trong nhóm tự tổ chức và liên chức năng, cộng tác với những thành viên khác như BA, tester, designer…
2. Hiểu biết, kỹ năng giải quyết vấn đề
Theo thống kê từ HackerRank, trên 94% các doanh nghiệp mong muốn tìm kiếm Lập trình viên có kỹ năng giải quyết vấn đề, cao hơn rất nhiều những kỹ năng khác như lập trình trên một công nghệ nhất định, debug,… Điều này cho thấy các doanh nghiệp quan tâm nhiều đến phương pháp luận, cách thức tiếp cận và giải quyết vấn đề – những kiến thức nền tảng – hơn những công nghệ đang được hình thành theo xu hướng và nhanh chóng qua đi.
3. Hiểu biết, kỹ năng tự học và phát triển bản thân
Khi công nghệ ngày càng phát triển và có vòng đời ngắn, việc bắt kịp mọi công nghệ trở nên khó khăn hơn bao giờ hết; cùng với đó là lợi ích giảm dần khi bám theo một công nghệ nhất định. Lập trình viên giờ đây cần hơn hết kỹ năng tự học và phát triển bản thân với những nền tảng cơ bản để nhanh chóng tiếp cận một công nghệ khi cần thiết.
Kết Luận
Vậy nên, bên cạnh việc tiếp cận những thứ (what) “bề nổi” như ngôn ngữ (Swift, Kotlin, Go…) và công nghệ (.NET, React..), Lập trình viên cần quan tâm tới phương pháp luận (how) “bề chìm” như lập trình thế nào là tốt, quản lý chất lượng ra sao, học công nghệ mới thế nào… Đây là xu hướng không thể bỏ qua.