Là một developer có cần biết cách "làm sản phẩm"?

Là một developer có cần biết cách "làm sản phẩm"?

Tin ngắn hàng ngày dành cho bạn
  • Từ lâu rồi suy nghĩ làm thế nào để tăng sự hiện diện thương hiệu, cũng như người dùng cho blog. Nghĩ đi nghĩ lại thì chỉ có cách chia sẻ lên mạng xã hội hoặc trông chờ họ tìm kiếm, cho đến khi...

    In cái áo này được cái tắc đường khỏi phải lăn tăn, càng đông càng vui vì hàng trăm con mắt nhìn thấy cơ mà 🤓

    (Có tác dụng thật nha 🤭)

    » Xem thêm
  • Một vòng của sự phát triển nhiều dự án khá là thú vị. Tóm tắt lại trong 3 bước: Thấy một cái gì đó phức tạp -> Làm cho nó đơn giản đi -> Thêm thắt tính năng cho đến khi nó phức tạp... -> Quay trở lại vòng lặp mới.

    Tại sao lại như vậy? Để mình lấy 2 ví dụ cho các bạn thấy.

    Markdown ra đời với mục tiêu tạo ra một định dạng văn bản thô "dễ viết, dễ đọc, dễ dàng chuyển thành một dạng gì đó như HTML". Vì thời đó chẳng ai đủ kiên nhẫn mà vừa ngồi viết vừa thêm định dạng cho văn bản hiển thị ở trên web như thế nào. Ấy vậy mà giờ đây người ta đang "nhồi nhét" hoặc tạo ra các biến thể dựa trên markdown để bổ sung thêm nhiều định dạng mới đến mức... chẳng nhớ nổi hết cú pháp.

    React cũng là một ví dụ. Từ thời PHP, việc khát khao tạo ra một cái gì đó tách biệt hẳn giao diện người dùng và phần xử lý logic chính của ứng dụng thành 2 phần riêng biệt cho dễ đọc, dễ viết. Kết quả là các thư viện UI/UX phát triển rất mạnh mẽ, mang lại khả năng tương tác với người dùng rất tốt, còn phần logic ứng dụng thì nằm ở một máy chủ riêng biệt. Bộ đôi Front-end, Back-end cũng từ đấy mà thịnh hành, không thể thiếu anh bồi bàn REST API. Ấy vậy mà giờ đây React trông cũng không khác biệt gì so với PHP là mấy, kéo theo là cả Vue, Svelte... lại cùng quy tất cả về một mối.

    Cơ mà không phải vòng lặp là xấu, ngược lại vòng lặp này mang tính tiến hoá nhiều hơn là "cải lùi". Nhiều khi lại tạo ra được cái hay hơi cái cũ thế là người ta lại dựa trên cái hay đó để tiếp tục lặp. Nói cách khác là chắc lọc tinh hoa từng tí một tí một á 😁

    » Xem thêm
  • Song song với các dự án chính thức thì thi thoảng mình vẫn thấy các dự án "bên lề" nhằm tối ưu hoặc cải tiến ngôn ngữ theo khía cạnh nào đó. Ví dụ nature-lang/nature là một dự án hướng tới cải tiến Go, mang lại một số thay đổi nhằm giúp cho việc sử dụng Go trở nên thân thiện hơn.

    Nhìn lại mới thấy hao hao JavaScript 😆

    » Xem thê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, chúng ta biết cách chọn cho mình ngôn ngữ thích nhất, để sau này 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 tò mò và khát khao một ngày nào đó sẽ sử dụng thành thạo tất cả mọi 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 học hỏi, tìm kiếm những tài liệu liên quan. 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ư mở ra 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 dùng 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 phải cập nhật kiến thức bởi vì khách hàng của bạ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ự làm 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ề đơn giản chút nào, tôi mấ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 nhiều thời gian để phát triển và 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 của sản phẩm theo hướng có thể khác với những người khác. 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 được thêm vào đồng nghĩa với độ phức tạp cũng tăng theo. Với họ trải nghiệm của người dùng 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 đến việc họ gửi được email, còn bên kia sẽ 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 phức tạp mà bạn đã vất vả tạo ra. Nếu như hệ thống gửi email có vấn đề, bạn không thể giải thích một cách cặn kẽ cho họ hiểu lý do lỗi, 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 để người dùng phải suy nghĩ quá nhiều trước khi quyết định bấm vào nó.

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 còn lại, khi họ luôn luôn cố gắng tối ưu những dòng code mà đôi khi quên mất trải nghiệm cho người dùng. Suy cho cùng các sản phẩm bạn làm ra là để phục vụ cho người dùng, trừ khi đó là sản phẩm phục vụ cho mỗi mình 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 của doanh nghiệp để biết đến tập khách hàng mà họ đang hướng đến. Đó là tiền đề cho tính năng và sản phẩm mà bạn chuẩn bị làm. 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 để hướng đến một môi trường phù hợp với bản thân.

  • 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à "phản hồi" của người dùng khi họ sử dụng, từ đó rút ra câu trả lời cho mình.

  • 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 trong sự nghiệp phát triển. 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 pháp thiên về 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 công nghệ mới 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 được nhiều người yêu thích, 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.

  • 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 chúng ta cần cố gắng hơn nữa.

Tổng kết

Trên đây là những quan điểm của tôi về việc developer có thể đi xa hơn nữa bằng cách trang bị 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ó í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.

Cao cấp
Hello

5 bài học sâu sắc

Mỗi sản phẩm đi kèm với những câu chuyện. Thành công của người khác là nguồn cảm hứng cho nhiều người theo sau. 5 bài học rút ra được đã thay đổi con người tôi mãi mãi. Còn bạn? Hãy bấm vào ngay!

Mỗi sản phẩm đi kèm với những câu chuyện. Thành công của người khác là nguồn cảm hứng cho nhiều người theo sau. 5 bài học rút ra được đã thay đổi con người tôi mãi mãi. Còn bạn? Hãy bấm vào ngay!

Xem tất cả

Đăng ký nhận thông báo bài viết mới

hoặc
* Bản tin tổng hợp được gửi mỗi 1-2 tuần, huỷ bất cứ lúc nào.

Bình luận (1)

Nội dung bình luận...
Avatar
Trịnh Cường2 năm trước

hay lắm bạn ơi, mình cũng có suy nghĩ như vậy

Trả lời
Avatar
Xuân Hoài Tống2 năm trước

Bạn đã có ý tưởng làm sản phẩm nào hay chưa bạn Cường