Để phát triển bền vững, lập trình viên Việt Nam cần nắm vững kiến thức về cấu trúc dữ liệu và giải thuật – Phỏng vấn Nguyễn Đức Anh

Lập trình viên Nguyễn Đức AnhCùng đọc bài phỏng vấn của blog Vinacode với anh Nguyễn Đức Anh, là một cựu sinh viên đã từng đoạt tới 6 giải thưởng cao tại các cuộc thi Olympic tin học trong nước và quốc tế. Hiện tại anh đang là một developer chuyên về các lĩnh vực Big Data, Data Mining, Nature Language Processor,… tại công ty truyền thông VCcorp; để nghe anh chia sẻ về:

  • Bí quyết từ một cậu học trò “nghiện game” và trượt Đại học trở thành một sinh viên xuất sắc với 6 lần đạt giải cao trong các cuộc thi Olympic tin học trong nước và quốc tế.
  • So sánh về năng lực của sinh viên Việt Nam với các đối thủ khác trong khu vực Châu Á ở các cuộc thi Olympic tin học.
  • Liệu những kiến thức và kinh nghiệm từ các cuộc thi Olympic tin học thời sinh viên có trở nên hữu ích trong công việc sau này của developer.
  • Thực trạng nhiều sinh viên CNTT thường lơ mơ về môn cấu trúc dữ liệu giải thuật và giải pháp cho vấn đề đó.
  • Tầm quan trọng của kiến thức về cấu trúc dữ liệu và giải thuật đối với sinh viên tin học cũng như đối với lập trình viên; và ứng dụng của nó trong công việc thực tế.

Đọc tiếp >>

Advertisements

Thuyết vị lai trong lập trình.. năm 1994

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

Paul Heberli và Bruce Karsh đã đề xuất một cái gì đó mà họ gọi là lập trình vị lai vào năm 1994:

Chúng tôi tin rằng có một cơ hội tuyệt vời cho các nguyên tắc vị lai sẽ được áp dụng vào khoa học của lập trình máy tính. Chúng tôi phản ứng chống lại bầu không khí tôn giáo nặng nề bao trùm mọi khía cạnh của lập trình máy tính. Chúng tôi tin rằng đây là lúc để giải phóng khỏi những ràng buộc của quá khứ, và ăn mừng một sự phục hưng trong nghệ thuật lập trình máy tính.

Chúng tôi thấy nhiều hệ thống máy tính hiện nay là vô cùng lãng phí và không hiệu quả. Phần cứng máy tính đã tăng tốc độ thực thi hơn 200 lần trong 20 vừa năm qua, trong khi việc thiết kế phần mềm có rất ít tiến bộ được tạo ra kể từ sự phát minh ra chương trình con. Chúng tôi muốn nhìn thấy khoa học của lập trình phát triển một cách nhanh chóng như các lĩnh vực công nghệ khác.

Chúng tôi tin rằng giáo dục đại học đang dành quá nhiều thời gian để truyền đạt những giáo điều, thay vì nên dạy về lý thuyết của việc thiết kế phần mềm để giúp các lập trình viên tạo ra những chương trình tốt. Các trường đại học nên cung cấp cho sinh viên ít giáo lý hơn, và thêm nhiều kinh nghiệm thực tế trong việc tạo ra và phân tích các chương trình nhỏ, nhanh, hữu ích và hiệu quả.

Liệu tôi có nên theo trường phái lập trình vị lai?Liệu tôi có nên theo trường phái lập trình vị lai?

Đọc tiếp >>

Tuổi thơ tôi lớn lên cùng máy vi tính

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

Tôi đọc cuốn sách Accidental Empires (Những đế chế tình cờ) của tác giả Robert X Cringley ngay sau khi nó được xuất bản vào năm 1992. Cuốn sách đó cung cấp một góc nhìn thú vị về những năm đầu khi mà Thung lũng Silicon mới được hình thành. Nó cũng là cuốn sách yêu thích của Doc Searls về ngành công nghiệp máy tính. Tôi đề xuất bạn nên đọc cuốn sách này.

Những đế chế công nghệ tình cờNhững đế chế công nghệ tình cờ

Đọc tiếp >>

Phần mềm: Nó là Gas

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

Nathan Myhrvold, cựu giám đốc công nghệ của Microsoft, là một nhà vật lý thực sự. Ông có bằng vật lý từ hai trường đại học UCLA và Princeton. Ông thậm chí đã có một học bổng sau tiến sĩ dưới sự hướng dẫn của nhà khoa học nổi tiếng Stephen Hawking. Vì vậy, như bạn có thể hiểu được, trong bài phát biểu của ông tại hội nghị ACM 1997 có tên là “50 Năm tiếp theo của phần mềm” chứa rất nhiều những ẩn dụ về lĩnh vực vật lý và khoa học.

Phát triển phần mềm là công việc rất phức tạp.Phát triển phần mềm là công việc rất phức tạp.

Đọc tiếp >>

Bill Gates và DONKEY.BAS

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

Thật khó để tưởng tượng vào lúc này, nhưng trong những ngày đầu của Microsoft, Bill Gates là một lập trình viên thực thụ. Một chút bằng chứng là chương trình được viết bằng ngôn ngữ BASIC có tên là DONKEY.BAS đi kèm với thế hệ máy tính ban đầu của IBM chạy hệ điều hành IBM DOS 1.10. Lịch sử của chương trình nhỏ và kỳ lạ này được làm sáng tỏ trong một phát biểu của chính Bill Gates tại sự kiện TechEd 2011:

