Loading...

5 năm & 1 định nghĩa không đổi về “engineer”

Share This Post

Share on facebook
Share on linkedin
Share on twitter
Share on email
Reading Time: 10 minutes

Ký thác niềm tin tuyệt đối vào năng lực và tư duy làm sản phẩm của đội ngũ “engineers” tại Base.vn, CEO Phạm Kim Hùng khẳng định, nhiều bạn lập trình viên chỉ cần khoảng 6 tháng để có thể tạo ra những ứng dụng với hàng chục nghìn người dùng.

Những con đường và những khoảnh khắc trong hành trình hơn nửa thập kỷ của Base có muôn hình vạn trạng, mà không phải startup nào cũng trải qua, hay nói đúng hơn, là cũng có cơ hội được trải qua.

Con đường khốc liệt nhất mà Base đã đi qua trong năm đầu tiên vận hành. Khoảnh khắc người founder chỉ còn 500.000đ để về quê ăn Tết. Thời điểm không xoay được tiền mặt để trả lương cho đội ngũ. Khoảng thời gian 3 tháng không khách hàng. Chuỗi ngày loay hoay trong những chiến dịch không kết quả… Chưa có con đường nào thực sự dễ đi.

Hành trình 5 năm của Base.vn đã truyền cảm hứng cho nhiều startup, cùng với đó là cảm hứng chuyển đổi số cho hàng nghìn doanh nghiệp Việt Nam, từ các doanh nghiệp mới thành lập đến những tập đoàn hàng nghìn người. Sản phẩm của Base xuất hiện ở những nhà hàng và quầy uống, các công ty du lịch, kiến trúc, bất động sản, ngân hàng, trường học…

Điều đã dẫn dắt tổ chức này đi đến thời điểm hiện tại, cũng như sẽ tiếp tục là “kim chỉ nam” trên suốt hành trình hàng chục năm sau này, đó là khát vọng xây dựng và tạo lập giá trị của tập hợp những con người có chung một niềm tin “chúng ta đang làm một thứ đáng làm”, như lời khẳng định của nhà sáng lập Phạm Kim Hùng: “Khi có đủ niềm tin, chúng ta sẽ đi được đủ xa”.

Có ý kiến cho rằng, khi một startup đã vượt qua giai đoạn sống còn và bắt đầu tăng trưởng mạnh mẽ, thì một trong những nhiệm vụ chính của CEO lúc này là tìm kiếm và đưa về công ty thật nhiều nhân sự để mở rộng và phát triển đội ngũ.

Anh nghĩ sao về quan điểm này? Base đã đến bước phát triển này hay chưa?

Tôi nghĩ quan điểm này có phần đúng. Tuy nhiên, không dễ để có thể nhận ra được thời điểm đó chính xác là khi nào.

Có một điều mà có thể nhiều người chưa hiểu đúng, đó là “Để build được một thứ gì đó thực sự tốt thì cần phải có một số lượng lớn nhân sự”. Quan điểm này không hoàn toàn sai, nhưng lối suy nghĩ như vậy có thể gây ra cho công ty một bài toán rất khó, và nếu không thể xử lý kịp thời thì sẽ trở nên rất nghiêm trọng.

Ở Base, khoảng thời gian cần thiết để một bạn nhân sự có thể thực sự đóng góp và tạo ra những sản phẩm chất lượng và giá trị là sau 2 năm. Năm đầu tiên là thời gian để học tập và tìm hiểu về văn hóa công ty. Năm tiếp theo là khoảng thời gian để bạn ấy có thể định nghĩa rõ ràng hơn về chính bản thân mình và những mục tiêu muốn đạt được cùng Base. Khi bước sang năm thứ 3 đồng hành cùng Base, bạn ấy có thể trở thành một trong những người cực kỳ quan trọng của công ty.

Sẽ không đúng nếu chúng ta nghĩ rằng chỉ cần thêm nhiều người thì có thể build được những điều tuyệt vời một cách nhanh chóng. Để có thể tạo ra những giá trị thực sự, tổ chức cần phải xây dựng được một đội ngũ là tập hợp của những con người phù hợp với bộ Gen của tổ chức đó.

Có thể nói “sự phù hợp” là yếu tố then chốt trong triết lý tuyển dụng của Base?

Hiện nay, với quy mô hơn 300 nhân sự, tôi vẫn duy trì suy nghĩ chỉ nên đưa về những người thực sự phù hợp. Tất nhiên, giống như bất kỳ vị CEO của bất kỳ công ty nào, tôi cũng mong muốn tìm được những người giỏi, thông minh và tài năng. Nhưng yếu tố quyết định việc một người có hay không trở thành một phần của Base, chính là sự phù hợp. Một người giỏi nhưng không phù hợp cũng có thể là một điều nguy hiểm.

Khi Base đón nhận một thành viên mới, tôi và leader các bộ phận luôn cố gắng làm sao để trao cho người đó những cơ hội và công việc mà năng lực và phẩm chất của bạn ấy có thể làm tốt nhất.

