Chắc hẳn các bạn đã
không còn xa lạ với khái niệm CNTT, tuy nhiên vẫn có nhiều người hỏi cá nhân
tôi học CNTT là học những cái gì và sau này ra trường có thể làm gì? Thậm chí
nhiều bạn đang học CNTT cũng có chung một câu hỏi như vậy. Tôi nghĩ rằng câu trả
lời sẽ đi sâu hơn những gì xung quanh khái niệm CNTT và thực tế việc làm CNTT
có những gì tôi sẽ chia sẻ với các bạn qua bài viết này. Hy vọng sau khi đọc
xong, các bạn sẽ có được hướng đi đúng đắn cho mình.
Có thể nhiều người ngoại đạo sẽ trừu tượng hóa những công việc trong ngành CNTT, từ góc nhìn đó tôi sẽ cụ thể hóa nghề CNTT bằng việc so sánh với một ngành nghề phổ biến, đó là nghề giáo viên. Nghề CNTT là nghề bao gồm rất nhiều lĩnh vực và chuyên ngành cũng giống như trong giáo dục có sự phân chia giữa các giáo viên bộ môn. Ở đó, mỗi người sẽ học cho mình một chuyên ngành và đa số sẽ chỉ tập trung vào chuyên ngành đó giống như từng giáo viên bộ môn vậy. Tất nhiên sẽ có người làm việc được với nhiều chuyên ngành, như ta thấy thầy giáo dạy Toán có thể dạy cả Hóa hay cô dạy Văn có thể kiêm luôn cả môn Giáo Dục Công Dân. Nếu như bạn chia ngành giáo dục ra làm 2 ban là Tự nhiên và Xã hội thì tôi sẽ chia nghề CNTT thành Phần cứng (Hardware) và Phần mềm (Software). Sau đây chúng ta sẽ đi cụ thể từng lĩnh vực của CNTT.
1. Phần
cứng:
Bao gồm 2 lĩnh vực là Chế tạo phần cứng và Sử dụng
phần cứng.
1.1.
Chế tạo phần cứng: Là chế tạo các Chip sử
lí, thiết bị lưu trữ, thiết bị ngoại vi, thiết bị mạng… hay ta gọi chung chung là
linh kiện điện tử. Công việc này đòi hỏi bạn phải có kiến thức về Điện tử số,
Kiến trúc máy tính, Vật liệu bán dẫn, Vật lý, Toán học… nói chung đây có lẽ là
lĩnh vực khó nhất và những người làm trong ngành này lại chủ yếu là những người
học các ngành điện tử truyền thông chứ không phải CNTT. Vì vậy tôi sẽ không đi
sâu vào lĩnh vực này. Vậy các công ty nào cần bạn? Đó là các hãng sản xuất phần
cứng và thiết bị.
1.2.
Sử dụng phần cứng: Nhiều bạn sẽ lầm tưởng
nó chỉ gồm một số việc như chúng ta lắp ráp, cài đặt, sửa chữa một máy tính hay
đơn giản là ngồi và sử dụng máy tính để phục vụ một công việc và học tập. Tôi tạm
gọi đó là mức cá nhân (Personal). Còn một mức độ nữa mà tôi nghĩ bạn cần quan
tâm và cũng có rất nhiều người đã, đang và sẽ phải quan tâm tới nó, đó chính là
mức độ Tổ chức (Organization), Doanh nghiệp (Enterprise). Không giống cá nhân,
các tổ chức và doanh nghiệp thường xây dựng cho mình những hệ thống máy tính lớn
và kết nối toàn bộ máy tính với nhau tạo thành các Network sau đó có thể kết nối
được với Internet. Như vậy người làm trong lĩnh vực sử dụng phần cứng sẽ là người
lắp ráp, cấu hình, cài đặt các hệ thống này để đảm bảo các máy tính, máy chủ có
thể kết nối với nhau và kết nối được với Internet hay nói chung lại là người Quản
trị hệ thống (System Administrator). Đây cũng không phải là một công việc đơn
giản, nó đòi hỏi người lắp đặt phải am hiểu về cấu trúc hệ thống, các loại phần
cứng, các lệnh cài đặt và cấu hình, các giao thức truyền thông tin qua mạng… Để
đạt mức độ thành thục hay làm một chuyên gia trong lĩnh vực này bạn cần gì? Tôi
xin trả lời đó là kiến thức về Kiến trúc máy tính, Mạng máy tính và Phân tích
thiết kế hệ thống khi bạn học đại học. Vậy nếu không học đại học? Tôi cũng có
thể gợi ý bạn tới các trung tâm đào tạo về Quản trị phần cứng để học. Thế còn vấn
đề bằng cấp? Ngoài bằng đại học, chúng ta biết rằng có rất nhiều hãng sản xuất
phần cứng, họ sẽ cấp chứng chỉ cho chúng ta khi chúng ta sử dụng thành thạo việc
cấu hình và lắp đặt thiết bị của họ. Họ thường là các nhà cung cấp thiết bị mạng
và truyền dẫn. Tôi xin lấy một ví dụ về một số chứng chỉ liên quan tới Quản trị
phần cứng: CCNA, CCNP, CCIE… do hãng chuyên cung cấp các thiết bị mạng CISCO cấp.
Và đây là các chứng chỉ thường được đào tạo vì mức độ phổ biến rộng của các sản
phẩm CISCO. Thông thường khi đi xin việc về lĩnh vực này, ngoài bằng đại học
các doanh nghiệp lớn sẽ thường yêu cầu bạn có một trong các chứng chỉ trên để
xác nhận rằng bạn hoàn toàn có khả năng làm việc với hệ thống của họ. Ngoài ra
còn có IBM của Mỹ, ZTE và Huawei của Trung Quốc cũng là các hãng cung cấp thiết
bị lớn và họ cũng có hệ thống chứng chỉ cho các thiết bị của mình. Vậy các công
ty nào cần bạn? Như đã nói ở trên, đó là các tổ chức, doanh nghiệp có hệ thống
lớn.
2. Phần
mềm: Bao gồm Phát triển phần mềm, Kiểm tra chất lượng phần mềm và Sử dụng phần
mềm
2.1.
Phát triển phần mềm: Đó chính là công việc
lập trình phần mềm. Bạn sẽ học để trở thành Coder hay Programer hoặc ngay cả một
Desiger. Tại đây tôi có thể chia nhỏ ra thành các chuyên ngành khác và giới thiệu
một vài ngôn ngữ lập trình để các bạn tiện tìm hiểu.
·
Lập trình Desktop: Hiểu đơn giản là bạn
lập trình các phần mềm chạy trên máy tính, có thể là phần mềm ứng dụng, phần mềm
hệ thống, games… và để lập trình bạn sẽ
cần học một hoặc một vài ngôn ngữ lập trình VD: C/C++, Java, C#, Visual Basic,
Delphi… và một số ngôn ngữ mở rộng khác.
·
Lập trình Mobile: Với tốc độ phát triển
chóng mặt hiện nay của các thiết bị Mobile cũng như các ứng dụng chạy trên
Mobile tôi tin chắc rằng bạn sẽ có nhiều quan tâm tới lĩnh vực này. Tôi xin cụ
thể, để lập trình với Mobile bạn cần biết nền tảng mà bạn sẽ sử dụng hay như hiện
nay chúng ta quen gọi là lập trình trên HĐH Mobile. VD bạn cần học Java để phát
triển J2ME hay Android, học Objective C để lập trình cho iPhone/iPad, học C#,
J#, Visual Basic.NET để lập trình Windows Phone…
·
Lập trình Web: Công nghệ Web hiện nay
cũng rất phát triển vì vậy việc làm trong phát triển Web khá nhiều. Nhưng phát
triển Web lại gồm nhất nhiều công đoạn mà bạn sẽ khó mà làm hết cùng lúc được,
đó là Lập trình Web, Thiết kế web, SEO… Tôi sẽ đi qua một số ngôn ngữ và công
nghệ bạn cần học để Lập trình web và thiết kế web. VD bạn thiết kế sử dụng
Photoshop, Illustator… để tạo mẫu các trang web, bạn lập trình web sử dụng các
ngôn ngữ và công nghệ như HTML/CSS, Javascipt, PHP, JSP, ASP, ASP.NET… để đưa mẫu
thiết kế đó thành một trang web hoàn chỉnh và chạy được.
·
Lập trình nhúng: Có thể bạn sẽ cảm thấy
lạ lẫm với khái niệm này, nhưng thực ra nó chính là việc sử dụng các ngôn ngữ lập
trình để điều khiển thiết bị. Không chỉ là máy tính, nó còn có thể điều khiển
được rất nhiều thiết bị khác như máy móc, đồ gia dụng (TV, Tủ lạnh, Điều hòa…),
ô tô, máy bay… Đây là một công việc khá khó và đòi hỏi độ chính xác, tỉ mỉ cao.
Cuối cùng là ngôn ngữ sử dụng: ASM, C, Ada…
Vậy những công ty nào cần
bạn? Trong lĩnh vực phát triển phần mềm có rất nhiều chuyên ngành nhỏ, nói
chung bạn học ngành nào bạn sẽ tìm được việc ở công ty làm về ngành đó. Tất
nhiên còn tùy khả năng, may mắn của bạn và nhu cầu nhân lực của ngành đó.
2.2.
Kiểm tra chất lượng phần mềm
Bạn sẽ được học trở
thành một QA(Quality Assurance) hay một Tester. Có lẽ ít trường đại học đào tạo
bạn nhiều kiến thức về lĩnh vực này. Nhưng đây thực ra là một việc quan trọng
khi bạn hay công ty bạn cho ra đời một phần mềm có khả năng thương mại hóa. Ở
đây bạn sẽ thường làm công việc chạy thử, đánh giá, phát hiện lỗi. Tuy nhiên để
làm một QA hay Tester thì bạn cũng cần nắm rõ kĩ thuật lập trình, am hiểu cấu
trúc phần mềm, đọc hiểu các thông báo lỗi… Còn vấn đề việc làm, theo tôi được
biết thì trước đây nhu cậu tuyển Tester tại VN chưa cao, đa số các Coder kiêm
luôn cả Tester. Nhưng nhu cầu thật sự ở các công ty lớn hơn rất nhiều cùng với
việc có nhiều công ty làm Outsource nên nhu cầu Tester đang tăng lên nhanh
chóng. Tôi có thể kể cho bạn câu chuyện về Windows 8, trong vòng 2 năm phát triển
Microsoft đã cần tới 1,24 tỉ giờ để kiểm thử phần mềm Window. Tức là nếu một
người làm 8h một ngày và làm liên tục trong 2 năm thì MS đã phải cần tới gần 10
ngàn người để kiểm thử. Trong khi số lượng lập trình viên Windows chỉ có vài
trăm người.
2.3.
Sử dụng phần mềm.
Nó cũng không đơn giản như lĩnh vực Sử dụng phần cứng
tôi đã đề cập ở trên. Tôi sẽ không nói tới việc bạn sử dụng Window, cài đặt một
số ứng dụng trên PC hay vài thủ thuật nào đó chỉ dành cho các kỹ thuật viên sửa
máy thuê ở mức Personal. Cái tôi muốn hướng cái bạn tới đó là các công việc thường
gặp trong môi trường Doanh nghiệp. Sau khi cài đặt và cấu hình các phần cứng,
bước tiếp theo và quan trọng nhất là cài đặt và quản trị phần mềm trên đó. Đó
là những phần mềm gì tôi sẽ chia sẻ ngay sau đây.
·
Hệ điều hành: Với các hệ thống lớn, hệ
điều hành cũng làm nhiệm vụ quản lí tài nguyên như phần cứng và dữ liệu, có khả
năng tương tác với các hệ thống mạng truyền thông. Nhưng ở các hệ thống lớn đòi
hỏi phần cứng mạnh thì HĐH lại cần phải mềm dẻo, quản lí tài nguyên tốt, hỗ trợ
các giao thức mạng phức tạp, đa nhiệm và nhiều người dùng nhắm đáp ứng được các
tác vụ và ứng dụng đòi hỏi lượng tài nguyên và truy cập lớn. Hai HĐH mà ta thường
gặp là Window Server và Linux. Công việc này đòi hỏi bạn phải thông thạo cấu
trúc HĐH, tổ chức sắp xếp dữ liệu, cài đặt, triển khai ứng dụng đôi khi cần phải
lập trình công cụ tự động (shell scipt) hoặc thậm chí biên dịch Kernel (trong Linux).
Lĩnh vực này cũng có 2 mảng chứng chỉ đó là các chứng chỉ liên quan tới Windows
Server điển hình là MCSA và với Linux là LPI.
·
Triển khai ứng dụng: Có thể bạn không cần
phải thông thạo HĐH nhưng công việc triển khai và quản trị ứng dụng cũng không
hề đơn giản. Với các hệ thống dữ liệu lớn, công việc này còn có ý nghĩa vô cùng
quan trọng. Tôi sẽ đi cụ thể một vài ví dụ:
-
Web server software: là các ứng dụng tạo
nền web dùng để lưu trữ và xử lý trang web, làm cầu nối giữa mã web với các
truy cập từ bên ngoài. Nhờ đó mà ta truy cập được trang web. Một số webserver
thường thấy như Apache, IIS, LMNP (có cả nginx trong đó nên tôi ko tách riêng
ra nữa), Tomcat (cái tomcat này dùng chạy JSP, có thể nhiều bạn chưa biết)…
-
Database software: dữ liệu là thành phần
quan trọng nhất, lưu trữ mọi thông tin của các ứng dụng khác. Làm việc với
database software tức là bạn đóng vai trò một người quản trị dữ liệu. Hiện tại
có các CSDL phổ biến như MS SQL, MySQL, Oracle…
-
Mail server: bạn sẽ là người quản trị hệ
thống gửi và nhận mail, tôi sẽ không nói về tầm quan trọng của công việc này mà
sẽ để bạn tự hình dung một ngày kia Gmail biến mất và bạn thì mất trắng rất nhiều
tài liệu trong đó…
-
Sharepoint, Exchange… là một số ứng dụng
dịch vụ của MS
Cuối cùng là chứng chỉ và công việc, tôi sẽ đưa một
link tham khảo vào cuối bài viết để các bạn tìm hiểu sâu hơn về các chứng chỉ.
Còn về công việc, như trên, vẫn là dựa trên nhu cầu của doanh nghiệp.
Hiện tại các bạn nghe nhiều tới vấn đề bảo mật. Tôi
xin tách ngành cuối cùng mà mình đề cập đến ra một bài viết riêng và sẽ gửi tới
các bạn trong một kì nào đó. Đó là ngành Bảo mật thông tin. Tôi hy vọng bạn sẽ
có hứng thú!
Có lẽ đã quá dài và lan man đi chỗ khác, trên đây là
những gì bạn sẽ học và làm được trong nhành CNTT, tôi xin khép bài viết tại
đây. Nếu bạn có hứng thú thì bài viết kì sau của tôi sẽ là “Kiếm tiền với CNTT
dễ hay khó?”.
Link tham khảo
dành cho các bạn:
Jino Hoàng
No comments:
Post a Comment