Tách con cừu biết lập trình ra khỏi những con dê không biết lập trình

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

Rất nhiều người đã trỏ liên kết đến công trình nghiên cứu này, nó đề xuất một cách để tách con cừu biết lập trình ra khỏi nhóm những con dê không biết lập trình trong những lớp khoa học máy tính – rất lâu trước khi các sinh viên đó từng chạm vào một chương trình hoặc một ngôn ngữ lập trình:

Làm thế nào để tách người biết lập trình ra khỏi những người không biết lập trình?Làm thế nào để tách người biết lập trình ra khỏi những người không biết lập trình?

Đọc tiếp >>

Chênh lệch kỹ năng trong lập trình

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

Tôi chắc chắn không phải là lập trình viên giỏi nhất thế giới. Đầu tiên tôi xin nói với bạn rằng có vô số lập trình viên ngoài kia giỏi hơn tôi. Nhưng có một điều là: trong suốt 10 năm làm việc với tư cách là một lập trình viên chuyên nghiệp, thì tôi có thể liệt kê ra những lập trình viên thực sự giỏi mà mình đã làm việc cùng trên chỉ một bàn tay. Tôi biết điều này thì khá thất vọng, nhưng tôi xin phép được nói rằng: có một điều gì đó kỳ cục về nghề nghiệp của chúng ta mà dẫn đến một sự chênh lệch sâu sắc khác thường trong các kỹ năng.

Có một sự chênh lệch kỹ năng rất lớn giữa các lập trình viên đang làm việc.Có một sự chênh lệch kỹ năng rất lớn giữa các lập trình viên đang làm việc.

Đọc tiếp >>

Máy tính cá nhân đã hết thời

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

MG Siegler đã viết như sau:

Máy tính cá nhân đã hết thời. Nó sẽ còn nấn ná, nhưng dần dần sẽ là một di tích lịch sử mà thôi.

Hiện giờ tôi cảm thấy sợ hãi khi sử dụng máy tính của mình. Tôi muốn sử dụng máy tính bảng trong phần lớn thời gian. Và càng ngày tôi càng có thể làm được điều đó. Tôi muốn sử dụng smartphone trong tất cả phần thời gian còn lại. Và tôi đang làm điều đó.

Ai đó nói rằng giá trị của các trang web dành cho desktop đang tăng lên là một điều hoang tưởng. Càng ngày các thiết bị di động ngày càng tăng, vì vậy bạn nên nhảy vào lĩnh vực này thật nhanh.

Đừng xây dựng một ứng dụng dựa trên trang web của bạn. Hãy xây dựng ứng dụng mà như thể các trang web chưa bao giờ tồn tại trước đó. Hãy xây dựng ứng dụng cho những người mà chẳng bao giờ sử dụng một máy tính cá nhân. Bởi vì thế hệ này đang dần xuất hiện. Bạn không phải chờ lâu đâu.

Liệu có phải máy tính cá nhân đã hết thời?Liệu có phải máy tính cá nhân đã hết thời?

Đọc tiếp >>

Liệu các ứng dụng di động sẽ giết chết các website?

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

Tôi đã là một người dùng của eBay từ năm 1999, và tôi vẫn thường xuyên sử dụng eBay với tư cách là cả người mua lẫn người bán. Trong thời gian đó, eBay đã chuyển mình từ một nơi mà các tay geek bán những bút chiếu tia laser bị hỏng với nhau, trở thành một thị trường toàn cầu nơi mà các nhà cung cấp bán bất cứ thứ gì và mọi thứ tới các khách hàng. Nếu bạn đang tìm kiếm một đồ vật lạ hoặc hiếm, những thứ mà hầu như không còn ai bán cái mới nữa, hoặc các đồ vật trên thị trường chợ đen cho rẻ, thì eBay không phải là một nơi tồi để tìm kiếm.

Ít nhất đối với tôi, eBay về cơ bản vẫn hoạt động, sau tất cả những năm tháng đã qua. Nhưng có một thứ vẫn không thay đổi: đó là trang web của eBay thì luôn khó sử dụng và điều hướng. Họ đã cập nhật trang web gần đây để bỏ đi một số thứ rườm rà, nhưng nó vẫn còn quá phức tạp. Tôi đã chấp nhận trang web cũ và phức tạp như hiện nay, bởi vì tôi không nhận ra nó tồi đến mức nào cho tới khi so sánh trải nghiệm trên trang web của eBay cùng với trải nghiệm của các ứng dụng eBay cho di động và máy tính bảng.

