Bảo trì phần mềm là công việc mang tính nghệ thuật và đáng khâm phục

Bài viết được dịch từ blog Coding Horror

Khi đề cập đến cụm từ “bảo trì phần mềm” tới một nhóm lập trình viên thì họ sẽ cảm thấy kinh hãi (cho dù đó là đàn ông hay đàn bà). Bảo trì phần mềm được xem như là công việc lau dọn vậy.

Nhưng có thể đó là một sự mô tả không công bằng.

Bảo trì phần mềm giống như công việc lau dọn vậy.Bảo trì phần mềm giống như công việc lau dọn vậy.

Đọc tiếp >>

Advertisements

Để phát triển bền vững, lập trình viên Việt Nam cần nắm vững kiến thức về cấu trúc dữ liệu và giải thuật – Phỏng vấn Nguyễn Đức Anh

Lập trình viên Nguyễn Đức AnhCùng đọc bài phỏng vấn của blog Vinacode với anh Nguyễn Đức Anh, là một cựu sinh viên đã từng đoạt tới 6 giải thưởng cao tại các cuộc thi Olympic tin học trong nước và quốc tế. Hiện tại anh đang là một developer chuyên về các lĩnh vực Big Data, Data Mining, Nature Language Processor,… tại công ty truyền thông VCcorp; để nghe anh chia sẻ về:

  • Bí quyết từ một cậu học trò “nghiện game” và trượt Đại học trở thành một sinh viên xuất sắc với 6 lần đạt giải cao trong các cuộc thi Olympic tin học trong nước và quốc tế.
  • So sánh về năng lực của sinh viên Việt Nam với các đối thủ khác trong khu vực Châu Á ở các cuộc thi Olympic tin học.
  • Liệu những kiến thức và kinh nghiệm từ các cuộc thi Olympic tin học thời sinh viên có trở nên hữu ích trong công việc sau này của developer.
  • Thực trạng nhiều sinh viên CNTT thường lơ mơ về môn cấu trúc dữ liệu giải thuật và giải pháp cho vấn đề đó.
  • Tầm quan trọng của kiến thức về cấu trúc dữ liệu và giải thuật đối với sinh viên tin học cũng như đối với lập trình viên; và ứng dụng của nó trong công việc thực tế.

Đọc tiếp >>

Có một thứ mà các lập trình viên và nhạc sĩ có cùng điểm chung

Bài viết được dịch từ blog Coding Horror

Trong bài viết trước đây của tôi, một độc giả đã đặt ra câu hỏi này:

Tôi đã từng gặp rất nhiều người rất giỏi trong lĩnh vực máy tính và họ có một tình yêu lớn dành cho âm nhạc. Liệu phải làm gì để có khả năng nhìn thấy cái đẹp ở trong các hệ thống số phức tạp?

Tôi yêu thích âm nhạc. Tôi có một bộ sưu tập âm nhạc rất lớn, tôi thích nghe nhạc và khám phá các ban nhạc mới cũng như các thể loại mà tôi chưa từng được nghe. Nhưng tôi không có một chút khả năng nào về âm nhạc cả. Vì vậy, sẽ không thực sự thích hợp để tôi bình luận về điều này. Tôi đã đọc về những ý kiến so sánh ở nhiều nơi khác nhau. Đủ để tôi tự hỏi liệu có một mối quan hệ nào giữa việc trở thành một nhạc sĩ và trở thành một lập trình viên không nhỉ?

Lập trình viên và mấy tay nhạc sĩ có điểm gì giống nhau?Lập trình viên và mấy tay nhạc sĩ có điểm gì giống nhau?

Đọc tiếp >>

Lập trình viên nói đi đôi với làm

Bài viết được dịch từ blog Coding Horror

Tôi tin rằng tất cả các lập trình viên cần thiết lập một sự cân bằng có lợi giữa…

  1. Nhốt mình trong một văn phòng riêng tư và có một cuộc hội thoại thân mật với một trình biên dịch về chương trình của bạn.
  2. Đi ra ngoài cộng đồng và có một cuộc hội thoại cởi mở với những người khác về chương trình của bạn.

Tôi đã nói về điều này một vài lần trước đây, vì vậy tôi thấy không cần thiết phải nói lại quan điểm đó.

Lập trình viên giỏi nói được thì cũng phải làm được.Lập trình viên giỏi nói được thì cũng phải làm được.

Đọc tiếp >>

Vì bạn muốn trở thành một lập trình viên

Bài viết được dịch từ blog Coding Horror

Lần trước tôi không có ý định viết bài Làm Ơn Đừng Học Lập Trình để tạo ra sự tranh luận, nhưng nó dường như đã tạo ra một cuộc tranh cãi nảy lửa. Hình như có một số lượng rất lớn độc giả đã dừng đọc ngay khi họ xem qua tiêu đề bài viết đó.

Vì vậy hôm nay tôi sẽ mở đầu bằng một câu chuyện của chính bản thân mình. Tôi nghĩ rằng bạn sẽ tìm thấy trong đó một ý nghĩa thú vị.

Mẹ tôi một lần trước đây đã nói với tôi rằng, lý do duy nhất để bà hẹn hò với bố tôi đó là bởi vì bà ngoại tôi nói với mẹ tôi rằng hãy tránh xa thằng cha đó ra, hắn có vẻ như không được tốt.

Nếu mẹ tôi làm theo lời khuyên đó, thì đã không có tôi tồn tại trên cõi đời này.

Đây là câu chuyện hoàn toàn có thật, thưa các bạn.

Đam mê chính là động cơ thúc đẩy lớn nhất để bạn trở thành một lập trình viên.Đam mê chính là động cơ thúc đẩy lớn nhất để bạn trở thành một lập trình viên.

