Tôi không phải là lập trình viên thực sự?

Hiện tại mình là một system engineer, nhưng mà ban đầu mình không apply vào vị trí này: Bốn năm trước mình bắt đầu bước vào công ty với vị trí là lập trình viên support chính thức đầu tiên.

Dù đã làm ở vị trí khác nhưng mình vẫn thích gần gũi với team support. Có cậu em làm support engineer trong team hiện tại thường thích gửi cho mình những code snippet mà cậu ấy viết để trao đổi về nó hoặc khoe về mấy điều hay ho cậu ấy học được. Và một ngày nọ cậu ấy gửi cho mình cái này:

“Một lập trình viên thực sự là [….]?, bữa giờ làm việc em thấy mình không phải là lập trình viên đúng nghĩa cho lắm”

Image result for exhausted meme gif

 

Công việc của mình thật ra khá bận rộn và mình cũng không phải là người trả lời tin nhắn ngay lập tức. Thế nên mình đã quay lại sau bữa trưa và trả lời như sau:

“Đừng bao giờ nói rằng mình không phải là lập trình viên

vì mày là lập trình viên mà”

cậu ấy đáp lại rằng “anh biết ý em là gì mà. em chỉ toàn “ráp” mọi thứ lại với nhau”

Đương nhiên là mình biết ý cậu ấy là gì. Mình luôn muốn trở thành một lập trình viên – Ngay từ khi còn nhỏ mình đã thích vọc mấy cái máy tính cũ của ông già, script trên những máy tính vẽ đồ thị trên trường, đòi cuốn dạy code C++ mua ở nhà sách cũ. Mình cũng khá thân với các giáo viên dạy trên trường, thậm chí tôi còn xin một một job code web dạo bán thời gian. Sau khi tốt nghiệp, mình tiếp tục học tiếp lên đại học. Nghe có vẻ tương lai rộng mở đúng không?

Có thể bạn muốn xem:

  Tự học một cách chủ động từ dự án và đồng nghiệp
  6 điều tôi vỡ lẻ khi tự học code (P1)

Tuy nhiên, mình cũng gãy gánh bỏ học đại học giữa chừng và mất hơn 10 năm liên tục cố gắng rồi thất bại rồi lại tiếp tục cố gắng để trở thành một lập trình viên / developer chuyên nghiệp. Khi cơ hội việc làm ở công ty A tới (Giấu tên để sếp khỏi biết), mình đã chuyển từ support sang software QA, và nghĩ rằng mình đang ngày càng tới gần “công việc mơ ước” của mình. Khi làm việc tại A (sau đó là Risk I/O) – một startup với những con người thú vị, thông minh và tuyệt vời, mình thật sự quá ngán và không muốn quay lại vị trí support nữa. Mình vẫn muốn trở thành một lập trình viên thật sự, và mình đã dành nhiều năm làm việc bên cạnh các lập trình viên thực sự mà không thể làm chính xác như những gì họ làm.

Công ty A là một công ty rất khác biệt. Mình được truy cập vào GitHub. Mình có cả dev instance của riêng mình. Mình được dạy cách create và merge các PR và xem code của mình được triển khai để sản xuất. Đúng là Mình đang ở vị trí support, và mình vẫn phải thực hiện các cuộc gọi để hỗ trợ kỹ thuật, nhưng cảm ơn trời, cuối cùng mình cũng được học và viết Ruby. Thậm chí sau này có một engineer mới vô nói với mình rằng “A nh không biết chú là support đó, Anh nghĩ chú cũng rất có khiếu code giống mấy anh em ở đây đó nha”.

Sau đó mình có ít thời gian để vọc code hơn và ngập đầu trong công việc support bởi vì client của chúng mình phát triển quy mô và độ phức tạp. Rồi thì công ty cũng bắt đầu phát triển đội ngũ support và thuê thêm một số support engineer, những người sẽ thực hiện công việc đó tốt hơn mình. Đây cũng là một cơ hội để mình chuyển sang những platform/system/operation side của công ty.

Rồi mình đổi sang công ty B (lại giấu tên), mình được làm công việc backend, infrastructure. Mình làm việc khá hợp với Red Hat, Ubuntu và những thứ khác trong nhiều năm, nhưng mình vẫn chưa làm tốt trong việc quản trị hệ thống Linux. Sếp của mình cũng khá nice VÀ đã cho mình thêm cơ hội, và hy vọng Mình sẽ phát triển đến trình độ system engineer mà họ cần.

Đó là một vài năm trước, còn bây giờ mình cảm thấy mình đã làm tốt công việc của một system engineer – nhưng mình có phải là một lập trình viên thực sự không?

Khi cậu em support engineer kia nói: “Em không phải là một lập trình viên thực sự,  em chỉ gắn mọi thứ lại với nhau”. Mình đã trả lời lại rằng:

“Đó chính xác là việc của anh em mình”

“Chú quá biết rồi còn gì”

Đó không phải chính xác những gì một lập trình viên làm ư? Năm ngoái có một bài viết tuyệt vời nói rằng “Phần lớn Software Engineering trong năm 2018 là như một hệ thống cấp nước” và nó đúng ở quy mô lớn như khi đơn giản là lấy các string từ các log file.

Mình biết rất nhiều người trong ngành công nghệ bị Hội chứng tạm gọi là Kẻ mạo danh (Imposter Syndrome), và thật sẽ rất khó cho những support engineer – những người không có chữ “developer” hay “programmer” trong tên nghề nghiệp. Mình dành hầu như cả sự nghiệp của mình với những con chip, nhưng nhờ những con người tuyệt vời xung quanh mà mình đã may mắn rũ bỏ được tâm lý đó.

Các bạn nếu có cảm thấy giống mình, thì hãy tự tin lên nha, vì lập trình viên cũng có nhiều hình thái. Mình tin tất cả chúng ta đều là lập trình viên thực thụ.

Tìm việc IT lương cao, đãi ngộ tốt trên TopDev ngay!