Dec 18, 2008

Xin chào, tôi là lập trình viên !



Thế kỷ 21, thế kỷ của CNTT ?

Người ta vẫn thường nói rằng, thế kỷ 21 sẽ là thế kỷ của CNTT, nhận định trên có vẻ không sai. Một người bình thường nhất cũng có thể nhận thấy Internet đã làm thay đổi bộ mặt của thế giới như thế nào. Ngay ở Việt Nam thôi, thật khó mà tin rằng, Internet chỉ mới xuất hiện có11 năm (từ 19/11/1997). Internet thân thuộc và thiết yếu tới mức chúng ta khó mà hình dung được, một cuộc sống không được lên mạng để lướt web, tìm kiếm thông tin, trò chuyện với bạn bè... sẽ tồi tệ đến mức nào...Dĩ nhiên, Internet không phải là CNTT, nó chỉ là một khía cạch dễ thấy nhất của việc ứng dụng CNTT phục vụ lợi ích của con người. Tôi chỉ muốn lấy một ví dụ để các bạn thấy được tầm quan trong cũng như tốc độ phát triển vũ bão của CNTT mà thôi.

Bản thân tôi lại không cho rằng, thế kỷ 21 sẽ là thế kỷ của CNTT. Với cá nhân tôi, thế kỷ 21 sẽ là thế kỷ của Công Nghệ Nano, Công Nghệ Sinh Học và Công Nghệ Môi Trường. Công nghệ thông tin đã qua rồi thời kỳ đột phá ngoạn mục nhất của mình. Nếu trước đây, sự ra đời của hệ điều hành xử dụng giao diện đồ họa Windows 95 được xem là một cuộc cách mạng thật sự trong lĩnh vực phần mềm, đem lại một tư duy hoàn toàn mới cho khái niệm phần mềm thì sự phát triển của nó từ Windows 95 lên tới Windows XP cũng chỉ là bước biến đổi về lượng. Bạn có thể thấy sự cải tiến đáng kể nhất của Vista so với XP cũng chỉ là giao diện đồ họa bắt mắt, các tiện ích muiltimedia được cải thiện về chất lượng, kèm thêm một số tăng cường về bảo mật ... nhưng hoàn toàn không có một đột phá đáng kinh ngạc nào. Định luật Moore có thể sẽ phải được phát biểu lại trên tinh thần kéo dài thêm thời gian để tăng được số lượng transistor lên gấp đôi trên mỗi đơn vị inch vuông. Đồng nghĩa với việc, hiệu suất hoạt động của phần cứng rồi cũng phải đạt đến điểm tới hạn của nó, nếu không có một cuộc cách mạng triệt để nhằm thay đổi về mặt bản chất tư duy thiết kế phần cứng. Và nếu muốn có một cuộc cách mạng như thế, tôi tin chúng ta phải trông chờ một sự đột phá truớc tiên trong lĩnh vực CNNN, và thậm chí là CNSH.

Tuy nhiên, công nghệ thông tin, không vì thế mà mất đi tầm quan trọng của mình trong việc đóng góp những lợi ích thiết thực cho văn minh nhân loại. Trái lại, CNTT sẽ là "Người dẫn đường" lý tưởng cho sự phát triển của tất cả các lĩnh vực còn lại. Do đó trong những thập niên đầu của thế kỷ này, CNTT vẫn sẽ tiếp tục được phát triển và phát triển mạnh mẽ đồng thời lan tỏa theo chiều rộng để phục vụ cho những nhu cầu thiết thực của nhân loại trước khi tự làm chậm lại để chờ đợi sự đột phá từ những lĩnh vực khác.

CNTT Việt Nam, em đang ở đâu trong cuộc hành trình ?

