Vấn đề của trò game dang dở

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

Bài viết của ngày hôm nay là một câu hỏi đơn giản.

Nếu theo giả thiết, bạn gặp một ai đó nói với bạn rằng họ có hai đứa con, và một trong số chúng là con gái. Tỷ lệ cược là bao nhiêu để người đó có một con trai một con gái?

Tỷ lệ con trai và con gái
Đọc tiếp >>

Advertisements

Tình dục, nói dối và phát triển phần mềm

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

Bạn đã từng không nhận làm một công việc lập trình nào đó hay chưa? Không phải bởi vì công việc đó không trả lương đủ cao, có chế độ phúc lợi nghèo nàn, hoặc ít có cơ hội thăng tiến — mà bởi vì công việc đó tự bản thân nó khiến cho bạn cảm thấy không được thoải mái? Chúng ta hãy cùng nghe câu chuyện của một độc giả trên trang freshmeat.net nhé:

Nhớ lại những ngày trước đây (đó là vào khoảng năm 1996), lúc đó tôi chỉ là một tay coder ngôn ngữ Perl chuyên viết các script CGI để kiếm sống. Vâng, túi tiền thì khá eo hẹp, nhưng vẫn tạm đủ sống. Tôi viết script cho vui và để kiếm một ít tiền, hơn nữa tôi viết chúng bởi vì tôi là một lập trình viên và tôi yêu thích công việc lập trình. Sau đó, vào một ngày đẹp trời, tôi nhận được một cú điện thoại từ công ty nọ. Một người bạn của tôi đã giới thiệu họ tới tôi, và họ muốn tôi viết một số script CGI. Quý ông mà tôi đã nói chuyện qua điện thoại thì tỏ ra là một người rất lịch sự, và có giáo dục — kiểu như một nhà quản lý điển hình.

Sau khi trao đổi một lúc, anh ta mới bàn sang vấn đề chính. Script CGI mà tôi tạo ra sẽ phục vụ cho việc lưu trữ một số lượng lớn hình ảnh và khiến cho chúng có thể tìm kiếm theo chủ đề. Nếu dừng lại chỉ có vậy thì không có gì phải bàn, nhưng khi tôi hỏi thêm, pha lẫn chút tò mò, rằng chúng tôi đang nói về loại hình ảnh nào, thì tôi đã khá sốc khi biết rằng đó là ảnh khiêu dâm. Vâng, khiêu dâm.

Tôi đã chấp nhận làm công việc đó, và cuộc đời tôi cũng đã thay đổi một cách đột ngột. Thay vì những người bạn của tôi sẽ nói “cool” hoặc một số lập trình viên mà tôi biết sẽ nói rằng “script đó hay quá”, thì họ lại né tránh, và từ chối nói chuyện với tôi, từ chối xem qua script mà tôi đã viết. Trong một thời gian dài, tôi đã tự hỏi mình rằng TẠI SAO. Năm nay, tôi có đi đến một buổi hội thảo, tôi chỉ đến đó với mục đích để tìm kiếm một công nghệ gì mới mẻ để học hỏi thôi, chứ không có ý định gì khác. Tất cả mọi người mà tôi đã nói chuyện thì rất thân thiện, dễ mến, thẳng thắn và cởi mở cho đến khi tôi nói với họ về công việc mà mình đang làm để kiếm sống. Thì ngay tức thì họ đột nhiên như sực nhớ ra là họ có một việc gì đó quan trọng hơn cần phải làm.

Tại sao vậy? Không lẽ tôi đang làm việc trong một ngành công nghiệp người lớn thì đồng nghĩa rằng tôi là một thằng cha đồi bại? Nó có nghĩa rằng tôi là một thằng cha biến thái bệnh hoạn? Nó có nghĩa rằng tôi là một kẻ không đáng tin cậy? Nó có nghĩa rằng những dòng code mà tôi viết ra là rất tồi?

Tôi là một lập trình viên, liệu tôi có nên tham gia vào trong ngành công nghiệp [người lớn].Tôi là một lập trình viên, liệu tôi có nên tham gia vào trong ngành công nghiệp [người lớn].

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

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

Nghề lập trình: trước 40 tuổi bạn nên có phương án B

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

Lời bàn của Vinacode:

Nhiều lúc mình cũng ngồi suy nghĩ rằng không biết sau 40 tuổi thì mình có ngồi code được nữa không. Ở Mỹ thì việc viết code trọn đời là chuyện bình thường, vì mức thù lao của họ rất lớn có thể đảm bảo một cuộc sống khá sung túc. Nhưng ở Việt Nam thì khác, và tình trạng lập trình viên nước ta cũng giống y chang các đồng nghiệp Ấn Độ như trong bài viết “Những lầm tưởng về lập trình viên Ấn Độ”.

