Tìm kiếm nhanh và chính xác hơn với google tùy chỉnh

Chủ Nhật, 23 tháng 2, 2014

Công nghệ thông tin cho dân điện tử viễn thông

Ngày xưa khi mình đi thi đại học (năm 2007) thì viễn thông bùng nổ đặc biệt là di động , những năm đó và một vài năm sau theo mình thấy là sự phát triển rực rỡ của ngành viễn thông với 7 nhà mạng: VinaPhone, MobiFone, Viettel, S-Fone, EVN Telecom, Vietnamobile và GTel Mobile và thậm chí còn nghe nói có nhà mạng viễn thông ảo nhưng không ra mắt là Đông Dương Telecom. Kèm theo đó, ngành điện tử viễn thông trở thành một trong những ngành rất hot và mình không dám thi vào bách khoa khoa này chỉ vì thấy năm ngoái 600 đứa bách hoa 27 điểm trở lên và chỉ tiêu của bách khoa chỉ có 200 300 thì phải, thằng bạn mình cũng thi 25.5 điểm, vào bách khoa cuối cùng năm đầu vượt rào trượt điện tử viễn thông phải sang toán tin học, mình thì chọn một giải pháp an toàn hơn là vào học viện kỹ thuật quân sự (hệ dân sự) với điểm đầu vào nghe nói chỉ 18, mình thừa 6 điểm. Tại thời điểm đó thì công nghệ thông tin đang xịt, trở thành ngành hứng những chú bị rớt nguyện vọng điện tử viễn thông. Sau mấy năm suy thoái thì viễn thông xịt với chỉ còn lại viettel, mobi, vina tồn tại theo đúng nghĩa và ngành viễn thông đầu ra với mức lương  thấp, cạnh tranh rất cao và phải làm trái ngành rất nhiều, giờ vẫn nhiều người thất nghiệp. Giờ có lẽ chỉ những tinh anh nhất đủ khả năng (hoặc quan hệ thế nào đó) xin được vào viettel, mobi hay vtn thì mới có chỗ gọi là hot hoặc các công ti nước ngoài như KDDI, Fujitsu, Samsung. Tuy nhiên kể cả vào đó thì với tính chất công việc nhiều vị trí phải đi lại nhiều, viettel phải công tác các tỉnh, đi châu phi, trực đêm trực hôm .. thì đối với nhiều bạn cũng cảm thấy cũng không sung sướng gì cho lắm, lại còn đi làm mà đòi hỏi lắm bằng cấp chứng chỉ ccna, ccnp, mcipt ..
Và nhiều bạn nghĩ đến 2 ngành liên quan hiện vẫn đang ngon: điện tử và công nghệ thông tin (đang rất hot). Ở đây mình nói điện tử là ngành liên quan vì gọi là mình học điện tử viễn thông nhưng thực ra là học viễn thông, 70% đồ án cả lớp là di động, chỗ còn lại thì truyền dẫn, vệ tinh, gps ..., lác đác chỉ có 2 3 đồ án điện tử, số môn học về điện tử thì cũng tỉ lệ thế hết.
Điện tử thì mình không biết gì mấy nên không giới thiệu, tuy nhiên mình đã chuyển sang làm việc về công nghệ thông tin  mà cụ thể là làm lập trình viên và bài viết này mình sẽ trình bày những kinh nghiệm mình biết để có thể tiếp thu được các kiến thức về CNTT, ngành học cứu cánh mà nhiều bạn học điện tử viễn thông nhảy sang.
CNTT là một ngành riêng, tuy có sự liên quan nhưng không nhiều so với điện tử viễn thông, không phải cứ học điện tử viễn thông suất sắc tức là bạn sang bên này học tí là xong, mình đã chứng kiến nhiều người viễn thông giỏi thậm chí rất giỏi, khi vào CNTT cũng gặp không ít khổ đau vì khối lượng kiến thức ồ ạt đòi hỏi cần đáp ứng và các kỹ năng chưa được mài giũa cùng thời gian và trong vài năm đầu khó mà theo được bọn CNTT ra, thăng tiến hay thời gian bỏ ra đều thiệt thòi so với dân CNTT đấy là còn may vì nhiều chỗ có khi còn cho nghỉ việc.
Mình là một thằng yêu thích CNTT học điện tử viễn thông, và mình giỏi CNTT hơn điện tử viễn thông nhiều (chắc do may mắn hay cuộc đời trái khoáy nên nó thành ra như thế), ở viễn thông, học lòi mắt ra trường chỉ 7.3 (may có đồ án và thực tập kéo, cộng điểm chứng chỉ TOEIC còn không không biết có được bằng khá hay không), hết sức bình thường, nhưng tại lớp huấn luyện fresher Samsung, kì thi phân loại mình được xếp vào nhóm 5 người có điểm cao nhất trên tổng số 74 nên mình chắc những kinh nghiệm mình trình bày ra đây tuy là mang tính suy nghĩ chủ quan nhưng sẽ có giá trị với các bạn, và mình sẽ bắt đầu ngay đây:

Đặc điểm của ngành CNTT
Đây là ngành có tính ứng dụng, thực tiễn cao và cũng tạo hứng thú hơn so với ĐTVT. Với một cái máy tính bạn có thể làm ra rất nhiều thứ, triển khai ý tưởng và hoàn thiện sản phẩm, còn ĐTVT thì đòi hỏi phải có hệ thống, và phần lớn thứ chúng ta học là lý thuyết, mô phỏng là cái còn trực quan tí thì trong trường cũng không có nhiều nên nói chung toàn xem tờ giấy để nghĩ chuyện trên trời (trời ơi đất hỡi ấy). Có lẽ cũng vì vậy mà mình thấy có nhiều thần đồng CNTT khi có tí tuổi mà chả thấy nghe nói đến thần đồng ĐTVT nhất là khi có tí tuổi cả.
Lượng kiến thức rất nhiều và thay đổi nhanh: các bạn cứ theo dõi các trang tin tức công nghệ như tinhte thì biết, số ngôn ngữ lập trình các bạn phải biết để có thể đi làm mình nghĩ thường thì phải vài cái (tất nhiên mới ra trường thì không cần thạo hết) thì mới đáp ứng được.
Đòi hỏi thuật toán nhưng phải thực tế: máy tính tính toán rất nhanh nhưng phải là các số lượng tính toán hữu hạn và khối lượng tính toán đủ nhỏ, thực tế, bạn đừng nói đến các thứ như vô cùng ra khi làm việc với máy tính.
Học CNTT đòi hỏi mất thời gian: thâu đêm suốt sáng nghịch máy là chuyện bình thường.
Không có đam mê thì khó theo được: với những thứ như trên và do nhiều người có niềm đam mê mãnh liệt với máy tính, dễ dàng tiếp cận, mất thời gian nên nếu bạn chỉ học đối phó, hãy chấp nhận cứ là người đi sau mãi thôi.