Tôi không có tham vọng và cũng không đủ kiến thức để lạm bàn về tình hình CNTT của nước nhà. Tuy nhiên, ở góc độ một bài viết nhằm giúp các bạn trẻ có thêm một luồng thông tin tham khảo cho việc định hướng nghề nghiệp trước mùa thi, tôi cũng mạnh dạn đưa ra đây một số nhận xét của mình. Nội hàm của chữ CNTT thì rộng, nhưng với quan điểm của một lập trình viên và trong khuôn khổ một bài viết phục vụ cho mục đích đã nói ở trên, tôi tạm thu hẹp lại trong 2 lĩnh vực :

1. Thực trạng ứng dụng CNTT ở VN.

So với các nước khác trên thế giới, mức độ ứng dụng CNTT ở nước ta còn nhiều hạn chế. Chúng ta thực sự chưa tiếp cận và triển khai được những ứng dụng CNTT tiến bộ nhằm đem lại hiệu quả cao trong các lĩnh vực quản lý, nghiên cứu, đào tạo...

Tin học hóa quản lý Nhà nước, tin học hóa trong quản lý doanh nghiệp còn có những trở ngại về nhiều mặt khiến cho chúng chưa thể được triển khai đồng bộ.

Trong lĩnh vực nghiên cứu, giảng dạy và học tập, việc ứng dụng CNTT chưa thật sự triệt để.

Thương mại điện tử, giao dịch và thanh toán trực tuyến vẫn là những khái niệm mới mẻ. Chúng chỉ mới được xem xét một cách cẩn thận ở như những lĩnh vực tiềm năng.

2. Thực trạng về việc phát triển ngành nghề CNTT ở VN.

Những năm gần đây, rất nhiều công ty nước ngoài đầu tư vào lĩnh vực CNTT ở VN, tạo nên một không khí sôi động trong việc phát triển các ngành nghề liên quan đến CNTT ở VN, đặt biệt là trong lĩnh vực phát triển phần mềm. Tuy nhiên, có thể nhận thấy rằng, các công ty Việt Nam hiện nay chủ yếu chỉ dừng lại ở mức độ gia công thô phần mềm cho thị trường nước ngoài như Nhật Bản, Hàn Quốc, Mỹ, Bắc Âu...Điều này có thể hiểu được vì phần lớn các công ty VN đều non trẻ, trình độ của kỹ sư VN chưa thực sự cao, do đó chỉ có thể đảm trách những phần việc đơn giản trong một qui trình sản xuất phần mềm phức tạp.

Ngành công nghiệp phần cứng thực sự chưa có sự đột phá, chúng ta vẫn đang chờ đợi sự đầu tư của các công ty lớn. Dự án đầu tư của Intel vào khu công nghệ cao ở Quận 9- TP HCM là một ví dụ.

Và em sẽ về đâu ?

Khó khăn và thách thức cũng đồng nghĩa với cơ hội. Trước mắt, làn sóng đầu tư lớn của các công ty chuyên về IT của nước ngoài sẽ đem lại nhiều cơ hội mới trong lĩnh vực gia công phần mềm tại VN.Với lợi thế về giá nhân công rẻ, trình độ tay nghề của các kỹ sư ngày một nâng cao, VN đang là một đối thủ thực sự khó chịu đối với các quốc gia có truyền thống gia công phần mềm lớn trên thế giới như Ấn Độ, Trung Quốc. Đã có những tín hiệu khả quan khi các công ty lớn ở Nhật Bản, Mỹ hay Âu Châu gần đây dần chuyển hướng sang VN nhằm tìm kiếm cơ hội hợp tác gia công phần mềm thay vì làm ăn với Trung Quốc hay Ấn Độ như trước kia. Các kỹ sư VN ngày càng tham gia sâu hơn vào các công đoạn phát triển phần mềm như phân tích, thiết kế... Một tương lai tươi sáng hơn là các công ty VN có thể tự mình làm được những những hệ thống lớn theo yêu cầu khắc khe của khách hàng.

