Làm thế nào để khích lệ các lập trình viên

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

Có một nghịch lý cố hữu trong việc khích lệ các lập trình viên. Tôi nghĩ rằng câu chuyện vui Geek Hero Comic này là một minh họa hoàn hảo về nghịch lý đó:

Khích lệ lập trình viên khi bị xuống tinh thần!“Randall ơi. Bác sĩ nói rằng anh có thể nghe thấy tôi nói, thậm chí dù anh đang ở trong tình trạng hôn mê. Tôi chỉ đến để nói với anh rằng, anh có thể được nghỉ phép cho đến khi hoàn toàn bình phục, bởi vì cậu Ross đang đảm trách vị trí của anh rất tốt. Cậu ta thậm chí còn tìm thấy một nút thắt cổ chai (bottleneck) trong những dòng code của anh, và nói rằng bây giờ tốc độ hệ thống sẽ tăng lên gấp đôi.”
Làm gì khi lập trình viên xuống tinh thần“Cái.. cái… gì? Điều đó là không thể!!!!!!! Đưa tôi về công ty ngay!”

Đọc tiếp >>

Advertisements

20 Lý do tại sao bạn nên hẹn hò với một lập trình viên

Bài viết được dịch từ blog Hongkiat.com

Lời bàn của Vinacode:

Nên cười hay nên mếu?

Nên cười hay nên mếu?

Thỉnh thoảng mình vẫn kiểm tra từ khóa để xem độc giả thường tìm kiếm trên Google cụm từ gì thì ra blog VinaCode. Hôm nay mình có kiểm tra thì bắt gặp một câu tìm kiếm mà không biết nên cười hay nên mếu. Cụm từ tìm kiếm của một vị độc giả nào đó là: “Có nên yêu một người làm nghề lập trình viên?” Thật không ngờ là nghề lập trình viên giờ rớt giá dữ vậy?

Không biết cụm từ “lập trình viên” có tự bao giờ, nhưng những người đang làm nghề này thì mình thấy đa phần đều là kỹ sư và cử nhân học 4-5 năm tại các trường đại học cả (chỉ có một số ít tay ngang, hoặc học các trung tâm APTECH, NIIT… phải không nhỉ?). Mình nhớ hồi mình học đại học thì nghề này “hot” lắm, như kiểu có phong trào “người người học CNTT, nhà nhà đào tạo CNTT” vậy. Nhưng sau đó là những năm kinh tế bùng nổ, và người ta lại chuyển sang “người người học Tài chính Ngân hàng, nhà nhà đào tạo Tài chính Ngân hàng” vì nghe nói nghề này lương cao, nếu làm bộ phận tín dụng thì thường được khách hàng lại quả nên mau giàu? Vài năm gần đây kinh tế suy thoái, các ngân hàng làm ăn thua lỗ rồi cắt giảm nhân sự, cắt giảm lương, nên thấy các bạn học ngành ngân hàng ra trường thất nghiệp nhiều vô kể.

Ngẫm đi ngẫm lại thì hóa ra chúng ta chọn ngành nghề là theo “tin đồn của mấy tờ báo lá cải”, nghe đồn là ngành này “hot” và ngành kia “cool” thì nhào vô, và có lẽ chúng ta vẫn chạy theo hội chứng đám đông. Chọn nghề học mà cũng giống như việc “vàng lên thì đổ xô đi bán, vàng xuống thì đổ xô đi mua” vậy.

Thôi thì hôm nay tiện thể có cụm từ tìm kiếm nói trên, nên mình cũng hơi lan man chút. Và cũng ngẫm lại cái nghiệp làm nghề lập trình. Đúng là những người làm nghề này vì đặc thù công việc nên họ thường phải ôm máy tính cả ngày, nên khả năng giao tiếp với xã hội cũng có phần hạn chế. Nhưng mà họ đều là những người thông minh, sống tình cảm và nội tâm. Sau đây mình xin gửi đến bạn bài viết nói về 20 tính cách nổi bật của một geek (thường là lập trình viên, hoặc người đam mê các hoạt động trí não) để ủng hộ các đồng nghiệp nhé! Và bạn hãy share bài viết này vì biết đâu có thể giúp đỡ cho một đồng nghiệp nào đó của chúng ta chăng? 🙄

