Nghề lập trình viên luôn nằm trong top những ngành nghề hấp dẫn nhất với mức lương cao ngất ngưởng cùng cơ hội việc làm rộng mở. Họ là những người giải quyết vấn đề xuất sắc, có suy nghĩ vượt trội và làm việc trong một thế giới đầy năng động. Nghe rất thú vị phải không nào? Đó mới chỉ là khởi đầu bởi vì trong bài viết này, chúng ta sẽ khám phá một số sự thật thú vị và những “góc khuất” về lập trình viên mà chỉ có người trong cuộc mới có thể thấu hiểu qua chia sẻ của anh Vinh Hiển, Senior Developer.
Điều chỉ có người theo nghề lập trình viên mới thấu hiểu
Lập trình là câu đố logic hack não
Mình thường nói vui rằng viết code giống như đang giải đố vậy. Chỉ có điều, không giống các câu đố logic khác như Sudoku, lập trình không có nhiều quy tắc. Bạn có thể đi theo bất kỳ hướng nào và tự xây dựng hầu như mọi thứ. Câu đố đến từ việc bạn biết mình bắt đầu từ đâu và cần có kết quả gì, sau đó tìm ra cách để đạt được điều đó. Điều thú vị là có nhiều hơn một giải pháp và có thể kết hợp nhiều cách với nhau, vì vậy lập trình tuy có khó nhưng cũng thúc đẩy sự sáng tạo. Đây chính là sức hút khiến nhiều người có thể nhìn chằm chằm vào máy tính mọi lúc, gõ lạch cạch cả ngày lẫn đêm rồi đột nhiên hét lên đầy sảng khoái.
“Người theo nghề lập trình viên là sự kết hợp của họa sĩ, nhạc sĩ và đạo diễn hình ảnh với những kỹ năng kỹ thuật điên rồ khiến người ngoài ngành phải bối rối.”
Giao tiếp có mặt trong mọi hoạt động của lập trình viên
Khi nói chuyện với nhiều người ngoài ngành, mình mới biết hóa ra trong suy nghĩ của họ, lập trình viên là một anh chàng vụng về, đầu bù tóc rối, mặt khờ khờ lơ ngơ như bò đội nón, thích ngồi im lìm ở bàn làm việc và chỉ bầu bạn với máy tính hơn là con người. Thực ra thì tụi mình vẫn nói chuyện, trao đổi liên tục ấy chứ. Chỉ có điều là giao tiếp qua các ứng dụng chat hoặc các file dùng chung.
Cũng giống các ngành nghề khác, giao tiếp rất quan trọng không chỉ đối với bản thân người theo nghề lập trình viên mà còn quyết định đến sự thành công với cả nhóm. Để tạo ra sản phẩm cuối cùng hoạt động tốt, các lập trình viên phải làm việc cùng nhau, trao đổi mọi thứ từ cách triển khai, phát triển và chạy thử nghiệm. Không chỉ giao tiếp với sếp, với đồng nghiệp mà có lúc tụi mình còn phải trình bày ý tưởng với khách hàng, giải thích các vấn đề kỹ thuật theo cách dễ hiểu nhất nên giao tiếp tốt là điều không thể thiếu.
Vì quan trọng như thế nên trong các cuộc phỏng vấn lập trình thường xuất hiện các câu hỏi như hãy giải thích một khái niệm kỹ thuật phức tạp cho một đứa trẻ 5 tuổi. Hồi xưa gặp câu hỏi này, trong đầu mình lập tức suy nghĩ: Sao lại hỏi một câu chẳng ra sao hết vậy? Nhưng càng làm thì càng vỡ lẽ. Lý do đằng sau câu hỏi kỳ lạ là để biết ứng viên có khả năng nói chuyện với nhiều đối tượng khác nhau hay không.
Các lập trình viên không phải là một giống người lạ lùng gì đâu nhé. Tụi mình cũng chỉ là những người làm việc theo nhóm, thích chia sẻ kiến thức và sẵn sàng “chém gió” về đủ thứ chuyện trên trời dưới đất chứ không chỉ là các khung JavaScript mới nhất đâu.
Lập trình viên phải viết rất nhiều và không phải tất cả chỉ là viết code
Công việc của người theo nghề lập trình viên là viết mã nhưng chuyện không dừng ở đó. Tụi mình còn viết nhiều hơn thế. Có thể là nhận xét về các mã cũng như thông số kỹ thuật thiết kế hoặc test spec (kịch bản test). Nếu làm ở công ty cung cấp dịch vụ cho khách hàng, lập trình viên cũng cần viết hướng dẫn vận hành. Sau đó là một danh sách dài gồm các phản hồi đánh giá, giải thích các lỗi trong hệ thống, cập nhật tài liệu nhóm, ghi chú cuộc họp và phác thảo các đề xuất thiết kế… Nếu kể ra thì có khi lập trình viên chỉ viết thua các bạn content chứ không đùa.
Dấu chấm phẩy, dấu ngoặc đơn và dấu ngoặc vuông cũng có sức mạnh đáng sợ
Không sợ sao được khi đã dành cả ngày đêm để tạo ra một đoạn mã dài hàng trăm dòng, cẩn thận điều chỉnh để các phần kết hợp với nhau liền mạch, chắc chắn rằng mọi thứ đều ổn và bắt đầu chạy thử thì đùng một cái nó không hoạt động. Lúc đó không còn cách nào khác là phải rà soát lại từ đầu để tìm ra lỗi ở đâu. Khó như mò kim đáy bể nhưng phải mò cho ra. Đây chính xác là cơn ác mộng mà một dấu chấm phẩy, dấu ngoặc đơn, dấu ngoặc vuông bị thiếu hoặc đặt sai chỗ có thể gây ra. Không biết là lập trình viên tụi mình đã mất biết bao nhiêu thời gian cho chúng rồi.
Việc học không bao giờ dừng lại
Công nghệ tiến bộ nhanh chóng, và lập trình cũng vậy. Ngay cả khi các ngôn ngữ lập trình tồn tại rất lâu rồi nhưng vẫn có các bản cập nhật thay đổi rất nhiều. Các libraries, frameworks, công cụ mới xuất hiện hàng ngày và lập trình viên cần phải cập nhật để không trở nên lạc hậu. Điều này sẽ khiến nhiều người cảm thấy áp lực. Đó là lí do vì sao mình luôn gợi ý cho các bạn hãy gắn bó cùng một công việc trong ít nhất 1-2 năm để có thời gian suy nghĩ về những gì cần làm và học cho sự nghiệp của mình.
Đôi khi lười biếng cũng là cái hay
Trong thế giới người theo nghề lập trình viên, “Làm việc thông minh hơn chứ không phải chăm chỉ hơn” là điều cần thiết. Bill Gates đã lặp lại triết lý này khi ông nói: “Tôi chọn một người lười biếng để làm một công việc khó khăn bởi vì họ sẽ tìm ra cách dễ dàng để làm điều đó.”
Sự lười biếng không chỉ thúc đẩy tạo ra những mã đơn giản mà còn tránh lãng phí thời gian. Cuối năm ngoái, tụi mình có một dự án phát triển hệ thống chăm sóc khách hàng rất lớn nhưng nguồn lực hạn chế. Vì vậy để có nhiều thời gian phát triển ứng dụng, tụi mình đã viết nhiều tập lệnh để tự động hóa các tác vụ thủ công như zip logs, xóa tệp, đặt bí danh cho các lệnh dài hơn tạo ra các bộ mã có thể tái sử dụng…
Xin đừng nghĩ lười biếng là nằm dài chờ sung rụng nhé. Lười ở đây là lười thông minh, lười hiệu quả, giúp đẩy nhanh tiến độ ở một vài công đoạn. Tất nhiên là cần kíp lắm tụi mình mới làm như vậy, bởi lười cũng có mặt trái là dễ bỏ qua nhiều lỗi nhỏ mà khi kiểm tra lại mới thấy là cực hình. Vậy mới nói, lười biếng một chút thì vui, lười nhiều chút thì thành ra ố dề.
Lập trình khó nhưng thú vị, theo đuổi nghề lập trình viên cũng vậy. Nếu bạn là người giải quyết vấn đề sáng tạo, thích làm việc theo nhóm và đam mê công nghệ thì đừng ngần ngại nuôi dưỡng ước mơ trở thành một developer hay theo cách nhiều người vẫn gọi vui là kẻ chủ mưu đằng sau các ứng dụng hay ông trùm của các chương trình máy tính hoặc hệ thống cơ sở dữ liệu khổng lồ.
Trang Đoàn