Ngoài gia công phần mềm xuất khẩu, chúng ta cũng có nhiều cơ hội hơn trong việc tự mình phát triển các ứng dụng "Make in Vietnam" phục vụ cho người Việt. Đó là các ứng dụng sẽ được đặt ra trong lĩnh vực quản lý hành chính, quản lý doanh nghiệp, phần mềm kế toán...một khi tin học hóa quản lý thực sự được xem là một vấn đề sống còn trong thời đại cạnh tranh hậu WTO. Điều đó chắc chắn phải xảy ra trong một tương lai gần.Thực tế đã có nhiều công ty sống được bằng việc sản xuất phần mềm cho thị trường nội địa.

Với dân số hơn 80 triệu người, nhu cầu sử dụng và khai thác internet của người Việt Nam là không nhỏ. Thương mại điện tử, giao dịch trực tuyến, website giới thiệu doanh nghiệp, mạng xã hội tìm kiếm và chia sẻ thông tin...đang và sẽ bùng nổ nay mai. Theo đó chúng ta sẽ cần một số lượng lớn các web designer, web master, database administrator... có kinh nghiệm và trình độ cao.

Các dự án đầu tư xây lắp các nhà máy sản xuất, lắp ráp phần cứng cũng hứa hẹn một sự phát triển sôi động trong lĩnh vực phần cứng ở VN.

Xin chào ! tôi là lập trình viên !

Ngay từ những năm đầu của thế kỷ 21, chính phủ đã xác định CNTT sẽ là ngành nghề mũi nhọn trong chiến lược phát triển đất nước. Việc ưu tiên phát triển CNTT theo hướng "mềm hóa" thực sự là một lựa chọn đúng đắn. Điều này cho phép chúng ta trong một thời gian ngắn có thể tiếp thu và đuổi kịp sự phát triển của thế giới theo kiểu đi tắt đón đầu. Nếu so với việc chạy đua trong lĩnh vực phần cứng, khả năng bắt kịp thế giới trong vòng 5, 10 là điều không thể.

Hiện nay, hầu hết các trường đại học và cao đẳng thuộc khối tự nhiên đều có khoa CNTT. Ở trường, sinh viên được trang bị những kiến thức để trở thành lập trình viên trong tương lai. Có một thực tế là, hầu hết sinh viên CNTT ra trường đều làm những công việc liên quan đến lập trình. Một số khác trở thành các chuyên gia quản trị cơ sở dữ liệu, quản trị mạng, các chuyên viên tư vấn giải pháp phần mềm. Số ít còn lại làm những công việc "không chính thống" ít liên quan đến CNTT. Vì vậy, vẫn có thể chấp nhận được nếu ai đó lầm lẫn một sinh viên khoa CNTT với một lập trình viên tương lai.

Vâng, xin chào, tôi là lập trình viên !

Lập trình viên, bạn là ai ?

Tôi không phải là nhà toán học.

Nhiều người vẫn quan niệm rằng, các lập trình viên là những người rất giỏi toán. Có lẽ các từ "điện toán", "vi tính" hay "lập trình" đem lại cho họ cảm giác đó. Thực tế, một lập trình viên, thậm chí là một lập trình viên giỏi không nhất thiết phải giỏi toán. Nếu bạn không có tham vọng trở thành một nhà nghiên cứu về lĩnh vực khoa học máy tính, công nghệ tri thức, hay muốn làm một cái master liên quan đến các thuật toán trong kỹ thuật mã hóa và mật mã.... thì một chút năng kiếu về tư duy logic cũng đủ cho bạn rồi. Dĩ nhiên, không thể chối cãi những ưu thế vượt trội sẽ có được nếu như bạn thực sự giỏi toán, nhưng nhìn chung, nếu bạn thi đỗ vào khoa CNTT của một trường nào đó, nghĩa là bạn hoàn toàn có khả năng (về mặt toán học) để theo học ngành lập trình.

Tôi kiên trì và tôi cẩn thận.