Tôi nghĩ rằng thực sự rất khó để một ai đó có thể tạo ra giá trị cho tổ chức ngay lập tức. Cá nhân tôi không đòi hỏi khả năng ấy ở các bạn nhân sự mới. Đối với tôi, bản chất của việc tuyển dụng cũng giống như đầu tư. Nếu sau 2 năm, một bạn nhân sự không thể đóng góp được gì cho công ty, thì đó là một lần đầu tư thất bại.

Base có rất nhiều bộ phận khác nhau và mỗi vị trí cũng cần đáp ứng những yêu cầu khác nhau. Vậy nếu nói riêng về khía cạnh sản phẩm, một lập trình viên như thế nào sẽ được đánh giá là “phù hợp” với bộ gen của một công ty Product-Centric như Base?

Ở team Product, có 3 yếu tố mà tôi nghĩ là quan trọng nhất để đánh giá mức độ “phù hợp”.

Thứ nhất, chính là phẩm chất engineer. Tôi khó có thể diễn tả rõ ràng được điều này. Tôi nhớ lại bản thân mình trước đây: rất thích lập trình. Hiện tại, tôi vẫn dành rất nhiều thời gian để code mỗi ngày và chỗ ngồi ưa thích của tôi chính là bàn làm việc ở góc trong cùng của khu vực team Product.

Tôi nghĩ phẩm chất engineer xuất phát từ động lực cá nhân và đam mê của mỗi người. Bản thân một bạn Dev cần phải thích lập trình. Chỉ có như thế, bạn ấy mới cảm thấy phấn khích và thực sự tận hưởng sau khi giải được một bài toán. Đây là yếu tố quan trọng hàng đầu, cũng là điều mà không có bất cứ công ty nào có thể đào tạo được.

Thứ hai, nền tảng kiến thức vững chắc về giải thuật và cấu trúc dữ liệu. Nếu một bạn Dev không có hai kiến thức này, thì mọi thứ khác “chỉ có chiêu thức, không có nội công”. Nói cách khác, bạn chỉ đang code theo thói quen, chứ không thực sự hiểu bản chất, và như vậy khó có thể tham gia phát triển sâu và lâu dài các sản phẩm của Base.

Tôi từng phỏng vấn không dưới 200 bạn làm PHP với “nhiều năm kinh nghiệm” nhưng không có kiến thức về thuật toán và data structure. Rất nhiều trong số họ đã thành thật rằng trong suốt 3-4 năm đi làm không cần dùng đến hai kiến thức ấy. Điều này khiến tôi khá bất ngờ.

Trên thực tế, có thể thuật toán không cần phải dùng quá nhiều, nhưng tư duy thuật toán là điều bắt buộc phải có khi giải các bài toán non-trivial. Nếu như phát triển sản phẩm chỉ cần có “crud”, “echo” và stackoverflow thì quá dễ rồi.

Bên cạnh đó, ngay cả việc tối ưu UI/UX với lượng dữ liệu lớn cũng cần đến thuật toán (hoặc Computational Mindset). Tôi lấy ví dụ với app Base Wework, ứng dụng này có phần Gantt phải viết hoàn toàn native js để chạy được với độ phức tạp O(n), khi mà tất cả các plugins bên ngoài đều không làm được vì không thể tối ưu cho 500+ rows.

Lớp học thuật toán là lớp học đầu tiên (và duy nhất) cho team Dev ở Base.

Thứ ba, hứng thú tạo ra những sản phẩm có người dùng. Cảm giác phấn khích khi xây dựng và phát triển những sản phẩm được khách hàng sử dụng hằng ngày cũng là điều mà một Dev ở Base cần phải có.

Ngoài những yêu cầu về mặt kiến thức như đã nói ở trên, Base còn yêu cầu gì khác về độ tuổi hay kinh nghiệm của các bạn ứng tuyển vào công ty không?

Nơi bạn ấy đã học, ngôi trường mà bạn ấy đã tốt nghiệp, xuất phát điểm của bạn ấy… đều không phải là những yếu tố mà chúng tôi dành nhiều sự quan tâm. Base cũng không có yêu cầu khắt khe về độ tuổi hay kinh nghiệm đối với các bạn ứng viên.

Ngoài những kiến thức nền tảng cần phải có, tôi kỳ vọng các ứng viên đều là những bạn fresher. Thực tế ở Base đã chứng minh rằng, đó là các bạn có khả năng phát triển tốt và nhanh nhất. Nhiều bạn Dev trẻ chỉ mất khoảng 6 tháng để có thể tạo ra những sản phẩm chất lượng với hàng chục nghìn người dùng.

Tạm gọi đó là những “yêu cầu đầu vào”, vậy khi đã trở thành một lập trình viên ở Base rồi thì sao? Những kiến thức nào mà các bạn Dev sẽ được trau dồi và nâng cao trong quá trình làm sản phẩm ở Base?

Tôi không dám nhận rằng tất cả các bạn lập trình viên ở Base đều là những người xuất sắc nhất. Nhưng tôi có thể khẳng định rằng tại đây các bạn được tạo điều kiện để trở thành engineer một cách đúng nghĩa, được nghiên cứu và xây dựng những sản phẩm thực sự tử tế một cách độc lập và có thể hiểu rất rõ về trải nghiệm người dùng.

