Là một developer có cần biết cách “làm sản phẩm”?
Vấn đề
Học code từ những năm tháng còn là sinh viên, được tiếp xúc với nhiều ngôn ngữ lập trình và chúng ta biết chọn cho mình một ngôn ngữ tốt nhất để sau này sẽ dùng nó như một kĩ năng chính của mình. Lúc đi làm nghe đồng nghiệp, anh em bạn bè bàn tán về ngôn ngữ này tốt hơn ngôn ngữ kia, ngôn ngữ này đáng học hơn… khiến bạn càng khát khao chinh phục những thứ đó.
Tôi từng có suy nghĩ sẽ code cả đời, bởi vì ngoài code ra tôi không biết còn có thể làm gì nữa thế nên tôi cố gắng trau dồi kĩ năng code ngày một tốt hơn bằng cách không ngừng tìm kiếm tài liệu nói về điều đó. Bỗng một ngày chân ướt chân ráo nộp hồ sơ vào làm cho một công ty chuyên cung cấp sản phẩm dưới dạng SaaS tại đây tôi đã được học hỏi thêm nhiều điều mới, những kiến thức mà tôi thấy như chân trời mới. Một trong số đó là khả năng tư duy sản phẩm.
Tư duy sản phẩm là gì?
Bạn có thể tìm kiếm Google để biết được khái niệm, còn đối với tôi hiện tại nó là biết cách tạo ra sản phẩm có giá trị cho người dùng. Thế nào là có giá trị?
Là sản phẩm giải quyết được một vấn đề gì đó cho nhiều người và họ thích sử dụng sản phẩm của bạn. Để làm được điều đó đòi hỏi bạn phải “thấu hiểu” người dùng, luôn luôn phải cập nhật kiến thức bởi vì khách hàng của bạn luôn luôn đổi mới.
Tôi là một developer, tôi thấy nhiều người rất thích đọc blog. Bản thân tôi lại là người thích viết lách thế nên tôi bắt đầu với nền tảng viết bài Blogger. Trải qua một thời gian sau đó, tôi nhận thấy Blogger quá nặng nề và phức tạp, khó có thể tuỳ biến mọi thứ theo cách mình muốn. Vì thế tôi quyết định tự code cho mình một trang blog để giải quyết hết những vấn đề trên. Nhưng mọi thứ không hề dễ dàng chút nào, tôi mất rất nhiều thời gian để phân tích xem tôi muốn gì và người dùng muốn gì, mất rất nhiều thời gian để phát triển và thời gian để thu thập dữ liệu, cũng như phân tích chúng. Bù lại tôi đã học hỏi được nhiều điều khi tự làm blog.
Một developer có tư duy sản phẩm sẽ suy nghĩ về tính năng và sản phẩm theo hướng có thể khác với developer thuần. Họ quan tâm đến người dùng hơn, tò mò về hành vi cũng như suy nghĩ của người dùng. Quan trọng hoá cách làm sao để người dùng hài lòng khi sử dụng sản phẩm. Cẩn trọng khi thêm một tính năng mới bởi vì họ biết một tính năng mới được thêm đồng nghĩa với độ phức tạp của sản phẩm cũng tăng lên theo. Với họ thái độ của người dùng sản phẩm là quan trọng hơn kĩ thuật để tạo ra sản phẩm.
Một tính năng gửi email, người dùng chỉ quan việc tâm họ gửi được email và bên kia nhận được một cách nhanh chóng chứ không cần biết đằng sau đó là cả một hệ thống logic phức tạp mà bạn phải làm ra rất vất vả. Nếu như hệ thống gửi email có vấn đề gì đó, bạn không thể giải thích cho họ hiểu lý do lỗi là gì, còn họ cũng chỉ quan tâm khi nào email được gửi đi bình thường. Hay nếu như một tính năng quá phức tạp, quá nhiều bước để hoàn thành thử hỏi xem có mấy ai kiên nhẫn để thao tác hết trước khi họ thoát hẳn ứng dụng của bạn? Đối với tôi một tính năng hay là không buộc người dùng phải suy nghĩ quá nhiều để quyết định bấm vào nó.
Xem thêm việc làm Agile lương cao trên TopDev
Tại sao developer nên biết làm sản phẩm?
Có rất nhiều lý do để bạn cần quan tâm đến tư duy sản phẩm cũng như làm sản phẩm. Dưới đây là một số quan điểm của tôi về lợi ích của việc này:
- Tiếp cận sản phẩm theo một cách mới. Trong vai một người dùng, bạn thấu hiểu được họ. Kĩ thuật lúc này không còn quá quan trọng nữa. Đó là một hướng tiếp cận khác lạ so với những người developer thuần code, khi họ luôn luôn cố gắng tối ưu những dòng code và kĩ thuật mà đôi khi quên mất trải nghiệm không tốt cho người dùng. Suy cho cùng các sản phẩm bạn làm ra là để phục vụ người dùng, trừ khi người dùng chính là bạn.
- Quan tâm đến doanh nghiệp, về hành vi người dùng và dữ liệu đó. Lúc này bạn cần quan tâm đến mô hình và tình hình kinh doanh doanh nghiệp của bạn để biết đến tập khách hàng mà doanh nghiệp đang hướng đến. Đó là tiền đề cho tính năng và sản phẩm mà bạn chuẩn bị phát triển. Nhóm người dùng khác nhau sẽ có những hành vi khác nhau và dữ liệu thu thập được sẽ nói lên chúng khác nhau như thế nào. Hơn nữa điều đó sẽ giúp bạn thấu hiểu doanh nghiệp hơn để đưa ra quyết định cống hiến hay đến lúc phải tìm một môi trường mới.
- Luôn là tại sao? Tại sao phải thêm tính năng này, tại sao phải bỏ tính năng kia… nhiều câu hỏi tại sao và bắt buộc bạn phải tìm ra câu trả lời. Để làm được điều đó, bạn cần dựa vào rất nhiều thứ một trong số đó là dữ liệu thu thập được. Hay là feedback của người dùng khi họ sử dụng những tính năng mới.
- Mở rộng domain, nghiệp vụ. Bạn nhận ra Developer không chỉ còn quan tâm đến code mà còn nhiều thứ khác nữa để tạo nên sự thành công cho bạn cũng như cho sản phẩm mà bạn đang phát triển. Điều này mở ra những hướng đi mới cho bạn trong sự nghiệp phát triển của mình. Biết đâu bạn sẽ không còn thích ngồi code nữa mà lại làm một công việc khác thì sao.
- Kỹ thuật không còn là trên hết, cân bằng kĩ thuật với trải nghiệm người dùng. Thông thường khi đón nhận một vấn đề thì chúng ta thường suy nghĩ luôn giải pháp mà quên mất việc đánh giá vấn đề đó. Liệu trải nghiệm người dùng có gặp vấn đề gì khi giải quyết vấn đề đó thiên về giải quyết kĩ thuật hơn không? Có gây khó khăn hay mang lại trải nghiệm tồi cho họ chỉ vì muốn áp dụng kĩ thuật tiên tiến nhất? Một sản phẩm khó sử dụng chắc chắn không phải là một sản phẩm xuất sắc, lúc đó buộc bạn phải cân bằng giữa kĩ thuật và trải nghiệm người dùng.
- Có những suy nghĩ về sản phẩm như một người dùng. Trong vai người dùng sản phẩm bạn biết cách để tạo ra những tính năng làm sao “đáng giá” nhất cho người dùng. Để đạt được điều đó phải trải qua rất nhiều thời gian học hỏi, sử dụng những sản phẩm khác. Hình thành một thói quen phân tích, đánh giá khi sử dụng một sản phẩm mới. Đó là kho dữ liệu rất có ích cho bạn sau này trên con đường sự nghiệp.
- Phát triển bản thân. Tạo ra một sản phẩm tốt không phải trong ngày một ngày hai, cũng không phải chỉ cần biết mỗi code. Đó là cả một quá trình nỗ lực học hỏi không ngừng nghỉ và buộc bạn phải luôn luôn đổi mới bản thân. Nhiều kiến thức phải học thêm đồng nghĩa với việc bạn biết là hoá ra bấy lâu nay mình không biết gì cả.
Tổng kết
Trên đây là những quan điểm của tôi về việc developer có thể phát triển hơn nữa thông qua tư duy sản phẩm. Tôi là một developer với hy vọng sau này có thể làm ra một cái gì đó có thể giúp ích cho cuộc sống này, nhưng có lẽ trước mắt tôi chỉ có thể chia sẻ kinh nghiệm, dù đúng dù sai vẫn mong nhận được phản hồi của tất cả mọi người.
Bài viết gốc được đăng tải tại 2coffee.dev
Có thể bạn quan tâm:
- Những kinh nghiệm từ quá trình tự phát triển của một Developer (Phần 1)
- Top 7 phương pháp tự học tốt nhất dành cho lập trình viên
- Những điều cần lưu ý khi học code cơ bản
Xem thêm việc làm Developers hàng đầu tại TopDev
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- F Framework nào tốt nhất cho dự án của bạn? – Checklist chi tiết
- K Kinh nghiệm xử lý responsive table hiệu quả
- S Stackoverflow là gì? Bí kíp tận dụng Stack Overflow hiệu quả
- 7 7 kinh nghiệm hữu ích khi làm việc với GIT trong dự án
- B Bài tập Python từ cơ bản đến nâng cao (có lời giải)
- B Bảo mật API là gì? Một số nguyên tắc và kỹ thuật cần biết
- H Hướng dẫn cài đặt và tự học lập trình Python cơ bản từ A-Z
- C Chinh Phục Phân Tích Dữ Liệu Với Pandas Trong Python: Hướng Dẫn Từng Bước
- D Display CSS là gì? Cách khai báo và sử dụng thuộc tính display trong CSS