Ngành lập trình đòi hỏi bạn phải trang bị cho mình một khả năng tập trung cao, trong lúc học cũng như khi đi làm. Để có được khả năng đó, bạn phải là người kiên trì và cực kỳ cẩn thận. Tính kiên trì đảm bảo cho bạn khả chịu đựng và vượt qua những giai đoạn bế tắt trong quá trình làm việc (rất hay gặp). Sự cẩn thận giúp bạn tránh được những rủi ro không đáng có cũng như giúp bạn kiểm soát hết mọi tình huống có thể xảy ra. Ví dụ, khi bạn lập trình trên máy tính để giải một phương trình bậc 2, bạn phải lường hết mọi trường hợp có thể xảy ra với giá trị của delta chẳng hạn. Có một câu chuyện vui thế này : một chàng lập trình viên tối ngủ vẫn thường để trên đầu giường của anh ta 2 ly nước. Một ly có nước phòng trường hợp anh ta thức dậy lúc nửa đêm và muốn uống nước. Một ly khác không có nước, dành cho trường hợp anh ta thức dậy nhưng không muốn uống nước. Đôi khi, sự cẩn thận như thế trong lập trình là không thừa.

Tôi có một sức khỏe tốt.

Việc ngồi trước máy tính từ 8 đến 10h một ngày hoặc thậm chí hơn thế nữa đối với một lập trình viên không là điều xa lạ. Chính vì vậy, nếu bạn không có một sức khỏe tốt hay là người lười vận động, xin đừng theo đuổi ngành học này, hay nếu vẫn muốn học, sau này bạn nên chuyển hướng sang lĩnh vực quản trị mạng, quản trị database - hay những công việc ít liên quan đến lập trình. Còn một điều nữa, nếu mắt bạn không tốt, cũng nên suy nghĩ lại trước khi lựa chọn theo đuổi ngành lập trình.

Và trên hết, tôi đam mê.

Dĩ nhiên, bất cứ một ngành nghề nào, nếu không có được niềm đam mê, bạn khó mà thành công với nó. Tuy nhiên, tôi vẫn muốn nhấn mạnh rằng, để theo đuổi CNTT, bạn thực sự phải có niềm đam mê với nó, đam mê máy tính, đam mê lập trình, đam mê khám phá những cái mới...Nếu không có được niềm đam mê, bạn thậm chí không thể theo đuổi được chứ đừng nói là giỏi về nó. Lập trình viên là một nghề đặt biệt, như tôi đã nói, không yêu cầu bạn phải quá thông minh, phải giỏi toán hay bất cứ điều gì khác. Nó, trước tiên và quan trọng nhất, yêu cầu ở bạn một tình yêu.

Lan man một chút, tôi có những người bạn thực sự thông minh, họ là những người đã từng thi toán quốc gia khi còn là học sinh lớp 11, 12 phổ thông trung học. Năm đầu tiên đại học là một cuộc dạo chơi nhẹ nhàng với họ, bởi chương trình đại cương vẫn chưa thực sự dạy gì về tin học cả. Những năm về sau, sự thông minh thực sự không giúp gì nhiều cho họ. Để giỏi về lập trình, bạn phải chịu "cày", trong khi bạn của tôi không phải là tuýp người có thể ngồi trước computer 8 tiếng một ngày như hầu hết những sinh viên khác. Nếu bạn đưa cho họ một bài toán khó thì lại là chuyện khác, họ có thể bỏ ăn bỏ ngủ để giải giúp bạn đến khi nào ra mới thôi. Kết cục, bạn tôi phải chật vật lắm mới tốt nghiệp ra trường được, và dĩ nhiên, họ không thể vững về lập trình như những người còn lại. Tôi gọi đó là sự khác biệt của những tình yêu...

Sự lựa chọn của bạn làm nên chính con người bạn.

Như tôi đã nói, hiện nay hầu hết các trường đại học và cao đẳng khối tự nhiên đều có khoa đào tạo về CNTT ( mà thực chất là đào tạo lập trình viên). Bản thân tôi không rành lắm về các trường ở phía Bắc, do đó tôi chỉ đề cập đến một số trường ở phía Nam.