Trang web của eBay

Liệu các ứng dụng di động có giết chết những trang web rườm rà như eBay?Liệu các ứng dụng di động có giết chết những trang web rườm rà như eBay?

Đọc tiếp >>

Hình thức thảo luận qua diễn đàn đã hết thời?

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

Thỉnh thoảng, một số bạn khởi nghiệp về công nghệ (startup) cũng hỏi tôi cho họ một vài lời khuyên. Thật là xấu hổ, bởi vì tôi là một người rất tệ để hỏi xin ý kiến tư vấn. Cuộc nói chuyện đó sẽ thường diễn ra theo nội dung giống như sau:

Chúng tôi rất muốn nhận một vài lời khuyên của anh về sản phẩm mà chúng tôi đang làm.

Tôi có thể sẽ không sử dụng sản phẩm của bạn. Thậm chí nếu tôi có thử dùng sản phẩm của bạn đi nữa và đưa cho bạn một số lời khuyên của tôi mà bạn gọi là của một “Chuyên Gia”, thì cũng có ý nghĩa gì đâu cơ chứ? Dù gì thì tại sao bạn lại đi hỏi tôi? Tại sao bạn không hỏi cộng đồng của bạn rằng họ đang nghĩ gì về sản phẩm của bạn?

Và nếu bạn không có một cộng đồng người dùng và khách hàng xung quanh sản phẩm của mình, thì vâng, đó chính là vấn đề của bạn đấy. Hãy đi mà sửa chữa điều đó.

Hình thức forum (diễn đàn) đang chết dần và được thay thế bằng một thế hệ phần mềm cao cấp hơn.Hình thức forum (diễn đàn) đang chết dần và được thay thế bằng một thế hệ phần mềm cao cấp hơn.

Đọc tiếp >>

Tự học lập trình trong 10 năm

Bài viết được dịch từ blog của Giáo sư Norvig

Tại sao mọi người lại hối hả như vậy?

Nếu bước chân vào bất kỳ hiệu sách nào, thì bạn cũng sẽ bắt gặp cuốn sách có tựa đề Tự học Java trong vòng 24 giờ và bên cạnh đó là vô số những cuốn sách chào mời việc học C, SQL, Ruby, Thuật toán, và nhiều thứ khác trong chỉ trong một vài ngày hoặc vài giờ. Tôi thử tìm trên trang web bán sách trực tuyến Amazon với cụm từ tìm kiếm “tự học trong vài giờ” thì đã tìm thấy đến 512 cuốn sách. Trong top 10 cuốn đầu tiên, thì đã có đến 9 cuốn là sách về lập trình. Nếu đổi cụm từ tìm kiếm từ “tự học trong vài giờ” sang “tự học trong vài ngày” thì cũng ra kết quả tương tự.

Liệu tôi có phải khổ luyện 10,000 giờ (10 năm) để trở thành một chuyên gia phát triển phần mềm?Liệu tôi có phải khổ luyện 10,000 giờ (10 năm) để trở thành một chuyên gia phát triển phần mềm?

Đọc tiếp >>

Ngôn ngữ lập trình nào bạn nên học để phát triển phần mềm?

Bài viết được dịch từ Makeuseof

Khi bắt đầu vào con đường phát triển phần mềm, điều quan trọng là bạn nên đầu tư thời gian một cách khôn ngoan trong việc lựa chọn học một công nghệ nào đó mà nó sẽ có cả lợi ích cho bạn trong ngắn hạn với những kết quả nhìn thấy được, cũng như là cho phép bạn thiết lập một nền tảng cho bất kỳ ngôn ngữ lập trình nào trong tương lai. Lựa chọn của bạn sẽ còn phụ thuộc vào một số các yếu tố, vì thế hãy xem qua những đặc thù của chúng, xem nó có dễ học và giúp bạn kiếm sống được hay không. Tôi sẽ cung cấp tới bạn một vài đoạn code hiển thị dòng chữ “hello world”, đó là ứng dụng đầu tiên mà nhiều người tập viết khi học một ngôn ngữ lập trình mới.