Ở Việt Nam thì mỗi lứa tuổi đều có rất nhiều người xuất thân từ lập trình mà thành đạt, ví như đại diện 6x có thể kể đến Nguyễn Thành Nam – FPT (1961), thế hệ 7x thì có Nguyễn Tử Quảng – BKAV (1975), thế hệ 8x thì Vương Vũ Thắng – VCCorp (1980), Nguyễn Hòa Bình – PeaceSoft (1981). Nhưng số phận của hàng ngàn con người cùng lứa với họ thì ra sao nhỉ, họ đã tản mác về đâu? có bao nhiêu % bám trụ được với nghề? có bao nhiêu % sau 40 tuổi vẫn đang trực tiếp code?

Nếu nước mình cũng có cơ quan thống kê số liệu như ở Mỹ thì hay quá nhỉ?!

P.S. Bạn cũng nên đọc thêm bài viết “Bạn có thể lập trình đến năm bao nhiêu tuổi?” bên TechMaster của tác giả Trịnh Minh Cường

Xin chào mừng bạn trẻ đến thị trấn của những người già.

Trong khi tìm hiểu để viết bài viết gần đây, “Tuổi bị phân biệt đối xử và nghề lập trình viên”, tôi đã khám phá ra một đoạn trích dẫn của tờ báo uy tín New York Times vào năm 1998 tiết lộ một thống kê làm sửng sốt từ cục điều tra NSF của Mỹ về tuổi thọ của nghề lập trình viên.

“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 20 năm ra trường thì chỉ có 19% kỹ sư phần mềm bám trụ được với nghề lập trình (tại Hoa Kỳ).Sau 20 năm ra trường thì chỉ có 19% kỹ sư phần mềm bám trụ được với nghề lập trình (tại Hoa Kỳ).

Đọc tiếp >>

Lập trình viên Ấn Độ vĩ đại

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

Có một câu nói đùa đã cũ về thành phố Bangalore của Ấn Độ mà một người bạn đã nói với tôi vào cái ngày mà tôi đặt chân đến Bangalore, lần đầu tiên sau khi thành phố này được mệnh danh là thủ phủ về CNTT của Ấn Độ. Câu nói đó 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ó.

Hmmmm…

Được rồi, một nửa trong số các bạn có thể ngừng cười được rồi đấy. Vâng, tôi nói chính bạn đấy – bạn thuộc về một nửa đó – bởi vì một nửa còn lại LÀ các lập trình viên.

Vâng, đó là thực tế – nhiều hơn một nửa số lượng các bạn trẻ hiện nay làm một công việc gì đó phù hợp với chức danh lập trình viên (chưa có một số liệu thống kê chính thức, chỉ là tôi nhìn thấy xung quanh mình mỗi ngày). Có một xác suất rất lớn để người đọc bài này là một lập trình viên; nếu không, thì anh hoặc chị của bạn; hoặc bạn đời, hoặc người bạn thân nhất, hoặc anh hàng xóm, hoặc… là một lập trình viên, đúng không nào?

Liệu thế hệ lập trình viên Ấn Độ hiện nay có thể đóng góp nhiều hơn vào sự phát triển của quốc gia này?Liệu thế hệ lập trình viên Ấn Độ hiện nay có thể đóng góp nhiều hơn vào sự phát triển của quốc gia này?

Đọc tiếp >>

Chuyện đời của một kỹ sư phần mềm Ấn Độ – Cuộc sống chỉ có vậy thôi sao?

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

Thực hiện giấc mơ của hầu hết các bậc phụ huynh tại Ấn Độ, tôi đã tốt nghiệp đại học với mảnh bằng kỹ sư máy tính và xin được vào làm việc tại một công ty phần mềm có trụ sở tại Mỹ, mảnh đất của những con người dũng cảm và có rất nhiều cơ hội. Khi tôi đặt chân lên đất Mỹ, đó cũng là lúc giấc mơ trở thành sự thật.

Cuối cùng thì tôi cũng đã đến được nơi mà mình muốn. Tôi quyết định là mình sẽ làm việc ở Mỹ trong vòng khoảng 5 năm, và trong thời gian đó tôi sẽ kiếm đủ tiền để quay trở về sống tại quê nhà Ấn Độ.

Nhưng một câu hỏi luôn dằn vặt tôi mỗi đêm là “Tất cả cuộc sống chỉ có vậy thôi sao?”Nhưng một câu hỏi luôn dằn vặt tôi mỗi đêm là “Tất cả cuộc sống chỉ có vậy thôi sao?

Đọc tiếp >>