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 1BỘ 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 – Đoàn Duy Long
Trang 2TP 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
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 5Mộ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 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 đơ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ò :
Trang 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 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 – 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 đó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
Trang 7Thiế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 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)
Trang 8Kỹ 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 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
+ 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 toàn bộ công việc đó gọi
là web developer
Trang 9Ngoà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
+ Kĩ năng front-end
Trang 10Nó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…
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ụ).
+ 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 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…
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
Trang 11 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 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
+ 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