Câu chuyện về PING

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

Mọi người đều yêu quý ping. Nó đơn giản và thực dụng. Và nó thực hiện chính xác như cái tên của thiết bị phát hiện tàu ngầm mà nó được truyền cảm hứng. Ping cho bạn biết liệu một máy tính ở xa có đang trả lời một network request hay không.

Câu chuyện về tiện ích PingTiện ích ping được viết bởi Mike Muuss, một nhà khoa học cao cấp tại phòng thí nghiệm & nghiên cứu của quân đội Hoa Kỳ (U.S. Army Research Laboratory). Mike cũng đã viết ra ttcp, cái mà tôi là một fan hâm mộ lớn. Tôi đã sử dụng PC port của ttcp rất nhiều lần để kiểm tra thông lượng mạng.

Đọc tiếp >>

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 >>

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 >>

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 >>

Học nghề lập trình phần mềm

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

Trong bài viết “Dạy lập trình hiện nay rất tệ: Tại sao chúng ta cần quay lại cách đào tạo 1.000 năm về trước”, Rob Walling đã đưa ra một lý lẽ để thuyết phục ngành giáo dục nên từ bỏ kiểu đào tạo truyền thống thiên về lý thuyết và chuyển qua đào tạo theo hình thức học nghề.

Học lập trình phải kết hợp giữa lý thuyết và thực hànhHọc lập trình phải kết hợp giữa lý thuyết và thực hành

Đọc tiếp >>

Phần cứng rất rẻ, lập trình viên rất đắt

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

Với sự phát triển nhanh chóng của công nghệ phần cứng theo Định luật Moore, khi nào thì ta nên ném phần cứng vào một vấn đề lập trình? Như một quy tắc chung, tôi muốn nói gần như là luôn luôn.

Hãy xem xét mức lương trung bình của lập trình viên tại Mỹ:

Mức lương cho lập trình viên ở Mỹ luôn rất caoMức lương cho lập trình viên ở Mỹ luôn rất cao

Đọ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 >>