Đọc tiếp >>

Ai là bạn thân trong lập trình của bạn?

Bài viết được dịch từ blog Coding Horror

Tôi liên tục cảm thấy ngạc nhiên vì code của mình đã trở nên tốt hơn rất nhiều sau khi nhờ một đồng nghiệp xem qua nó. Ý tôi không phải là một buổi review trang trọng trong một phòng họp, hoặc đăng công khai code lên internet để mọi người vào soi xét, hay một dạng hình thức lập trình cặp phiền hà nào đó. Chỉ đơn giản là thử tóm tắt và giải thích rồi đưa code của mình cho một lập trình viên đồng nghiệp — đó là tất cả việc phải làm.

Điều này thì dĩ nhiên là không có gì mới. Cuốn sách tuyệt vời của tác giả Karl Wiegers là Peer Reviews in Software: A Practical Guide đã chỉ dẫn rạch ròi về điều này từ năm 2002.

Bạn nên có một người bạn thân trong lập trình để review code lẫn nhau.Bạn nên có một người bạn thân trong lập trình để review code lẫn nhau.

Đọc tiếp >>

Trong lập trình thì số 1 là con số cô đơn nhất

Bài viết được dịch từ blog Coding Horror

Liệu có phải phát triển phần mềm là một hoạt động được ưa thích bởi những cá nhân chống lại các hoạt động xã hội và ghét con người, những kẻ mà thích được làm việc với mấy chiếc máy tính hơn là với những người khác? Nếu đúng như vậy thì tất cả các dự án phần mềm sẽ được thực hiện tốt nhất bởi một cá nhân riêng lẻ, làm việc một mình?

Bạn đừng nên trở thành một lập trình viên cô độc nhé!Bạn đừng nên trở thành một lập trình viên cô độc nhé!

Đọc tiếp >>

Từng bước để trở thành một lập trình viên giỏi

Bài viết được dịch từ blog Simple Programmer

Lời bàn của Vinacode:

Như trong bài viết “Tự học lập trình trong 10 năm” của Giáo sư Norvig thì chúng ta đã biết rằng để trở nên tinh thông bất cứ lĩnh vực gì thì ai cũng phải cần tối thiểu 10,000 giờ tập luyện (tương đương khoảng 10 năm). Nhưng bạn có thể nói rằng điều đó chẳng cần kết quả nghiên cứu của các nhà khoa học thì bạn cũng biết. Vấn đề ở đây là 10 năm là một quãng thời gian rất dài, và với 10 năm đó thì có thể đã “vật đổi sao dời” hay người còn kẻ mất. Điều quan trọng là làm sao duy trì được động lực làm việc và học tập trong một quãng thời gian dài như vậy?

Đúng vậy, để có thể duy trì được động lực trong một quãng thời gian dài như vậy thì bạn phải hình dung ra được một big picture (tạm gọi là bức tranh lớn) của mình trong tương lai. Liệu bạn sẽ làm gì và ở đâu trong 10 năm tới? Hay còn gọi là phải đặt ra được mục tiêu cụ thể.

ly-tieu-longHôm nay chúng ta sẽ đọc một bài viết của tác giả John Sonmez về cách từng bước làm thế nào để trở thành một lập trình viên giỏi. Hy vọng với một hướng dẫn từng bước kiểu step-by-step này sẽ giúp một số bạn newbie có thể áp dụng và định hướng tương lai sau này.

“Tôi không sợ những kẻ tập một lần 10.000 cú đá, tôi chỉ sợ những kẻ tập 10.000 lần một cú đá.” ~ Huyền thoại võ thuật Lý Tiểu Long

Tôi phải làm thế nào để từng bước trở thành một lập trình viên xuất sắc?Tôi phải làm thế nào để từng bước trở thành một lập trình viên xuất sắc?

Đọc tiếp >>

Làm thế nào để khích lệ các lập trình viên

Bài viết được dịch từ blog Coding Horror

Có một nghịch lý cố hữu trong việc khích lệ các lập trình viên. Tôi nghĩ rằng câu chuyện vui Geek Hero Comic này là một minh họa hoàn hảo về nghịch lý đó:

Khích lệ lập trình viên khi bị xuống tinh thần!“Randall ơi. Bác sĩ nói rằng anh có thể nghe thấy tôi nói, thậm chí dù anh đang ở trong tình trạng hôn mê. Tôi chỉ đến để nói với anh rằng, anh có thể được nghỉ phép cho đến khi hoàn toàn bình phục, bởi vì cậu Ross đang đảm trách vị trí của anh rất tốt. Cậu ta thậm chí còn tìm thấy một nút thắt cổ chai (bottleneck) trong những dòng code của anh, và nói rằng bây giờ tốc độ hệ thống sẽ tăng lên gấp đôi.”
Làm gì khi lập trình viên xuống tinh thần“Cái.. cái… gì? Điều đó là không thể!!!!!!! Đưa tôi về công ty ngay!”

Đọc tiếp >>

Lý do khiến tôi là một lập trình viên giỏi hơn bạn

Bài viết được dịch từ YTECHIE.com

Điều gì khiến cho một lập trình viên này lại giỏi hơn so với lập trình viên khác? Không phải là chúng ta đều làm việc ở cùng một đẳng cấp hay sao? Dĩ nhiên là không, chúng ta không phải là những công nhân đang đính những cái cúc áo trên một dây chuyền may mặc. Chúng ta đang sử dụng trí tuệ của mình để tạo ra những thứ mà chỉ chúng ta mới có thể hiểu rõ được.

Những lý do nào giúp cho tôi trở thành một lập trình viên giỏi hơn bạn?Những lý do nào giúp cho tôi trở thành một lập trình viên giỏi hơn bạn?

Đọc tiếp >>