Lập trình đang trở thành một nghề được ưa chuộng. Đó có thể là do lập trình viên đang tạo ra những ảnh hưởng quan trọng trong một thế giới mà đang ngày càng dựa vào công nghệ thông tin. Thế giới này đã thay đổi; và vì vậy chúng ta cũng có những thay đổi trong cách nhìn nhận về lập trình viên nói chung.

Tại sao các bạn gái nên hẹn hò với một lập trình viên?Tại sao các bạn gái nên hẹn hò với một lập trình viên?

Đọc tiếp >>

Tại sao việc nhân bản Thung lũng Silicon là không thể

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

Lời bàn của Vinacode:

Người ta nói rằng sự hình thành của Thung lũng Silicon thì gồm 3 yếu tố: thiên thời, địa lợi nhân hòa. (Bạn đọc thêm bài này để biết thêm.)

Các cột mốc thời gian để hình thành Thung lũng Silicon như ngày hôm nay, bắt đầu từ cuộc đổ xô đến California tìm vàng vào năm 1849.

Các cột mốc thời gian để hình thành Thung lũng Silicon như ngày hôm nay, bắt đầu từ cuộc đổ xô đến California tìm vàng vào năm 1849.

  • Thiên thời: là bắt đầu từ cuộc đổ xô đến California tìm vàng năm 1849 đã tạo nên dân cư đông đúc nơi đây, tiếp đến là sự hình thành nên trường đại học Stanford (1891), rồi sau đó là có sự phát minh ra transitor. Và ông hiệu trưởng trường đại học Stanford vì lý do thiếu tài chính nên đã nhượng khu vực đất trống xung quanh trường cho các doanh nghiệp lập các trung tâm nghiên cứu. Sự hợp tác này khiến đại học Stanford có tiền trang trải chi phí, và sinh viên ra trường không phải đi xa để kiếm việc làm (và điều này cũng vô tình tạo ra một hệ sinh thái công nghệ tuyệt vời).
  • Địa lợi: khu vực California có biển, có núi bao quanh. Thiên nhiên tuyệt vời đã tạo bầu không khí cởi mở sáng tạo. Và diện tích Thung lũng Silicon có thể mở rộng rất thoải mái.
  • Nhân hòa: có rất nhiều tài năng xuất hiện ở thời điểm 1957, đặc biệt là bộ “8 kẻ phản bội” (bạn nhìn thấy trong hình phía dưới), đặc biệt là có Gordon Moore và Robert Noyce là nhà sáng lập ra Intel. Còn 6 người kia cũng đã tạo ra rất nhiều doanh nghiệp và làm chủ các quỹ đầu tư để cấp vốn hình thành rất nhiều công ty nổi tiếng sau này.

Hôm nay chúng ta sẽ đọc một bài viết nói về yếu tố quan trọng nhất (là con người) đã góp phần hình thành Thung lũng Silicon như ngày nay. Và trước khi bạn đi vào bài viết thì mình xin trích một câu nói của Giáo sư Jay Schalin rằng:

“Sự biến đổi của Thung lũng Silicon trở thành một thánh địa Mecca của công nghệ cao thì xảy ra phần nhiều là do các sự kiện ngẫu nhiên hơn là được thiết kế, và đó là một khoảng thời gian rất dài.”

Bộ 8 kinh điển: nhóm 8 người làm việc tại Fairchild Semiconductor, vào năm 1960 tại San Jose, California, đã sản xuất ra mạch tích hợp đầu tiên từ silicon. Trong đó hai người Gordon Moore và Robert Noyce, sau đó đã sáng lập ra gã khổng lồ Intel.Bộ 8 “kinh điển”: nhóm 8 người làm việc tại Fairchild Semiconductor, vào năm 1960 tại San Jose, California, đã sản xuất ra mạch tích hợp đầu tiên từ silicon. Trong đó hai người Gordon Moore và Robert Noyce, sau đó đã sáng lập ra gã khổng lồ Intel.

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

Tuổi nghề của một lập trình viên là bao nhiêu? Chỉ 15 năm thôi ư?

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

Lời bàn của Vinacode:

Gần đây cộng đồng Dev tại Việt Nam có vẻ quan tâm đến vấn đề tuổi nghề của một lập trình viên, và cũng chẳng phải ngẫu nhiên mà trang tuyển dụng ITviec cho đăng một khảo sát rằng “Liệu 30 tuổi có là quá già để làm một Developer?“. Cũng như trong bài viết trước chúng ta đã biết rằng tại Mỹ thì sau 20 năm ra trường chỉ có 19% kỹ sư phần mềm còn bám trụ được với nghề.

