Được dịch từ bài viết “How to stand on the shoulders of giants” được đăng trên freecodecamp.
“Tôi có thể nhìn xa trông rộng hơn người khác, là vì tôi đứng trên vai người khổng lồ” – Isaac Newton.
Năm 1676, Isaac Newton gọi những vĩ nhân trước thời ông là “người khổng lồ.” Những kiến thức họ truyền lại đã giúp ông tìm được những khám phá của riêng mình.
Gần 400 năm sau, những người khổng lồ đã cao hơn trước rất nhiều. Họ xuất hiện khắp mọi nơi – không chỉ trong sách vở như ở thời của Newton nữa. Họ xuất hiện trong các thời báo khoa học uy tín, các giải thưởng Nobel danh giá, hay thậm chí các tỷ phú công nghệ như: Bill Gates, Ellon Musk, Larry Page...
Ngày nay với kết nối internet, bạn đã có thể đứng trên vai bất cứ người khổng lồ nào bạn muốn. Chỉ cần bạn có ý chí, bạn hoàn toàn có thể thực hiện được.
Hầu hết mọi người không nhận ra tầm nhìn xa rộng mà họ sẽ có được, nếu họ chịu khó leo đến đó. Họ nghĩ từ nơi họ đang đứng, tầm nhìn cũng đã đủ xa rồi, tội gì phải leo trèo cho cực khổ.
Trước khi đứng được trên đôi vai người khổng lồ, bạn phải chấp nhận rằng bạn chưa thể thấy được mọi thứ. Bạn cần nhận ra rằng, những người khổng lồ này sẽ giúp bạn thấy nhiều, và nhiều hơn nữa.
Hệ điều hành Ubuntu
“Tôi là bản thân tôi bởi vì bản ngã của tất cả chúng ta.” – được phiên dịch từ từ Zulu “Ubuntu”
Ngay cả trong cái tối tăm của loài người thời tiền sử, chúng ta đã bắt đầu thấy hiều nhiều điều thú vị.
Những kẻ khổng lồ bắt đầu xuất hiện, được ca tụng qua ngôn ngữ truyền miệng. Rồi giấy, sách xuất hiện.
Chúng ta ghi chép và lồng ghép từng kiến thức này đến kiến thức khác. Và nhừng khổng lồ càng khổng lồ hơn.
Trả qua hàng ngàn năm, chúng ta nghĩ ra những ý tưởng đột phá và làm ra nhiều thứ hay ho. Những thứ làm thay đổi sự sống trên toàn hành tinh này.
Nhưng chúng ta lại đem những thứ này “nhắm mắt làm ngơ: Họ nói: “Tôi biết mà, tôi sẽ làm nên cả một kỳ tích từ con số không.”
Và họ dấn bước trên một con đường đắt đỏ, để xây dựng ước mơ từ nền đất trọi trơ.
Chúng ta tốn rất nhiều tiền cho phần mềm. Khoảng 60% của con số 2.5 nghìn tỷ đô la chi cho công nghệ mỗi năm, được trích cho phát triển phần mềm và dịch vụ tư vấn phần mềm.
Tính sơ cũng đến một nghìn năm trăm tỷ đô la đấy. Đủ để thâu tóm cả 1.500 công ty như Instagram mỗi năm.
Và không phải lúc nào ta cũng nhận lạ giá trị tương xứng.
Hội chứng "Not Invented Here"
Con người là loài động vật tự cao tự đại. Chúng ta nghĩ rằng ta có thể đổi thay bánh xe lịch sử, cho rằng phiên bản của chúng ta sẽ tốt hơn (nếu không phải là tốt nhất).
Ai mà biết được, có thể bánh xe sẽ được đổi mới tốt hơn. Nhưng nếu nếu chúng ta đang tìm đến một thứ gì đó vĩ đại hơn nữa – như xe hơi chẳng hạn – liệu ta có muốn dành cả đời chỉ để làm mới chiếc bánh xe hay không?
Tự làm nên thứ gì đó của bản thân – là bản chất bất di bất dịch của con người (như làm em bé chẳng hạn – một thứ bản năng từ hoang sơ).
Chúng ta mê mẩn những sáng chế theo chiều đứng, như Ferrari, Rolex, và iPhone.
Chúng ta say mê sự chăm chút theo từng chi tiết.
Chúng ta trầm trồ trước sự thiết kế, thi công, và phân bổ, hài hòa với nhau theo một quy trình có kiểm soát.
Chúng ta cũng muốn những điều tuyệt diệu này đến với bản thân mình.
Nhưng cứ như vậy, chúng ta sẽ sập vào một cái bẫy ngọt ngào làm túng quẫn trí óc của ta, một cái bẫy mang tên “Not Invented Here.”
“Hội Chứng Not Invented Here là khuynh hướng của một nhóm chủ thể quá tin tưởng vào những kiến thức độc đoán trong lĩnh vực của mình, từ đó chối bỏ những ý tưởng mới từ cá thể bên ngoài, đến mức tổn hại cả năng lực hoạt động của chính bản thân nó.” – Ralph Katz và Thomas J. Allen của MIT Sloan School of Management.
Tuy nhiên, bài viết sẽ không cho bạn biết rằng, 34 năm sau, chúng ta vẫn sập vào cái bẫy thiên vị trong nhận thức này.
Ví dụ gần nhất về Not Invented Here là India’s Swayam online course platform. Đáng nhẽ, họ chỉ việc xây dựng dựa trên course platform miễn phí của edX là xong rồi. Đã có hàng tá tổ chức khác làm theo cách này, kể cả nền tảng nỗi tiếng XuetangX của Trung Quốc.
Nhưng không, Swayam phí mất cả 6 triệu đô la tự dựng platform của riêng mình. Và họ lại chi thêm hàng triệu đô nữa trong năm kế tiếp để duy trì giải pháp tự túc của mình.
Số tiền nghe có vẻ không lớn lắm, nhưng hãy đặt con số này bên cạnh con số 30 triệu đô họ trích thêm để trả cho giáo viên thiết kế khóa học mà xem. Đồng thời, nếu cữ platform sẵn có, họ đa ra mắt sớm trước hai năm nữa rồi.
Not Invented Here bắt đầu bằng những suy nghĩ ngây thơ…
“Tại sao ta phải dùng WordPress làm blog chứ? Blog có gì khó đâu. Hay ta cứ tự tạo CMS của riêng mình xem.”
Sau đó người ta bắt đầu mạnh bạo và dấn sâu hơn…
“Tại sao ta phải dùng Sugar CRM để theo dõi donor chứ? Theo dõi donor có khó gì đâu. Thôi cứ tự code CRM cho rồi.”
Và cuối cùng người ta đi đến quyết định vô cùng táo bạo:
“Dùng AWS làm gì nhỉ? Cloud có gì mà khó. Mình sẽ tự dựng data center riêng và tự thực hiện private cloud của riêng mình.”
Nếu không được giải quyết, lối suy nghĩ này có thể dẫn đến những project như HealthCare.gov — project trị giá 90 triệu đô la, tốn của người nộp thuế đến 1,7 tỷ đô la.
Tôi là một trong nhiều người dành hàng tiếng đồng hồ chờ đăng ký bảo hiểm, để rồi thất bại trong gang tấc chỉ vì cái lỗi JavaScript và lỗi "unrespondsive server" ngớ ngẩn.
Trong bức tranh bê bối của Healthcare.gov, 3 bạn lập trình viên ở San Francisco quyết định tận dụng các tài liệu sẵn có. Họ tiếp tục thích hợp thêm một vài public APIs, từ đó cho ra hầu hết tính năng của Healthcare.gov. Và họ đạt kết quả này chỉ với vài trăm đô la, trong vài tuần ngắn ngủi.
Câu chuyện trên đôi vai khổng lồ của bản thân tôi
Hai năm trước, tôi khởi xướng một cộng đồng nhỏ, để những ai bận rộn có thể học cách code cùng nhau.
Tôi phí mất 18 tháng thời mòn mỏi với giải pháp của riêng mình: engine khuyến cáo khóa học, mà hóa ra, chẳng ai muốn dùng đến cả.
Vì thế, tôi bắt đầu đi theo hướng hoàn toàn ngược lại. Tôi sẽ viết càng ít code càng tốt, và chỉ chú ý vào việc tận dụng code của người khác.
Vậy cộng đồng cần gì?
- Phương thức giao tiếp với nhau
- Blog để mọi người chia sẻ ý kiến, kiến thức, và câu chuyện đời mình
- Một bộ giáo trình, và phương thức theo dõi tiến độ của mọi người trong đó
Câu hỏi đầu, "Not Invented Here" trước đó của tôi sẽ:
- Tạo chatroom bằng web sockets, sau đó xây dựng công cụ điều tốc, nhiều API tích hợp, và tìm cách để bảo toàn message qua các session.
- Tạo một blog mới hoàn toàn, tự mình xử lý các vấn đề về thiết kế như: độ dễ đọc, tag, embed, và các tính năng đơn giản ai cũng cần, như RSS chẳng hạn.
- Tạo custom CMS cho các thử thách coding tương tác, sau đó xây dựng hệ thống profile, sao đó thiết kế và lồng ghép giáo trình lập trình chính.
Với bước cuối cùng này, có thể tôi mất đến nhiều năm để tự hoàn thành được.
Và trước khi các bạn "dạy đời" tôi rằng “thời buổi này, chẳng ai ăn no rững mỡ tự ngồi code blog đâu” – Well, tôi đã làm đây này, tôi phí mất mấy ngày trời chẳng để làm gì cả, mấy ngày của cuộc đời tôi sẽ chẳng thể lấy lại được.
Và đây, những công việc mà “tôi” mới, sau 18 tháng thoát khỏi hội chứng Not Invented Here, quyết định sẽ làm.
Lúc ấy tôi chả biết tý Node nào. Nhưng lại may nắm quen biết với những người đã thuyết phục tôi rằng full stack JavaScript là tương lai.
Tôi còn biết về Hackathon Starter, một Node boilerplate nguồn mở. Nên tôi "fork" nó ngay.
Vì đã mất đến 18 tháng trời lùng sục, xem xét, và phân loại hàng nghìn khóa học online, nên tôi biết rõ khóa học nào sẽ hỗ trợ lập trình và khoa học máy tính tốt nhất. Vậy nên thay vì tự thiết kế một giáo trình mới, tôi quyết định tổng hợp các tài nguyên sẵn có.
Về phần chat room, tôi chỉ dùng HipChat. Và với blog, tôi dùng Blogger.
Và chỉ trong 3 ngày, một cộng đồng mới cóng đã lên sóng.
Rất khó dự đoán một giải phép sẽ phát triển thế nào theo thời gian, chỉ từ việc khởi động một ý tưởng, bạn đã học được rất nhiều điều hay rồi đấy (dù có thành công hay không).
Nếu bắt đầu ngay với những giải pháp sẵn có, bạn có thể thay đổi chúng sau, và điều chỉnh trong quá trình phát triển.
Dần dần, cộng đồng của chúng tôi đã thực hiện hàng nghìn tinh chỉnh nhỏ dựa trên những phản hồi nhận được. Chúng tôi cũng chuyển chat room lên Gitter, và blog của cộng đồng lên Medium.
Khi có được đủ số lượng open source đóng góp, chúng tôi tiếp tục thiết kế và đưa vào giáo trình dài 1.200 giờ.
Ngày nay, đến hơn 5000 người từ chính cộng đồng này dấn bước trên công việc đầu tiên của mình với những kiến thức học được tại đây.
Tất cả kết quả này sẽ không thể nào thành hiện thực, nếu tôi cứ khư khư cái tư tưởng Not Invented Here của mình.
Làm sao để leo lên vai người khổng lồ?
Tôi sẽ chia sẻ ba lời khuyên đơn giản, để các bạn cũng có thể nắm bắt được hàng nghìn năm kiến thức trong lòng bàn tay.
Tip #1: Học cách nhận biết Not Invented Here ở bản thân và ở người khác
Hãy chấp nhận rằng, bản năng của con người là tự làm ra của cải của riêng mình. Ví dụ tích cực là một người đam mê tự đóng nội thất theo ý mình. Còn về mặt tiêu cực… là lập trình viên tự triển khai hệ thống bảo mật riêng.
Tip #2: Biết được những công cụ sẵn có
Cách tốt nhất để biết được ta có thể dùng được công cụ nào chính là việc bạn đang làm giờ phút này đây: đọc về công nghệ.
Đa số các project nguồn mở được đặt trên GitHub, tại đây bạn có thể thoải mái xem documantation của từng công cụ. Chỉ trong vài phút, những công cụ này đã sẵn sàng cho deploy ngay trên server của bạn.
Tip #3: Đọc lịch sử.
Tôi chắc rằng giáo viên lịch sử nào cũng đã từng trích dẫn lại câu này, và không thể nào đúng hơn nữa:
“Những ai không đọc về lịch sử chắc chắn sẽ lặp lại vô số sai lầm.” George Santayana – 1905
Có rất nhiều sách hay sách hay về lịch sử của công nghệ. Tôi đề nghị sách của Walter Isaacson (ông cũng đã viết về tiểu sử Albert Einstein và Steve Jobs). Cuốn sách này đặc biệt về lịch sử ngành phần mềm: The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution
Những gã khổng lồ luôn dang rộng bờ vai để bạn trèo lên. Bạn còn đợi gì nữa. Họ sẽ cho bạn thấy được, ngoài kia mọi người còn đang gặp phải biết bao vấn đề, những vấn đề chờ đợi bạn giải quyết.
Techtalk via freecodecamp