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

Liệu tồi hơn có thực sự tốt hơn?

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

Ngày nay bạn có thể nghĩ rằng Steve Martin là một danh hài bẩm sinh– nhân vật trung tâm của những bộ phim tuyệt vời như ParenthoodFather of the Bride. Nhưng không phải lúc nào cũng như vậy. Sự nghiệp của Steve đã tiến những bước dài vào đầu những năm 80. Tại thời điểm đó, tôi không nghĩ có bất kỳ danh hài nào khám phá ra những góc cạnh hài hước theo cách giống như Steve Martin đã làm. Tôi mãi mãi sẽ nhớ về cuốn sách Cruel Shoes như một xúc cảm tuổi niên thiếu. Đó là một bộ sưu tập các truyện ngắn rất kỳ lạ. Ở tuổi non trẻ đó, tôi chắc chắn chưa từng bao giờ đọc bất cứ điều gì giống như nó. Thật khó để giải thích. Bạn hãy tự đọc và cảm nhận. Dưới đây là nội dung đầy đủ một truyện ngắn cùng tên Cruel Shoes (tạm dịch là đôi giày ác nghiệt):

Trong lập trình phần mềm: liệu tồi hơn có phải là tốt hơn?Trong lập trình phần mềm: liệu tồi hơn có phải là tốt hơn?

Đọc tiếp >>

Phát minh vĩ đại nhất trong ngành khoa học máy tính

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

Theo bạn thì phát minh vĩ đại nhất trong ngành khoa học máy tính là gì? Ý tôi là ngoài bản thân máy tính ra.

Trước khi đọc tiếp, bạn hãy tạm dừng một lúc và ngồi suy nghĩ nghiêm túc về câu hỏi đó.

Phát minh vĩ đại nhất trong ngành khoa học máy tínhPhát minh vĩ đại nhất trong ngành khoa học máy tính là gì?

Đọc tiếp >>

Lập trình viên giỏi cần có “năng khiếu toán học”?

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

Một trong những trích dẫn nổi tiếng của nhà khoa máy tính Edsger Dijkstra là từ bài giảng nhận giải thưởng Turing vào năm 1972 của ông, Làm thế nào để chúng ta nói ra sự thật mà có thể làm tổn thương?

Bên cạnh một năng khiếu toán học, thì việc đặc biệt thông thạo tiếng mẹ đẻ là tài sản quan trọng nhất của một lập trình viên giỏi.

Lưu ý rằng ông chính xác nói là tiếng mẹ đẻ, không phải tiếng Anh. Điều này khiến tôi tự hỏi tại sao tất cả các công trình nghiên cứu quan trọng nhất của Dijkstra lại bằng tiếng Anh, chứ không phải tiếng Hà Lan quê hương ông.

Lập trình viên có cần phải giỏi toán học?Lập trình viên có cần phải giỏi toán học?

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

Những nguyên tắc thiết kế cơ bản dành cho lập trình viên

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

Trong một bài viết trước đây của mình, tôi kêu gọi các lập trình viên nên tìm hiểu về một chương trình chỉnh sửa đồ họa phổ biến nào đó. Đây hoàn toàn là một kỹ năng kỹ thuật, do đó, nó có vẻ hợp lý để các lập trình viên quan tâm và vọc thử. Nếu chúng ta có thể học được về những môi trường phát triển cực kỳ phức tạp, trình biên dịch, và cơ sở dữ liệu, thì tại sao lại không học về một trình biên tập đồ họa? Tuy nhiên, như một số bạn đọc đã chỉ ra rằng, năng lực trong một trình chỉnh sửa đồ họa là không đủ; bạn cũng phải tìm hiểu một số nguyên tắc thiết kế cơ bản để sử dụng công cụ đó một cách hiệu quả. Chúng ta hãy thử đảo ngược vấn đề: liệu có là hợp lý khi mong đợi các nhà thiết kế (designer) học về môi trường phát triển IDE yêu thích của chúng ta, đơn thuần như một công cụ, mà không có bất kỳ hướng dẫn về cách làm thế nào để viết code?

Chắc chắn là không. Đó là lý do tại sao tôi cảm thấy rất vui khi Graham Stewart nhắc tôi đề cập đến cuốn sách The Non-Designer’s Design Book.

Nguyên tắc thiết kế cơ bản cho lập trình viênNguyên tắc thiết kế cơ bản cho lập trình viên

Đọc tiếp >>

Đây là điều xảy ra khi bạn để cho các lập trình viên tạo giao diện người dùng

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

Sâu thẳm bên trong mỗi nhà phát triển phần mềm, có một nhà thiết kế đồ họa vừa chớm nở chờ đợi để có cơ hội được bộc lộ ra ngoài. Và nếu bạn để cho điều đó xảy ra, bạn sẽ gặp thảm họa. Hoặc ít nhất là người dùng của bạn sẽ gặp rắc rối to:

