Vấn đề của trò game dang dở

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

Bài viết của ngày hôm nay là một câu hỏi đơn giản.

Nếu theo giả thiết, bạn gặp một ai đó nói với bạn rằng họ có hai đứa con, và một trong số chúng là con gái. Tỷ lệ cược là bao nhiêu để người đó có một con trai một con gái?

Tỷ lệ con trai và con gái
Đọc tiếp >>

Bạn có đang làm theo chỉ dẫn trên thùng sơn?

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

Chúng tôi hiện tại đang định sơn lại một số đồ vật ở nhà. Điều này nghĩa là tôi sẽ phải làm theo những chỉ dẫn ghi ở trên thùng sơn.

Nhưng điều gì sẽ xảy ra nếu tôi không làm theo những chỉ dẫn ghi ở trên thùng sơn đó? Đây là một danh sách về những lỗi phổ biến trong khi sơn đồ nội thất:

Là một lập trình viên, bạn có đang làm theo chỉ dẫn trên thùng sơn?Là một lập trình viên, bạn có đang làm theo chỉ dẫn trên thùng sơn?

Đọc tiếp >>

Lập trình viên cũng là người sử dụng

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

Hiện tại tôi đang phụ trách việc xây dựng một API nhỏ cho BetaBrite-specific một tập con của Alpha Sign Communications Protocol. Về mặt tự nhiên, tôi muốn nó trở nên dễ dàng sử dụng và dễ hiểu đối với những lập trình viên khác– đó là một vấn đề về usability (tính dễ sử dụng) kinh điển. Bạn sẽ áp dụng hướng tiếp cận usability nào khi mà độc giả của bạn lại là những nhà phát triển phần mềm khác?

Lập trình viên cũng chính là người sử dụng khi dùng các API của các đồng nghiệp khác viết ra.Lập trình viên cũng chính là người sử dụng khi dùng các API của các đồng nghiệp khác viết ra.

Đọc tiếp >>

Một dự án mã nguồn mở nên bắt đầu bằng Code

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

Sự khôn ngoan truyền thống thường cho rằng hướng tiếp cận “viết code trước, rồi thiết kế kiến trúc phần mềm sau” là một ý tưởng tồi. Tuy nhiên, Charles Miller đã chỉ ra rằng trong các dự án mã nguồn mở thì đó lại là yếu tố bắt buộc:

Cách tốt nhất là bạn nên đặt mông xuống ngồi viết code, chứ không chỉ là vẽ các UML diagram.Cách tốt nhất là bạn nên đặt mông xuống ngồi viết code, chứ không chỉ là vẽ các UML diagram.

Đọc tiếp >>

Hãy đưa cho tôi những người lười nhất mà tiền có thể mua được

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

Lời bàn của Vinacode:

Trong bài viết này Jeff Atwood có nói đến một kiểu “lười biếng thông minh”, thực chất là cách quản lý thời gian một cách hiệu quả hơn trong công việc. Trong thời đại bùng nổ thông tin và các phương thức giao tiếp như hiện nay thì bạn rất dễ sa đà vào các hoạt động như: chat chit, facebook, check email, news… dẫn đến mất tập trung trong công việc hiện tại. Khi làm công việc nào đó cần sự tập trung thì bạn nên tắt hết những thứ gây sao nhãng này đi nhé! 🙂

Khi làm việc thì bạn nên tắt hết các ứng dụng để được tập trung nhất có thể.Khi làm việc thì bạn nên tắt hết các ứng dụng để được tập trung nhất có thể.

Đọc tiếp >>

Lập trình phần mềm là một trò game cộng tác

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

Alistair Cockburn bảo vệ quan điểm rằng phát triển phần mềm là một trò game cộng tác:

Nếu phát triển phần mềm là một ngành khoa học thực sự, thì bạn có thể áp dụng các phương pháp khoa học cho nó. Nếu nó thực sự là việc xây dựng, thì bạn có thể áp dụng các kỹ thuật xây dựng. Nếu phát triển phần mềm là một vấn đề liên quan đến các mô hình sản xuất, thì bạn có thể chi tiền để phát triển các mô hình.

Tuy nhiên, nó lại không phải là cái nào trong số đó cả. Phát triển phần mềm là một trò “game”, một game về tốc độ và sự cộng tác bên trong nhóm của bạn, và cạnh tranh với những nhóm khác. Nó là một trò game tương phản với thời gian, và một trò game chia sẻ. Bạn phải dùng tiền của bạn để chiến thắng trò game đó.

Việc xem phát triển phần mềm là một trò game mang lại cho bạn những ý tưởng tốt hơn về việc nên tiêu tiền của bạn vào đâu, làm thế nào để cấu trúc các nhóm của bạn, và họ nên phân bổ các nỗ lực của họ như thế nào là hợp lý.

Liệu có phải phát triển phần mềm cũng chỉ là một trò game?Liệu có phải phát triển phần mềm cũng chỉ là một trò game?

Đọc tiếp >>

Lập trình viên đừng ở trong bóng tối

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

Ben Collins-Sussman đã viết về lập trình viên bất an như sau:

Bạn sẽ làm gì khi có một ai đó đưa ra một dự án mã nguồn mở với một số lượng khủng các đặc trưng mới mà phải mất nhiều tháng trời để viết ra? Liệu có ai có đủ thời gian để review lại hàng ngàn dòng code đó? Điều gì sẽ xảy ra nếu có một quyết định thiết kế tồi được thực hiện ngay từ rất sớm trong quá trình đó — liệu còn có ý nghĩa gì không khi chỉ ra sai lầm của nó tại thời điểm này? Việc tung ra cộng đồng hàng tấn code thì hiếm khi là điều tốt cho một dự án: nhóm phát triển hoặc sẽ bắt buộc phải loại bỏ nó hoàn toàn, hoặc chấp nhận nó và phải đối mặt với một hộp đen đồ sộ và khó hiểu, cũng như khó thay đổi và bảo trì. Nó khiến cho dự án đó đi theo một hướng mà không có nhiều sự bàn thảo hoặc đồng lòng.

Và cứ như vậy, tôi đã tập hợp được rất nhiều câu chuyện để chỉ ra một thực tế rằng các lập trình viên không muốn viết code trong một môi trường mở. Các lập trình viên không muốn các đồng nghiệp nhìn thấy những sai lầm hoặc thất bại của họ. Họ muốn làm việc một cách bí mật, ở trong một cái hang, và sau đó tung ra phần code “hoàn hảo” tới cộng đồng của mình, cứ như thể là chưa bao giờ có lỗi nào xảy ra vậy.

Lập trình viên đừng trở thành 'cao thủ' núp trong bóng tối.Lập trình viên đừng trở thành ‘cao thủ’ núp trong bóng tối.

Đọc tiếp >>

Lập trình game và phân tích game

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

Đối với nhiều lập trình viên, cơ duyên mà chúng ta bước vào thế giới lập trình là do bố của chúng ta bắt chúng ta phải tự viết các trò game cho riêng mình. Đáng lẽ tôi đã có một cái game console Atari 2600 mới cứng, nhưng bố tôi lại mua cho một cái máy tính Texas Instruments TI-99/4a. Dĩ nhiên đó không chính xác là thứ mà tôi nghĩ trong đầu tại thời điểm đó, nhưng quyết định mang tính định mệnh đó đã làm bệ phóng cho một sự nghiệp lập trình của tôi kéo dài đến nay là đã 30 năm.

Tôi cần phải có những tố chất gì để trở thành một lập trình viên phát triển Games?Tôi cần phải có những tố chất gì để trở thành một lập trình viên phát triển Games?

Đọc tiếp >>

Lập trình viên cần một “tư duy hacker”

Lập trình là một nghề hạnh phúc vì lập trình viên có khả năng và điều kiện để tạo ra những sản phẩm công nghệ làm thay đổi lớn cuộc sống của con người. Lập trình cũng giúp con người thay đổi tư duy của chính bản thân mình.

Mình sẽ bắt đầu câu chuyện về lập trình ngày hôm nay thông qua một mẩu chuyện nhỏ.

Lập trình viên muốn thành công thì cần phải có một tư duy hacker.Lập trình viên muốn thành công thì cần phải có một tư duy hacker.

Đọc tiếp >>

Hãy tích cực viết blog để chia sẻ kinh nghiệm lập trình – Phỏng vấn anh Trịnh Minh Cường

“Hãy tích cực viết blog để chia sẻ kinh nghiệm lập trình. Vừa để ghi nhớ lại kinh nghiệm đã trải qua, vừa tạo profile tốt rất cần khi đi xin việc.” ~ Trịnh Minh Cường

Anh Trịnh Minh Cường

Anh Trịnh Minh Cường

Cùng đọc bài phỏng vấn của blog Vinacode với anh Trịnh Minh Cường, là một developer có trên 20 năm kinh nghiệm lập trình và từng giữ rất nhiều vị trí quan trọng tại các công ty phần mềm lớn ở Việt Nam như Fujitsu, Trivision, HarveyNash, Microsoft… Hiện tại anh đang là giám đốc kỹ thuật và đồng thời là giảng viên tại Trung tâm đào tạo lập trình TechMaster do chính anh thành lập; để nghe anh chia sẻ về:

  • Lý do tại sao anh lại quyết định rời Microsoft Vietnam để thành lập Trung tâm đào tạo lập trình TechMaster
  • Chia sẻ về những ngày đầu gian khó của TechMaster và những thành quả hiện tại đã đạt được.
  • Các hoạt động ngoài công việc giảng dạy của TechMaster như làm sản phẩm mobile, web, freelancer, open source…
  • Quan điểm về vấn đề tuổi tác trong nghề phát triển phần mềm và xu hướng CNTT trong tương lai.
  • Những lời khuyên bổ ích dành cho các bạn trẻ đang theo đuổi ngành CNTT

Đọc tiếp >>