Hồi trẻ Bill Gates có phải là một lập trình viên thực thụ?Hồi trẻ Bill Gates có phải là một lập trình viên thực thụ?

Đọc tiếp >>

Thất bại là mẹ thành công

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

Tôi tìm thấy đoạn trích này của Will Wright, từ một hội thảo tuần rồi, khá là thú vị:

Will Wright nói rằng anh ta đã học được bài học rằng hầu hết mọi dự án đều dường như có vẻ rất quyến rũ trên giấy tờ, nhưng đều bị thất bại khi ra thị trường. “Tôi thực sự đã hỏi các ứng viên khi tôi tuyển dụng là có bao nhiêu thất bại mà họ đã làm việc trên đó,” anh nói, “và tôi thực sự thích tuyển dụng một ai đó dựa trên số lần thất bại mà họ đã trải qua. Tôi nghĩ rằng đó là một hệ thống học tập tốt nhất.”

Lập trình viên thành công là người phạm sai lầm và rút ra được bài học từ thất bại.Lập trình viên thành công là người phạm sai lầm và rút ra được bài học từ thất bại.

Đọc tiếp >>

Chứng tự yêu mình của Paul Graham

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

Tôi có một sự tôn trọng rất lớn dành cho Paul Graham. Những bài tiểu luận của ông – đã được biên tập lại trong cuốn sách có tên là Hackers and Painters – đó là những bài viết tốt nhất mà tôi đã từng đọc về kỹ nghệ phần mềm. Dĩ nhiên không phải tất cả các bài viết đó đều tuyệt vời, nhưng phần lớn là đáng thời gian bạn bỏ ra để đọc. Tôi có thể nói rằng chúng tốt hơn đến 99.99% so với nội dung trên web. Ông ta chắc chắn là một tay viết giỏi hơn và đáng tin cậy hơn tôi.

Một sự kiện về khởi nghiệp do quỹ Y Combinator tổ chức.Một sự kiện về khởi nghiệp do quỹ Y Combinator tổ chức.

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

Mọi thứ bạn biết sẽ bị lỗi thời trong vòng 5 năm

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

Lời bàn của Vinacode:

Chắc bạn vẫn còn nhớ trong bài viết “Nghề lập trình: trước 40 tuổi bạn nên có phương án B” đăng trên blog Vinacode có phần thống kê của cục điều tra NSF về so sánh tuổi thọ của nghề lập trình viên và nghề xây dựng ở Hoa Kỳ:

“Sáu năm sau khi tốt nghiệp đại học, 57% sinh viên tốt nghiệp ngành khoa học máy tính làm việc như là một lập trình viên; sau 15 năm ra trường thì con số này giảm xuống còn 34%, và sau 20 năm ra trường — khi mà hầu hết mọi người đều chớm bước sang tuổi 40 — thì tỉ lệ này rớt xuống còn 19%. Trái ngược hẳn, con số này tương ứng cho kỹ sư xây dựng là 61%, 52% và 52%.”

Sau khi xem kết quả so sánh trên thì chắc hẳn bạn cũng đã tự đưa ra được lý do rồi nhỉ? Mình có đọc được ở đâu đó rằng ngành xây dựng khoảng 50 năm mới đổi mới hoàn toàn một lần, trong khi đó ngành phần mềm thì chỉ 10 năm; điều đó đồng nghĩa với việc một kỹ sư xây dựng với kiến thức thu được ở trường thì có thể ung dung ngồi rung đùi làm việc trong nhiều năm, trong khi một kỹ sư phần mềm thì hầu như phải học tập kiến thức mới mỗi ngày.

Ngành phát triển phần mềm cũng tuân theo định luật Moore?

Ngành phát triển phần mềm cũng tuân theo định luật Moore?

Ngành phát triển phần mềm cũng tuân theo định luật Moore?Theo “định luật Moore” do nhà đồng sáng lập Intel là Gorden Moore tiên đoán thì cứ sau 18 tháng tốc độ xử lý của con chip máy tính sẽ được tăng lên gấp đôi, và điều đó đồng nghĩa rằng ngành phát triển phần mềm cũng sẽ phát triển theo tốc độ đó? Cứ vài tuần bạn lại nghe thấy một ngôn ngữ lập trình, hay một framework hoặc một công nghệ mới nào đó xuất hiện… và bạn lại phải lao đầu vào nghiên cứu, nhưng đến một lúc nào đó bạn sẽ tự hỏi rằng liệu trong nghề phần mềm thì cái gì là không hoặc ít thay đổi nhất để mình bám vào nó? Bạn hãy dành một phút suy ngẫm trước khi tìm thấy câu trả lời sẽ có trong bài viết này nhé!

“Chỉ có hai điều là vô hạn: vũ trụ và sự ngu xuẩn của con người, và tôi không chắc lắm về điều đầu tiên.” ~ Albert Einstein

Là một lập trình viên, tôi luôn phải cập nhật kiến thức mới mỗi ngày.Là một lập trình viên, tôi luôn phải cập nhật kiến thức mới mỗi ngày.

Đọc tiếp >>

Làm thế nào để khởi nghiệp mà không phá hủy cuộc sống của bạn?

Bài viết được dịch từ trang web Medium

Làm startup thì có cảm giác giống như đi tàu lượn siêu tốc vậy, phút trước khiến bạn cảm giác giống như là bạn đang thay đổi thế giới và phút tiếp theo thì mọi thứ vỡ ra thành từng mảnh vụn.

Làm startup thì có cảm giác giống như đi tàu lượn siêu tốc vậy.Làm startup thì có cảm giác giống như đi tàu lượn siêu tốc vậy.

Đọc tiếp >>