BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG
NGHỆ TP. HCM KHOA CÔNG
NGHỆ THÔNG TIN
BÁO CÁO MÔN HỌC
CÔNG TÁC KỸ SƯ CÔNG NGHỆ THÔNG TIN
CHUYÊN ĐỀ:
TOP 10 CÔNG VIỆC THÚ VỊ CỦA NGÀNH
CÔNG NGHỆ THÔNG TIN
Giảng viên hướng dẫn : Ths. Lê Hoàng Yến
Sinh viên thực hiện : 2180605126 – Thái Bá Hải Anh
2180603627 – Ngơ Trí Ngọc Sơn
2180606845 – Đinh Nguyễn Trí Vĩnh
2180605463 – Ngơ Đức Anh
2180605846 – Đồn Duy Long
TP. Hồ Chí Minh, 2021
MỤC LỤC :
CHƯƠNG1 : GIỚI THIỆU VỀ 10 CÔNG VIỆC THÚ VỊ CỦA NGÀNH CÔNG
NGHỆ THÔNG TIN…………………………………………..............................1
CHƯƠNG 2 : XU HƯỚNG VÀ CƠ HỘI VIỆC LÀM.........................................2
CHƯƠNG 3 : KẾT LUẬN……………………......…………………...………...3
CHƯƠNG 4: TÀI LIỆU THAM KHẢO………………………………………...4
3
CHƯƠNG 1 : GIỚI THIỆU VỀ 10 CÔNG VIỆC CỦA NGÀNH CÔNG NGHỆ
THÔNG TIN
1.1 GIỚI THIỆU 10 CÔNG VIỆC
1.1.1 Phân tích hệ thống máy tính
a. Khái niệm :
-
Một chuyên gia gia phân tích hệ thống máy tính có nhiệm vụ giúp cho một
công ty hay tổ chức sử dụng công nghệ máy tính một cách hiệu quả và tối ưu
nhất.
-
Người đó sẽ tích hợp cơng nghệ mới vào hệ thống hiện tại của cơng ty. Phân
tích chi phí và lợi ích để xác định xem liệu việc đó có cần thiết và tương xứng
với chi phí tài chính bỏ ra hay khơng? Việc nâng cấp đó có phục vụ cho các
công việc, hoạt động của công ty hay tổ chức đó hay khơng?
b. Vai trị :
- Nhà phân tích hệ thống máy tính hoạt động giống như một nhà điều tra kỹ thuật số.
Họ ghi lại các hệ thống công nghệ để biết, thay đổi, cải tiến và giúp xây dựng lại các
hệ thống này. Điều này có thể bao gồm việc tìm hiểu lý do tại sao một hệ thống máy
tính bị lỗi bằng cách sử dụng phần mềm cụ thể để theo dõi các ứng dụng, hệ thống,
cơ sở dữ liệu và mạng.
-
Ở mọi giai đoạn của vòng đời phát triển hệ thống, các nhà phân tích hệ thống
máy tính hợp tác với các lập trình viên máy tính, nhà thiết kế trải nghiệm người
dùng và người kiểm tra đảm bảo chất lượng để xây dựng hệ thống máy tính. Họ
cũng làm việc chặt chẽ với giám đốc điều hành của tổ chức, cũng như tư vấn
cho các thành viên khác trong nhóm cơng nghệ để hiểu rõ hơn về cách hệ thống
máy tính có thể phục vụ tốt nhất cho tổ chức. Họ thường chuyên về một số loại
hệ thống máy tính cụ thể cho ngành mà họ làm việc, chẳng hạn như hệ thống
máy tính kỹ thuật hoặc hệ thống máy tính tài chính. Trong một số trường hợp,
những nhà phân tích này được gọi là người quản lý dự án CNTT, vì họ theo dõi
tiến độ của dự án để đảm bảo rằng các mục tiêu chi phí, thời hạn và tiêu chuẩn
được đáp ứng.
4
- Các nhà phân tích hệ thống máy tính sử dụng mơ hình dữ liệu để thiết kế hệ thống
máy tính, giúp họ có thể xem xét các quy trình và luồng dữ liệu ngay cả trước khi bất
kỳ chương trình nào được viết.
-
Khi các chương trình đã được viết xong, các bài kiểm tra chuyên sâu sẽ được
tiến hành và thơng tin sẽ được phân tích để nhận ra bất kỳ xu hướng nào trong
dữ liệu có thể đưa ra manh mối về cách tăng hiệu suất và hiệu quả của hệ thống.
-
Các nhà phân tích hệ thống máy tính sẽ đưa ra các yêu cầu về dung lượng bộ
nhớ và tốc độ mà hệ thống máy tính cần, chuẩn bị sơ đồ cho các kỹ sư hoặc lập
trình viên sử dụng khi xây dựng hệ thống và tham gia giải quyết các vấn đề nảy
sinh sau khi hệ thống ban đầu được thiết lập.
Chuyên gia phân tích hệ thống máy tính chia làm 3 loại:
Chuyên gia thiết kế hệ thống: Tìm giải pháp kỹ thuật phù hợp với mục tiêu
dài hạn của công ty hoặc tổ chức.
Chuyên gia phân tích đảm bảo chất lượng phần mềm (QA): Kiểm tra và
chẩn đoán các vấn đề trong các hệ thống máy tính.
Chun gia phân tích lập trình: Phát triển và viết mã cho phần mềm đáp ứng
nhu cầu của chủ lao động hoặc của khách hàng.
c.
Những kỹ năng cần có của một chuyên gia phân tích hệ thống máy tính :
5
Một nhà phân tích hệ thống máy tính phải có một số kỹ năng mềm, hoặc phẩm chất cá
nhân, ngoài các kỹ năng kỹ thuật của họ.
Kỹ năng giải quyết vấn đề và tư duy phê phán: Những khả năng này sẽ cho
phép bạn dễ dàng xác định các vấn đề. Sau đó đánh giá các giải pháp thay thế
để xác định đó là một trong những tốt nhất.
Kỹ năng giao tiếp: Kỹ năng lắng nghe tuyệt vời sẽ cho phép bạn hiểu được
nhu cầu của khách hàng hoặc đồng nghiệp. Kỹ năng giao tiếp bằng lời nói
mạnh mẽ sẽ cho phép bạn chuyển tải thông tin hiệu quả.
Đọc hiểu: Bạn sẽ phải đọc hướng dẫn sử dụng và các báo cáo kỹ thuật để theo
kịp những tiến bộ và triển khai công nghệ mới. Đáp ứng được nhu cầu của chủ
lao động hoặc khách hàng.
Viết: Mong muốn đưa ra các báo cáo bằng văn bản về các đề xuất của bạn.
Kỹ năng phân tích: Bạn sẽ cần khả năng phân tích số lượng lớn dữ liệu.
Sáng tạo: Bạn phải có khả năng liên tục tạo ra những ý tưởng mới.
Kiến thức về các ngơn ngữ lập trình như: SQL, C++, Java, XML,…
1.1.2 Thiết kế và phát triển website
1.1.2a Thiết kế website ( Web design )
a. Khái niệm:
-
Đây là việc tạo ra bộ mặt website hồn chỉnh và trình bày các ý tưởng nội dung
lên trên website ấy. Thông qua Internet, người dùng sẽ truy cập được trang này
với các thiết bị điện tử như điện thoại, máy tính bảng, máy tính, laptop, ….
Hiểu đơn giản, thiết kế web là thiết kế một trang web. Người thiết kế web sẽ
chịu trách nhiệm diễn đạt tốt nhất ý tưởng nội dung của website. Từ bố cục,
màu sắc, hình ảnh, … đến cách bố trí link sao cho thật hài hịa và hợp mắt
người dùng. Người làm công việc thiết kế web được gọi là chuyên viên thiết kế
web (Web Designer). Bộ mặt website được gọi là giao diện (Template)
website. Giao diện này có thể ở dạng động hoặc tĩnh.
b. Vai trị :
6
-
Người thiết kế web chịu trách nhiệm tạo ra phiên bản sơ khai của một website
(thiết kế web trực quan). Sau q trình chỉnh sửa và hồn thiện, thiết kế hoàn
chỉnh sẽ được chuyển cho các web developer để mã hóa HTML, mã hóa tập
lệnh web hoặc hồn thành các loại mã hóa khác nói chung. Cả web designer lẫn
web developer đều làm việc cho một mục đích chung duy nhất – tạo ra một
website hoặc một ứng dụng web thu hút người dùng.
- Nếu nhiệm vụ chính của nhà phát triển web là sử dụng các ngôn ngữ mã hóa phức
tạp để xây dựng cấu trúc lõi của trang web nhằm đảm bảo trang web sẽ vận hành mượt
mà, khơng gặp các trục trặc về mặt kỹ thuật, thì nhiệm vụ chính của người thiết kế
web là sử dụng các yếu tố trực quan (màu sắc, hình dáng) để xây dựng “bộ mặt” của
trang web. Công việc của người thiết kế web tập trung mang lại trải nghiệm trực quan
cho người nhìn nhiều hơn. Có thể tưởng tượng developers như những công nhân xây
dựng trong khi designer
7
đóng vai trị là kiến trúc sư – cả 2 đều cần thiết để xây dựng lên một website, chỉ là họ
phụ trách những phần khác nhacu.
Thiết kế website được chia làm 2 loại :
1. Trang web tĩnh
Website tĩnh là dạng trang web cơ bản. Chúng không thường xuyên thay đổi nội dung
của mình và khơng được cập nhật bởi người dùng. Với dạng web này để thay đổi nội
dung trên trang web, chủ sở hữu phải truy cập trực tiếp vào các lệnh mã để thay đổi
thông tin và phải biết thiết lập chuyên mục. Hầu hết, các loại trang web này đều được
tạo ra cho thông tin mục tiêu hơn là tương tác.
2. Trang web động
Là những trang web có nội dung được cập nhật thường xuyên. Với trang web khi xây
dựng sẽ bao gồm hai phần. Một phần hiển thị trên trình duyệt mà khi truy cập internet,
chúng ta thường thấy và một phần bên dưới được sử dụng để điều khiển nội dung của
trang web, phần nội dung ở phía sau là phần quản trị và thường thì chỉ những người
quản trị trang web mới có quyền truy cập vào. Tính tương tác của trang web động cao
hơn trang web tĩnh.
c. kỹ năng chuyên môn cần có của Web Designer :
+ Thiết kế đồ họa
Dù khơng yêu cầu các chứng chỉ, văn bằng liên quan đến mỹ thuật nhưng một web
designer chuyên nghiệp phải nắm chắc được kiến thức về thiết kế đồ họa như
typography (tạo hình các con chữ), phân chia bố cục, tỷ lệ trang web, phối màu, v.v toàn bộ những nguyên tắc cốt lõi để thiết kế giao diện bất kỳ trang web nào.
+ Thiết kế trải nghiệm người dùng (User experience)
Để thu hút người dùng dành nhiều thời gian cho trang web của mình, một web
designer giỏi cần áp dụng các nguyên tắc phân cấp (hierarchy) để xây dựng sitemap
8
thật bắt mắt. Ngoài ra, web designer cũng cần phải có kỹ năng trực quan hóa dữ liệu
và tìm hiểu cách thức người dùng tương tác với các dữ liệu trên website.
+ Coding (HTML và CSS)
Kỹ năng này trước đây không được chú trọng nhiều, nhưng với sự phát triển đáng kinh
ngạc của công nghệ thông tin, kỹ năng coding thành thạo đang dần trở thành yêu cầu
chuyên môn đối các vị trí liên quan đến phát triển website.Coding là cách tối ưu nhất
để tạo trang web từ con số 0, nhúng video hay hình ảnh.
Các web designer cần phải sử dụng thành thạo ngơn ngữ lập trình HTML (Hypertext
Markup Language) để xây dựng nội dung website và CSS để tìm kiếm và định dạng
HTML cũng như chữ viết, nội dung trên trang web đó.
Kỹ năng mềm :
+ Kỹ năng quản lý thời gian
Quy trình phát triển website sẽ được chia thành các giai đoạn nhỏ và nhiệm vụ của bạn
là phải hồn thành từng cơng việc trong thời hạn cho phép. Việc bạn chậm trễ sẽ ảnh
hưởng tiêu cực đến công việc của những người khác và tiến độ chung của tồn bộ dự
án, uy tín của cơng ty.
+ Kỹ năng giao tiếp
Khả năng giao tiếp tốt cực kỳ quan trọng với một web designer do đặc thù công việc
phải thường xuyên tương tác, cập nhật thông tin cho khách hàng hoặc cấp trên về tiến
độ công việc. Kỹ năng soạn thảo báo cáo và thuyết trình cũng phải được đặt lên hàng
đầu.
1.1.2b Phát triển website ( Web development ) a.
Khái niệm :
Web development chính là người tạo ra những ứng dụng trang web có thể chạy được
trên các trình duyệt web khác nhau. Và là người sẽ thực hiện tồn bộ cơng việc đó gọi
9
là web developer.
Ngồi những cơng nghệ lập trình cơ bản như HTML, CSS, JavaScript. Thì các nhà
phát triển web ngày nay cũng đang áp dụng sử dụng nhiều ngôn ngữ lập trình khác
nhau để có thể tạo ra các ứng dụng website chuyên nghiệp hơn. Có thể kể đến một
vài ngôn ngữ phổ biến như PHP, Java, Python, Scala, Asp.net v.v..
b. Vai trò :
- Web developer sẽ chịu trách nhiệm viết code để đảm bảo trang web hoạt động hiệu
quả và trơn tru. Nhờ vậy, người dùng cuối cùng sẽ khơng gặp bất cứ khó khăn gì trong
việc điều hướng trang web đó. Web developer cần khiến website vừa có tính hấp dẫn
với những người dùng nâng cao, vừa có tính đơn giản và thân thiện với những người
dùng mới bắt đầu truy cập.
-
Thực tế thì cơng việc của một Web Developer rất đa dạng ở nhiều vị trí và chịu
trách nhiệm khác nhau. Tuy nhiên, Web Developer nói chung chịu trách nhiệm
thiết kế giao diện người dùng, duy trì và mở rộng website cũng như cập nhật xu
hướng công nghệ mới. Và dù ở vị trí nào, để đạt được năng suất công việc cao
nhất cũng cần phối hợp một cách đồng nhất với đồng nghiệp
c. Kỹ năng của một Web Developer
10
+ Kĩ năng front-end
Nói đơn giản: Front-end là những gì người dùng nhìn thấy và tương tác. Nó là “mặt
tiền” của một trang web. Nếu bạn thích thiết kế, bạn có thể tập trung phát triển những
kĩ năng front-end, trở thành một front-end developer. Những kĩ năng bạn cần phát triển
bao gồm:
HTML/CSS/Javascript cơ bản.
Một số thư viện/framework nổi tiếng: Bootstrap, jQuery, AngularJS, EmberJS.
Kĩ năng thiết kế va sử dụng Photoshop, kiến thức và kinh nghiệm về UI/UX.
LESS, SASS (stylesheet language).
Sử dụng npm, grunt,… để optimize, minimize HTML/CSS/JS.
Kiến thức về Ajax, cách thiết kế giao diện responsive…
Vai trò của front-end trong 1 dự án là khá quan trọng, vì giao diện là thứ đập vào mắt
người dùng đầu tiên. Front-end developer khơng chỉ thiết kế giao diện đẹp, mà cịn
phải rõ ràng, dễ sử dụng. Người dùng có thể làm việc mình mn một cách đơn giản,
nhanh gọn (Google là một ví dụ).
+ Kĩ năng back-end
Back-end là những thứ người dùng khơng nhìn thấy nhưng giúp cho hệ thống hoạt
động trơn tru. Dữ liệu của người dùng, thuật tốn phân tích… đều nằm ở back-end.
Nếu front-end là lớp sơn, lớp vỏ của một ngơi nhà thì back-end chính là giàn giáo,
xương sườn của ngơi nhà đó. Những kĩ năng bạn cần có gồm có:
Ngơn ngữ server-side để viết back-end: C#, Java, Python, Ruby,… Dĩ nhiên là
phải bao gồm kiến thức về những web framework đi kèm các ngôn ngữ này:
ASP.NET MVC, Spring, Django, Rails…
11
Kiến thức về database SQL: MS SQL Server, MySQL,… Gần đây một số
database NoSQL đang khá thịnh hành: Neo4j, MongoDB,…
Kiến thức về web nói chung, cách viết Web Service, cách đăng nhập và phân
quyền.
Kiến thức về 1 số CMS: WordPress, Joomla, Umbraco,…
Kiến thức phần back-end rất nhiều và phức tạp, do đó một back-end developer chỉ nên
tập trung vào 2-3 ngơn ngữ chính, đừng ráng ơm hết kẻo “tấu hỏa nhập ma”. Code
phần back-end thường rất nhiều và “khủng”, do đó cần có cấu trúc tốt, dễ cải tiến và
mở rộng (bằng cách áp dụng SOLID). Back-end developer có thể trau dồi kiến thức để
leo lên vị trí System Analyst hoặc Software Architecture.
+ Kỹ năng phân tích thiết kế
Ngày nay ranh giới của phần front-end và back-end trong lập trình là rất mong manh.
Gần như các web developer thường làm tốt phần back-end đồng thời có kiến thức khá
về phần front-end. Việc này sẽ giúp cho các developer phát triển nhanh hơn mạnh hơn.
Đồng thời việc hiểu và có thể làm tốt cả hai phần back-end và front-end các developer
có thể hiểu được tồn bộ trang web của mình. Họ hiểu trang web đó hoạt động như
nào, nó có đang tốt hay đang xấu đi hay không.
+
Kỹ năng mềm :
-
Tư duy logic, rõ rang, khoa học, khả năng sáng tạo
-
Kỹ năng giao tiếp với khách hang
-
Kỹ năng phân tích, giải quyết vấn đề, khắc phục các lỗi phát sinh…
-
Kỹ năng làm việc độc lập và làm việc nhóm
12