5.1 Chút lịch sử
Khi cuộc Cách mạng Internet bắt đầu vào những năm 90, không ai biết làm thế nào để phát triển dịch vụ internet một cách đúng đắn. Tất cả các tính năng của chúng ngay lập tức trở nên có sẵn cho người dùng, điều này rất khác so với cách phát triển phần mềm cổ điển.
Công ty tìm kiếm lớn nhất thời đó, Yahoo, đã quyết định đi theo một con đường mới và học cách tiếp cận từ Hollywood - quản lý của họ được gọi là nhà sản xuất :) Không có gì ngạc nhiên khi họ không thành công.
Thật thú vị. Yahoo – thất bại lớn nhất trong việc mua lại các công ty khác. Vào thời điểm đó, họ đã được đề nghị mua Google và Facebook nhiều lần. Cuối cùng, khi sự nghiệp của họ đang tàn, Microsoft đã cố gắng mua lại với giá 40 tỷ đô la, nhưng họ lại từ chối. Vài năm sau, họ chỉ bị mua lại với giá 3 tỷ đô la. Vào những năm 90, trên đỉnh cao của sự nổi tiếng, Yahoo được định giá 200 tỷ đô la, và nếu họ mua Google, thì giá trị của họ ngày nay có thể đạt đến hàng 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. Có 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ẽ biết tất cả những gì bạn cần biết, để làm việc trong các công ty IT hiện đại, với các công cụ phát triển hiện đại.
5.2 Đội ngũ sản phẩm
Một đội ngũ phát triển điển hình bao 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
-
Những lập trình viên
thực hiện tất cả những điều này
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
-
Những người
chịu trách nhiệm về chất lượng sản phẩm
- QA Automation
- DevOps
Product Owner trong phát triển phần mềm đóng vai trò then chốt, quản lý sản phẩm và đảm bảo rằng nhóm phát triển tập trung vào việc thực hiện các nhiệm vụ quan trọng nhất. Anh ta xác định tầm nhìn sản phẩm, xây dựng và ưu tiên danh sách công việc (backlog), giúp đảm bảo rằng mỗi giai đoạn phát triển đều phù hợp với mục tiêu kinh doanh và yêu cầu của người dùng.
UX Designer làm việc với việc 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, phát triển nguyên mẫu và thử nghiệm các giao diện. Công việc này nhằm cải thiện tương tác của người dùng với sản phẩm, để làm nó trở nên rất dễ hiểu và tiện dụng.
DevOps chuyên gia đảm nhận việc tối ưu hóa quy trình phát triển phần mềm và quản lý hoạt động của nó, để đẩy nhanh 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 thử nghiệm, triển khai và giám sát các hệ thống, cũng như cấu hình cơ sở hạ tầng và đảm bảo sự tích hợp và chuyển giao liên tục (CI/CD).
5.3 Nhóm phát triển
Việc phát triển thực sự được thực hiện bởi các lập trình viên. Họ có thể được chia thô sơ thành 5 loại:
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- DBA
Vai trò và nội dung của chúng có thể thay đổi tùy thuộc vào kích cỡ của đội ngũ và đặc thù của sản phẩm, nhưng tình hình cơ bản là:
Software Architect: chịu trách nhiệm thiết kế kiến trúc hệ thống phần mềm phức tạp. Architect phát triển hạ tầng kỹ thuật, xác định cấu trúc và phương pháp tương tác của các thành phần phần mềm, đảm bảo tính mở rộng, hiệu suất và bảo mật.
Backend Developer: chuyên về phát triển phần máy chủ của ứng dụng. Nhiệm vụ của Backend Developer bao gồm thực hiện logic, tích hợp cơ sở dữ liệu và hệ thống quản lý dữ liệu, xử lý các 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 của ứng dụng web. Vai trò này yêu cầu kiến thức về HTML, CSS và JavaScript, cũng như các framework và thư viện để tạo ra các giao diện tương tác và đáp ứng, đảm bảo sự tương tác tốt giữa người dùng và sản phẩm.
Mobile Developer: chịu trách nhiệm phát triển ứng dụng cho các thiết bị di động. Mobile Developer tạo ra ứng dụng cho các hệ điều hành khác nhau (ví dụ: iOS và Android), với sự cân nhắc đến đặc trưng của nền tảng, hiệu suất của thiết bị và trải nghiệm của người dùng.
DBA (Database Administrator): chịu trách nhiệm quản lý cơ sở dữ liệu, đảm bảo tính khả dụng, bảo mật và tối ưu hóa. DBA thực hiện các nhiệm vụ cấu hình, giám sát và bảo trì cơ sở dữ liệu, cũng như phát triển chiến lược sao lưu và khôi phục dữ liệu.
GO TO FULL VERSION