Bài viết này chia sẻ những thông tin tổng quan nhất về vị trí developer trong một team phát triển sản phẩm digital, bao gồm tên gọi trong các công ty công nghệ, phạm vi công việc, vai trò trách nhiệm, công việc hàng ngày cũng như việc phối hợp với Product Owner/ Product Manager trong quá trình xây dựng sản phẩm.
MỤC LỤC ĐỌC NHANH
—
I. DEVELOPER LÀ AI?
Developer – lập trình viên – là người sử dụng những ngôn ngữ lập trình để viết ra các đoạn mã code, từ đó tạo ra các chương trình phần mềm/ ứng dụng sử dụng trên các thiết bị công nghệ.
Nói một cách nôm na thì: trong một team phát triển sản phẩm, nếu Product Owner/ Product Manager là người lên danh sách các tính năng và miêu tả những yêu cầu kỹ thuật cho sản phẩm, thì Developer là người biến những yêu cầu kỹ thuật này thành sản phẩm có thể sử dụng được bởi người dùng.
II. CHỨC DANH CÔNG VIỆC CỦA DEVELOPER
Tại các công ty công nghệ, các công ty phát triển phần mềm, developer có thể được gọi chung là ‘lập trình viên’.
Các chức danh (title) thường thấy trên thị trường cho công việc này hiện nay rất đa dạng, nhưng sẽ chia làm 04 kiểu:
- Title chung: software developer, software engineer, software development engineer, programmer v.v…
- Title chỉ rõ scope công việc tương ứng với các platform (nền tảng): app developer, iOS developer, web developer, full stack developer, front end developer, backend web developer v.v…
- Title chỉ rõ scope công việc tương ứng với một ngôn ngữ lập trình: web (JavaScript) developer, PHP/ HTML developer, Python developer v.v…
- Title gắn liền với level: (junior/senior/associate/entry level…) software engineer v.v…
Tùy thuộc vào đặc tính của mỗi sản phẩm và giai đoạn phát triển của sản phẩm mà công ty sẽ tuyển dụng các bạn lập trình viên tương ứng theo một trong bốn nhóm trên.
Note: mình không đề cập tới các vị trí cấp cao như như Tech Director hay Head of Engineer v.v… vì các vị trí này thường sẽ không trực tiếp code mà sẽ quản lý, giám sát và tư vấn về mặt hệ thống, cấu trúc chung và định hướng cho team development.
III. DEVELOPER LÀM NHỮNG CÔNG VIỆC GÌ?
Trong mô hình Scrum team, ’Developer’ là một trong ba trụ cột/ vai trò chính, bên cạnh hai vị trí là Product Owner và Scrum Master.
Với các công ty không hoạt động theo mô hình Scrum, công việc của một developer cũng không khác gì so với một developer trong một Scrum team.
Các công việc mà một lập trình viên đảm nhiệm có thể bao gồm:
- Hỗ trợ Product Owner/ Product Manager review các yêu cầu kỹ thuật đối với sản phẩm/ phần mềm để tư vấn những giải pháp phù hợp nhất
- Sử dụng các ngôn ngữ lập trình thích hợp để viết các đoạn mã code và tạo ra sản phẩm phần mềm hoạt động theo đúng miêu tả của Product Owner/ Product Manager
- Cùng kiểm thử phần mềm với QC (quality control) để đảm bảo tính năng/ sản phẩm hoạt động đúng yêu cầu
- Sửa lỗi (fix bug)
- Bảo trì tính năng hoặc nâng cấp các phiên bản mới để cải thiện hiệu suất của sản phẩm hoặc phát triển thêm các tính năng mới
- Nghiên cứu thêm các giải pháp công nghệ để ngày càng tối ưu hiệu quả của sản phẩm
IV. LÀM VIỆC HIỆU QUẢ VỚI DEVELOPER
Trong một team phát triển sản phẩm, lập trình viên là thành phần không thể thiếu và là một trong những người sẽ làm việc rất sát với Product Owner/ Product Manager.
Dưới góc độ là một Product Manager, mình rút ra một vài điểm cần lưu ý để làm việc hiệu quả với mỗi bạn lập trình viên nói riêng và toàn bộ team technical nói chung như sau:
1. Tham khảo sự tư vấn
Trước khi chốt các giải pháp hay yêu cầu kỹ thuật, nên bàn bạc với tech team để đảm bảo giải pháp đưa ra là phù hợp với hiện trạng của hệ thống.
Thông thường thì mình sẽ trao đổi trước với Tech Lead để miêu tả về yêu cầu chung, đưa ra giải pháp tổng thể mà mình mong muốn, sau đó nhận sự tư vấn và nghe thêm về các quan điểm của Tech Lead đối với những giải pháp này dưới góc nhìn kỹ thuật.
Trong các tình huống mà tính năng hay sản phẩm quá phức tạp, mình sẽ ngồi thêm với một vài bạn dev trong team để cùng thảo luận sâu hơn về cách xây dựng tính năng, kiểm tra xem hệ thống kỹ thuật hoặc mức độ đáp ứng về mặt dữ liệu có phù hợp không v.v…
2. Chuẩn bị thật kỹ tài liệu kỹ thuật
Sau khi mục #1 nói trên đã ổn, Product Owner/ Product Manager sẽ cần chuẩn bị tài liệu kỹ thuật cho đội dev.
Tài liệu này cần viết dưới ngôn ngữ đủ để các bạn dev hiểu đúng, hiểu đủ. Từ đó, các bạn mới code được đúng với những yêu cầu mình mong muốn.
Tài liệu sơ sài, thiếu use-case (tình huống sử dụng của user) sẽ dẫn tới việc thiếu hụt logic xử lý, sản phẩm cuối sẽ có các lỗi trong quá trình user sử dụng
3. Phân biệt được các vị trí trong team
Một dev team sẽ có rất nhiều các vị trí tùy theo đặc thù công việc.
Là một Product Owner/ Product Manager, chúng ta cần phân biệt được các vị trí khác nhau của các bạn developer để đưa task và xử lý công việc với đúng người.
Ví dụ: các vấn đề về giao diện trên app thì không thể tìm tới bạn backend development để xử lý.
4. Giao tiếp trong quá trình làm việc
Một điều mà mình tuyệt đối không bao giờ làm khi giao tiếp với các bạn developer đó là can thiệp quá sâu vào công việc của các bạn dưới góc độ thuần tech, hoặc để bản thân sa đà vào các cuộc tranh cãi dưới góc độ technical chứ không phải dưới góc độ user experience.
Giao tiếp với developer (hay bất cứ ai) thì cũng cần sự tinh tế, nhưng với developer, cái mình thấy quan trọng nhất là sự rõ ràng, minh bạch trong giao tiếp – để các yêu cầu và phản hồi luôn được hiểu đúng và đầy đủ.
—
KẾT
Vị trí developer là một vị trí bắt buộc cần có trong một team phát triển sản phẩm. Đây cũng là vị trí mà Product Owner/ Product Manager làm việc cùng rất nhiều.
Sau gần 10 năm làm việc tại các công ty công nghệ, mình nhận thấy khi Product Owner/ Product Manager xây dựng được mối quan hệ tốt với các bạn developer nói riêng và toàn bộ development team nói chung, công việc sẽ được triển khai cực kỳ suôn sẻ, thuận lợi.
Mình cũng từng được các bạn developer giúp đỡ rất nhiều, và trong nhiều trường hợp, mình từng thấy các bạn developer là người tư vấn ngược lại cho Product Owner những giải pháp tốt hơn, tiết kiệm thời gian cũng như nguồn lực hơn và còn đem lại hiệu quả không thua gì các giải pháp ban đầu.
Mình hy vọng bài viết của mình đã cho bạn thêm insight để hiểu về vai trò của developer trong team cũng như việc phối hợp cùng developer khi bạn ở vai trò Product Owner/ Product Manager.
Đừng quên like, share bài viết nếu bạn thấy nó hữu ích nhé.
—
ĐỌC THÊM CÁC BÀI VIẾT TRONG ‘THE TEAM SERIES’
‘The Team Series’ là chuỗi bài viết về tất cả các vị trí liên quan đến việc xây dựng và phát triển một sản phẩm công nghệ.
- The team series – Product Owner
- The team series – Product Designer
- The team series – Quality Control (QC)
- The team series – Scrum Master
- The team series – Agile Coach
- The team series – UX Writer
- The team series – UX Researcher
Xem thêm: Khóa học Product Management – Quản lý sản phẩm cho người mới bắt đầu
8 thoughts on “The team series – Developer”
Pingback: The team series – UX Writer - Phuong Product Website
Pingback: The team series - Agile Coach - Phuong Product Website
Pingback: The team series - Scrum Master - Phuong Product Website
Pingback: The team series - Product Designer - Phuong Product Website
Pingback: The team series - Product Owner - Phuong Product Website
Pingback: UX Researcher - Phuong Product Website 2022
Pingback: QC (Quality Controller) - Phuong Product Website 2022
Pingback: Product Owner là ai? - Phuong Product Website 2022
Comments are closed.