Bí mật duy nhất của siêu sao lập trình

Nội dung bài viết

Thật ra tôi đã đọc bài viết cách đây nhiều năm nhưng bẵng một thời gian tôi không còn nhớ nữa. Nhưng hôm nay có một câu hỏi làm tôi bất ngờ, và sự thẳng thắn của bạn ấy làm tôi phải nhớ tới "The Singular Secret of the Rockstar Programmer" một trong những bài viết nổi tiếng về sự thật của một người lập trình viên giỏi.


 Chính vì vậy tôi xin phép được dịch và thêm thắt cho phong phú, cho nên nhiều ngữ nghĩa trong phiên bản Việt này nó khác nhiều so với bản gốc, nếu có gì sai sót, mong các bạn góp ý nhoé! Bắt đầu xin phép DỊCH...


Quy luật phát triển phần mềm


Đừng nghĩ rằng đó là quy luật phát triển phần mềm, đừng nghĩ rằng đó là sự phát triển của phần mềm có mục đích đặc biệt, đừng nghĩ rằng bản thân nó là công nghệ thiết kế phần mềm. Chỉ có một sự thật quyết định sự thành bại của một lập trình viên phần mềm. Bởi vì kiên định với sự thật này, một lập trình viên cao cấp có thể học một ngôn ngữ lập trình mới trong một ngày hoặc có thể ít hơn là một ngày, còn sự thật mất lòng là một lập trình viên cấp dưới có thể mất 1 tháng trời ròng rã và nghiên cứu. 


Ở đây nói đến TIỀN. Tiền luôn là để hiện thực hóa thiết kế của người khác, và cũng chính tiền là một trong những thước đo chính xác nhất (vẫn có sai trong nhiều trường hợp) cho năng lực của bạn. Nó thể hiện một đẳng cấp khác nhau. A và B bằng nhau nhưng lương A x 3 = B thì bạn nghĩ như thế nào? Sự thật này cho phép bạn thấy sự khác biệt giữa lập trình viên tồi và lập trình viên giỏi, sự khác biệt giữa lập trình viên giỏi và lập trình viên vĩ đại, và lập trình viên vĩ đại có thể tạo ra một tỷ đô la thông qua công nghệ của chính họ. Đó mới thực sự là bản chất của một siêu sao. 


Nó không phải là một lý thuyết phức tạp, nó không phải là một lý thuyết khó. Đó không phải là điều có thể làm được với bất kỳ tài năng hay "siêu năng lực lập trình" nào. Cho dù bạn trở thành một lập trình viên giỏi hay một lập trình viên tồi đều không liên quan gì đến nền tảng của bạn. 

Chỉ có một lý do thực sự, lý do duy nhất: 

Bạn càng hiểu sâu về những gì bạn đang làm, bạn sẽ càng làm tốt hơn. 


Các lập trình viên siêu hạng có hiểu biết sâu sắc hơn nhiều về những gì họ muốn làm so với các lập trình viên tầm thường và trung bình. Đây là lý do. Để trở thành một lập trình viên giỏi, tất cả những gì bạn phải làm là hiểu đầy đủ những gì bạn đang làm. 


Một số người sẽ nói rằng tôi biết tất cả những gì tôi nên biết. Việc xác minh những người nói điều này là để thấy rằng họ có khả năng áp dụng những kiến thức mà họ biết. Anh ta có thể xây dựng một kiến trúc hệ thống hoàn hảo để mọi người có thể dễ dàng duy trì nó không? Liệu anh ta có thể dễ dàng giải quyết một vấn đề mà một lập trình viên bình thường không thể giải được mà không cau mày? Liệu anh ta có thể sử dụng khái niệm đơn giản nhất để giải thích bất kỳ câu hỏi nào khi được hỏi không? Nếu anh ta có thể, thì anh ta là một lập trình viên xuất sắc, anh ta có thể hiểu những gì anh ta đang làm tốt. 


Tuy nhiên, cho dù những người này dường như có "sự toàn trí", nhiều lập trình viên (trong đó có tôi) cảm thấy rằng họ vẫn đang loay hoay trong đại dương kiến thức. Có quá nhiều thứ phải học, một người dành gần như cả cuộc đời để học, nhưng vẫn khó có thể nói là có thể nắm vững 90% kiến thức máy tính. Và vũ khí bí mật trong trận chiến kéo dài này, thanh kiếm của Vua Arthur, cũng như những người đã đánh bại kiến thức máy tính, là một sự hiểu biết thấu đáo . Bạn càng hiểu rõ những điều cơ bản trong lĩnh vực của mình, bạn càng dễ dàng thăng tiến lên cấp độ cao hơn. Bạn càng hiểu rõ cấp độ kiến thức này, bạn càng dễ dàng nắm vững cấp độ tiếp theo, v.v. 


Khi bạn đã đi từ kiến thức đơn giản nhất, cơ bản nhất đến lý thuyết phức tạp và nâng cao nhất, bạn có thể xem lại từ đầu, lúc này bạn sẽ ngạc nhiên khi thấy rằng vẫn còn rất nhiều kiến thức cần học ở mức thấp nhất. và mức thấp nhất. Có vẻ như sự thật này quá đơn giản để được nhìn nhận một cách nghiêm túc, nhưng đây là sự thật. 


Con đường trở thành một lập trình viên xuất sắc là sự hiểu biết chuyên sâu hoàn chỉnh, bắt đầu từ việc nắm vững những kiến thức cơ bản nhất, sau đó dần dần nắm bắt những kiến thức nâng cao hơn. Tôi không muốn nói dối bạn - đó là một cuộc hành trình dài. Nhưng bạn là giá trị nó. Ở cuối con đường, bạn sẽ chợt thấy rằng mình đã trở thành một lập trình viên cao cấp một cách kỳ diệu và được mọi người kính trọng. 


Bạn có thể trở thành một lập trình viên ma thuật, một lập trình viên không thể bị bất cứ điều gì gây khó khăn, một lập trình viên mà các lập trình viên khác phải ghen tị. Ai có thể dự đoán nó? Tôi không thể cho bạn biết bạn nên làm gì hoặc trở thành gì. Nhưng tôi có thể nói với bạn rằng tôi đã tìm thấy một số chân lý thực sự và những điều có giá trị. Làm như thế nào là tùy thuộc vào bạn. 


-Max
Bài viết gốc: Tại đây

Có thể bạn đã bị missing