Làm người tử tế: Lập trình viên tử tế

Lập trình viên tử tế ư? Tại sao lại có từ tử tế?

Tôi đã nghe hơn nghìn lời "tâm sự" từ các lập trình viên, từ non trẻ đến nhiều kinh nghiệm. Dù nhân duyên dẫn các bạn đến nghề lập trình là gì, thì nhìn chung các lập trình viên đều có chung một mong muốn:
* Có được một nghề nghiệp ổn định lâu dài.
* Được xã hội tôn trọng công việc của mình.
* Làm giàu cho bản thân.
* Để lại dấu ấn trong cuộc sống.

Khi các bạn (tự thấy) thỏa mãn những điều đó, các bạn hạnh phúc trong nghề nghiệp. Tôi gọi các bạn đó là Viết mã viên Hạnh phúc (VMVHP).

Nhiều người, kể cả rất nhiều kinh nghiệm trong nghề, vẫn loay hoay tìm lời giải để thỏa mãn, để hạnh phúc. Mọi người loanh quanh trong việc VẬT LỘN với các thay đổi của môi trường: công nhệ thay đổi, công việc thay đổi, nhu cầu thay đổi, mà không có cái nhìn tổng thể, không biết NÊN hay KHÔNG NÊN làm hoặc học hỏi điều gì, do đó không thể đạt được điều mình muốn. Chúng ta không có HƯỚNG ĐI.

Chúng ta không có một la bàn dẫn đường để đưa chúng đến đích. Tôi có một cái la bàn nhỏ. Nó không phải là bản đồ, nó không phải GPS, nó là một cái kim nho nhỏ. Tôi nhắc trước là: Nó không giúp bạn xác định được mọi việc có đúng hay không, nhưng nó sẽ nhắc nhở các bạn rằng: Liệu ta có đang đi đúng hướng hay không.
La bàn đó là: Viết mã viên tử tế.

Tôi không thể chứng minh được cái la bàn là đúng hay sai, nên tôi không chứng minh nó. Hãy giả sử rằng: "Nếu điều đó đúng", hãy thử sử dụng cái la bàn của tôi để xử lí một số câu hỏi mà chúng ta hay gặp.

Câu hỏi 1. Tôi nên học ngôn ngữ lập trình gì?
Trả lời: Các bạn hỏi câu này chắc chắn đang sốt ruột với sự thay đổi về ngôn ngữ. Mới đây là Java, sau đó là dotNet, rồi đùng một cái là PHP. Bây giờ đi đâu người ta cũng ca tụng Javascript để trở thành fullstack developer. Học cái gì cho hot? Học cái gì để lương cao?

Tôi nhận thấy cứ mỗi 10 ~ 15 năm. Ngôn ngữ lập trình hot sẽ thay đổi. Vậy nên bạn đừng hi vọng chuyện ngôn ngữ lập trình sẽ khiến bạn trở nên giàu có và hạnh phúc. Framework trên ngôn ngữ lập trình có chu kì còn ngắn hơn cho nên bạn cũng quên luôn chuyện trở thành cao thủ khi chỉ biết một framework.

Lời khuyên của tôi là: Biết ngôn ngữ gì không ảnh hưởng gì đến việc bạn trở thành lập trình viên tử tế. Nên biết ngôn ngữ gì không quan trọng.

Bạn học tất cả ngôn ngữ! Hoặc, bạn học ngôn ngữ gì cũng được! Tôi thấy 2 câu trả lời đó là như nhau vì ngôn ngữ lập trình không thay đổi đáng kể số tiền bạn có được trong dài hạn.

Câu hỏi 2. Em nên làm theo công nghệ, platform gì? Destop, Mobile, Web, hay AI…?
Trả lời: Công nghệ sẽ thay đổi sau mỗi 20 ~ 25 năm. Destop dần ít đi, Web đang lên đỉnh, Mobile là xu hướng mạnh mẽ, AI là tương lai… Công nghệ rồi cũng thay đổi.