Giao diện một hộp thoại 'đơn giản' do lập trình viên tạo ra!Giao diện một hộp thoại ‘đơn giản’ do lập trình viên tạo ra!

Đọc tiếp >>

Liệu việc có được những lập trình viên giỏi nhất có thực sự quan trọng?

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

Joel gần đây có viết một bài khá dài và trong bài viết đó thì anh ta đã đặt câu hỏi rằng, liệu việc có được “những lập trình viên giỏi nhất” thì có thực sự quan trọng hay không?

Đây là một cái gì đó mà tôi đã đề cập trước đây: có một sự chênh lệch kỹ năng vô cùng lớn và rất kỳ cục trong nghề phát triển phần mềm. Tỷ lệ mà bạn sẽ làm việc cùng với một thiên tài hoặc là một thằng ngốc khi nhận bất kỳ công việc nào là 50/50.

Liệu việc sở hữu những lập trình viên giỏi nhất có là điều quan trọng?Liệu việc sở hữu những lập trình viên giỏi nhất có là điều quan trọng?

Đọc tiếp >>

Liệu việc viết code có quan trọng?

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

Bài viết 10 Bí quyết để giúp một lập trình viên trở thành doanh nhân của tác giả Ian Landsman là một lời khuyên tuyệt vời. Thậm chí nếu bạn không có ý định trở thành một doanh nhân đi chăng nữa.

Một trong những vấn đề lớn nhất mà tôi nhìn thấy ở các lập trình viên đó là họ suốt ngày chúi mũi vào những dòng code của mình mà không còn quan tâm đến vấn đề gì khác. Họ dành ra vô số thời gian để tạo ra một chức năng hoàn hảo hoặc xây dựng các đặc trưng để khoe khoang về công nghệ mới nhất nào đó. Hiện nay bạn phải viết code để có thể tồn tại trong ngành kinh doanh phần mềm. Đó là code viết ra phải có chất lượng cao mà không có nhiều bug hoặc thiếu an toàn. Tuy nhiên, phần code tốt nhất trên thế giới đó sẽ trở nên vô nghĩa nếu không ai biết về sản phẩm của bạn. Code đó sẽ trở nên vô nghĩa nếu mấy gã ở Cục Thuế đến và tống cổ bạn vào tù bởi vì bạn vẫn chưa thực hiện nghĩa vụ thuế. Code đó sẽ trở nên vô nghĩa nếu bạn bị kiện tụng bởi vì bạn đã không bận tâm về việc có một bản quyền phần mềm đã được tạo ra bởi một gã luật sư nào đó.

Ngày nay một lập trình viên cần phải có nhiều kỹ năng mới có thể thành công.Ngày nay một lập trình viên cần phải có nhiều kỹ năng mới có thể thành công.

Đọc tiếp >>

Hãy coi “năng lực tự học suốt đời” là cốt lõi nhất của mọi người trong thế giới ngày nay – Phỏng vấn Dương Trọng Tấn

“Tôi coi “năng lực tự học suốt đời” là cốt lõi nhất của mọi người trong thế giới ngày nay. Làm nghề IT thì năng lực ấy lại càng quan trọng, mang tính sống còn. Không trang bị đủ khả năng tự học liên tục, thì có thể sẽ phải tính trước ngày mình bị đào thải.” ~ Dương Trọng Tấn

Anh Dương Trọng Tấn

Anh Dương Trọng Tấn

Đọc bài phỏng vấn của blog Vinacode với anh Dương Trọng Tấn, là một giảng viên dày dạn kinh nghiệm tại Trung tâm đào tạo lập trình viên Aptech và Đại học FPT. Anh cũng là đồng sáng lập và biên tập viên chuyên viết bài tại các trang HanoiScrum.net, TapChiLapTrinh.vnDaDien.net về vấn đề dạy, học, agile|Scrum và những chủ đề “nóng” trong lĩnh vực giáo dục tại Việt Nam; để nghe anh chia sẻ về:

  • Những kiến thức và kỹ năng mà một lập trình viên cần trang bị
  • Thông tin về các tổ chức và sự kiện liên quan đến phương pháp phát triển phần mềm Agile cũng như mức độ ứng dụng Agile tại Việt Nam
  • Xu hướng phát triển của mô hình học tập trực tuyến MOOC và cơ hội với lập trình viên
  • Thông tin về trang tạp chí uy tín dành cho lập trình viên Việt Nam là Tạp Chí Lập Trình (http://tapchilaptrinh.vn/)
  • Quan điểm về việc học tập suốt đời đối với mọi người nói chung và lập trình viên nói riêng

Đọc tiếp >>