CodeGym /Các khóa học /JAVA 25 SELF /Phát triển sản phẩm CNTT

Phát triển sản phẩm CNTT

JAVA 25 SELF
Mức độ , Bài học
Có sẵn

1. Một chút lịch sử

Khi vào những năm 1990, cuộc Cách mạng Internet mới chỉ bắt đầu, không ai biết cách đúng đắn để phát triển các dịch vụ Internet. Tất cả tính năng của chúng ngay lập tức trở nên khả dụng với người dùng, điều này rất khác với cách phát triển phần mềm truyền thống.

Công cụ tìm kiếm lớn nhất thời đó, công ty Yahoo, đã quyết định đi theo con đường mới và vay mượn cách làm từ Hollywood — thậm chí các manager của họ cũng được gọi là “producer” :) Không có gì ngạc nhiên khi họ chẳng đạt được gì 🤷‍♂️

Điều thú vị. Yahoo — kẻ thất bại lớn nhất trong chuyện mua lại các công ty khác. Đã có thời, họ nhiều lần được đề nghị mua cả Google lẫn Facebook. Cuối cùng, vào buổi hoàng hôn sự nghiệp, Microsoft đã cố gắng thâu tóm họ với giá 40 tỷ đô la, nhưng họ lại từ chối. Vài năm sau, họ bị mua lại chỉ với 3 tỷ đô la. Vào những năm 1990, ở đỉnh cao phổ biến, Yahoo được định giá 200 tỷ đô la, và nếu khi đó họ mua Google, thì giá trị của họ hôm nay có thể đã đạt tới vài nghìn tỷ. Đừng như Yahoo. 🙈

Kể từ cuộc Cách mạng Internet, hàng chục phương pháp phát triển phần mềm khác nhau đã được thử nghiệm, và hiện nay tình hình đã ổn định. Tồn tại các vai trò tiêu chuẩn với trách nhiệm tiêu chuẩn, quy trình tiêu chuẩn và phần mềm tiêu chuẩn.

Trong quá trình học, bạn sẽ nắm được tất cả những gì cần biết để làm việc trong các công ty CNTT hiện đại, với các công cụ phát triển hiện đại. 🎓

2. Nhóm sản phẩm

Một đội phát triển điển hình gồm:

  • Những người quyết định sản phẩm cần có những chức năng và tính năng nào
    • Product Owner
    • Business Analyst
  • Những người quyết định sản phẩm sẽ trông như thế nào
    • UI Designer
    • UX Designer
  • Các lập trình viên hiện thực hóa tất cả những điều đó
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • Những người chịu trách nhiệm bảo đảm chất lượng hoạt động của sản phẩm
    • QA Automation
    • DevOps

IT team

Product Owner trong phát triển phần mềm đóng vai trò then chốt, quản trị sản phẩm và bảo đảm đội phát triển tập trung vào việc hoàn thành các nhiệm vụ quan trọng nhất. Họ xác định tầm nhìn sản phẩm, lập và ưu tiên hóa danh sách công việc (backlog), qua đó giúp bảo đảm mỗi giai đoạn phát triển phù hợp tối đa với mục tiêu kinh doanh và yêu cầu của người dùng.

UX Designer phụ trách tạo ra giao diện sản phẩm thuận tiện và hiệu quả, bao gồm nghiên cứu nhu cầu người dùng, xây dựng prototype và kiểm thử giao diện. Công việc này hướng tới việc cải thiện tương tác của người dùng với sản phẩm, để sản phẩm trở nên dễ hiểu và tiện dụng nhất có thể.

Các chuyên gia DevOps tối ưu hóa quy trình phát triển phần mềm và quản trị vận hành, nhằm tăng tốc và đơn giản hóa việc phát hành các bản cập nhật sản phẩm. Công việc của họ bao gồm tự động hóa kiểm thử, triển khai và giám sát hệ thống, cũng như cấu hình hạ tầng và bảo đảm tích hợp và phân phối liên tục (CI/CD).

3. Nhóm phát triển

Việc phát triển trực tiếp do các lập trình viên thực hiện. Có thể tạm chia họ thành 5 nhóm:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • Database Administrator

Các vai trò và phạm vi công việc có thể thay đổi tùy theo quy mô đội và đặc thù sản phẩm, nhưng về cơ bản như sau:

  • 🏗️ Software Architect: chịu trách nhiệm thiết kế kiến trúc phức tạp của các hệ thống phần mềm. Kiến trúc sư xây dựng hạ tầng kỹ thuật, xác định cấu trúc và phương thức tương tác giữa các thành phần của sản phẩm phần mềm, bảo đảm khả năng mở rộng, hiệu năng và bảo mật.
  • ⚙️ Backend Developer: chuyên phát triển phần phía máy chủ của ứng dụng. Nhiệm vụ của Backend Developer bao gồm hiện thực hóa logic, tích hợp cơ sở dữ liệu và các hệ thống quản lý dữ liệu, xử lý yêu cầu của người dùng và duy trì tương tác với phần frontend.
  • 🖥️ Frontend Developer: phát triển giao diện người dùng cho các ứng dụng web. Vai trò này đòi hỏi kiến thức về HTML, CSS và JavaScript, cũng như các framework và thư viện để tạo ra giao diện tương tác và đáp ứng, bảo đảm trải nghiệm tốt cho người dùng với sản phẩm.
  • 📱 Mobile Developer: phát triển ứng dụng cho thiết bị di động. Mobile Developer tạo ứng dụng cho các hệ điều hành khác nhau (ví dụ: iOS và Android), có tính đến đặc thù nền tảng, hiệu năng thiết bị và trải nghiệm người dùng.
  • 🗄️ DBA (Database Administrator): chịu trách nhiệm quản trị cơ sở dữ liệu, bảo đảm tính sẵn sàng, bảo mật và tối ưu. DBA thực hiện các nhiệm vụ cấu hình, giám sát và vận hành cơ sở dữ liệu, cũng như xây dựng chiến lược sao lưu và khôi phục dữ liệu.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION