Vấn đề những con thỏ nhảy múa

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

Trong một thời đại mà thế giới được kết nối như hiện nay, việc bảo vệ người dùng khỏi chính họ là điều khó khăn hơn rất nhiều so với trước đây. Có một điều là, việc tin tưởng hoàn toàn là không thể. Vì có những con thỏ đang nhảy múa:

Những con thỏ nhảy múa.Những con thỏ nhảy múa.

Đọc tiếp >>

Trở thành một người chỉ giỏi công nghệ là chưa đủ

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

Tôi đã không nhận ra Dan Appleman đã viết blog trở lại! Trong một bài viết gần đây của mình, ông đã đưa ra một quan điểm tuyệt vời liên quan đến những bài viết gần đây của tôi về sự chênh lệch kỹ năng trong lập trìnhhãy làm tốt công việc của mình: đôi khi những thứ không liên quan đến kỹ thuật lại làm cho bạn trở thành một lập trình viên giỏi hơn so với một người nào đó ở Ấn Độ. Đừng bao giờ đánh giá thấp sức mạnh của các kỹ năng mềm:

Những kỹ năng về con người cũng quan trọng như các kỹ năng về kỹ thuật.Những kỹ năng về con người cũng quan trọng như các kỹ năng về kỹ thuật.

Đọc tiếp >>

Các quy tắc đọc mã ASCII cho lập trình viên

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

Là lập trình viên, chúng ta phải thường xuyên làm việc với rất nhiều ký tự bàn phím mà người bình thường hiếm khi phải dùng đến và họ không phải suy nghĩ nhiều về chúng:

$ # % {} * [] ~ &

Ngay cả những ký tự được sử dụng khá thường xuyên trong văn bản hàng ngày — như dấu gạch ngang, dấu ngoặc, dấu chấm, và dấu hỏi — có ý nghĩa hoàn toàn khác nhau trong các ngôn ngữ lập trình.

Đâu là quy tắc phát âm các ký tự ASCII cho lập trình viên?Đâu là quy tắc phát âm các ký tự ASCII cho lập trình viên?

Đọc tiếp >>

Hãy làm cho code nhỏ hơn

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

Trừ khi bạn lên núi tu trong mấy năm qua, còn nếu không thì có lẽ bạn đã nghe nói về trò game Katamari Damacy. Gameplay của nó chẳng gì khác hơn là lăn một quả bóng cuộn qua các đồ vật để cho kích thước quả bóng ngày càng tăng lên. Đó thực sự là tất cả những gì bạn cần phải làm. Bạn bắt đầu bằng cách lăn lên những thứ nhỏ như que diêm, tấm lót, đinh ghim, v.v… Khi quả bóng trở nên lớn hơn, bạn sẽ lăn nó qua các đồ vật lớn hơn. Và cứ thế, cuối cùng quả bóng Katamari của bạn trở nên quá lớn để bạn lăn qua các thành phố, ngọn núi, đám mây khác– cuối cùng là toàn bộ các hành tinh. Nó mang lại niềm vui không ngờ, và hoàn toàn mê hoặc.

Sau khi tôi chơi được một thời gian, tôi nhận ra rằng Katamari Damacy là một trò game về sự mở rộng quy mô của cuộc sống.

Cảnh trong trò game Katamari Damacy.Cảnh trong trò game Katamari Damacy.

Đọc tiếp >>

Con dao của quân đội Thụy Sĩ hay chuyên gia tổng quát

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

Trong bài viết “Liệu việc viết code có quan trọng?”, tôi đã đề nghị các lập trình viên dành ít thời gian hơn với các công việc kỹ thuật, vì đó là thứ mà họ đã tương đối giỏi, và dành nhiều thời gian hơn để trau dồi các kỹ năng phi kỹ thuật khác mà các lập trình viên có xu hướng thiếu hụt. Một độc giả đã đặt vấn đề với cách tiếp cận như sau:

Tôi không đồng ý với quan điểm về việc nên cải thiện những điểm yếu. Tôi thích quan điểm về việc phát triển tài năng và nhận thức được những điểm yếu của mình. “Biết rõ bản thân mình” không có nghĩa là đi học tất cả mọi thứ và trở thành một Con dao của quân đội Thụy Sĩ (Swiss Army Knife).

Rất dễ để biến đề nghị khiêm tốn của tôi trở thành một ý kiến cực kỳ ngớ ngẩn: hoặc là bạn ngồi viết code suốt ngày, hoặc bạn trở thành một người hoàn toàn không có kỹ năng về kỹ thuật và không bao giờ chạm vào một trình biên dịch nữa. Hoặc có thể bạn dành quá nhiều thời gian để theo đuổi những thú vui liên quan để bạn trở thành một người cái gì cũng biết một tí, nhưng chẳng tinh thông món nào cả. Hay nói cách khác, sẽ trở thành một Con dao của quân đội Thụy Sĩ (Swiss Army Knife).

Hãy trở thành một chuyên gia tổng quát chứ đừng là một Swiss Army Knife.Hãy trở thành một chuyên gia tổng quát chứ đừng là một Swiss Army Knife.

Đọc tiếp >>

Bill Gates và Steve Jobs

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

Nếu bạn chưa từng xem cuộc phỏng vấn lịch sử này giữa Bill Gates và Steve Jobs, thì bạn nên xem. Bạn sẽ thấy hai gã khổng lồ trong ngành công nghiệp máy tính trên sân khấu tương tác với nhau rất là hấp dẫn và đôi khi thậm chí có một chút cảm động.

Bill Gates và Steve JobsBill Gates và Steve Jobs

Đọc tiếp >>

13 Nguyên tắc tạo nên thành công của một Startup

Bài viết được dịch từ blog của Paul Graham

Một trong những điều tôi luôn nói với các startup là về một nguyên tắc tôi đã học được từ Paul Buchheit: sẽ tốt hơn khi làm cho một ít người thực sự hạnh phúc hơn là làm cho rất nhiều người hạnh phúc nửa vời. Gần đây tôi đã nói với một phóng viên rằng nếu tôi chỉ có thể đưa ra 10 lời khuyên cho các startup, thì nguyên tắc trên sẽ là một trong số chúng. Sau đó, tôi lại nghĩ: vậy thì 9 lời khuyên còn lại là gì nhỉ?

Khi tôi ngồi xuống để viết ra danh sách những nguyên tắc này thì hóa ra có tới 13 cái.

Chọn được cofounder tốt là yếu tố quan trọng để xây dựng được một startup thành công.Chọn được cofounder tốt là yếu tố quan trọng để xây dựng được một startup thành công.

Đọc tiếp >>

Hãy tham gia cộng đồng và học hỏi từ những người đi trước để tiết kiệm thời gian và công sức – Phỏng vấn Nguyễn Bá Thành

Anh Nguyễn Bá Thành là người sáng lập và cựu CEO WePlayĐọc bài phỏng vấn của blog Vinacode với anh Nguyễn Bá Thành, là người sáng lập và cựu CEO WePlay, chuyên gia mobile game/app với hơn 5 năm kinh nghiệm startup trong ngành mobile, mentor và business owner của 2 startup mobile app. Để nghe anh chia sẻ về:

  • Cơ duyên nào đưa anh từ một kỹ sư điện tử viễn thông trở thành một lập trình viên game/app di động.
  • Các giai đoạn “code thuê”, “code dạo”, “lập trình viên độc lập” mà anh đã trải qua trước khi đạt được thành công với WePlay.
  • Những mô hình thu tiền trong các ứng dụng và game di động hiện nay và kinh nghiệm để có được mô hình thu tiền tối ưu nhất.
  • Liệu có nên khởi nghiệp cùng với bạn bè và những tiêu chí nào nên cân nhắc để chọn chiến hữu khi làm startup.
  • Cách quản lý thời gian để làm việc hiệu quả và những lời khuyên chân thành dành cho các bạn trẻ muốn khởi nghiệp trong lĩnh vực lập trình di động.

Đọc tiếp >>

Lập trình viên và đầu bếp

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

Từ một cuộc phỏng vấn với Ron Jeffries:

Lý do nhà bếp bừa bộn không phải bởi vì căn bếp đó được thiết kế tồi, mà bởi vì chúng ta đã không lau chùi và dọn dẹp các bát đĩa sau mỗi bữa ăn.

Michael Feathers gần đây đã đăng một bài viết khá thú vị về quan niệm của các đầu bếp chuyên nghiệp trong việc giữ cho môi trường làm việc luôn gọn gàng sạch sẽ:

Một điều khác mà tôi thích về cuộc thi Vua Đầu Bếp đó là cách mà các đầu bếp được đánh giá. Có nhiều thứ hơn chứ không phải chỉ là việc đánh giá thông thường. Trong suốt quá trình các đầu bếp chế biến món ăn, ban giám khảo sẽ đi quan sát từ hết bếp này sang bếp khác, và ghi chú các chi tiết vào một cuốn sổ tay. Một trong những tiêu chí là các đầu bếp luôn phải giữ cho bếp của mình được gọn gàng. Hãy tưởng tượng là.. môi trường làm việc sạch sẽ.. Ban giám khảo sẽ quan sát để chắc chắn rằng các đầu bếp rửa sạch chén bát và các dụng cụ ngay sau khi sử dụng. Nếu các đầu bếp không làm như vậy, thì vâng, họ sẽ bị trừ điểm.

Lập trình viên giỏi và đầu bếp giỏi có nhiều điểm giống nhauLập trình viên giỏi và đầu bếp giỏi có nhiều điểm giống nhau

Đọc tiếp >>

Phương pháp lập trình tốt nhất hiện nay

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

Một trong nhiều bình luận phổ biến cho bài viết Lập trình viên Ferengi như sau:

Từ những gì tôi có thể thấy, vấn đề “lập trình viên quá ràng buộc vào các quy tắc” là hầu như không quan trọng bằng vấn đề “nhiều lập trình viên thực sự không có một manh mối gì trong việc phát triển phần mềm cả.” Đa số các lập trình viên không tiếp xúc quá nhiều với các design pattern, SOLID, hoặc agile, hay waterfall… Họ thường dùng giải pháp mì ăn liền như những tay cao bồi trong một môi trường hoàn toàn hoang dã, sử dụng kiểu kéo thả đơn giản, hướng dữ liệu (data driven), các kỹ thuật kiểu lập trình VB.

Phương pháp lập trình tốt nhất hiện nay là gì?Phương pháp lập trình tốt nhất hiện nay là gì?

Đọc tiếp >>