Nổi tiếng nhất về đào tạo CNTT ở phía nam phải nói đến khoa CNTT của ĐH KHTN và ĐH BK. Đây cũng là 2 trường đại học lớn ở phía Nam có truyền thống đào tạo nhân lực CNTT. 2 trường này có điểm đầu vào khá cao. Sinh viên khoa CNTT của ĐH KHTN và ĐH BK được đào tạo bài bản để khi ra trường, họ có thể nhanh chóng tiếp thu được những công nghệ mới nhất nhờ vào những kiến thức nền tảng được học. Song song với việc tiếp thu những kiến thức nền tảng, sinh viên của 2 trường này cũng có cơ hội làm những bài tập lớn, có độ phức tạp và độ khó tương đối, điều này giúp họ có một sự chủ động nhất định khi tham gia vào một đề án ở công ty ngay khi vừa ra trường.

Nếu bạn không chắc mình có thể thi đỗ vào 2 trường trên, đừng quá lo lắng, bạn cũng có thể lựa chọn khoa CNTT của một trường khác. ĐH Quốc tế, ĐH CNTT, ĐH NL, ĐH SPKT, ĐH DLKTCN, ĐH CN, ĐH HS, ĐH VL, CĐ CNTT...Ở một số trường, tuy khoa CNTT mới được thành lập, xong chất lượng đào tạo nhìn chung khá tốt. Điểm đầu vào cũng không vượt quá khả năng đối với những bạn có học lực trung bình khá trở lên.

Hoặc thậm chí nếu bạn cảm thấy bằng cấp không phải là một áp lực quá lớn đối với mình (nhiều khi áp lực đó không phải tự bạn tạo ra) bạn có thể rút ngắn thời gian học tập của mình bằng một lựa chọn khác. Vào học ở Aptech hay NIIT...Không giống như ở những trường đại học hay cao đẳng chính qui, ở những học viện này, học viên không được đào tạo kiến thức nền tảng một cách bài bản (có thể vì thời gian đào tạo ngắn hơn), do đó bạn sẽ phải tự học khá nhiều để bù lại những kiến thức nền tảng thiếu hụt. Bù lại, bạn sẽ có cơ hội tiếp xúc với những công nghệ lập trình hiện đại nhất, được rèn luyện kỹ năng đọc tài liệu bằng tiếng Anh, kỹ năng lập trình từ rất sớm. Bạn cũng sẽ có cơ hội đi làm sớm hơn một sinh viên CNTT bình thường. Nếu bạn chịu khó học tập, khả năng lập trình của bạn cũng chẳng thua kém bất kỳ một đồng nghiệp tốt nghiệp từ bất kỳ một trường đại học nào.

Như tôi đã nhấn mạnh, lập trình là một nghề đòi hỏi ở bạn niềm đam mê. Không quan trọng lắm bạn học ở đâu ra, nếu bạn yêu thích lập trình và chịu khó tìm tòi, chịu khó học hỏi không ngừng, tiếp thu những kinh nghiệm trong quá trình làm việc, bạn sẽ giỏi. Tôi đã từng biết có rất nhiều người chưa bao giờ được đào tạo một cách bài bản về CNTT ở bất kỳ một trường lớp nào, nhưng họ vẫn rất giỏi. Đó là kết quả của sự say mê tìm tòi, của sự tự học, và trên hết, đó là kết quả của một tình yêu đặc biệt.

Thay lời kết.

Rất mong bài viết này có thể giúp cho những bạn trẻ có thêm một luồng thông tin tham khảo trước khi quyết định theo đuổi con đường trở thành một lập trình viên chuyên nghiệp. Một nghề nghiệp vừa gian khổ nhưng cũng đầy những thử thách thú vị.

0 comments:

Post a Comment