Nghề lập trình là một trong những nghề khắc nghiệt nhất, vì với tốc độ thay đổi công nghệ như vũ bão thì đòi hỏi chúng ta phải học tập liên tục mỗi ngày. Như trong một bài viết gần đây, một người khá nổi tiếng trong cộng đồng Dev Việt Nam là Lê Hoàng Dũng đã viết trên blog của anh như sau:

Hổ săn mồi“… nói đến câu chuyện học lập trình, tôi vẫn nhớ mãi một câu chuyện đọc ở đâu đó về con sơn dương và con hổ, hai con, một con là kẻ săn mồi, một con là kẻ bị săn đuổi, nhưng vào mỗi buỗi sáng hai con đều phải dậy sớm, chạy cật lực để đấu tranh sinh tồn, hổ không bắt được sơn dương, hổ sẽ đói mà chết, sơn dương không chạy thật xa hổ để kiếm cái ăn, sơn dương cũng chết. Lập trình viên cũng vậy, nếu mỗi sáng thức giấc, họ cảm thấy quá hài lòng về mình, và họ xao nhãng sự học, thì lúc đó họ cũng đang chết dần chết mòn…”

Nếu như vậy thì nghề lập trình cũng có tuổi nghề không hơn một cầu thủ bóng đá là mấy ư? Vừa rồi cầu thủ Văn Quyến mới treo giày giải nghệ ở tuổi 30, và mình cảm thấy kinh hãi khi nghĩ đến một ngày không xa nữa mình cũng phải… treo cái bàn phím này lên!

Bây giờ chúng ta sẽ ngó qua Ấn Độ để xem người ta nói gì về vấn đề này. Và bạn hãy dành chút thời gian để lại ý kiến của mình ở phần bình luận nhé!

Liệu tôi có thể tiếp tục ngồi viết code cho đến khi 50 hoặc 60 tuổi?Liệu tôi có thể tiếp tục ngồi viết code cho đến khi 50 hoặc 60 tuổi?

Đọc tiếp >>

Tại sao nhiều lập trình viên lại không biết… code

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

Tôi đã rất hoài nghi khi đọc được nhận xét này của Reginald Braithwaite:

Cũng giống như tôi, vị tác giả đó cũng đang phải đối mặt với một thực tế rằng, trong 200 ứng viên cho mỗi vị trí công việc lập trình thì có đến 199 người không biết viết code một chút nào. Tôi nhắc lại: họ không thể viết bất kỳ một đoạn code nào.

Có nhiều người tốt nghiệp ngành Khoa học Máy tính ra nhưng lại không biết lập trình!Có nhiều người tốt nghiệp ngành Khoa học Máy tính ra nhưng lại không biết lập trình!

Đọc tiếp >>

Hãy chấm dứt việc ra đi đột ngột

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

Khi Joel Spolsky, đối tác kinh doanh của tôi tại Stack Overflow và Stack Exchange, hỏi về điều mà tôi muốn làm sau khi tôi rời khỏi Stack Exchange, tôi nhớ rõ ràng là mình đã đề cập đến Aaron Swartz. Đó là những điều mà Aaron đã mang đến cho giới hacker chúng ta: một tấm gương của sự cao quý, những hành động tích cực không vụ lợi cho bản thân mà tất cả hacker chúng ta đều phải khát khao vươn tới — nhưng rất ít người trong số chúng ta có thể đạt được điều đó.

Aaron Swartz trong một hoạt động chống lại dự luật SOPA và PIPA - Ảnh: Daniel J. Sieradski (Flickr)Aaron Swartz trong một hoạt động chống lại dự luật SOPA và PIPA – Ảnh: Daniel J. Sieradski (Flickr)

Đọc tiếp >>

Những lầm tưởng về lập trình viên Ấn Độ

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

Lời bàn của Vinacode:

Ở Việt Nam thì bất cứ ai làm công việc lập trình thì đều gọi chung là lập trình viên (mặc dù có thể là tự học, học các khóa ngắn hạn, tốt nghiệp đại học 5 năm, Thạc sĩ,…). Trong bài viết này thì tác giả đã chia người làm phần mềm ra làm 2 loại: loại thứ nhất là programmer (lập trình viên, thường là kỹ sư phần mềm) và loại thứ hai là coder (dạng chỉ viết code thuần túy, thường là tốt nghiệp các khóa ngắn hạn như NIIT, APTECH…).

