Thời kỳ mê luyện tiếng Anh đã qua, hiện nay các bậc phụ huynh có lẽ đang băn khoăn liệu có nên cho con em họ học phát triển phần mềm từ khi còn nhỏ không?
Nếu các bậc phụ huynh chỉ đang tưởng tượng rằng con cái của họ nên học lập trình để sau này có thể phát triển ứng dụng và phần mềm, tôi nghĩ đó không phải là quyết định đúng. Với sự tiến bộ không ngừng của các công cụ thiết kế và dịch vụ hạ tầng phục vụ cho việc phát triển phần mềm, lập trình trong tương lai có thể sẽ khác biệt rất nhiều so với lập trình hiện tại.
Thực tế, đường ranh giới giữa thiết kế và lập trình front-end sẽ sớm trở nên mờ nhạt, cùng với đó là sự thay đổi trong yêu cầu về các kỹ năng cần có của các nhà phát triển trong tương lai.
Những rào cản sẽ sớm bị phá vỡ
Trong thập kỷ qua, chi phí xây dựng và triển khai sản phẩm phần mềm đã giảm đáng kể so với thập kỷ trước đó. Trong thời kỳ bùng nổ dotcom vào những năm 2000, các chi phí như hệ thống máy chủ, băng thông, bản quyền phần mềm, văn phòng cơ sở, v.v. đã làm cho việc thành lập một công ty Internet tốn kém hàng chục nghìn USD. Tuy nhiên, từ đó, với sự xuất hiện của các dịch vụ hạ tầng đám mây như Amazon Web Services, các công cụ phát triển như GitHub, các framework mã nguồn mở như Ruby on Rails, hoặc các dịch vụ back-end như Algolia, con người có thể thiết kế sản phẩm chỉ với một khoản kinh phí nhỏ so với 10 năm trước. Hiện nay, với đủ thời gian và kỹ năng lập trình, thiết kế (có thể học qua các khóa học trực tuyến miễn phí), bạn có thể xây dựng và triển khai một sản phẩm chỉ với vài trăm USD.
Thiết kế và lập trình ngày càng gần nhau hơn
Mặc dù việc thiết kế sản phẩm không bao giờ dễ dàng như hiện tại, nhưng việc tạo ra một sản phẩm được người dùng yêu thích lại không hề đơn giản. Bạn cần phải hiểu rõ người dùng và có tầm nhìn rõ ràng về cách tạo ra những trải nghiệm tuyệt vời mà họ mong đợi. Thiết kế một sản phẩm được nhiều người yêu thích cũng đòi hỏi một quy trình tỉ mỉ và linh hoạt, trong đó đội ngũ phát triển có thể thử nghiệm và điều chỉnh sản phẩm, mô hình kinh doanh cũng như giá trị sản phẩm một cách nhanh chóng.
Những năm gần đây, giới khởi nghiệp đã tôn vinh xu hướng thiết kế sản phẩm thông qua nhiều giai đoạn thử nghiệm và điều chỉnh, bắt đầu từ nguyên lý 'Khởi nghiệp tinh gọn' (Lean startup). Khởi nghiệp tinh gọn cho rằng bạn không cần phải tạo ra một sản phẩm hoàn hảo ngay từ đầu, mà chỉ cần một sản phẩm MVP (Minimum Viable Product - sản phẩm tối thiểu hoạt động với các tính năng cơ bản nhất, chưa cần đồ họa đẹp hoặc tính năng nâng cao) để nhanh chóng tung ra thử nghiệm phản ứng từ thị trường, rồi tiếp tục nâng cấp và điều chỉnh cả sản phẩm và mô hình kinh doanh theo phản hồi từ người dùng.
Một hệ sinh thái của các công cụ đã được phát triển để hỗ trợ phương pháp khởi nghiệp và kinh doanh mới này. Các công cụ này cho phép các nhóm làm sản phẩm dễ dàng hợp tác và làm việc hiệu quả hơn.
Cụ thể, các nhóm thiết kế sản phẩm không còn phải thiết kế độc lập trên Photoshop như trước mà đã chuyển sang sử dụng các công cụ thiết kế cộng tác như Sketch, Figma, hoặc các ứng dụng cho phép tạo prototype như InVision, Marvell; các công cụ thử nghiệm như UserTesting, Validately, Lookback hoặc các công cụ giúp lập trình viên làm việc hiệu quả với designer như Zeplin.
InVision - công cụ giúp các startup nhanh chóng ra nguyên mẫu sản phẩm trước khi bắt tay vào mã nguồn
Các công cụ này đều hỗ trợ một hoặc nhiều phần trong quá trình thiết kế sản phẩm hiện nay, và điều tuyệt vời là chúng có thể hoạt động một cách trơn tru cùng nhau. Kết quả cuối cùng là việc biến một ý tưởng thành một sản phẩm mẫu có thể đưa ra thử nghiệm với khách hàng trước khi chính thức bắt đầu làm đã trở nên dễ dàng hơn rất nhiều.
Điều này có ý nghĩa gì với việc phát triển front-end?
Trong những năm tới, ranh giới giữa 'thiết kế sản phẩm' và 'phát triển front-end' sẽ dần phai nhạt đi. Nhiều công ty hiện nay đã hướng đến và bắt đầu thuê các chuyên gia 'creative technologist' - những người giỏi cả trong thiết kế sản phẩm và công nghệ web front-end. Những công ty này cũng không đòi hỏi họ phải chuyển thiết kế thành dòng code ngay lập tức.
Sự gần gũi này cũng đang dần trở nên rõ ràng trên các công cụ mà những người làm sản phẩm đang sử dụng. Sớm thôi, các công cụ thiết kế và tạo mẫu có thể thay thế toàn bộ lĩnh vực phát triển front-end và cho phép người dùng tạo ra mã front-end chất lượng cao dựa trên framework mà họ lựa chọn.
Một ví dụ điển hình là Squarespace - sản phẩm cho phép người dùng thiết kế website từ các template có sẵn. Trong khi đó, Webflow cung cấp giao diện kéo thả để tạo ra các website tương tác tập trung vào nội dung. Atomic và Origami lại cho phép người dùng thử nghiệm các ý tưởng thú vị thông qua việc sử dụng các template khác nhau cho từng khối nội dung có sẵn trên website/ứng dụng.
Atomic - một trong những công cụ tạo mẫu phổ biến cho nhóm thiết kế sản phẩm
Đây là những công cụ chủ yếu tập trung vào mặt thiết kế nhưng cho phép người dùng dễ dàng chỉnh sửa và thêm code để hoàn thiện sản phẩm của họ. Hãy tưởng tượng các công cụ này sẽ phát triển như thế nào trong 5 năm tới?
Sự đồng nhất về quy trình, công cụ và kỹ năng này sẽ dẫn đến những thay đổi lớn trong thiết kế sản phẩm như:
- Thay đổi trong đội ngũ thiết kế sản phẩm: Trong tương lai, các nhóm thiết kế sản phẩm có thể sẽ không cần phải có cả designer và nhà phát triển front-end nữa mà có thể tinh gọn hơn bằng cách tuyển chọn những người có cả hai kỹ năng này.
- Chỉnh sửa real-time sẽ trở nên phổ biến hơn: Các nhóm làm sản phẩm có thể cùng nhau chỉnh sửa nó trong một công cụ cộng tác thiết kế để cải thiện sản phẩm và đưa ra những tính năng mới ở tốc độ nhanh nhất có thể.
- Kết quả kinh doanh sẽ được nâng cao: Các nhóm làm sản phẩm hiện nay đã có thể tiếp cận trực tiếp với kết quả kinh doanh để kịp thời tận dụng các cơ hội mới hoặc giải quyết các vấn đề tiềm ẩn trước khi chúng trở nên nghiêm trọng hơn.
Kết
Cuối cùng, câu trả lời cho thắc mắc liệu có nên cho trẻ học code từ sớm là gì? Không thể phủ nhận những giá trị mà đứa trẻ nhận được khi sớm tiếp cận với việc phát triển phần mềm, nhưng có một sự khác biệt lớn giữa việc lập trình và phát triển front-end, và sự khác biệt này đang dần trở nên rõ ràng hơn cùng với sự phát triển của các công cụ hỗ trợ thiết kế và front-end. Nếu con em bạn có khả năng xây dựng và tạo ra trải nghiệm tốt cho người dùng thì rõ ràng nên hướng họ theo học thiết kế và kinh doanh thay vì chìm đắm trong kiến thức lập trình chuyên sâu.
Tham khảo TechCrunch