Ở Base, các bạn Dev sẽ cảm nhận được sự khác biệt khi build một sản phẩm enterprise software, cũng sẽ có cơ hội được phát triển về OOP (Object-oriented programming). Để hiểu và làm đúng kiểu kỹ thuật lập trình này là rất khó, các mẫu thiết kế phần mềm chỉ là một tài liệu để tham khảo, không phải là bản chất. Chỉ khi được trải nghiệm thiết kế các hệ thống đủ lớn với một lượng người dùng liên tục tăng nhanh thì bạn mới có thể định nghĩa được như thế nào là một “software engineer” thực thụ.

Các bạn lập trình viên cũng sẽ được phát triển kỹ năng thiết kế hệ thống nâng cao, bao gồm database, caching, logging và service oriented design. Đây có lẽ là một trong những thử thách lớn nhất. Thế nhưng, ngay từ những ngày đầu khi đến với Base, bạn sẽ “được” chiến đấu với nó hàng ngày, xử lý các dữ liệu mang tính server, khi mà hệ thống của Base phải xử lý vài triệu lượt truy cập mỗi tháng, cũng như rất nhiều thứ khác cần được tối ưu liên tục. Tôi nghĩ rằng có rất ít công ty ở Việt Nam trao cho các bạn cơ hội được tiếp cận và giải quyết những bài toán như thế.

Thiết kế database ở quy mô lớn cũng là một kỹ năng mà các Dev sẽ được trau dồi khi làm sản phẩm ở Base. Trong rất nhiều trường hợp, việc đi theo xu hướng và không hiểu bản chất đều phải trả giá đắt.

Và cuối cùng, chính là những kỹ năng về Product Mindset, Platform và Modularity. Tôi nghĩ những công ty Product-Centric toàn diện như Base chính là môi trường phù hợp nhất để trau dồi và nâng cao những kiến thức này.

Các sản phẩm của Base giải quyết bài toán của doanh nghiệp, vậy thì lập trình viên ở Base tiếp cận những bài toán ấy như thế nào?

Nếu như kiến thức về thuật toán và data structure là yêu cầu cơ bản đối với các bạn lập trình viên, thì khả năng tư duy độc lập cũng chính là một yếu tố mà các bạn Dev cần phải có. Khi gặp bất kỳ bài toán nào, bạn cần đưa ra cách giải quyết và phải hoàn toàn độc lập với các yếu tố kỹ thuật.

Khả năng tư duy độc lập là một điều kiện cần để các bạn lập trình viên ở Base có thể tiếp cận được với bài toán của khách hàng.

Ở team Product, chúng tôi thường nói nhiều với nhau về những bài toán của doanh nghiệp, về cách tiếp cận vấn đề, và về những gì mà khách hàng cần ở sản phẩm, chứ ít khi thảo luận về công nghệ được sử dụng hay những thuật ngữ kỹ thuật. Tôi nghĩ yếu tố quan trọng nhất không phải là làm như thế nào – mặc dù đây là nhiệm vụ chiếm phần lớn thời gian – bởi khi bạn có một đội ngũ đủ giỏi với nền tảng kiến thức vững chắc thì vấn đề này không phải là thách thức lớn nhất.

Câu hỏi lớn nhất và khó nhất chính là làm cái gì. Ở Base, lập trình viên được nghe rất nhiều về những “nỗi đau” mà các doanh nghiệp gặp phải. Bản thân tôi luôn kỳ vọng các bạn có thể cởi mở tư tưởng và đón nhận mọi lời khen ngợi cũng như phê bình của khách hàng để học hỏi và rút kinh nghiệm, từ đó tạo ra những sản phẩm tốt hơn với tính ứng dụng cao hơn.

Trong rất nhiều trường hợp, dù đã nghiên cứu rất kỹ và nhiều lần phân tích phương pháp luận của sản phẩm, thì cách tiếp cận vấn đề của chúng tôi có thể vẫn chưa giải quyết được bài toán của doanh nghiệp khi đứng từ góc nhìn của họ. Làm sao để khách hàng cảm nhận được tối đa những giá trị mà sản phẩm có thể mang lại là điều mà tôi luôn trăn trở. Đó cũng là lý do team Product cần phải làm việc trực tiếp với khách hàng để hiểu và cảm nhận “nỗi đau” của họ một cách rõ ràng và thực tế nhất.

Động lực, và cũng là một áp lực thường trực của chúng tôi là làm sao để tạo ra một sản phẩm mà người dùng có thể cảm nhận được giá trị của nó một cách rõ nét nhất. Khi nhìn thấy khách hàng nhận được giá trị từ những sản phẩm của mình, hài lòng với nó và tận hưởng nó… tôi luôn có một cảm xúc rất đặc biệt, vừa phấn khích, vừa bị thôi thúc.

Đó cũng là điều giúp tôi duy trì được sức bền trong suốt mười mấy năm làm công nghệ, trở thành một thứ gì đó kích thích tôi làm việc mỗi ngày và không thể dừng lại được.

Đăng ký nhận thông tin

Tin tức, sản phẩm, công nghệ của Base

More To Explore