Như chúng ta đều đã biết, việc gia công phần mềm không có gì là xấu. Nhưng nếu các doanh nghiệp chỉ chăm chăm vào làm outsource mà không quan tâm đến khâu R&D để phát triển sản phẩm cho riêng mình, thì trong tương lai dài hạn các lợi thế cạnh tranh như (nhân công giá rẻ, dân số vàng…) sẽ qua đi. Hơn nữa, người lao động cũng dần trở nên nhàm chán vì công việc không có sự sáng tạo. Bài viết sau đây cho ta thấy bài học từ nền công nghiệp gia công phần mềm của Ấn Độ, người Ấn đi trước chúng ta và dường như đã gặp phải ngưỡng giới hạn. Còn người Việt thì sao? Người ta đang hết sức cổ vũ cho công việc làm gia công này phải không nhỉ? Hay một giấc mơ về Thung lũng Silicon viển vông nào đó?

Để bắt đầu bài viết này, mình xin trích lại một câu nói đùa đã trở nên phổ biến tại Ấn Độ là:

Bangalore có khoảng 40,000 con chó; và cũng có khoảng từng đó lập trình viên. Nếu bạn ném một hòn đá ngẫu nhiên lên không trung, thì hoặc là nó sẽ trúng vào đầu một con chó hoặc sẽ trúng đầu một lập trình viên. Trong khi con chó thì có thể có hoặc không một sợi dây (sợi xích) quanh cổ, nhưng một lập trình viên thì chắc chắn sẽ có.

Ngành công nghiệp phần mềm Việt Nam cũng định hướng làm gia công giống Ấn Độ?Do định hướng gia công nên ngành công nghiệp phần mềm Ấn Độ đang dần đi vào ngõ cụt? Người Việt nhận được bài học gì từ người Ấn?

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

Tầm quan trọng của việc đọc sách đối với lập trình viên

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

Lời bàn của Vinacode:

Bài viết này là của tác giả Douglas Reilly viết vào năm 2006 (trước khi ông mất bởi căn bệnh ung thư). Mình thấy bài viết này khá hay, nội dung bàn về tầm quan trọng của việc đọc sách đối với lập trình viên, mình xin dịch lại bài viết này. Qua đây ta cũng thấy rằng để viết được một cuốn sách thì các tác giả cũng rất vất vả, có khi đóng cửa ngồi viết cả năm trời, nhưng nhuận bút cũng chẳng là bao so với mức sinh hoạt bên Mỹ (chỉ vài đô-la cho mỗi cuốn được bán ra). Bởi vậy khi bạn có điều kiện thì cũng nên mua sách có bản quyền để ủng hộ họ nhé!

Tất cả các lập trình viên thường xuyên phải học về những công nghệ mới, các sản phẩm và phương pháp phát triển phần mềm mới. Bạn hãy nhớ lại về dạng phần mềm mà mình đã viết khoảng 5 hoặc 10 năm về trước. Nếu bạn đã theo nghề phát triển phần mềm đủ lâu, thì bạn sẽ không nghi ngờ gì về việc mình đang làm việc trên các hệ thống hoàn toàn khác xa những thứ mà mình đã làm trước đây. Khoảng 5 năm về trước, lúc đó tôi đang sử dụng Active Server Pages (ASP) và VBScript để phát triển các trang web cho một công ty dotcom. Ngày nay, tôi làm việc cơ bản là dựa trên ASP.NET sử dụng C#, và đôi khi cũng kết hợp một chút lập trình Windows Forms. Việc chuyển từ ASP cổ điển sang ASP.NET là một sự thay đổi khá lớn. ASP là một công nghệ dạng markup-oriented (nghĩa là code và các thẻ HTML trộn lẫn với nhau trong một file), kèm theo sự bừa bộn của các thẻ định dạng, ngược lại ASP.NET là một công nghệ kiểu control-oriented (sử dụng các control) cho phép bạn phát triển RAD (Rapid Application Development) – thậm chí bây giờ ASP.NET 2.0 đã ra đời.

Hình 1: Những cuốn sách do tôi viết.Hình 1: Những cuốn sách do tôi viết.

Đọc tiếp >>