Trong bài viết này, chúng ta sẽ xem xét những ngôn ngữ được sử dụng để phát triển phần mềm — là các ứng dụng chạy trên máy tính hoặc các thiết bị di động. Trong bài viết sau, chúng ta sẽ bàn về danh sách các ngôn ngữ lập trình web phổ biến, thường được sử dụng để tạo ra các trang web động và các giao diện tương tác người dùng thông qua trình duyệt.

Nên học ngôn ngữ lập trình nào để phát triển phần mềm?Nên học ngôn ngữ lập trình nào để phát triển phần mềm?

Đọc tiếp >>

8 Cấp độ của nghề lập trình viên

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

Lời bàn của Vinacode:

Bạn sẽ nghĩ gì khi một ai đó hỏi bạn câu hỏi “Bạn sẽ làm gì với cuộc đời của bạn?

Nếu câu hỏi này đặt ra cho thế hệ bố mẹ chúng ta, thì họ sẽ trả lời là: mong được sống, mong được hòa bình, cơm không phải độn khoai hoặc bobo nữa, mong một công việc ổn định, v.v… Bởi những năm 60 – 70 đó, khi các nước Đài Loan, Hàn Quốc… hóa hổ, hóa rồng thì chúng ta vẫn đang mải miết đánh nhau trong một cuộc chiến ý thức hệ (TBCN vs. XHCN). Nếu nghĩ sâu xa một chút thì chả có bên nào gọi là “bên thắng cuộc” cả, chúng ta chỉ nạn nhân và là con tốt trên bàn cờ của các nước lớn mà thôi!

Tháp nhu cầu Maslow

Tháp nhu cầu Maslow (click vào để xem chi tiết)

Ngày nay, dù cuộc sống vẫn còn nhiều khó khăn, nhưng miếng cơm manh áo không còn là nỗi ám ảnh thường trực nữa. Vì vậy theo như tháp nhu cầu Maslow, thì chúng ta sẽ có những nhu cầu ở tầng cao hơn như: nhu cầu được thể hiện bản thân, được sáng tạo, v.v…và có lẽ những câu hỏi kiểu như trên sẽ đóng vai trò là bánh lái của con thuyền cuộc đời bạn.

Nếu xét trong phạm vi nhỏ hơn là lĩnh vực phát triển phần mềm, thì đã bao giờ bạn đặt mục tiêu nào khác để vươn tới ngoài mục đích kiếm tiền chưa? Bài viết sau đây sẽ nêu ra 8 cấp độ mà một lập trình viên có thể vươn tới, bạn hãy đọc qua và trả lời xem bạn đang ở cấp độ nào và bạn đang muốn vươn tới cấp độ nào nhé!

Đời người chỉ sống có một lần. Phải sống sao cho khỏi xót xa ân hận vì những năm tháng đã sống hoài sống phí.” ~ (Thép đã tôi thế đấy – Pavel Corsaghin)

Tôi sẽ chọn con đường nào cho tương lai phía trước?Tôi sẽ chọn con đường nào cho tương lai phía trước?

Đọc tiếp >>

Tất cả lập trình đều là lập trình web

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

Lời bàn của Vinacode:

Bài viết này của tác giả Jeff Atwood (là người lập ra trang web hỏi đáp nổi tiếng StackOverflow.com) tranh luận về sự thống trị của các ứng dụng web trong tương lai. Bài viết đã khá lâu (trước khi có thêm sự phổ biến của ứng dụng cho di động như hiện nay), nhưng vẫn có nhiều điểm đúng với hiện tại và sẽ cung cấp cho bạn một vài góc nhìn thú vị.

Trong bài viết có một số thuật ngữ chuyên ngành mà mình không biết nên dịch sang tiếng Việt như thế nào, đành để vậy (mong các bạn thông cảm). Chắc hôm nào ghé nhà sách kiếm một cuốn để xem các “đại ca” Phạm Hữu Khang hoặc Hoàng Đức Hải… dịch những từ này thế nào vậy! 🙂

Xu hướng phát triển ứng dụng trên web đang ngày càng trở nên phổ biến.Liệu có phải những lập trình viên chuyên phát triển web thường có đẳng cấp thấp hơn các lập trình viên viết ứng dụng trên Desktop?

Đọc tiếp >>