Learn

The forum of documents and methods for studying - Lượm lặt kiến thức


    Tại sao tôi lại chọn làm lập trình viên?

    avatar
    congdantoancau

    Tổng số bài gửi : 633
    Tiền xu Ⓑ : 1732
    Được cảm ơn № : 27
    Ngày khởi sự Ngày khởi sự : 12/05/2014

    Tại sao tôi lại chọn làm lập trình viên? Empty Tại sao tôi lại chọn làm lập trình viên?

    Bài gửi by congdantoancau 13th September 2014, 03:00

    " Loạt bài viết này thuộc về Lê Đình Lĩnh Nam.(Nam Le's Blog) " qua diễn đàn BKAV
    ________________

    Được nghỉ 3 ngày nên ngồi suy ngẫm về cái nghiệp lập trình viên mà mình đang theo đuổi.

    https://www.youtube.com/watch?v=xIIVGd0dKyI
    Su hướng phát triển của ngành công nghệ thông tin

    Tường thuật từ một buổi ăn trưa
    Một dịp hiếm hoi tôi được ngồi ăn trưa với mấy đứa bạn học chung hồi đại học. Cả bọn đều đang làm cho các công ty phần mềm lớn, ngót ngét cũng được hơn 2 năm rồi.

    - Dạo này bên mày "cày" dữ không?
    - Cũng như trước. Bị bên kia nó dí giữ quá.
    .......
    - Bây giờ tao nhận ra rằng đi làm phần mềm là một sai lầm. Tưởng rằng lương cao chứ thật ra chẳng bằng ai. Tao thấy mấy đứa bạn đi làm mấy ngành khác sướng hơn nhiều. Mấy đứa đi làm sales giàu quá trời.
    - Còn mấy đứa bạn tao đi làm bên ngành ngân hàng cũng đã lắm.
    - Tính ra thì học y hoặc dược hơi cực nhưng bây giờ đứa nào cũng ngon lành.

    Câu chuyện tiếp tục với đề tài liên quan đến các ngành nghề khác. Ở thời buổi này thì cả bọn thấy làm nghế gì cũng sướng hết, vừa có thu nhập cao lại vừa lý thú, trừ cái nghề lập trình viên mà cả bọn đang theo đuổi!

    Hỡi ôi! Cái nắng đổ lửa của Sài Gòn cũng không làm tôi choáng bằng nỗi băn khoăn về cái nghề mà mình đang theo đuổi. Ai cũng đổ xô đi học công nghệ thông tin, ai cũng nói ngành này là "hot" nhất, triển vọng nhất, tốt nhất, và sướng nhất. Image Thế mà ngay ở đây, những kỹ sư phần mềm mà kinh nghiệm làm việc còn ít hơn cả "kinh nghiệm" ngồi trên ghế giảng đường Đại học, với bao ước mơ, hoài bão và nhiệt huyết, lại có cái nhìn thực tế thật phũ phàng vậy.

    Ok. Phần "tâm trạng" mở đầu như vậy là đủ rồi. Bây giờ tôi thử liệt kê những cái "nghĩ quẩn" của mình về nghề lập trình viên (hay là kỹ sư phần mềm, hay là chuyên viên phát triển phần mềm, hay là thợ code, hay là công nhân kỹ thuật cao, hay là những chuyên viết chat Yahoo! lén,...)

    1) Làm phần mềm không có thu nhập cao
    Đây là thực thế phũ phàng nhất đang đè nặng lên đầu óc của các lập trình viên chúng ta, nặng đến nỗi đôi lúc có người không thể đè nỗi phím Shift trên bàn phím. Image
    Vâng, theo tất cả các khảo sát về tiền lương thì làm việc trong ngành CNTT sẽ có mức lương cao nhất.

    Điều đó đúng nhưng chưa đủ. Mức lương khởi đầu thì cao thật, nhưng sau đó thì... Làm sao ta có thể toàn tâm toàn ý fix bug được nếu như biết được đứa bạn cấp III của mình bây giờ đang làm cho các tập đoàn kinh tế nước ngoài với mức thu nhập trên 10 triệu. Làm sao không thể nóng đầu được nếu như biết được lúc mới ra trường mức lương của nó chỉ bằng phân nửa của ta. Image
    Vâng, lương khởi điểm thì cao nhưng tăng không nhanh. Có tăng thì cũng tăng không nhiều. Có nơi chịu tăng nhiều thì không có thưởng. Ngoài những cái đó thì chẳng còn thu nhập nào khác, cũng ít có cơ hội để "đánh lẻ" bên ngoài vì công việc chính đã quá bận rộn rồi.

    2) Làm phần mềm lại rất cực
    Cái cực đầu tiên là áp lực thời gian. Điều này thì không cần phải nói nhiều rồi. Image
    Bây giờ nói đến môi trường làm việc. Nếu ai chưa từng làm phần mềm thì có thể hình dung thế này.
    Thử tưởng tượng bạn bước vào một khu nhà rộng lớn, rất yên tĩnh và hoàn toàn cách biệt với thế giới bên ngoài. Bạn bước đến cửa ra vào và biết rằng ở đây những người bảo vệ làm việc 24 giời/ngày, suốt 365 ngày/năm. Bước vào bên trong nữa, bạn sẽ thấy ở đấy không khí rất âm u, hoàn toàn không có ánh sáng tự nhiên. Cũng dễ hiểu thôi, vì mọi nơi ở đây đều không có cửa sổ. Nếu có cửa sổ thì cũng luôn bị đóng kín lại.

    Bạn bước vào sâu hơn nữa và thấy các căn phòng được ngăn ra, bên trong từng căn phòng lại được ngăn ra thành từng buồng nhỏ hơn nữa. Mỗi buồng đều có diện tích như nhau, rất chật hẹp, và được bài trí, trang bị vật dụng giống hệt nhau. Trong đó có đặt ít nhất một bộ máy vi tính, nhưng vì diện tích không gian quá nhỏ nên nó chiếm gần hết khoảng không, chỉ còn lại vừa đủ cho bạn ngồi vào đó. Bạn sẽ không thể đi lại thoải mái được, không thể nằm ra, thậm chí xoảy trở vận động cũng khó khăn vì quá chật hẹp.

    À, bạn cũng phải đeo một cái thẻ có ghi một mã số trên túi áo. Bạn sẽ nhận ra rằng mọi người ở đây cũng đều đeo thẻ có mã số như vậy. Và bạn chỉ có thể tự do trong khoảng không gian chật hẹp của mình; bạn không được tự do đi sang khu vực khác, thậm chí không được sang buồng bên cạnh và đụng đến bất kỳ vật dụng gì ở đó.

    Chưa hết, bạn không được làm ồn và ảnh hưởng, dù nhỏ nhất, đến những buồng xung quanh.

    Và mỗi ngày sẽ có một người có chức vụ ở đây (tạm gọi là đốc công) đến giao cho bạn một số nhiệm vụ phải hoàn thành. Bạn sẽ làm việc trong buồng của mình, với những dụng cụ cung cấp sẵn. Không như những công việc ở thế giới bên ngoài, ở đây họ thực thi chế độ làm việc "tự do giờ giấc". Điều đó có nghĩa là gì? Điều đó có nghĩa là có những người ở cấp cao hơn nữa giao cho những viên đốc công các nhiệm vụ, và định các nhiệm vụ đó theo đơn vị thời gian là ngày, tuần, hoặc tháng. Đến phiên các đốc công này sẽ chia nhỏ các nhiệm vụ đó ra rồi giao lại cho những người như bạn. Điều kỳ lạ mới xảy ra ở đây. Cái mà viên đốc công nhận là một công việc cần n ngày, nhưng vì bạn được quản lý theo chế độ "tự do giờ giấc", cho nên cái gọi là n ngày đó hoàn toàn không có ý nghĩa đối với bạn. Bạn có thể phải bỏ ra n nhân với 8 giờ để hoàn thành nó, hoặc có thể phải cần đến n nhân với 12 giờ, hoặc n nhân với 18 giờ, hoặc là (n+x+y+z) nhân với 18 giờ. Cái mà viên đốc công cần ở bạn là kết quả cuối cùng.

    Được rồi. Tôi tạm dừng ở đây để hỏi bạn một câu:
    Bạn nghĩ xem mình đang ở đâu?
    Tôi tin rằng chín trên mười người được hỏi sẽ có cùng một câu trả lời: đó là cái nhà tù. Nơi mà người ta tách biệt mọi người ra riêng rẽ; nơi mà hoạt động suốt ngày, suốt đêm, suốt năm; nơi mà người ta nhét thật nhiều người vào ở theo nguyên tắc tối ưu hóa tối đa về diện tích sử dụng và sẵn sàng y sinh mọi yếu tố khác; nơi mà người ta chỉ quan tâm đến công việc có được hoàn thành hay không, chứ không cần chú ý đến chất lượng và thời gian bỏ ra; và là nơi mà với tất cả sự hy sinh và chịu đựng như vậy, những người bỏ ra gần hết thời gian của họ ở đó sẽ chỉ được tưởng thưởng rất ít; và việc tưởng thưởng sẽ phải đợi cho đến khi xong nhiệm vụ, hoặc đến một ngày cố định nào đó trong năm (gọi là ngày ân xá, hay còn gọi là đợt performance appraisal) - (hãy nhớ đến cách mà ba mẹ tưởng thưởng cho bạn: trước, trong khi, và sau khi làm xong việc đều được cả, và thưởng một cách vô điều kiện, nếu bạn đậu đại học vào tháng 8 thì ba mẹ không bao giờ phải đợi đến tháng 12 mới thưởng cho bạn, thậm chí ngay từ tháng 5, tháng 6 cũng có thể khích lệ cho bạn rồi; bây giờ hãy so sanh với cách mà nhà tù trên thưởng cho bạn Image Bạn thhích cái nào hơn? Image
    Nhưng ngoài chín người đó vẫn còn một người có câu trả lời hoàn tòan khác: nơi đây là một công ty phần mềm. Người đó không ai khác là một lập trình viên. Image

    3) Nghề lập trình chẳng giúp gì cho gia đình được
    Người Việt mình đi làm ngoài chuyện kiếm tiền là mục tiêu đầu tiên, còn sau đó thì muốn có thể "giúp đỡ" cho gia đình, họ hàng vào những dịp quan trọng. Ví dụ: chồng của con của em ruột của bà ngoại của tôi làm một chức lớn trong ngành hàng hải ở ngoài Hà Nội, nên gia đình tôi có "vấn đề" gì về chuyển hàng hóa đi nơi khác là OK liền Image; hoặc nếu như chị họ của chị dâu của anh họ xa của bạn làm ở phòng tín dụng ngân hàng, bạn sẽ dễ dàng vay tiền để mua nhà hơn; hoặc là bạn học cũ hồi cấp II của mẹ tôi có một người bạn thân có người em gái ruột làm ở bộ phận Răng - Hàm - Mặt bệnh viện Chợ Rẫy, nên khi đứa cháu trai của anh rể của tôi cần đi nhổ một cái răng sâu, chắc chắn nó sẽ được ưu tiên vào trước mà không phải đợi lâu; ngoài ra, cháu bé này khi xin vào lớp 1 cũng rất dễ dàng vì một người họ hàng xa ở ngoài Bắc của tôi là bạn thời chiến đấu với vợ của ông hiệu trường của trường cấp I trọng điểm trong khu vực. Image
    Vậy, tôi có thêm một câu hỏi dành cho bạn:
    Tính từ lúc đi làm lập trình viên đến giờ, hãy kể ra một lần nào đó mà gia đình hay họ hàng của bạn đã "nhờ vả" bạn được việc gì đó?
    Tôi tin rằng phần lớn các lập trình viên đều không trả lời được câu hỏi này.

    Vậy một câu hỏi dễ hơn:
    Hãy nhìn xung quanh trong công ty phần mềm mà bạn đang làm, kể cả những người có chức vụ và thâm niên cao nhất, bạn có thấy họ "giúp đỡ" được cho gia đình việc gì chưa?
    Hầu hết các lập trình viên cũng không thể trả lời được câu hỏi này.

    Bởi vì khi bạn dành gần hết thời gian trong ngày của mình ngồi trước máy vi tính để viết chương trình, bạn sẽ chẳng có được một "lợi thế" nào khác trong cuộc sống, ngay trước mắt và về sau này. Thậm chí một người bạn của tôi đi làm marketing cho tập đoàn hóa mỹ phẩm, thoạt nhìn cũng chẳng có "ưu thế" gì đặc biệt, nhưng thật ra hằng tháng cũng được công ty cho nào là dầu gội đầu, sửa tắm, kem đánh răng, sản phẩm riêng dành cho chi em phụ nữ Image,... hoàn toàn miễn phí. Ông bác làm bảo vệ kiêm soát vé ở sân vận động thì thỉnh thoảng đem được nhiều vé mời về cho gia đình. Người bạn khác làm kiến trúc sư thì có thể vẽ nhà dùm tôi với giá hữu nghị mà chất lượng thật bảo đảm. Còn bạn, bạn có thể đem được cái gì về? Đem cái chương trình mà ngay cả bạn dù viết ra nó cũng không hình dung người ta sẽ sử dụng ra sao? Hay là giúp đỡ họ hàng mình khi họ cần fix một vài cái bug trong một cái phần mềm nào đó. Image Thậm chí, một số bạn của tôi, đi du học lên cao để chuyên tâm làm nghiên cứu, thoạt nhìn thì có vẻ "vô tích sự" đối với gia đình, nhưng ngẫm lại thì cũng đem về nhà được cái danh là "ông tiến sĩ", "ông thạc sĩ". Còn nếu bạn đi làm lập trình viên, dù có được ra nước ngoài đi công tác, thì bà hàng xóm bên cạnh nhà cũng chỉ biết rằng: "thằng đó nó đi xuất khẩu lao động". Image

    4) Làm phần mềm thì sẽ ít cơ hội được giao tiếp với bên ngoài
    Bởi vì bạn phải dành gần hết thời gian trong cuộc đời của mình trong một không gian chật hẹp, với phía trước là làm màn hình vi tính, hai bên trái và phải là hai vách ngăn, còn ngay phía sau lại là một lập trình viên khác cũng đang ngồi trong thế tù túng giống bạn. Đấy, thế giới của bạn hạn hẹp như thế. Bạn rời mắt khỏi màn hình, nhìn ra xa xăm, và chẳng phải đợi lâu khi mắt của bạn bị dội ngay lại bởi bức tường trước mặt. Lần cuối cùng mà bạn thấy ánh sáng mặt trời khi đang làm việc là khi nào? Phần lớn những người không bao giờ hình dung nổi mình có thể sống trong một căn nhà không bao giờ có ánh sáng tự nhiên, thế mà họ không nhận ra rằng mình dành hết thời gian ban ngày ở một môi trường khủng khiếp như vậy. Image
    Đáng buồn thay, ở trong một mội trường như vậy còn khiến cho bạn ít có cơ hội tiếp xúc với thế giới bên ngoài. Bạn sẽ ít khi gặp được những người mà bạn yêu thương, ít có điều kiện làm quen được với những người có thể giúp thay đổi cuộc đời hay sự nghiệp của bạn một cách tích cực. Khi bộ óc của bạn lúc nào cũng chỉ hoạt động trong 2 trạng thái: suy nghĩ logic (lúc bạn làm việc và đi học thêm vào buổi tối) và ngủ, chắc chắn bạn sẽ bị thui chụt đi rất nhiều khả năng cảm nhận cảm xúc của người đang nói chuyện với mình, hay khả năng biểu lộ suy nghĩ của mình một cách mạch lạc và đầy xúc cảm.

    Ồ không, bạn không hề cô đơn trong thế giới riêng của mình, vì bây giờ khoa học kỹ thuật đã phát triển rất cao. Có 2 phát minh vĩ đại có thể giúp cho bạn tiếp xúc với thế giới bên ngoài dù bạn ở bất kỳ đâu, bất kỳ khi nào: điện thoại di động và online messenger (ở VN thì có thể gọi luôn là Yahoo! Messenger, hay IM, vì nó quá phổ biến). Nhưng thật ra thì chúng chỉ làm cho thế giới của người lập trình viên tồi tệ thêm thôi. Hãy nghĩ về người mà bạn yêu thương nhất. Có thể bạn đã quá quen thuộc với khả năng gọi đến người đó, hay là nghe được giọng nói của người đó bất kỳ lúc nào, bất kỳ ở đâu. Hãy nghĩ lại thử xem. Thế ngoài giọng nói của người đó, bạn có thể nghe được tâm trạng, đọc được cảm xúc trên khuôn mặt người đó, nghe không chỉ bằng tai mà còn bằng trái tim của mình không? Hãy nghĩ lại thử xem. Có bao giời bạn thấy buồn cười không khi bạn trao đổi với người đó hằng ngày, mà người đó cũng không ở xa bạn, nhưng đến một hôm bạn chợt nhận ra người đó đã ốm đi rất nhiều, có vẻ mệt mỏi hơn rất nhiều, khi bạn có được thời gian hiếm hoi gặp mặt. Hãy thử nghĩ lại xem. Bạn có thể gọi đến người đó bất kỳ khi nào bạn muốn, nhưng liệu điện thoại di động có giúp cho bạn biết đúng lúc nào đó mà người đó cần bạn đến nhất không. Không thể rồi. Chỉ có ánh mắt, cử chỉ, khuôn mặt, hơi thở của người đó mới giúp bạn nghe ra được điều đó. Những tín hiệu này thì còn rất lâu khoa học kỹ thuật mới có thể giúp bạn được.

    Hay như tôi đây, trước khi biết đến YM, tôi có thể viết một hơi mười mấy trang giấy, biểu lộ cảm xúc của mình qua từng từ ngữ, chấm câu, ngắt đoạn. Còn bây giờ tôi dùng phần lớn thời gian để suy nghĩ xem chèn cái emotion nào (Image, Image, Image, Image, Image) để thay cho sự bất lực trong cách thể hiện cảm xúc của mình.

    Tóm lại, bất kỳ ai cũng cần một cuộc sống cân bằng, vừa có thế giới riêng tư vừa có thể giới bên ngoài. Công việc lập trình viên có thể khiến cho cuộc sống của bạn mất cân bằng. Bạn có thể giải quyết bằng cách chữa trị đúng vào nguyên nhân của vấn đề (sự mất cân bằng), hoặc bạn có thể chọn cách chữa trị vào các triệu chứng (ít giao tiếp, tách biệt với thế giới bên ngoài). Phần lớn lập trình viên đều chọn cách thứ hai, và họ dành thật nhiều thời gian cho điện thoại di động và YM. Bất kỳ ai cũng hiểu điều đơn giản này: không thể tin vào một bác sĩ chỉ biết chữa bệnh bằng cách tìm mọi cách dứt cho được triệu chứng, cái mà bệnh nhân cần là chuẩn đoán tìm ra nguyên nhân và chữa được nguyên nhân của căn bệnh.

    Điện thoại di động và YM chỉ giúp lập trình viên chữa trị các triệu chứng. Nó là những phương tiện thông tin tốt, đặc biệt tốt với những ai có cuộc sống cân bằng. Nhưng nó là một thảm họa đối với những ai có cuộc sống không cân bằng. Hầu hết mọi lập trình viên đều có cuộc sống không cân bằng.

    5) Làm lập trình viên không "cao cấp" như mọi người nghĩ
    Mọi người thương quan niệm ngành CNTT là ngành khoa học trình độ cao, hay là kỹ thuật cao (high-tech). Bởi vậy ai cũng cho rằng làm phần mềm là ngành kỹ thuật cao. Ở đâu sắp mở khu công nghệ cao, ở đấy người ta sẽ tìm cách chào đón các công ty phần mềm vào đầu tiên.

    Thực sự không phải như vậy. Làm phần mềm không phải là kỹ thuật cao, ngược lại là khác, nó chính là ngành kỹ thuật thấp (low-tech). Công việc mà tôi đang làm là gì? Đó là chuyển những yêu cầu chưa rõ ràng của khách hàng thành những mã lệnh của máy vi tính. Chấm hết. Chẳng có gì là high-tech cả. Nếu nói thông dịch viên là một ngành kỹ thuật cao thì thật là buồn cười, còn tôi thấy nói rằng làm phần mềm là một ngành kỹ thuật đỉnh cao thì còn buồn cuời hơn.

    CNTT là một ngành high-tech, và một khoa học cao cấp. Chính xác.
    Nhưng làm phần mềm không phải là CNTT, và càng không phải là high-tech.

    Những người nghiên cứu chuyên sâu về các lý thuyết lập trình, về các khoa học cơ bản cho ngành phần mềm là high-tech. Các lĩnh vực về compiler, database, AI (trí tuệ nhân tạo), robot, kể cả về cấu trúc dữ liệu và thuật toán,... đều có thể xem là high-tech. (À, mà hiện nay ở Việt Nam người ta đổ xô học lên cao để đi theo những cái high-tech này, nhưng có thật họ có làm những việc high-tech ở trong đó không thì tôi sẽ có dịp trình bày sau Image).

    Còn làm phần mềm lại ở một cấp thấp hơn rất nhiều. Tất cả mọi việc tôi cần làm để chuyển yêu cầu thành các mã lệnh là sử dụng các cấu trúc dữ liệu, các thuật toán đã sẵn có. Chẳng có gì là high-tech cả. Làm phần mềm mà một kỹ nghệ (engineering) chứ không phải là khoa học (science) hay là nghiên cứu (research) gì cả.

    Bây giờ trở lại với công việc thực tế của lập trình viên. Các sinh viên ngành CNTT đều mơ mộng về một công việc rất high-tech, trong đó mình có thể tìm ra những thuật toán mạnh mẽ, những lý thuyết mới mẻ, những mô hình độc đáo, sáng tạo. Những chỉ sau 1,2 năm làm việc thì đều vỡ mộng vì thấy rằng công việc thực tế lại quá low-tech, quá "cơ bắp".

    Sử dụng lý thuyết sẵn có để làm ra phần mềm chính là kỹ nghệ phần mềm, cái này thì chằng có gì là high-tech theo như cách hiểu của mọi người cả.

    Còn nếu muốn tìm ra những lý thuyết mới thì đó là một lĩnh vực hoàn toàn khác. Có thể rất high-tech, nhưng ở VN có lẽ có rất ít công ty tạo điều kiện để làm việc này. Còn ở nước ngoài có thể vào những bộ phần nghiên cứu phát triển ở các công ty lớn mà làm. Mà công việc đó thì cũng không còn được gọi là software engineering nữa.

    Vậy thì bị kịch của lập trình viên là gì? Đó là phải làm một công việc rất low-tech trong khi đầu óc lại luôn mơ về một công việc high-tech. Hậu quả: công việc cực khổ, cơ bắp, nhàm chán, và chẳng có gì mới mẻ.

    Có thể hiễu nỗi khổ này của lập trình viên bằng cách hình dung một anh chàng lúc nào cũng mơ mộng trở thành một nhà toán học lỗi lạc, trong khi công việc hằng ngày là phải tính toán sổ sách cho một cửa hiệu tạp hóa. Image

    ----------

    Nãy giờ tôi nhìn vào nghề lập trình viên bằng suy nghĩ phiến diện, tiêu cực. Bây giờ thử bỏ chiếc mũ màu đen trên đầu, bỏ cả cặp mắt kính đen Image ra, đội chiếc mũ màu vàng vào, ngước lên bầu trời trên cao, nhìn thấy ánh sáng mặt trời vàng rực. Vậy thử tìm cách nhìn nghề lập trình viên bằng con mắt lạc quan xem thế nào.

    Nhưng trước hết thì phải đi uống nước ép trái cây đã.
    avatar
    congdantoancau

    Tổng số bài gửi : 633
    Tiền xu Ⓑ : 1732
    Được cảm ơn № : 27
    Ngày khởi sự Ngày khởi sự : 12/05/2014

    Tại sao tôi lại chọn làm lập trình viên? Empty Re: Tại sao tôi lại chọn làm lập trình viên?

    Bài gửi by congdantoancau 13th September 2014, 03:04

    Lại có một dịp khác tôi có dịp đi ăn tối với các người bạn của một người bạn của tôi. Thành phần thì đủ cả: dược sĩ, nhân viên bán hàng, marketing, giáo viên, người không có việc làm và người chưa có việc làm.

    - Biết vậy hồi trước tao học ngành CNTT thì bây giờ sướng rồi.
    Tôi giật mình và tiếp tục chăm chú lắng nghe.
    - Ừ! - Một người khác nói. - Làm cái đó lương cao mà không phải lo lắng, chạy vạy nhiều.
    - Làm ngành của tao nhìn bên ngoài thì đã thật, nhưng nhiều cái mình không thích nhưng cứ phải ráng mà chịu đựng, nhìn bọn làm phần mềm thảnh thơi mà thấy thèm.

    À há! Khi mình thay đổi cách nhìn vào cùng một việc, mình sẽ thấy được nhiều điều quan trọng hơn. Vậy thì thử đội mũ vàng vào và nhìn mọi việc một cách tích cực và yêu đời xem.

    1) Làm phần mềm thật là vui
    Không có nhiều công việc trên đời này tự bản thân nó đem lại niềm vui như khi làm phần mềm.

    Bằng chứng thì rất dễ tìm thấy. Hãy đến một công ty phần mềm vào buổi tối, vào ngày cuối tuần, thậm chí là ngày lễ, bạn sẽ thấy có một vài nhân viên vẫn đang ở công ty mày mò tìm hiểu, viết thêm một số phần mềm chẳng liên quan đến công việc, cũng chẳng để kiếm tiền. Họ mày mò chỉ đơn giản vì họ thích, vì nó hay, vì nó vui. Ngoài ra, những công nghệ mới liên quan đến phần mềm, và ngay cả bản thân chiếc máy vi tính, đều có thể đem lại niềm vui và sự thích thú cho người sử dụng. Tôi luôn thấy nhiều nhân viên ở lại công ty để duyệt web, chơi game bằng máy vi tính. Ngoài ra còn có vô số điều lý thú khác để làm với máy vi tính.

    Ngược lại, tôi chưa bao giờ thấy một nhân viên kế toán hay tài chính ở lại công ty để "chơi" với mấy cái sổ sách cả. Image Tôi cũng chưa thấy ở nhà máy nào có công nhân tình nguyệnở lại để "quậy" với mấy cái máy mọc cả. Hay những người làm sales, họ sẽ làm gì sau khi hoàn thành công việc? Chẳng có gì trong công việc để "giải trí" cho họ cả. Có lẽ bia, rượu, thuốc lá, đồ nhắm thì vui hơn chăng? Image
    Dĩ nhiên cũng có người ở lại để mày mò tìm hiểu thêm về công việc. Nhưng mục đích chủ yếu là để nâng cao kiến thức chuyên môn và thăng tiến. Đây là một phạm trù khác. Cái mà tôi muốn nói đến là niềm vui, là động lực tự nhiên, vô tư.

    Tôi còn nhớ khi mình tham gia đội dự tuyển bóng đá ỏ trường hồi cấp II, sau giờ tập luyện mệt nhọc, tất cả chúng tôi đều ở lại để chia làm hai phe đá banh tiếp. Chẳng phải để rèn luyện gì cả, chỉ bởi vì đá banh thì vui, chơi với bạn bè thì rất vui.

    Tôi còn quen một anh bạn làm nhân viên trong bệnh viện, chưa hề đi học chính thức về tin học, nhưng khi rảnh rỗi vẫn tự đọc sách để việt máy chương trình bằng VB để phục vụ cho công việc của mình và đồng nghiệp. Hay một ông bác tự mày mò học viết chương trình đơn giản, học thiết kế đồ họa để tự làm web cho mình. Thật là vui và thật là say mê. Họ cũng rất vui nếu tôi tặng họ những cuốn sách hay hay gửi cho họ những chương trình mẫu hữu ích.

    Ngược lại, tôi chưa có dịp tặng những cuốn sách kiểu như "Nhập môn kế toán", "Nghệ thuật bán hàng" cho ai đó mà tôi quen, để họ có thêm thú vui tiêu khiển. Image
    Một công việc mà bản thân nó có thể đem lại niêm vui, sự thích thú một cách tự nhiên, vô tư, thì đó chắc chắn là một công việc tốt về lâu dài.

    2) Làm phần mềm hướng mình đến những mục tiêu tốt đẹp
    Ở bất kỳ công ty phần mềm nào, nhân viên luôn được khuyến khích:

    * Nâng cao và cập nhật kiến thức chuyên môn.
    * Rèn luyện ngoại ngữ.
    * Rèn luyện kỹ năng giao tiếp, giải quyết vấn đề, kỹ năng trình bày,...
    * Chăm chỉ, có trách nhiệm,....

    Nếu bạn thực hiện tốt những việc trên, bạn sẽ được đền đáp về nhiều mặt: thu nhập, chức vụ,... Nghĩa là bạn cần đặt những mục tiêu tốt đẹp, và thực hiện những kế hoạch tốt đẹp.

    Những công việc khác thì thế nào? Ai cũng hiểu mục tiêu của ngành y là cao đẹp, nhưng để bảo đảm cuộc sống tốt đẹp thì phần lớn bác sĩ phải thực hiện những kế hoạch chẳng tốt đẹp tí nào. Image Bây giờ thì thầy cô giáo cũng phải chạy xô, ép buộc học sinh rất nhiều. Image Thậm chí cũng có những công việc mà cả mục tiêu và kế hoạch đều không cao đẹp tí nào cả. Chẳng hạn mục tiêu cuối cùng là phải rút ruột được khách hàng, chén ép người khác,.... ImageImageImage
    Nói dễ hiểu hơn, môi trường làm phần mềm bản thân nó là nơi tạo điều kiện cho mọi người nỗ lực vì những mục tiêu cao đẹp, để mọi bên đều có lợi (Win/Win). Còn nhiều công việc khác, nếu muốn tốt cho mình thì phải bon chen, thủ đoạn, nói chung lợi cho mình thì hại cho người khác và ngược lại (Win/Lose hoặc Lose/Win).

    3) Làm phần mềm có thể giúp đem lại thu nhập cao

    Lương bổng của kỹ sư phần mềm thì không thể giúp mình làm giàu được. Tính ra lại không bằng những ngành khác. Nhưng thử nghĩ lại xem, có ai làm giàu chỉ bằng đồng lương của mình không? Image

    Trước tiên, hãy xem lại mục tiêu của bạn là gì?

    1. Kiếm một công việc có lương cao nhất?
    2. Có được tài chính để mình đạt được những mục tiêu khác trong cuộc sống?

    Nếu mục tiêu của bạn là 1, thì làm phần mềm không phải là công việc phù hợp. Mà thật ra cũng khó có một công việc phù hợp với mục tiêu này, vì ngay khi bạn kiếm được một công việc có mức lương cao hơn, bạn sẽ lại thấy (hay nghe đồn thấy) có một công việc có lương cao hơn nữa.

    Còn để đạt được mục tiêu thứ 2, bạn cần làm tốt 3 điều:

    1. Biết cách kiếm tiền.
    2. Biết cách tiêu tiền.
    3. Biết cách dùng số tiền còn dư lại để sinh ra nhiều tiền hơn.

    Nghĩa là, làm việc và làm giàu là hai việc hoàn toàn khác nhau. Kẻ nào cố gắng nhập chung lại để giải quyết cùng một lúc cuối cùng chỉ thêm thất vọng mà thôi.

    Điều tuyệt vời là thế này: làm phần mềm là công việc rất tốt để bạn hoàn thành tốt điều thứ nhất trong 3 việc trên. Tuyệt vời hơn nữa là bạn có thể kiếm tiền một cách lương thiện.

    Nếu muốn có nhiều tiền hơn, cái mà bạn cần không phải là một công việc mới, mà là học và làm thật tốt hai điều còn lại. Dĩ nhiên, trên đời cũng có thể có công việc có mức lương quá tốt đến nỗi bạn không cần quan tâm đến hai điều còn lại. Nhưng nó sẽ rất hiếm, và dù sao thì thực hiện tốt cả 3 điều vẫn dễ dàng và căn cơ hơn là chỉ cần làm đều thứ nhất.

    Khi nào có thời gian, tôi sẽ nói nhiều hơn về vấn đề "cơm áo gạo tiền này".

    4) Làm phần mềm tạo điều kiện có được cuộc sống cân bằng

    Muốn sống hạnh phúc thì chúng ta phải khỏe mạnh về thể chất lẫn đầu óc. Mà đối với mỗi thứ, cách tốt nhất để nó khỏe mạnh là phải vận động.

    Làm phần mềm là cách tốt nhất để vật động đầu óc. Nói chung các công việc liên quan đến dịch vụ, làm việc văn phòng, dạy học, nghiên cứu, ít nhiều cũng giúp vận động đầu óc. Sau khi kết thúc công việc, bạn có thể sử dụng thời gian rảnh để vận động tay chân, chơi thể thao, làm những việc khác để bồi bổ cơ thể. Thật là dễ dàng (dĩ nhiên nếu bạn chịu cố gắng).

    Những người làm công việc tay chân, cơ bắp thì không được thuận lợi như vậy. Tôi từng có thời gian làm rồi nên biết rõ. Sau một ngày làm việc đầu óc mệt nhoài, tôi có thể dễ dàng vận động gân cốt cho cân bằng. Nhưng sau một ngày làm việc tay chân rã rời, thật không dễ tí nào để dành thêm thời gian để vận động đầu óc. Đọc sách, chơi ô chữ, luyện vài bài toán Image Không đời nào làm được. Khả thi nhất là nằm dài xuống và coi một bộ phim lê thê, ướt át của Hàn Quốc. Cái đó thì thật ra chẳng giúp vận động đầu óc được một tí gì hết.

    Một số công việc khác cũng độc hại không kém. Làm sếp chẳng hạn, hay đi tiếp khách để bán hàng cũng vậy. Bia rượu, thuốc lá, và có khi thêm mấy cái khoản nếu-không-nói-ra-thì-ai-cũng-hiểu, Image thật là một tai họa cho thể chất lẫn đầu óc. Image Uống xong một chai bia phải mất gần 1 giờ đồng hồ chạy bộ để khắc phục sự cố; nếu uống hết một két bia chắc phải mất hết một ngày không ăn uống gì để chạy bộ.

    5) Và thử suy nghĩ tích cực về những suy nghĩ tiêu cực trước đó

    Nếu mình làm phần mềm thì gia đình không "nhờ vả" gì được. Nhưng nếu nghĩ kỹ lại, thì thật là tốt. Ai trong chúng ta đều có gia đình, họ hàng, bạn bè, người quen để có thể "nhờ vả" những dịp như vậy. Thế thì khi nào mình cần, hay gia đình mình cần, thì cứ việc nhờ những người đó giúp đỡ.

    Tôi muốn làm công việc mà mình yêu thích, làm người thực sự có ích; còn mấy việc "linh tinh và rắc rối" đó, chắc chắn có rất nhiều người có thể giúp đỡ tôi. Điều ngược lại thì tôi không muốn làm tí nào. Còn bạn thì sao?


    Còn muốn tiếp xúc với bên ngoài nhiều hơn? Công việc lập trình đúng là không cho phép bạn tiếp xúc với nhiều người bên ngoài, nhưng đó là trong công việc. Lập trình không hề ngăn cản bạn sử dụng thời gian còn lại để làm những việc đó.

    Đối với tôi, điều tuyệt vời nhất của công việc là nó không cho phép tôi gặp quá nhều người. Image Có nghĩa là nó sẽ giúp tôi không phải gặp những người mà tôi không thích, những người mà tôi và họ không đem lại sự thay đổi tốt đẹp cho nhau. Có nghĩa là nó giúp tôi quý trọng thời gian của mình, thời gian mà lẽ ra tôi phải dành cho những người tôi yêu thương nhất, những người yêu thương tôi nhất, những người có ý nghĩa đối với tôi nhất trong gia đình, công việc, sở thích,... Khi nhìn ra xung quanh, tôi thấy mình không thể làm một số công việc đơn giản bởi vì để làm tốt những việc đó, tôi phải hy sinh những điều có ý nghĩa nhất đối với tôi, để có được những điều mà thật ra chẳng có ý nghĩa gì về lâu dài cả, tôi phải làm bởi vì người ta yêu cầu tôi làm, hay là vì muốn được bằng như những người khác.

    Vậy làm phần mềm thì lý thú hay là quá "cơ bắp"? Cũng nói về phần mềm, có người làm những việc rất high-tech, nhưng có người lại làm việc rất low-tech.

    Thế nào là high-tech? Bạn có thể đọc cuốn sách "Nghệ thuật lập trình máy tính"
    Thế nào là low-tech? Bạn thử đọc qua cuốn sách "Code Complete" Tôi đã đọc gần hết cuốn Code Complete, và đã từng cố gắng đọc cuốn "Nghệ thuật lập trình máy tính", nhưng chỉ được vài chương của tập I là bỏ cuộc. Từ đó tôi hiểu mình thích hợp với phần low-tech khi làm phần mềm.

    Điều hấp dẫn khi làm mấy cái low-tech này là gì? Đó là tư duy để hiểu đúng vấn đề cần giải quyết, phân tích những giải pháp có thể rồi chọn là giải pháp tốt nhất, dùng những kiến thức và công nghệ hiện có (những cái hiện có thôi, còn muốn tìm ra cái mới thì không thuộc về phạm trù ở đây nữa) để thiết kế giải pháp đó, hiện thực, rồi kiểm tra. Tất cả những việc trên luôn đặt dưới áp lực thời gian, áp lực về chất lượng.

    Dĩ nhiên, nếu công việc lập trình là đáng chán thì nguyên nhân không phải bởi vì bản chất công việc là đáng chán; mà nguyên nhân là có sự khác biệt giữa nguyện vọng của bạn và thực tế bạn đang làm. Trong trường hợp đó, cái mà bạn cần không phải là một chức vụ mới (tôi không bao giờ muốn làm sếp để sai những người cấp dưới làm những việc mà bản thân tôi cũng thấy "è lưỡi"), không phải là một công ty mới, mà là một trong 3 cách:

    1. Một công việc hoàn toàn mới, để thay đổi cái hiện tại.
    2. Một suy nghĩ hoàn toàn mới, để thay đổi cái nguyện vọng.
    3. Cả 1 và 2.

    Tóm lại, mệnh đề "Làm phần mềm chẳng có gì cao sang và thật chán" là sai.

    Lời kết
    Lâu lắm rồi mới tập viết lại, thật là đã. Ở đây tôi chỉ mới đội mũ đen và mũ vàng để nhìn vào công việc mà mình đang làm. Khi nào rảnh chắc phải thử đội mũ trắng (dữ kiện, khách quan), hay các mũ màu khác để xem sao. Hay là có bạn nào giúp tôi làm việc này với.


    Được sửa bởi congdantoancau ngày 13th September 2014, 03:24; sửa lần 2. (Reason for editing : Tô đậm, tô nổi những lời tâm đắc)
    avatar
    congdantoancau

    Tổng số bài gửi : 633
    Tiền xu Ⓑ : 1732
    Được cảm ơn № : 27
    Ngày khởi sự Ngày khởi sự : 12/05/2014

    Tại sao tôi lại chọn làm lập trình viên? Empty Phần 2

    Bài gửi by congdantoancau 13th September 2014, 03:05

    Trong bài viết trước, tôi đã cố gắng mô tả một số khía cạnh của nghề lập trình viên, nhưng quên nêu lên luận điểm quan trọng nhất: vì sao lại như vậy và chúng ta phải làm thế nào đây?


    Ta sẽ đi đến đâu từ vị trí này?


    Nào, trước hết chúng ta bắt đầu bằng câu hỏi:



    Chúng ta sẽ được làm gì khi tham gia vào một công ty phần mềm?



    Quan niệm phổ biến hiện nay nói rằng bạn sẽ bắt đầu ở vị trí thấp nhất là một lập trình viên (programmer, hoặc là developer, hoặc coder, hoặc tester, hoặc technician). Ở đó bạn cần hoàn thành tốt các công việc được giao bằng nỗ lực cá nhân. Nếu làm tốt, bạn sẽ tiến lên làm lãnh đạo nhóm (team leader, hoặc senior developer), khi đó công việc chuyên môn được chia ra, bạn chỉ làm những thứ khó nhất và quan trọng nhất; còn đối với những việc dễ và thường lập đi lập lại, bạn sẽ chỉ dẫn những người lập trình viên ở bên dưới thực hiện. Lên một mức cao hơn, bạn sẽ được làm quản lý dự án (nếu bạn có thiên hướng về quản lý) hoặc sẽ làm trưởng phòng kỹ thuật (nếu bạn có thiên hướng về chuyên môn). Lúc này bạn sẽ dành phần lớn thời gian cho việc lập kế hoạch, giao việc, kiểm soát, sử dụng người, đào tạo,... Tiếp tục lên cao nữa, bạn sẽ được tham gia vào ban lãnh đạo, nơi bạn sẽ chịu trách nhiệm định hướng, phân tích cơ hội, thách thức,... Và cứ thế tiếp tục lên cao nữa.



    Tôi nghe người ta mô tả về nấc thang nghề nghiệp trên ngay từ khi bước chân vào khoa Công nghệ thông tin trường Đại học Bách Khoa. Lúc tôi đi dự phỏng vấn ở các công ty phần mềm, người ta lại nói về nó. Khi tôi đã đi làm và trong các buổi đánh giá thành tích (performance appraisal), người ta cũng lại nói về nó. Đến khi tôi rời khỏi công ty, người ta vẫn lại nói về nó. Cho đến gần đây khi tôi có dịp trở lại trường đại học Bách Khoa, tôi lại vẫn thấy người ta tiếp tục nói về nó!

    Tôi thấy quan niệm đó có gì đó mẫu thuẫn và hơi buồn cười. Vì sao vậy? Tôi xin nêu ra một số lý do sau.



    1) Vị trí phía trên không phải là hình thức cao hơn của vị trí phía dưới



    Điều kỳ diệu nhất của con người so với những sinh vật khác là khả năng tiến hóa và phát triển. Chúng ta biết rằng các loài đều tiến hóa từ hình thức cấp thấp lên hình thức cấp cao. Người ta gọi đó là một phần của sự phát triển.



    Nhưng nghề nghiệp của chúng ta thì lại không phát triển theo cách như vậy được. Thử lấy ví dụ về công việc của người kiểm thử phần mềm (tester) và lập trình viên. Rất nhiều người quản lý mắc phải sai lầm thô thiển khi cho rằng lập trình viên là “hình thức cao hơn” của tester. Điều đó có nghĩa là, nếu một nhân viên hơi yếu về kỹ năng lập trình, cách tốt nhất là đưa người đó vào vị trí tester. Đến khi nào người đó thể hiện tương đối tốt công việc của tester, ta sẽ thăng cấp cho người đó lên vị trí lập trình viên.



    Thực sự thì tester và lập trình viên đòi hỏi hai loại người hoàn toàn khác nhau. Những người lập trình viên giỏi là những người đặc biệt yêu thích sự chặt chẽ, sự hiệu quả, và những vấn đề hóc búa (có thể đọc cuốn “Làm thế nào để dịch chuyển núi Phú Sĩ?” để biết rõ những người lập trìnn viên xuất sắc nhất thế giới thích giải quyết những câu đố hóc búa cỡ nào; tuy nhiên chú ý là bản dịch sang tiếng Việt hơi bị kém.) Khả năng đó giúp cho họ hiểu được một bài toán trừu tượng và cụ thể hóa nó bằng các dòng lệnh máy tính trong thời gian ngắn nhất, với độ chính xác cao nhất.



    Nhưng nếu có dịp gặp gỡ những tester xuất sắc, bạn sẽ thấy họ hoàn toàn khác biệt. Họ đặc biệt giỏi trong các bài toán tổ hợp (vd: với những điều kiện này thì có bao nhiêu tình huống có thể xảy ra); họ rất ghét phải làm đúng theo một quy trình các bước đã định sẵn (họ luôn tò mò chuyện gì sẽ xảy ra nếu ta bỏ qua bước này, nếu ta đổi ngược thứ tự hai bước kế tiếp nhau); và họ có một niềm đam mê, có thể nói là đến mức bệnh hoạn, trong việc tìm ra chỗ sai sót của mọi việc (những tester xuất sắc luôn vui mừng vì chứng minh sản phẩn bị lỗi, và cảm thấy rất khó chịu khi phải chấp nhận rằng sản phẩm không còn lỗi, trong khi người bình thường thì ngược lại).



    Điều đấy cho thấy rằng không có dấu hiệu gì để bảo đảm một tester xuất sắc sẽ có thể trở thành một lập trình viên xuất sắc. Cũng không có lý do gì để cho rằng lập trình là công việc đòi hỏi kỹ năng cao hơn so với kiểm thử.



    Cũng cách nhìn nhận như vậy, ta sẽ thấy rằng system analysis không phải là hình thức cao hơn của developer, manager không phải là hình thức cao hơn của system analysis, và director không phải là hình thức cao hơn của manager,... Ở mỗi cặp so sánh như vậy, thành công ở vị trí đầu tiên không thể bảo đảm sẽ thành công ở vị trí tiếp theo.



    Để dễ hình dung, chúng ta hãy nói đến bóng đá. Hồi còn nhỏ, tôi và các bạn vẫn có suy nghĩ ấu trĩ giống như trên khi chơi bóng đá. Những đứa giỏi nhất (hoặc có uy nhất) sẽ được đá ở trên hàng tiền đạo, kém hơn một ít thì đã ở giữa làm tiền vệ, ai không có chút khéo léo và khả năng thì cho làm hậu vệ, còn đứa nào tệ nhất thì đẩy xuống làm thủ môn.



    Đội bóng đó đã thi đấu thế nào? Hoàn toàn thất bại. Chúng tôi có thủ môn tầm thường, các hậu vệ tầm thường, tiền vệ cũng tầm thường, và tiền đạo cũng tầm thường nốt. Ai cũng không cảm thấy thoải mái ở vị trí của mình cả, nghĩ rằng mình không thể phát huy hết khả năng ở đây. Vì vậy chẳng ai thực sự thi đấu cả, nhất là những đứa phía dưới. Đứa nào cũng hau háu lao lên để ghi bàn hoặc thể hiện kỹ thuật cá nhân, mong có lúc nào đã sẽ được nhìn nhận lại để được xếp ở vị trí phía trên.



    Rất nhiều công ty phần mềm đang ở vào tình trạng giống như đội bóng của chúng tôi trước kia. Hiện tượng là khác nhau, nhưng bản chất của vấn đề là một.



    2) Một cuộc đua vô nghĩa



    Khi thiết kế ra những nấc thang nghề nghiệp kia, người ta đã vô tình đẩy mọi nhân viên vào một cuộc đua vô nghĩa và rất thiếu tính nhân bản. Tất cả những người mới bắt đầu sẽ đứng ở nấc thang thấp nhất. Trong những người này, ai giỏi hơn sẽ được bước lên nấc thang cao hơn. Nấc thang càng ở trên cao thì chỗ cho những người ở đó cũng càng ít đi. Bạn nghĩ sao? Một sự canh tranh rất tốt cho sự phát triển?



    Nhìn bề ngoài thì có vẻ như vậy. Nhưng thực sự bên trong thì không giống như vậy. Hãy nghe câu chuyện của hai người sau đây để có thể hiểu vì sao như vậy.



    Anh K. là một lập trình viên xuất sắc khi vào làm cho công ty phần mềm X. Anh có một niềm đam mê mãnh liệt với công việc lập trình, và chỉ trong nửa năm tài năng đặc biệt của K. đã được mọi người thừa nhận. Manager của K., lo lắng rằng có thể mất K. vào các công ty khác và cũng muốn giúp K. phát triển nghề nghiệp, liền đề nghị thăng chức cho K. lên vị trí trưởng nhóm lập trình. Vẫn với đà tiến triển như vậy, sau gần hai năm K. lại bước thêm lên được nấc thang cao hơn nữa: project manager. Mọi chuyện tồi tệ bắt đầu từ đây. Ở vị trí này, K. sớm nhận ra mình thiếu quá nhiều thứ để trở thành nhà lãnh đạo giỏi: kiến thức, kinh nghiệm, tài năng,... K. cảm thấy mọi thứ đều trì trệ. K. cảm thấy bị lạc lối. K. cảm thấy không còn nhiệt tình khi làm công việc hiện tại nữa. K. cảm thấy công việc thật bế tắc. Dù lãnh đạo công ty đã tạo điều kiện cho K. tham dự các khóa đào tạo về quản lý, K. vẫn không thấy tình hình khá hơn. Kiến thức có thể học được, kinh nghiệm có thể tích lũy theo thời gian, nhưng như vậy thì chưa đủ. K. hiểu rằng mình không có tài năng lãnh đạo: anh không có khả năng trình bày tốt, không có khả năng ra quyết định khi không có đầy đủ thông tin,...



    Cấp trên động viên K. rằng nếu cố gắng thì K. sẽ sớm khắc phục được những khiếm khuyết đó. Nhưng K. thì không tin rằng như vậy. K. hiểu rằng mình thiếu yếu tố cơ bản nhất để làm được những điều đó: K. không hề có sự đam mê công việc quản lý. Không có đam mê, anh không thể thấy được mình muốn gì, sẽ đi về đâu, và không hề có đủ sức mạnh để vượt qua những khó khăn và cám dỗ xung quanh. Đào tạo hoặc kinh nghiệm thì không thể giúp gì để tạo ra niềm đam mê.



    K. cảm thấy thời gian đang kéo dài ra. K. cảm thấy chán nản với công việc. K. cảm thấy không hài lòng với nấc thang hiện nay mình đang đứng. K. muốn có sự mới mẻ, tiến bộ và phát triển. Ban lãnh đạo thấy điều đó và lại động viên: K. cần cố gắng hoàn thiện một số mặt nữa để có thể rời nấc thang hiện tại và bước lên nấc thang cao hơn nữa.



    Và K. thấy thất vọng tràn trề. Không, anh không còn muốn bước lên nấc thang kế tiếp nữa. Ngay cả nấc thang cao nhất ở trên cùng cũng không còn hấp dẫn đối với anh nữa. Anh đã bước qua nhiều nấc thang trong thời gian quá ngắn để rồi chợt nhận ra rằng mình đã bước đi quá xa. Càng lúc anh càng xa rời những việc anh yêu thích nhất, những việc mà anh có thể phát huy hết khả năng của mình, những việc luôn kích thích anh phát triển và học hỏi nhiều hơn. Đáng buồn thay, đó là những công việc ở nấc thang phía dưới nơi anh đứng.



    Nhưng K. không thể bước xuống được. Không ai có thể từ vị trí project manager lại chuyển xuống làm developer được. Và K. cũng không muốn bước xuống nữa. Ở những nấc thang phía dưới giờ chỉ còn lại những người có khả năng lập trình tầm thường và khả năng lãnh đạo cũng tầm thường, những người không có chút đam mê với công việc, những người cũng mất phương hướng như anh.



    K. không biết đi đến đâu từ vị trí hiện tại của mình. Bi kịch của K. là rất phổ biến, và cũng chính vì vậy mà tôi lấy đó làm tiêu đề của bài viết.



    Cái hệ thống phát triển nghề nghiệp trên đã tàn nhẫn đẩy K. và những người khác vào một cuộc đua hoàn toàn vô nghĩa cho chính bản thân họ. Nó luôn thúc mọi người tiến lên và tiến lên một cách mù quáng; càng bước lên cao, họ càng nhận ra nó thật vô nghĩa đối với bản thân. Cái gì vô nghĩa với từng nhân viên thì sớm muộn cũng sẽ hoàn toàn vô nghĩa với công ty.



    K. sẽ không bước lên nấc thang kế tiếp, dù công ty có làm mọi cách. Anh cũng sẽ không bước xuống nấc thang bên dưới. Và anh chỉ có một chọn lựa thực sự: nhảy ra khỏi cái thang đó.



    Câu chuyện thứ hai.



    T. đã từng là một sinh viên đầy năng động và có khả năng phân tích, đánh giá vấn đề cực kỳ xuất sắc. Cô yêu thích công việc phân tích thiết kế hệ thống và mong muốn theo đuổi nghề đó thật lâu dài. Nhưng khi vào công ty F., người ta đánh giá rằng vì kinh nghiệm lập trình của T. còn ít, nên tốt nhất cô nên bắt đầu từ vị trí tester. Sau một thời gian nếu có tiến bộ, cô sẽ được đưa lên làm lập trình viên, rồi nếu vẫn làm tốt, cô sẽ có đủ khả năng và kinh nghiệm để làm phân tích viên. T. vui vẻ chấp nhận đề nghị này.



    Gần hai năm trôi qua và T. vẫn làm tester ở công ty đó. Dĩ nhiên là cô thất vọng. Cô thấy mình bị mắc kẹt ở phía dưới. Người ta vẫn nhắc nhở T. trong những buổi đánh giá nhân viên rằng T. cần vượt qua hai nấc thang trước khi đến được vị trí mình mong muốn. Nhưng T. không thể bước lên được. Chỉ có một số người được bước lên nấc thang kế tiếp từ vị trí hiện tại. Những người sớm phát huy khả năng trong công việc kiểm thử đã bước lên trước T. hết rồi. Cô không thể cạnh tranh với họ được, đơn giản bởi vì khả năng testing của cô không thể bằng họ. Người ta tiếp tục khuyến khích T. nâng cao các kỹ năng và kinh nghiệm testing, lập trình để được trở thành phần tích viên!!! T. thấy buồn cười và mất tự tin. T. không còn thấy kiên nhẫn với công việc và công ty nữa. Gia đình và bạn trai của của cũng không còn kiên nhẫn được nữa. Cũng như K. cô cũng nhảy ra khỏi cái thang đó.



    Chúng ta đều biết cái thang và từng nấc thang của nó vô nghĩa như thế nào. Nhưng không ai nói điều đó với chúng ta cả. Chúng ta vẫn vẽ nó ra để động viên nhau, và động viên chính chúng ta. Nhưng không sớm thì muộn, chúng ta sẽ biết nó thật ngốc nghếch.



    Nó vô nghĩa vì chẳng có ai có thể bước hết tất cả các bậc, từ bậc thấp nhất lên bậc cao nhất được. Nếu có ai đó có thể làm được điều đó, thì tôi không thể hình dung được một người hoàn hảo đến thế. Tôi đã thử tìm hiểu tiểu sử của rất nhiều những nhân vật kiệt xuất và thành đạt trong lĩnh vực của mình, và nhận ra rằng không có ai hoàn hảo đến vậy.



    Nó vô nghĩa bởi vì nó ép chúng ta vào một cuộc đua mà cuối cùng tất cả những người tham gia đều là kẻ bỏ cuộc. Nó buộc chúng ta nếu muốn phát triển thì phải tiến lên. Khi tiến lên có nghĩa chúng ta phải rời bỏ vị trí mà chúng ta ưa thích và có thể tiến bộ, để bước vào một địa hạt mà chúng ta hoàn toàn lạ lẫm và không có dấu hiệu gì cho thấy sẽ tiến bộ.



    Những người trong ngành đều đã được nghe về chuyện của K. và T., nhưng không biết kết thúc của câu chuyện là thế nào. Tôi cũng không biết bây giờ họ ra sao. Một số người nói rằng sau khi nhảy khỏi cái thang đó, K. trở thành một lập trình viên tự do. Người khác nói rằng K. đã đổi nghề. Có người thì thấy T. lập gia đình và theo chồng định cư ở nước ngoài rồi học lên cao. Lại có người cho rằng T. đã trở thành nữ chủ doanh nghiệp của riêng mình.



    Nhưng tôi tin rằng, dù ở nơi nào đó, và dù đang làm nghề gì, nếu được hỏi về câu chuyện những nấc thang nghề nghiệp, cả hai sẽ đều cười và nói rằng không bao giờ muốn trở lại với nó nữa.



    3) Triệt tiêu những cá nhân xuất sắc



    Dĩ nhiên cũng có một số người có thể trèo lên những nấc thang thật cao trong một thời gian rất ngắn. Hiện nay ở Việt Nam điều đó ngày càng xuất hiện nhiều. Chúng ta không còn thấy lạ nếu biết được có người chưa đầy 30 tuổi đã trở thành senior manager, thậm chí là director của những công ty lớn.



    Trở thành senior manager khi chưa đầy 30 tuổi có nghĩa là gì?



    Có nghĩa là người đó chỉ cần trải qua chừng 1-2 năm ở mỗi nấc thang: developer, team leader, manager,... (Dĩ nhiên có một số ít người đã đi làm từ trước khi tốt nghiệp đại học, nhưng đó không phải là đa số) trước khi bước được lên nấc thang kế tiếp.



    Tôi thấy nghi ngờ về điều này. Có lẽ ở Việt Nam chúng ta đã quá dễ dãi trong việc đánh giá năng lực con người. Tôi may mắn có dịp biết được một số lập trình viên làm việc trong các công ty ở Mỹ (họ là công ty đối tác của công ty tôi), và đã từng bị sốc khi biết rằng họ đều ngoài 50 tuổi. Họ làm lập trình viên đã được hơn 20 năm, có nghĩa là tuổi nghề của họ còn lớn hơn tuổi đời của tôi! Ồ, đừng nghĩ rằng họ là những nhân viên kém cỏi nên mới ở mãi vị trí đó. Xét về năng lực, kinh nghiệm và kiến thức, có lẽ tôi chưa quen ai ở Việt Nam có thể sánh được với họ.



    Nhân viên ở Nhật cũng cần 10 đến 15 năm làm công việc chuyên môn trước khi được xem xét để thăng chức. Ở Microsoft, lập trình viên cũng có 4-5 năm làm việc trở lên.



    Trong nghiên cứu mang tên Dự án Phát triển tài năng, tiến sĩ Benjamin Bloom của trường đại học NorthWestern đã tìm hiểu quá trình phát triển của những cá nhân xuất sắc trong nhiều lĩnh vực khác nhau. Kết luận được ông đưa ra là những người đó trung bình mất từ 10 đến 18 năm để đạt đến thành tựu cao nhất trong lĩnh vực của mình. Nghĩa là ngay cả những cá nhân kiệt xuất nhất trên thế giới (nghiên cứu đó đánh giá họ có trình độ world-class), cần không dưới 10 năm để đạt đến đỉnh cao trong lĩnh vực của họ. Chú ý rằng lập trình viên, quản lý, hoặc kinh doanh là những lĩnh vực hoàn toàn khác nhau. Nghiên cứu của tiến sĩ Benjamin không hề nói rằng cần mất trên 10 năm để con người vươn lên vị trí lãnh đạo cao nhất. Tại sao tôi lại chọn làm lập trình viên? Smile



    Đây là một sự tai hại nữa của cái thang nghề nghiệp. Nó khiến cho chúng ta không thấy được đỉnh cao trong từng công việc, ngược lại nó làm cho chúng ta vội vã tìm cách thể hiện mình vừa đủ tốt trong nấc thang hiện tại để được bước lên cao. Và đến lúc nào đó, như anh K. chẳng hạn, chúng ta sẽ sớm nhận ra chúng ta đã bước đi quá xa, đến nỗi chúng ta không thể quay lại, đồng thời chúng ta đã không còn hứng thú gì nữa với những nấc thang phía trên nữa. Cái gì đến quá dễ thì ra đi cũng dễ dàng như vậy.



    Có thể đây là sản phẩm của những người làm công tác nhân sự chăng? Trong nỗ lực tìm ra cách giúp mọi nhân viên phát triển nghề nghiệp, họ đã vô tình bắt mọi người phải leo thang! Và sau quá trình leo thang mệt mọi như vậy, chúng ta sẽ thấy một số ít người ở trên cao có khả năng làm tốt được nhiều việc, nhưng chẳng có việc gì xuất sắc. Còn phần lớn mọi người thì ở bên dưới, bất mãn và buồn chán vì không thấy mình tiến bộ. Những người ở giữa thì hoang mang và mất phương hướng.



    Bạn cần chú ý cách dùng từ ở đây, cần phải thấy được sự khác biệt giữa tốt (good) và xuất sắc (excellent, hoặc great). Tôi tin một số người chỉ cần mất 1-2 năm để làm tốt một số việc nào đó, nhưng để đạt được mức độ xuất sắc thì không thể.



    Tôi sẽ không ngạc nhiên nếu càng về sau chúng ta càng có ít những người xuất sắc, những người giữ vị trí hàng đầu trong lĩnh vực của họ. Thiếu những người đó, chúng ta sẽ không thể phát triển xa được. Tôi cũng không ngạc nhiên nếu một ngày nào đó, mọi người lại tiếp tục xuýt xoa về loạt bài báo: những người leo thang số 1 Việt Nam. Có những người leo thang như vậy, chúng ta sẽ mãi ì ạch thua xa những nước khác.



    Điều này sẽ rất khó thay đổi, vì càng ngày càng có nhiều người tham gia vào cuộc đua leo thang. Và những nấc thang thì càng lúc càng nhiều ra. Tôi được biết có công ty lúc mới thành lập thì chỉ có 3 nấc thang: developer, team leader, và boss. Nhưng sau đó thì họ có thêm nấc manager ở giữa team leader và boss. Rồi consultant ở giữa team leader và manager. Rồi senior developer ở giữa developer và team leader. Rồi thêm senior manager. Lần gần đây nhất khi xem trên website của công ty thì tôi thấy đã có thêm director. Tôi nghĩ số nấc thang sẽ không dừng lại ở đây.



    Đây là điều rất nguy hiểm. Với sự phát triển vô độ như vậy, chẳng mấy chốc các công ty sẽ giống như một anh chàng ốm nhách và cao kêu. Ai cũng được quản lý một số người phía dưới của mình. Tướng nhiều nhưng quân thì ít. Một số người bên dưới phải lao động vất vả cho số lượng rất nhiều người bên trên. Quá nhiều người tầm thường ở các cấp quản lý trung gian. Mọi người sẽ phí nhiều thời gian cho việc họp hành, báo cáo, kế hoạch, đánh giá, khen thưởng,... nên sẽ ít thời gian cho những công việc thực tế (viết code, kiểm tra, tạo quan hệ tốt với khách hàng,...)


    Được sửa bởi congdantoancau ngày 13th September 2014, 03:11; sửa lần 1.
    avatar
    congdantoancau

    Tổng số bài gửi : 633
    Tiền xu Ⓑ : 1732
    Được cảm ơn № : 27
    Ngày khởi sự Ngày khởi sự : 12/05/2014

    Tại sao tôi lại chọn làm lập trình viên? Empty Re: Tại sao tôi lại chọn làm lập trình viên?

    Bài gửi by congdantoancau 13th September 2014, 03:09

    Chúng ta nên làm gì?


    Chúng ta có 2 cách tiếp cận để giải quyết những vấn đề trên. Cả 2 cách đều được lấy từ cuốn sách Peopleware mà tôi đã từng giới thiệu, cùng với cuốn sách “First Break All The Rules” – một cuốn sách mà những người làm quản lý và nhân sự nên đọc. Tôi viết bài viết này cũng là nhờ lấy thông tin từ 2 cuốn sách trên.



    Cách thứ 1: tôi gọi là “sửa chữa nhẹ”. Chúng ta sẽ điều chỉnh lại những ảnh hưởng của cái thang theo hướng tích cực.



    Cách thứ 2: tôi gọi là “làm lại hoàn toàn”. Tôi sẽ trình bày về cách này ở phần sau.



    Sửa chữa nhẹ có nghĩa là chúng ta tạm chấp nhận sự tồn tại của cái thang, nhưng sẽ “tùy biến” nó lại một chút. Quan điểm thông thường bảo rằng chúng ta chỉ được phép tiến lên trên cái thang (hoặc có thể rẽ trái hay phải tùy theo chúng ta có thiên hướng quản lý hay kỹ thuật, nhưng cuối cùng thì cũng phải đi lên). Vậy thì chúng ta sẽ thêm một lựa chọn nữa khi leo thang: nếu ai không thích leo lên trên thì có thể leo ngang!



    Nghĩa là mỗi người sẽ được khuyến khích đi sâu vào lĩnh vực mà họ đang làm. Không nhất thiết phải giỏi mọi thứ trong thời gian ngắn mới được đánh giá cao, thay vì vậy mỗi người cần tìm cái mình thích nhất và có khả năng nhất, rồi tập trung phát triển để mình trở nên xuất sắc nhất trong lĩnh vực đó.



    Sau đây tôi sẽ trình bày cụ thể chúng ta sẽ cần làm thế nào và hệ quả sẽ ra sao.



    1) Trả lương theo đúng năng lực



    Chắc chắn những gì tôi trình bày ở trên sẽ khiến bạn phải nghi ngờ ngay: thực tế tuy phũ phàng nhưng nó phải là như vậy. Manager thì quan trọng hơn developer nên lương cũng cao hơn developer. Vì vậy ai cũng muốn thăng tiến để làm manager. Suy cho cùng thì ai lại chẳng muốn địa vị cao và lương cao!



    Đúng vậy, tìm một manager tốt thì khó hơn rất nhiều so với tìm được developer tốt. Để trở thành manager tốt thì cũng cần nhiều thời gian, nhiều kỹ năng hơn, nhiều kinh nghiệm hơn, cho nên lương trung bình của manager phải cao hơn lương trung bình của developer.



    Nhưng sẽ thật sai lầm nếu cho rằng lương của mọi manager đều phải cao hơn lương của mọi developer. Nếu công ty trả lương dựa trên nấc thang mà nhân viên đang đứng, thì không sớm thì muộn mọi nhân viên sẽ cũng xô đẩy nhau vào cuộc đua leo thang không có kết thúc hậu.



    Trở lại câu chuyện bóng đá một chút. Thật ra ngay cả những đứa nhỏ cũng hiểu làm tiền đạo thì có giá hơn làm hậu vệ. Tiền đạo ít khi thi đấu đủ 90 phút, lại chạy ít hơn, nhưng lúc nào cũng nhận lương cao hơn, giá trị chuyển nhượng cũng cao hơn, và luôn được hâm mộ hơn so với hậu vệ. Vậy thì ai lại muốn làm hậu vệ?



    Câu trả lời là có. Đó là những hậu vệ xuất sắc. Thể thao, đặc biệt là bóng đá, có một hệ thống lương bổng tốt mà những ngành khác nên học tập. Nó khuyến khích những hậu vệ giỏi luôn nỗ lực để xuất sắc hơn, thay vì cắm cúi rèn luyện để trở thành những tiền đạo trung bình. Họ hiểu rằng làm hậu vệ xuất sắc thì lương cao hơn làm tiền đạo trung bình. Dĩ nhiên, họ cũng hiểu ở cùng trình độ cao như họ thì những đồng nghiệp trên hàng tiền đạo sẽ có lương cao hơn, hợp đồng quảng cáo nhiều hơn, khả năng đạt giải thưởng (như Quả bóng vàng chẳng hạn) cũng sẽ lớn hơn. Nhưng điều đó không làm họ quan tâm, bởi vì họ hiểu rằng mình sinh ra không phải để làm tiền đạo xuất sắc.




    Tương tự như vậy, trong bóng đá thì lương trung bình của huấn luyện viên luôn cao hơn lương trung bình của cầu thủ. Mourinho có mức lương mà rất nhiều cầu thủ ở Chelsea phải thèm muốn. Các cầu thủ Việt Nam hẳn sẽ phải e dè trước mức lương của ông Riedl. Nghề huấn luyện viên cũng có tuổi thọ cao hơn nghề cầu thủ.



    Nhưng chẳng có mấy cầu thủ muốn kết thúc sự nghiệp cho nhanh để trở thành huấn luyện viên. Bởi vì trở thành cầu thủ xuất sắc đối với họ thì khả thi hơn, và khi đó họ cũng có thu nhập cao hơn so với việc trở thành huấn luyện viên làng nhàng.



    Chúng ta nên làm như vậy trong ngành phần mềm. Chúng ta vẫn giữ những nấc thang như vậy, nhưng sẽ trả lương sao cho những người xuất sắc ở nấc thang bên dưới sẽ có lương cao hơn so với những người bình thường ở nấc thang bên trên.



    Lấy ví dụ ở công ty Merrill Lynch. Theo như tác giả Marcus Buckingham và Curt Coffman của cuốn sách “First Break All The Rules” thì lương cao nhất mà một người cố vấn tài chính có thể nhận được là 500 ngàn đô la một năm. Trong khi đó, lương thấp nhất của một giám đốc chi nhánh (vị trí cao hơn so với cố vấn tài chính) chỉ là 150 ngàn đô la. Vì vậy, nếu một cố vần tài chính giỏi muốn được thăng chức, anh/chị ấy phải chấp nhận rủi ro sẽ bị lương thấp hơn đi rất nhiều. Dĩ nhiên, ở khía cạnh còn lại, nếu trở thành giám đốc chi nhánh xuất sắc, lương của họ có thể lên đến hàng triệu đô la. Cuộc chơi rất công bằng.



    Các cầu thủ xuất sắc hoặc cầu thủ gạo cội cũng phải cân nhắc rất nhiều khi chuyển sang nghề huấn luyện viên. Bởi vì ngay lập tức họ sẽ bị giảm lương so với khi làm cầu thủ. Nguyên tắc này khuyến khích những người giỏi trở nên giỏi hơn, và loại bớt những người chỉ nhằm vào thu nhập cao mà không cần tài năng ra khỏi cuộc chơi.



    Cũng có nhiều người phải đối cách làm này. Họ nghĩ rằng cách làm hiện tại đỡ tốn kém hơn. Trả nhiều cho manager (có số người ít) và trả ít cho developer (có số người nhiều hơn) thì sẽ tiết kiệm hơn so với làm ngược lại. Họ nghĩ rằng chỉ cần manager giỏi thì cũng có thể quản lý được một tập thể developer trung bình.



    Một tập thể developer trung bình thì kết quả cuối cùng sẽ là trung bình, cho dù manager có là ai. Người manager sẽ phải mất nhiều thời gian để “hốt” những hậu quả và sai sót mà những developer để lại. Họ sẽ giẫm lên chân nhau. Một số người, đặc biệt là manager, thậm chí phải dành thời gian để lao vào coding thay cho những người không có khả năng. Cơn ác mộng này hẳn ai trong chúng ta cũng từng một lần biết qua.



    Nếu một manager xuất sắc mà tập thể thì kém cỏi, kết quả sẽ thế nào? Không khó phải đoán, vì kinh nghiệm cho thấy kết quả của tập thể đó cũng sẽ rất kém cỏi. Điều duy nhất mà manager xuất sắc làm tốt hơn manager kém cỏi trong trường hợp này là dù thất bại, các thành viên cũng vấn thấy vui vẻ vì đã làm việc chung với người manager xuất sắc, vì họ đã học được nhiều điều có ích. Ngược lại, họ sẽ vô cùng tức giận và ganh ghét vì thấy người kém cỏi mà cũng được làm manager.



    Khả năng duy nhất mà manager xuất sắc có thể làm là biến một tập thể có tiềm năng trở nên thực sự xuất sắc. Điều này thì manager trung bình hay kém cỏi không thể làm được.



    Vì vậy, hãy trả lương cao cho những những developer xuất sắc, và trả lương cao hơn nữa cho những manager xuất sắc; đối với những người còn lại thì trả lương thấp hơn.



    2) Mở rộng các nâng thang sang chiều ngang



    Phần lớn các công ty phần mềm đều định ra bảng liệt kê các tiêu chí để đánh giá nhân viên. Trong đó, nó sẽ phân biệt rạch ròi đâu là sự khác biệt giữa developer với senior developer, với team leader, với manager, với senior manager. Chẳng hạn, senior developer thì hơn developer ở số năm kinh nghiệm và khả năng truyền đạt. Nhưng rất ít nơi nào có khả năng định nghĩa đâu là sự khác biệt giữa developer kém, đâu là developer trung bình, và đâu là developer xuất sắc.



    Đánh giá như vậy thì buồn cười quá. Nếu dựa vào cách làm đó, tôi có thể nói rằng Trần Tiến Anh, cựu thủ môn của đội Thể Công giỏi hơn Ronaldinho nhiều. Ronaldinho chỉ biết đá ở vị trí tiền về tấn công hoặc tiền đạo. Nhưng Trần Tiên Anh thì “tròn trịa” hơn, bắt gôn thì hay, thình thoảng cũng đá được hậu vệ, khi nào có dịp đẩy lên đá tiền đạo cũng ngon lành chẳng kém tiền đạo mấy đội bóng phong trào.



    Cách làm hiện nay đang phá hủy nghề nghiệp của tester, developer, và cả team leader, những người ở nấc thang bên dưới. Rất nhiều người làm testing và lập trình hiện nay đang hoang mang và chán nản, vì cho rằng những công việc này chẳng có gì phức tạp cả, ai làm cũng như ai. Là một người say đặc biệt say mê phần mềm và làm phần mềm, tôi không khỏi xót xa vì chuyện này. Ngay cả những người dọn dẹp phòng trong các khách sạn cũng hiểu được thế nào là người làm giỏi, thế nào là người làm dở, vậy mà chúng ta không chịu phân biệt đâu là developer giỏi và đâu là developer dở. Mà thật ra ngay cả những vị trí ở trên cũng đang xảy ra tình trạng tương tự đấy thôi.



    Chúng ta nên chấm dứt tình trạng so sánh táo và cam, so sánh chó và mèo, so sánh tàu thủy và máy bay. Thay vì vậy, hãy so sánh những con mèo với nhau, chỉ rõ ra được đâu là mèo đẹp, đâu là mèo xấu; nuôi dưỡng và thưởng cho mèo đẹp để nó đẹp hơn, và không bao giờ khuyến khích nó trở thành chó nếu điều đó là không khả thi.



    3) Thay đổi công việc phát triển phần mềm



    Thực tình tôi cũng phải thừa nhận rằng với công việc phát triển phần mềm hiện nay, rất khó để khuyến khích mọi người phát triển theo chiều ngang được, dù đó là tester, developer, hay manager. Vâng, phần lớn chúng ta làm gia công phần mềm (outsourcing), và khi outsourcing, chúng ta không cần nhiều những developer xuất sắc như nước Mỹ, và về mức độ cũng không cần phải xuất sắc như những người hàng đầu ở Mỹ.



    Trong tình hình hiện nay, một số nhỏ những cá nhân xuất sắc ở Việt Nam sẽ không tìm được vị trí của nấc thang thích hợp cho mình. Họ đang hoang mang không biết làm gì. Phần lớn họ quyết định ra nước ngoài học lên cao. Tôi chưa có khả năng bình luận về điều này, bởi vì tôi không may mắn được sinh ra trong số đó. Tôi đã và đang phải vật lộn với từng nấc thang đấy thôi, bắt đầu từ nấc thang thấp nhất đấy thôi Lè lưỡi



    Nhưng ngay cả trong gia công phần mềm, vẫn còn rất nhiều khoảng trống để nhiều người phát triển sang ngang. Vấn đề là chúng ta có biết cách làm hay không. Tôi sẽ trở lại với đề tài này trong thời gian sắp tới.



    4) Hiểu rõ bản chất của sự phát triển



    Tuy vậy, cũng sẽ có nhiều người phản đối những gì tôi đã trình bày ở trên. Tôi đoán có lẽ họ xuất thân từ ngành nhân sự, vì cái thang sự nghiệp là sản phẩm của ngành đó, không phải là của ngành công nghiệp phần mềm. Tôi cũng đoán có lẽ họ nhiễm phim kiếm hiệp Hồng Kông nặng.



    Trong phim kiếm hiệp, nhân vật chính của chúng ta sẽ luyện võ công từ cơ bản đến thượng thừa bằng cách bước vào một tòa tháp nhiều tầng. Ở mỗi tầng sẽ có các đối thủ với những sở trường khác nhau. Chẳng hạn, ở tấng 1, anh ta phải đối đầu với một cao thủ về khinh công. Anh ta phải rèn luyện để khinh công của mình vượt qua được đối thủ đó. Chiến thắng ở tầng 1 sẽ cho phép anh ta bước lên tầng 2. Ở tầng này, anh ta sẽ phải luyện kiếm pháp để đánh bại một cao thủ chuyên về kiếm. Cứ như thế, tấng 3 sẽ là đao pháp, tầng 4 là quyền pháp, tầng 5 là khí công, tấng 6 là trí lực, tầng 7 là phi tiêu ám khí, vân vân và vân vân. Khi vượt qua được tất cả các tầng và lên đến đỉnh ngọn tháp, anh ta sẽ trở thành cao thủ đệ nhất thiên hạ.



    Quan niệm thông thường dạy chúng ta rằng đó là sự phát triển của con người. Chúng ta được khuyến khích chinh phục những cái chưa biết, những cái chưa làm, khắc phục những điểm yếu của mình. Chúng ta cần làm cho mình hoàn thiện hơn.



    Sự thực thì chẳng ai có thể làm được như vậy. Mỗi người sinh ra đều có điểm mạnh và điểm yếu riêng. Rất khó để chúng ta tự rèn luyện nhằm có thêm được những điểm mạnh mới, và càng không thể nếu chúng ta cố gằng tự sửa chữa điểm yếu để nó trở thành điểm mạnh.



    Tất cả các vĩ nhân đều có khiếm khuyết. Họ không mất thời gian đi sửa chữa khiếm khuyết của mình. Thay vào đó họ tìm ra đầu là điểm mạnh của họ, tìm môi trường để điểm mạnh phát huy hết, và tìm những người cộng sự xuất sắc ở lĩnh vực khác để bù đắp cho khiếm khuyết của mình.



    Tôi hiểu ra điều này sau khi đọc 2 cuốn sách ở trên, và nhất là sau khi cuộc trao đổi với một nhân viên trong công ty. Tôi hỏi:

    - Định hướng nghề nghiệp trong tương lai của em như thế nào? Và rồi tôi thao thao về những cơ hội phía trước, nào là leader, manager, technical director,...

    - Em thấy mình phù hợp với công việc chỉnh sửa và hoàn thiện lại những phần mềm sẵn có, để nó trở nên tốt hơn. Em thích được làm việc, nhưng quan trọng nhất là em thích được chơi game!!! – Nhân viên đó trả lời.



    Tôi bị bất ngờ và chợt bửng tỉnh. Tôi đã quá ngu muội, tưởng tượng mình là đạo diễn trong bộ phim kiếm hiệp, và dựng cho người nhân viên này vai chính trong đó. Tôi lại đi khuyến khích nhân viên này kinh qua tất cả các tầng để trở nên hoàn thiện hơn, nhưng lại không hiểu người này muốn gì và có khả năng gì.



    Bây giờ thì tôi đã hiểu. Người nhân viên của tôi không cần phải trở thành nhân vật chính trong bộ phim. Ngược lại, anh ta nên trở thành một trong các nhân vật phụ. Anh ta sẽ đi tìm xem mình thích cao thủ ở tầng nào nhất, và nếu đủ khả năng, anh ta sẽ ở lại tầng đó, rèn luyện để có thể trở thành cao thủ đệ nhất trong lĩnh vực đó. Có thể anh ta sẽ trở thành đệ nhất cao thủ khinh công, và như vậy anh ta không cần thiết phải luyện phép mình đồng da sắt làm gì nữa. Đơn giản là không thể được như vậy.



    Anh ta sẽ ở lại tầng đó càng lâu càng tốt. Có lẽ anh ta sẽ không bao giờ đi lên những tầng phía trên của ngọn tháp. Điều đó là không cần thiết. Bởi vì anh ta là một người rất đặc biệt. Cuộc sống của anh ta không phải là ở ngọn tháp đó. Anh ta chỉ ở tầng 1 của ngọn tháp trong một phần nhỏ của cuộc đời, và trong phần lớn thời gian còn lại, anh sẽ ra ngoài ngọn tháp, chơi những thứ mình thích, làm những điều có ý nghĩa khác, rồi ở bên những người quan trọng nhất đối với anh ta. Đó là phần kết của bộ phim.



    Chúng ta có rất nhiều chọn lựa



    Còn một cách khác, tôi cho rằng triệt để hơn, đó là chúng ta hãy dẹp bỏ cái thang đó. Rõ ràng là nó vô nghĩa và nó đang làm sự nghiệp của nhiều người trở nên vô nghĩa.



    Bất kỳ công ty nào cũng cần có sơ đồ mô tả bộ máy quản lý của công ty. Từ người thấp nhất đến người cao nhất. Sơ đồ này là phải có ở bất kỳ tổ chức nào. Nội dung của nó hoàn toàn giồng “bản vẽ” cái thang sự nghiệp mà chúng ta đang dùng.



    Nhưng chúng ta không nên sử dụng nó đễ định hướng cho nhân viên phát triển sự nghiệp theo đó. Chúng ta nên tìm cách khác tốt hơn.
    avatar
    congdantoancau

    Tổng số bài gửi : 633
    Tiền xu Ⓑ : 1732
    Được cảm ơn № : 27
    Ngày khởi sự Ngày khởi sự : 12/05/2014

    Tại sao tôi lại chọn làm lập trình viên? Empty Re: Tại sao tôi lại chọn làm lập trình viên?

    Bài gửi by congdantoancau 13th September 2014, 03:58

    Điều đúc kết rút ra được sau loạt bài là: Hãy trở thành cao thủ trong lĩnh vực của bạn!
    Làm sao để tìm ra lĩnh vực phù hợp đó, bạn sẽ fải tự tìm hiểu và thử ở những nơi khác trong thời jan ngắn (lướt) có thể coi là kiểu cưỡi ngựa xem hoa.

    Sponsored content

    Tại sao tôi lại chọn làm lập trình viên? Empty Re: Tại sao tôi lại chọn làm lập trình viên?

    Bài gửi by Sponsored content



      Hôm nay: 25th November 2024, 10:12