Định nghĩa không đổi về True Engineer tại True Platform
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 & True Platform, 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.
Xuất phát với Base.vn, và giờ là True Platform, “kim chỉ nam” trên suốt hành trình phát triển 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”.
“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 True?
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 True, 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 True đó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.
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 Customer-Centric như True?
Ở 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 True.
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). Lớp học thuật toán là lớp học đầu tiên (và duy nhất) cho team Dev ở True.
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 ở True 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, True 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. True 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ế ở True đã 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 ở True 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 ở True?
Tôi không dám nhận rằng tất cả các bạn lập trình viên ở True đề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.
Ở True, 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 True, 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 True 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 ở True. 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 Customer-Centric toàn diện như True 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 True giải quyết bài toán của doanh nghiệp, vậy thì lập trình viên ở True tiếp cận những bài toán ấy như thế nào?
Nếu như kiến thức về algorithms 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 ở True 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ì. Ở True, 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.
Được sự kỳ vọng và hướng dẫn trực tiếp từ CEO & CTO Phạm Kim Hùng, thế hệ Software Engineers tại True Platform với đầy đủ phẩm chất, kiến thức nền tảng và niềm đam mê với lập trình sẽ không ngừng nỗ lực, vì một mục tiêu in đậm dấu chân người Việt trên bản đồ công nghệ quốc tế.