Phát triển phần mềm: Từ nghiệp dư thành chuyên nghiệp (P2)

# Viết phần mềm thì cần tập trung.

Đừng là nghệ sĩ, nhà hoạt động xã hội, kẻ khôn lỏi, hay người làm việc tùy hứng cùng lúc với viết phần mềm. Làm phần mềm là một công việc kỹ thuật sáng tạo, nhưng là một công việc kỹ thuật trước tiên. Viết code không phải là đi viết thơ hay viết văn. Viết code là đi viết lệnh mạch lạc để máy tính làm một việc rõ ràng. Làm máy tính là phải học cách làm một người kỹ sư chứ không phải là đi làm nghệ sỹ. Vì thế về mặt kỹ thuật, viết code, viết tài liệu cho phần mềm, viết comment cho code, viết commit message đều phải mạch lạc, rõ ràng và đi vào gốc rễ của vấn đề. Mỗi dòng lệnh bạn viết cần phải có một mục đích cụ thể và duy nhất. Bạn sẽ sai rất nhiều và sẽ phải rất thẳng thắn về việc nhận cái sai của mình.

Về công việc, bạn cần có kỷ cương và làm việc một cách chuyên nghiệp chứ không phải làm tùy hứng. Bạn cần nhận ra đâu là làm có hiệu quả và đâu là làm để lấy le với người khác (trong đó, làm không điều độ, thức đêm hôm là những việc điển hình của người làm việc nghiệp dư).

Khi viết code, người làm nghiệp dư thường mắc phải những lỗi mà mình nghĩ là mình “thông minh.”

Ví dụ, lần đầu tiên mình nhận ra là mình không thông minh như mình tưởng là khi ông giáo sư dạy Khoa học máy tính đi bắt mình những lỗi như không viết dấu {} khi câu lệnh if chỉ có một dòng như thế này:

if (condition) doSomething(); return 0;

Vấn đề của việc viết không có dấu {} là khi người khác làm việc trên code của mình mà muốn làm thêm một việc khác nữa, mà viết như thế này:

if (condition) doSomething(); doSomethingAfterwards(); return 0;

Như vậy mà gặp phải lỗi thì rất khó để nhận ra vấn đề nằm ở đâu. Người làm việc chuyên nghiệp không chỉ biết làm một việc hiệu quả, mà biết làm việc để người khác hiểu được mình, kế tục được việc mình làm và ít bị bất ngờ nhất chứ không phải là người làm ma mãnh khôn lỏi thông minh nhất. Nếu bạn muốn là người tỏ ra thông minh nhất, bạn cần phải tham gia game show chứ không phải đi viết phần mềm.

Một ví dụ cụ thể cho việc một hệ thống không thể hiện sự làm việc chuyên nghiệp là một dự án về trao đổi, lưu trữ tiền (lớn?) mà có những commit message rất kỳ khôi, có khi chỉ là một chữ “n.” Khi người sau tiếp tục kế tục một chân làm phát triển cho công ty như vậy thì họ sẽ không biết tại sao thay đổi đó đã diễn ra, diễn ra để làm gì, vấn đề nó khắc phục là gì, kết quả như thế nào. Như vậy là khi dự án trở nên rắc rối hơn, con người đông lên, việc một câu lệnh làm gì sẽ vượt khỏi tầm tay và có thể có những hậu quả đáng tiếc xảy ra.

# Nhiều tiền hay nổi tiếng không phải là vấn đề

Mình nghĩ một cạm bẫy lớn của các bạn trẻ (teen) là nghĩ việc làm của mình rất tốt, rất quan trọng nếu như mình làm được tiền hoặc sự chú ý của ai đó. Bạn sẽ gây dựng nên được Microsoft hay Facebook vì bạn thu được một ngàn đô la một tháng vì bạn nghĩ ra một điều gì đó mọi người đang cần. Mình nghĩ việc nông nổi đó sẽ giảm dần đi theo thời gian khi mỗi người lớn lên, và nếu có phụ huynh nào có con nhỏ thuyết phục cha mẹ như vậy thì cũng không nên lo quá. Nhưng có chút tiền không thôi thì không phải là lý do để không thèm học đại học, không thèm mở rộng chân trời của mình. Mặt khác, đó có thể là lý do ngu ngốc nhất để không học tiếp.

Cùng lúc đó, nếu bạn phát hành phần mềm miễn phí thì bạn cũng chẳng làm thế giới tốt đẹp hơn là bao. Đó là cách bạn nghĩ về xã hội, nhưng mỗi người trong xã hội có một mối quan tâm riêng và có sự lựa chọn cho mình, và đừng bắt người khác “mang nợ” bạn vì bạn quyết định không bán phần mềm của mình.

Còn hack để kiếm tiền hay phục vụ mục đích của người khác thì luôn luôn sai. Cái đó không cần bàn cãi, và nếu ai nghĩ rằng mình hoành tráng vì có thể hack thì đó là người không chỉ không có khả năng, nghiệp dư, trẻ con mà còn là một người độc hại cho cuộc sống.

Tham khảo khóa học lập trình web 6 tháng, đảm bảo 100% công việc đầu ra!

Nguồn: https://topdev.vn/blog/phat-trien-phan-mem-tu-nghiep-du-thanh-chuyen-nghiep/


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

Bài viết liên quan

Leave a Reply

Your email address will not be published.

TÀI LIỆU DEV WORLD
Cẩm nang phát triển bền vững với nghề lập trình!