(Post 14/09/2006) Tại Aptech, các bạn được
đào tạo rất bài bản các kỹ năng để có thể trở thành một lập trình viên
chuyên nghiệp. Có lẽ sẽ thật không đúng khi nói rằng có ai đó học Aptech
không phải để trở thành lập trình viên. Nhưng các bạn đã bao giờ suy nghĩ
liệu mình có thực sự hợp với nghề lập trình, hay nói khác đi, bạn có hội
tụ đủ những yếu tố để trở thành một lập trình viên chuyên nghiệp?
Nếu các bạn quan tâm đến vấn đề tôi vừa nêu trên, bài
viết này sẽ giúp cho các bạn có một cái nhìn khái quát nhất các đặc điểm
và tính chất của một lập trình viên giỏi, các ưu điểm và khuyến điểm của
nghề này so với các công việc khác. Từ đó, các bạn có thể xác định được
liệu mình có chọn đúng nghề thích hợp hay không?
Lập trình viên là gì?
Để làm nghề lập trình, trước hết các bạn phải hiểu thế
nào là lập trình viên. Thật khó có thể đưa ra một định nghĩa chính xác.
Tuy nhiên, tôi có thể nôm na rằng Lập trình viên là người thiết kế, xây
dựng và bảo trì các chương trình máy tính (phần mềm). Bằng cách thao tác
các đoạn mã (các ngôn ngữ) trên các công cụ lập trình, họ có thể tạo ra
các chương trình mới, sửa lỗi hay nâng cấp chương trình đó để tăng tính
hiệu quả của việc sử dụng máy tính. Nếu các bạn vẫn còn băn khoăn không
hiểu liệu mình cần có những gì để trở thành một lập trình viên, tôi có
thể nêu ra một số nhân tố thiết yếu cần phải có để bạn so sánh.
Khả năng suy nghĩ một cách logic
Trong lập trình thì logic chính là điều quan trọng nhất.
Các bạn phải có khả năng giải quyết triệt để một vấn đề bằng phương pháp
suy luận logic. Chính vì vậy, nếu không có khả năng suy luận logic thì
tôi có thể khẳng định rằng lập trình không phải là công việc phù hợp với
bạn. Bạn sẽ trở nên hoàn toàn mất phương hướng khi theo đuổi các đoạn
code của chương trình, các vấn đề về debug (gỡ rối), về lỗi... và hầu
như trong mọi trường hợp bạn sẽ không tìm được giải pháp đúng nhất cho
vấn đề.
Khả năng tiếp cận vấn đề có thứ tự và luôn chú
ý tới chi tiết
Các lập trình viên mất rất nhiều thời gian trong việc
kiểm tra hàng ngàn, hàng vạn dòng mã phức tạp. Vì vậy họ rất cần giải
quyết vấn đề một cách có thứ tự. Chú ý tới các chi tiết nhỏ cũng rất quan
trọng. Việc thiếu vài thứ tưởng chừng tầm thường như một dấu chấm, dấu
phẩy cũng có thể khiến bạn mất nhiều ngày để tìm lỗi.
Các chương trình của các lập trình viên giỏi luôn dễ
đọc và có rất nhiều chú thích để chỉ rõ tại sao họ lại viết đoạn mã như
vậy và cái gì sẽ xảy ra trong chương trình. Vì vậy, bạn cần có kỹ năng
truyền đạt thông tin tốt cũng như viết chương trình của mình một cách
mạch lạc, có cấu trúc.
Khả năng làm việc nhóm
Thật khó có thể tưởng tượng một dự án lập trình có thể
được thực hiện bởi một người. Công việc ngày nay thường đòi hỏi sự cộng
tác của cả một đội ngũ lập trình viên. Chính vì thế, khả năng làm việc
nhóm là rất quan trọng. Bạn phải biết cách phối hợp công việc với cộng
sự, khả năng thuyết trình, giao tiếp, ứng xử của bạn sẽ được sử dụng tối
đa trong môi trường làm việc này.
Khả năng làm việc một mình trong thời gian dài
Tuy khả năng làm việc nhóm là rất quan trọng nhưng bạn
cũng phải có khả năng làm việc độc lập. Phần lớn công việc của một lập
trình viên đều liên quan đến việc ngồi trước màn hình máy tính, đọc/viết
mã và các loại tài liệu khác. Nếu bạn cảm thấy thú vị khi ngồi hàng giờ
đọc một quyển sách thì có lẽ bạn cũng thích hợp với nghề lập trình. Bạn
cần phải biết cách tổ chức tốt công việc và thời gian của mình để thực
hiện các công việc trong thời hạn của dự án.
Các kỹ năng thiết kế
Công việc phân tích và thiết kế luôn là công việc rất
quan trọng của lập trình. Bạn có thể phải thiết kế toàn bộ một hệ thống
cho kinh doanh, bao gồm các bảng lưu trữ thông tin, các giao diện để nhập
xuất thông tin hay các tài liệu kỹ thuật liên quan đến chương trình...
Bạn phải giỏi trong việc lắng nghe và chuyển đổi các yêu cầu của các khách
hàng đơn lẻ, các nhóm khách hàng và thậm chí cả việc kinh doanh thành
các ứng dụng. Các chương trình của bạn phải dễ dùng và có hiệu quả cao.
Do vậy, bất kỳ kỹ năng thiết kế nào của bạn cũng sẽ rất hữu ích trong
lĩnh vực này.
Tính kiên nhẫn
Các vấn đề mà các lập trình viên phải giải quyết thường
là các vấn đề khó có thể giải quyết ngay lập tức. Nó mất nhiều giờ, nhiều
ngày, thậm chí nhiều tháng làm việc một cách cẩn thận để giải quyết, tìm
hướng đi. Nhiều khi bạn đi sai hướng lại phải quay lại giải quyết từ phần
đã giải quyết đúng và bắt đầu lại.
Khả năng tự học cao
Không trường lớp nào có thể đào tạo cho bạn tất cả những
thứ bạn cần cho công việc lập trình sau này. Chính vì thế, khả năng tự
học qua sách vở, tài liệu, internet và qua cả bạn bè nữa là không thể
thiếu. Kết hợp với những dự án làm việc trong thực tế, bạn sẽ dần dần
thành thạo những gì mình đã tự học được.
Các mặt tốt của nghề lập trình
Thu nhập
Tiền lương của một lập trình viên thường rất khá, khởi
điểm thường là khoảng 200 USD. Kể cả những lập trình viên mới và có thu
nhập thấp nhất cũng vẫn có thu nhập cao hơn mức trung bình của cả nước.
Nhiều công ty sẵn sàng chi trả những khoản tiền lương kếch xù để thu hút
những lập trình viên giỏi. Đó là chưa kể các khoản tiền thưởng, bảo hiểm
và các phí dịch vụ khác.
Niềm vui trong công việc
Cảm giác giải quyết được một vấn đề khiến bạn phải đau
đầu nhức óc hàng giờ, thậm chí hàng tuần phải nói là rất phấn chấn. Việc
lập trình thường là sự pha trộn giữa các dự án lớn và các lỗi nhỏ cần
phải sửa và cả hai vấn đề trên đều có sự hứng thú riêng của nó – cảm giác
của việc hoàn tất một dự án lớn hoà với niềm vui khi sửa được những lỗi
chương trình nhỏ và làm cho người dùng hài lòng hơn với chương trình của
mình.
Tự mình quyết định
Nếu bạn là người ghét bị người khác bắt phải làm việc
này như thế này, làm việc kia như thế ấy và chỉ thích tự mình đưa ra cách
làm cho công việc của riêng mình thì bạn sẽ hài lòng với việc lập trình.
Cấp trên của bạn sẽ giao cho bạn các công việc và có thể đưa ra một vài
ràng buộc về chúng như thời gian hoàn tất, trình tự thực hiện nhưng chính
bạn là người quyết định phải giải quyết công việc như thế nào.
Các khó khăn
Dễ lâm vào cảm giác chán nản
Có lần, tôi phải mất cả ngày để giải quyết một vấn đề
và hoàn toàn bế tắc. Sau đó, tôi nhận ra rằng lỗi trong chương trình chỉ
là một dấu chấm bị thiếu. Chắc bạn cũng có thể hiểu được cảm giác của
tôi lúc đó, cực kỳ bực dọc và chán nản. Đôi lúc bạn sẽ gặp những tình
huống mà bạn sẽ chỉ muốn vứt quách cái computer vào sọt rác cho rồi. Nhiều
khi bực dọc và chán nản là không thể tránh được. Tuy nhiên, vấn đề càng
phức tạp thì niềm vui có được khi giải quyết được chúng càng cao.
Làm thêm giờ là việc thường xuyên
Ít có lập trình viên nào tự nhận là mình chỉ làm theo
giờ giấc quy định của công ty. Áp lực về thời gian và khối lượng công
việc đối với lập trình viên là rất lớn. Nếu phần việc của bạn có thể khiến
cho cả dự án trễ một ngày thì bạn không thể từ từ giải quyết chúng được.
Trong đa số trường hợp bạn phải tự mình làm thêm giờ mà không có thêm
khoản lương phụ trội nào.
Lập trình không phải là một việc dễ dàng
Đây là một công việc đòi hỏi kỹ năng cao và bạn phải
luôn có khả năng tập trung tối đa vào công việc mình đang làm. Nhức đầu
là một bệnh rất thường gặp của các lập trình viên. Có khi bạn đang nằm
ngủ nhưng trong đầu vẫn là những hình ảnh của những đoạn mã chương trình
đang nhảy múa, những vấn đề nan giải trong ngày cứ thế mà hiện ra khiến
bạn luôn trong tình trạng phải suy nghĩ. Nếu bạn muốn có một công việc
không căng thẳng, không stress thì đừng nên làm lập trình.
Có lẽ, bây giờ các bạn đã có thể tự trả lời câu hỏi tôi
nêu ở đầu bài viết cho chính bản thân mình. Tuy nhiên, không có một công
thức chung nào cho nghề lập trình. Những vấn đề tôi nêu trong bài viết
này chỉ là những đánh giá cá nhân của riêng tôi, qua những gì tôi đã tiếp
xúc trong thực tế. Còn đối với các bạn, cái quan trọng là có niềm đam
mê lập trình. Điều đó sẽ làm cho các bạn có được niềm vui trong công việc,
để những khó khăn của nghề lập trình chỉ còn là “chuyện nhỏ”.
Tiến Thuận
(theo Nội san Aptechite) |