Cách học CNTT và chút trải nghiệm bản thân
Tuy đòi hỏi trên nghe có vẻ choáng nhưng mình cũng nói rồi, CNTT là phải thực tiễn, những ông CNTT chỉ biết chém gió mà chả thấy thành tích sản phẩm ở đâu thì đừng có nghe, mình sẽ đưa ra những con số cụ thể để bạn dựa vào đó cân nhắc những cái được và cái mất để đưa ra quyết định cho riêng mình.
Cách chính thống để học CNTT là đi học thêm 1 khóa nào đấy như Aptech, NIIT vào buổi tối hoặc văn bằng hai, có lẽ cũng là cách mình thấy hợp lý vì dù học kiểu gì thì cũng mất thời gian cả tuy nhiên sẽ tốn kém và học ở đó thì nói thật vẫn chưa đủ vì công nghệ thông tin cần thực hành nhiều.
Mình thì theo trường phái tự học vì trước chỉ nghĩ đây là sở thích mà thôi. Đến đây thì mình lại tự thuật lại câu truyện của mình.
Mình thích CNTT cũng lâu rồi, không rõ là từ bao giờ nhưng chắc là từ hồi cấp 2 khi bắt đầu ở nhà có cái máy tính pentium 2 ổ cứng 3.2 gb (usb giờ của mình cũng gấp 5 lần cái này, chưa kể có thêm con ổ cứng xách tay 1 Tb để lưu JAV ^_^). Chính xác thì bắt tay vào học là vào noel năm lớp 10 khi xin tiền mẹ mua cái đĩa cd "em hãy lập trình pascal", đây là một cái đĩa bài tập kèm giải gồm các năm từ lớp 6 đến lớp 12 theo giáo trình của bên nào đó, mỗi lớp gồm 200 bài tập, không có lý thuyết. Cái thời đó internet thì chả nhớ là nhà đã có internet chưa nữa, vẫn còn dùng đĩa mềm 1.44 mb và để copy 1 phần mềm turbo pascal 7.0 phải cần tới 2 đĩa lận. Mình thích nghịch máy tính và cứ đi học, ăn cơm xong là ngồi vào máy làm tí bài tập. Thời gian cứ thế trôi cho đến khi mình làm đến bài tập đĩa đó vào cuối lớp 10, tính ra thì cũng nhiều nhiều nhưng loại bỏ các bài trùng lặp mình không làm thì mình làm khoảng từ 500 đến 700 bài tập pascal đến đoạn dùng ảnh bitmap để vẽ tiếng việt và bắt đầu đi vào kiến thức đồ thị thì mình dừng, khoảng một năm mình làm việc với pascal như thế. Trong quá trình học thì mình có mua thêm quyển turbo pascal của tác giả Quách Tuấn Ngọc nữa để đọc thêm. Hồi đó do chẳng ai hướng dẫn cả nên mình thậm chí còn không phân biệt được ứng dụng console (gọi hôm na là nền DOS) với ứng dụng window nó khác thế nào, còn nghĩ các phần mềm nó có cửa sổ nút là do nó tự vẽ từng điểm ảnh, từng đường lên hết, mình cũng đã thử thiết kế 4 cái button trên nền đồ họa pascal ,mỗi nút gồm 2 đường trắng và 2 đường đen, kích vào thì nó đổi màu tạo nên hiệu ứng như kích nút. Sau đó thì mình đổi sang c, hồi đó có biết vào mạng rồi, vào mấy diễn đàn, tin tức thì thấy có vẻ c cao cấp hơn pascal, và mình mua 2 quyển turbo c 2.0 gì đó (giờ không nhớ nữa), được tặng kèm cái đĩa turbo c 2.0 (không dùng được con trỏ để click luôn), kiến thức mình đọc lại từ đầu từ hello world cho đến hết 2 quyển, cũng chả biết nói thế nào mà bảo c mạnh, với mình lúc đó thì pascal dễ đọc hơn, trông chuyên nghiệp hơn, bảo c mạnh con trỏ nhưng pascal cũng có. Nói chung cái khoản con trỏ mình cũng chả thạo lắm, chuyển lên c++ xem thế nào, thêm 1 quyền c++ to như quyển từ điển, đọc được 1 tháng, đọc class, khái niệm hướng đối tượng chả hiểu cái đếch gì thì bỏ. Đến giờ đây thì mình mua đĩa học vb về và bắt đầu hiểu ứng dụng window với win form, control nó như thế nào. Nói chung thì mình không thích cú pháp của vb, học vb một tháng thì chắc mình chỉ học kéo thả là chính, lúc đó là hè chuẩn bị sang lớp 12, và mình phải gác lại việc học lập trình để chuyên tâm học thi đại học. Tuy nhiên mình vẫn tham gia diễn đàn congdongcviet để đọc và post bài, tuy không trực tiếp code nữa nhưng luôn tìm giải pháp về làm phần mềm dịch văn bản anh việt, việt anh (như thời đó có evtran) vì mình rất ghét học tiếng anh, sau thấy khó quá mà học ngoại ngữ thì cũng không nên lệ thuộc mà chỉ nên dùng từ điển (như lạc việt, clicknsee ...) và mình bắt đầu tìm kiếm các giải pháp về từ điển như click and see, định dạng từ điển có khả năng thêm sửa xóa, ngôn ngữ hỗ trợ tiếng việt tốt hơn vb6 (hỗ trợ unicode). Giờ các bạn tìm trên congdongcviet về các bài viết tìm kiếm lacviet, hook trong từ điển của nickname tienlbhoc thì chắc vẫn còn thấy bài của mình ngày xưa. Trong quá trình tìm kiếm mình lúc đầu định dùng vb.net nhưng thấy người ta dùng c# nhiều hơn nên lại chuyển qua tìm hiểu tí c#, tuy nhiên chỉ đọc chứ không code, mình đợt đấy thi đại học mà. Sau khi đỗ đại học mình tăng cường tham gia hỏi đáp trên congdongcviet rồi caulacbovb.net  và đã ra đời từ điển super power dict đầu tiên, tiếp sau đó mình cho ra hàng loạt các phiên bản từ 1 đến 5.x viết bằng c#, định dạng của mình lúc đầu rất đơn giản chỉ là 1 file text chứa dữ liệu đã phát triển lên định dạng hỗ trợ tìm kiếm nhị phân, có khả năng thêm xóa dữ liệu với tốc độ cao, đến tầm năm thứ 3 thì mình chuyển hướng phát triển DotNetKey bằng c#, bộ gõ tiếng việt 64 bit mà mình hiện vẫn đang dùng hàng ngày, rồi tiếp tục tiếp Super Power Dict phiên bản viết bằng java đển chạy ubuntu (mình tham gia forum ubuntu-vn, cũng chửi nhau loạn xạ trên này, có lần bị lock nick).Rồi như thể chưa đủ mình bắt đàu build dữ liệu và convert dữ liệu sang các định dạng startdict, mdict, prc, babylon để chạy trên các từ điển khác và trên điện thoại, một từ điển super power dict để tạo, update dữ liệu và các cái khác để dùng với mục đích khác. Cuối năm thứ 4 đại học mình bắt đầu học Android khi có con điện thoại LG Optimus GT540 và build ra từ điển mSPDict bây giờ vẫn đang phát triển (Super Power Dict mobile version).
Ra trường mình làm viễn thông ở FTI (FPT telecom International) từ 17/9/2012 đến 22/4/2013 thì ra đi, chạy theo tiếng gọi của trái tim, chuyển sang ở nhà đi học và kiếm việc về lập trình, bất chấp gia đình can ngăn. Ngày viết đơn nghỉ việc lại là ngày đầu tiên gặp em Sakura sales gb FTI, sau trở về FPT thì em đấy đã có thằng nào, tiếc ghê lắm ^_^ (tiếc cho em đấy), sakura sakura aitai yo iya da kimi ni ima sugu aitai yo.
Do mình cũng làm được một số tool hỗ trợ công việc cho phòng (FTI tools, speed ping test, FTI monitors ... mình đam mê lập trình mà nên thấy cái gì làm được là cắm mặt vào làm luôn nên anh trưởng phòng cũ giới thiệu lên Ftel R&D, tuy nhiên do trục trặc tí nên đến 3/6/2013 mình mới vào được, trong hơn 1 tháng nằm nhà thì tranh thủ làm phát CCNA 920/1000 (các bạn có thể tìm trong blog này về kinh nghiệm thi CCNA) và đi học khóa java ở ipmac. Mình nghiêm túc khi theo con đường lập trình, trước khi nghỉ mình đã tích góp 1 ít tiền để trang trải cho việc học lập trình, thi CCNA còn lại thì ăn bám gia đình :). Mình có quan điểm bố mẹ đã có tiền sẵn sàng chạy cho con vào chỗ nọ chỗ kia thì cũng có thể nuôi con cho đến khi con có thể tìm được công việc như ý, những thứ con muốn nhiều hơn nhiều những thứ bố mẹ có thể cho nên bố mẹ không thể cho được thì hãy đứng sang một bên, trong đó có cả niềm kiêu hãnh khi tự thân đạt được mục tiêu của mình, một thời hạn 2 năm đặt ra để mình bay nhảy hoặc thất bại chịu sắp xếp theo gia đình. Công việc ở Ftel R&D không được như mong đợi, lại áp lực gia đình và cơ quan, rồi mình lại định ra đi hồi đầu tháng 10 năm ngoái, chuỗi ngày từ đó cho đến lúc mình đi không biết khổ và ức chế kể đâu cho hết, không phải ức chế về cường độ làm việc mà ức chế về tinh thần và áp lực từ gia đình khi mình định nghỉ việc. Việc nghỉ đó mình đã xin rút lại nhưng một khi đã muốn ra đi thì vấn đề chắc chỉ là thời gian, mình còn có thực lực nữa chứ. 3/1/2014 đỗ samsung R&D, 7/1 ra đi trong thoáng chốc và giờ mình đang rất vui mừng phấn khởi, đạt được nhiều thứ khi làm việc ở đây. Tổng cộng làm việc FPT được hơn năm thì viết đơn nghỉ việc 3 lần, không hiểu sao một thằng hiền lành tử tế như mình lại trở thành nhân viên bất hảo như vậy T_T, nếu được xét kỷ lục FPT thì chắc mình cũng ẵm giải. Thời hạn đạt mất 1 năm rưỡi .
Cảm xúc mênh mang quá nhưng có lẽ các bạn cũng sẽ hiểu con đường của 1 thằng ĐTVT sang CNTT như mình,tất nhiên để có được nó thì mình đã phải có quá trình từ hồi lớp 10.
Nói chung dù bạn đi học hay bạn tự học, có mấy thứ bạn cần có:
  • Làm thật nhiều bài tập cơ bản để có kiến thức nền (lên mạng kiếm 500 bài về c chẳng hạn)
  • Đọc sách về cấu trúc dữ liệu và giải thuật, nếu thấy chán đọc hãy lên các forum đọc gọi là cập nhật tin tức trong ngày trong một thời gian dài dài.
  • Hãy làm vài ứng dụng, project thực tế, CNTT là phải thực chiến.
  • Khi cần thiết nếu bạn chưa được đào tạo hãy đi học các khóa lập trình. Sau khi học ở ipmac mình thấy trình java lên hẳn, trước thủng lỗ chỗ và dùng kiểu chắp vá.
  • Bạn có đủ niềm đam mê không để sẵn sàng đánh đổi thời gian, công sức như ở trên hoặc hơn thế nữa.
  • Bằng cấp có quan trọng nhưng khi bạn đủ giỏi thì nó không còn quan trọng nữa ^^, bạn có thể thay thế nó bằng thành tích của bản thân hoặc thành tựu của các ứng dụng của bạn, giờ trái ngành cũng nhiều nên cũng không sợ, nếu sợ kẹp cái aptech, niit vào.
Các ngôn ngữ, công nghệ nên học:
  • x/c++ nếu muốn làm về tầng sâu sâu 1 tí
  • C#/Java nếu muốn lập trình ứng dụng và outsource
  • PHP lập trình web outsource cũng nhiều
  • Nếu web thì thêm html, javascript, css nữa
  • Python, ruby là các công nghệ mới (code hệ thống và web)
  • Mobile như ios (dùng c object), android (java), winphone (c#) ...
  • Database 
Một số trang web học lập trình:
Bài viết hơi dài, viết hơi lan man nhưng thằng CNTT nó thế, giao tiếp kém, kiến thức xã hội kém, nhưng làm anh hùng bàn phím thì rất giỏi :).

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by NewWpThemes | Blogger Theme by Lasantha - Premium Blogger Themes | New Blogger Themes