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.. Điều này có thể ba
Trang 1TRƯỜ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 - Đoàn Duy Long
TP Hồ Chí Minh, 2021
gHUTECH
Đại học Công nghệ Tp.HCM
Trang 2CHƯƠ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
Trang 3CHƯƠ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
Trang 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
• Chuyên 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 :
Trang 5d.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
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
e 1.1.2a Thiết kế website ( Web design )
a Khái niệm:
f - Đây là việc tạo ra bộ mặt website hoà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 đon 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ò :
Trang 6h - 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 quá trình chỉnh sửa và hoà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 hoà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
-i. tạo ra một website hoặc một ứng dụng web thu hút người dùng
j. - 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
Trang 7k. đó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
l. Thiết kế website được chia làm 2 loại :
1 Trang web tĩnh
m. Website tĩnh là dạng trang web cơ bản Chúng không thường xuyên thay đổi nội
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
n. Là những trang web có nội dung được cập nhật thường xuyên Với trang web
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 :
o. + Thiết kế đồ họa
p. 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
q. + Thiết kế trải nghiệm người dùng (User experience)
r. Để thu hút người dùng dành nhiều thời gian cho trang web của mình, một web
Trang 8designer giỏi cần áp dụng các nguyên tắc phân cấp (hierarchy) để xây dựng sitemap
Trang 9s. thật bắt mắt Ngoài ra, web designer cũng cần phải có kỹ năng trực
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
t. + Coding (HTML và CSS)
u. 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ạ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
v. 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 đó
w. Kỹ năng mềm :
x. + Kỹ năng quản lý thời gian
y. Quy trình phát triển website sẽ được chia thành các giai đoạn nhỏ và nhiệm vụ
là phải hoà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 toàn bộ dự
án, uy tín của công ty
z. + Kỹ năng giao tiếp
aa. 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
bb 1.1.2b Phát triển website ( Web development )
a Khái niệm :
cc 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 toàn bộ công việc đó gọi
Trang 10dd. là web developer.
ee. Ngoà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
ff. ngôn ngữ phổ biến như PHP, Java, Python, Scala, Asp.net v.v
gg.
hh.
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
Trang 11c Kỹ năng của một Web Developer
Trang 12ii. + Kĩ năng front-end
jj 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ế và 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
kk. 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 muốn một cách đơn giản,
nhanh gọn (Google là một ví dụ).
ll. + Kĩ năng back-end
mm 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 toá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
Trang 13• 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,
nn. Kiến thức phần back-end rất nhiều và phức tạp, do đó một back-end developer
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.
oo. + Kỹ năng phân tích thiết kế
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 toà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
qq. + 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
Trang 142