Lời khuyên của tôi là: Làm trên công nghệ gì cũng không ảnh hưởng gì đến sự tử tế của bạn. Hãy nghĩ luôn rằng: là một lập trình viên, công nghệ với tôi cũng không quan trọng. Tôi sẽ nắm được công nghệ đó, rất nhanh thôi.
Vậy nên bạn không cần vội vàng hay sốt ruột với sự thay đổi về công nghệ. Việc bạn liên tục nhảy từ công nghệ này sang công nghệ khác sẽ biến bạn thành: "kẻ vuốt đuôi". Bạn không kịp giỏi một cái gì khi nó lên đỉnh của xu hướng, hẳn nhiên không ai trả tiền nhiều cho người không giỏi (mà cũng không được tôn trọng luôn).

Tôi quen vài bạn lập trình C/C++ trên Unix từ thời sinh viên. Sau nhiều năm, họ thành master cái khoản đó, nghe đồn các cậu ấy không nghèo một tẹo nào.

Câu hỏi 3. Thế con đường sự nghiệp của em tại công ty thì như thế nào?

Trả lời: Mỗi một công ty có một nghiệp vụ khác nhau để kinh doanh. Công ty cần làm tiền. Thực tế cho thấy, công ty sẵn sàng hi sinh sự tử tế trong mã nguồn để đổi lấy tiền. Công ty Outsource hoặc Product đều có tầm nhìn khác nhau và chắc chắn là trong tầm nhìn đó không có bạn, nếu có thì cũng chỉ vì tiền mà thôi.

Lời khuyên: Đừng phụ thuộc vào con đường sự nghiệp của công ty. Sự nghiệp của công ty không ảnh hưởng gì đến sự tử tế của bạn. Sự nghiệp của bạn sẽ phụ thuộc vào một công ty Outsource làm WordPress hay một công ty bán hàng online? Thôi quên đi.

Câu hỏi 4. Thế phải học cái gì?

Trả lời: Ngôn ngữ không quan trọng, công nghệ sẽ thay đổi, công ty không quan tâm đến bạn. Đừng phụ thuộc vào chúng.

Lời khuyên là: Học bất kì cái gì giúp bạn tạo ra những dòng mã tử tế! Để viết mã một cách tử tế, bạn phải biết nguyên lí của việc viết mã tử tế, rồi phải hiểu các thiết kế – cách tư duy để tạo ra mã tử tế, bạn cũng cần biết kĩ thuật viết mã tử tế, bạn cũng cần sử dụng các công cụ để giúp bạn tạo ra các đoạn mã tử tế. Sau rốt bạn phải luyện tập để tử tế một cách thành thạo.

Bạn biết không, nếu bạn tạo ra những dòng mã tử tế: Không bug, dễ bảo trì, dễ đọc, dễ mở rộng, nhanh và đơn giản. Người ta sẽ trả rất nhiều cho bạn.

Câu hỏi 5. Thế phải học trong bao lâu?

Trả lời: Cả đời liên tục học hỏi. Đừng kì vọng điều gì quá ghê gớm và nhanh chóng. Mọi chặng đường đề bắt đầu bằng một bước chân, hãy cứ bước đúng hướng, bạn sẽ đến đích thôi.

Mất 3 năm để một lập trình viên từ phọt phẹt trở thành biết việc. Thêm 2 năm nữa để thạo việc và thêm 5 năm nữa để trở thành chuyên gia.

Nếu có thể hãy bay, nếu không hãy chạy, hoặc cứ bước đi, hay cứ bò hoặc lết cũng được. Cứ tiến lên thôi.

Câu hỏi 6. Tại sao tử tế lại quan trọng vậy?

Trả lời: Tử tế giúp bạn có được giá trị dài hạn và bền vững. Bạn sẽ có được NGHỀ NGHIỆP ổn định và lâu dài. Sự tử tế của bạn sẽ được TÔN TRỌNG. Qua đó bạn thu được nhiều LỢI ÍCH. Bạn sẽ có điều kiện để làm điều gì đó ẤN TƯỢNG cho bản thân.

Cuối cùng thì, tất nhiên để tử tế được quả là rất khó, mà không tử tế thì dễ hơn nhiều. Việc dễ thì ta làm trước… Đến khi nào cảm thấy loay hoay thì hãy quay lại đọc bài này, lúc đó nếu đầu bạn có hai màu tóc, đã đến lúc bạn bạn đủ thông minh, chính chắn để bắt đầu làm điều đúng đắn.

One thought on “Làm người tử tế: Lập trình viên tử tế

Leave a Reply

Your email address will not be published. Required fields are marked *