xDay 28 diễn ra ngày 8/4/2018, tôi tham gia với vai trò người dẫn chương trình, trao đổi với khách mời là anh Lưu Trọng Hiếu – CTO của VelaCorp. Chủ đề của buổi trao đổi hôm đó là “Những ngộ nhận của một lập trình viên“. Nhân dư âm của buổi hôm đó, tôi cũng muốn chia sẻ về những ngộ nhận của tôi khi bắt đầu bước vào nghề lập trình.

Khi bắt đầu bước vào nghề lập trình, bản thân tôi cũng có rất nhiều ngộ nhận. Xin chia sẻ ở dây và rất hy vọng  nó có ích cho các bạn!

Ngộ nhận 1: Lập trình viên giỏi phải là những người giỏi toán

Tôi học cấp 3 trường chuyên, lớp tôi học là lớp chuyên Toán – Tin, và những bạn ở trong đội tuyển Toán hoặc Tin thì đều là những người rất giỏi Toán. Vì thế tôi nghĩ lập trình viên giỏi thì hẳn phải là những người rất giỏi Toán. Nhưng khi đi làm (công ty tôi làm đầu tiên là Viettel), tôi nhận thấy những lập trình viên hiệu quả nhất là những người hiểu được vấn đề mình giải quyết. Những bạn đó không hẳn quá xuất sắc về Toán, nhưng do hiểu được vấn đề mình đang làm nên các bạn lập trình thực hiện nó đúng với nhu cầu mà sản phẩm cần. Và điều đó khiến các bạn ấy trở thành những lập trình viên giỏi.

Ngộ nhận 2: Phải đam mê mới có thể lập trình

Đây là một ngộ nhận không chỉ riêng với lập trình, mà là một ngộ nhận với tất cả mọi thứ trước đây tôi nghĩ. Tôi đã từng nghĩ mình phải tìm một thứ gì đó đam mê để có thể làm nó hăng say. Cho đến khi tôi vào làm ở Topica. Ở Topica, mọi người sẵn sàng làm tất cả mọi thứ để đạt được mục tiêu công việc, dù đó là việc của người khác, là việc không phải chuyên môn của mình. Có những bạn làm tài chính nhưng rất say mê học lập trình, và tự lập trình các script để tối ưu hóa công việc hàng ngày. Tôi nhận ra lập trình (cũng như những công việc khác) không cần phải yêu từ đầu mới đam mê, mà quá trình tìm hiểu từng dòng code, từng logic xử lý sẽ khiến mình đam mê nó.

Ngộ nhận 3: Sau 2 năm đi làm, nghĩ mình là senior (cấp cao)

Trong phần lớn thời gian học đại học và thời gian đi làm 2 năm đầu, tôi làm về Trí tuệ nhân tạo (AI) – một lĩnh vực mới mẻ và khá HOT thời gian gần đây. Tôi được khá thoải mái trong phạm vi công việc của mình. Và tôi nghĩ mình đã đạt đến trình độ senior về Trí tuệ nhân tạo. Cho đến khi tôi được giao giải quyết một vấn đề thực tế cần ứng dụng Trí tuệ nhân tạo. Loay hoay vài tháng tôi vẫn chưa đưa sản phẩm ra sử dụng được. Rất nhiều việc mà trước đó tôi chưa hình dung được khi tự mình giải quyết vấn đề: nghiên cứu thực trạng, đưa ra phương án, làm việc với người dùng, lựa chọn các giải pháp kỹ thuật khác nhau để đưa ra các lựa chọn cho người dùng,… Một người senior phải thực hiện được các việc này. Đó là lúc tôi nhận ra mình còn nhiều thứ cần học, thực hành để đạt đến trình độ senior.

Ngộ nhận 4: Lập trình viên là phải làm những hệ thống phức tạp, cao siêu

Bị ảnh hưởng từ những bộ phim Mỹ về các lập trình viên, hacker xây dựng nên những phần mềm có thể điểu khiển cả thế giới, tôi đã từng nghĩ rằng tôi sẽ chỉ lập trình những hệ thống phức tạp, cho hàng triệu người dùng. Tôi đã từng thắc mắc: sao mình phải code những tính năng cơ bản, nhỏ thế này? Đến khi về làm ở FUNiX, phải chịu trách nhiệm cho các hệ thống IT ở đây, tôi mới hiểu ra các hệ thống IT được xây dựng nên với mục tiêu hỗ trợ người sử dụng đạt được hiệu quả công việc cao hơn, dễ sử dụng hơn, ổn định hơn, không quan trọng là hệ thống đó có 100 người dùng hay 1.000.000 người dùng. Lập trình viên giỏi là những người nhìn thấy được các yếu tố mà nếu công nghệ thông tin hóa thì sẽ giúp tăng năng suất của tổ chức. Các hệ thống đó có thể rất đơn giản – nhưng mang lại hiệu quả cao!

Phía trên là các ngộ nhận của tôi, mà theo thời gian làm việc tôi đã ngộ ra! Hi vọng là nó có ích cho các bạn chuẩn bị theo đuổi con đường của một lập trình viên.

Đoàn Thế Vinh

IT Manager ĐH Trực tuyến FUNiX