Thứ Sáu, 12 tháng 10, 2007

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ỏ”.

Ngay 12/04/2016

Cuộc sống không dễ dàng, nhất là khi bạn lên kế hoạch đạt được điều gì đó có giá trị. Đừng chọn con đường đi dễ dàng. Hãy làm điều gì đó phi...