Tìm hiểu công ty và các kỹ năng cơ bản trong công ty Thời gian : 2 ngàyNội dung : Giới thiệu về công ty, cách tổ chức của công ty- Nhân viên phụ trách IT của công ty hỗ trợ lắp đặt các p
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
[Frontend Developer]
Công ty thực tập: NT SOLUTION
Người phụ trách: Nguyễn Tấn Toàn Thực tập sinh: Đào Tấn Hào
Trang 2TP HCM, tháng 12 năm 2023
LỜI MỞ ĐẦU
Trong hơn một thập kỉ qua, ngành công nghệ thông tin đã có những bước phát triển như vũ bão trải rộng khắp trên mọi lĩnh vực hoạt động ở khắp nơi trên toàn thế giới Cụ thể những thành tựu trong ngành công nghệ thông tin đã khiến doanh nghiệp trong và ngoài nước ngày càng chú ý hơn tới việc áp dụng chúng để gia tăng ưu thế cạnh tranh và tạo cơ hội cho mình
Công nghệ Web đã phục vụ đã phục vụ hầu hết các nhu cầu của con người
từ bán hàng, giáo dục, liên lạc, khai báo thông tin (cá nhân, y tế,…) Gần 2 tỷ là con
số trang web đã được tạo và không có dấu hiệu suy giảm
Sử dụng website là cách truy cập thuận tiện đối với khách hàng Một trang web muốn được nhiều người sử dụng phải nâng cao hiệu năng và trải nghiệm người dùng, và làm thế nào để tạo ra sản phẩm đạt chất lượng cao, thỏa mãn hai yếu tố trên luôn làm bất kì một đội ngũ phát triển website nào tốn nhân lực và thời gian Để thử sức bản thân trong ngành công nghiệp web, em đã lựa chọn vai trò front-end developer để học hỏi cho các đồ án cũng như nghề nghiệp tương lai
Sau những năm tháng trong môi trường đại học, với mong muốn áp dụng những kiến thức đã học và có được trải nghiệm trong môi trường thực tế, em đã quyết định tham gia vào công ty hiện tại – một môi trường nếu có hội em sẽ giới thiệu bạn bè cũng như đồng nghiệp trong tương lai
2
Trang 3LỜI CẢM ƠN
Em xin trân trọng gửi lời cảm ơn Công ty đã cho em cơ hội được thực tập
Em xin chân thành cảm ơn trường Đại học Công nghệ Thông tin và Khoa Công nghệ Phần mềm đã tạo điều kiện cho em hoàn thành tốt đợt thực tập doanh nghiệp Nhờ đợt thực tập này đã giúp cho em rất nhiều kinh nghiệm quý báu Những kinh nghiệm
đó sẽ giúp em hoàn thiện hơn trong công việc và môi trường làm việc sau này
Em cũng xin cảm ơn quý thầy cô trong khoa đã tận tình giảng dạy và trang bị cho em những kiến thức cần thiết Chính những kiến thức này hỗ trợ em rất trong việc hoàn thành khóa thực tập doanh nghiệp
Mặc dù em đã cố gắng hoàn thành báo cáo thực tập doanh nghiệp Tuy nhiên sẽ có những thiếu sót, rất mong nhận được sự thông cảm, chia sẻ của quý thầy cô để giúp
em hoàn thành tốt bộ môn thực tập doanh nghiệp
Một lần nữa em xin chân thành cảm ơn !
TP HCM, ngày 23 tháng 12 năm
2023
Trang 4NHẬN XÉT CỦA KHOA
4
Trang 5
MỤC LỤC
Trang 6NHẬN XÉT CỦA KHOA 4
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 7
6
Trang 7CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1.1 Giới thiệu tổng quan về công ty
Tên công ty: Công ty TNHH Giải pháp công nghệ NTSOLUTION
Địa chỉ: 89 Vạn Kiếp, phường 3, quận Bình Thạnh, TPHCM
Mã số thuế :
0317767189
1.2 Lịch làm việc khi thực tập tại công ty
Em tham gia làm việc tại công ty bắt đầu từ ngày 3/5/2023 tới 22/12/2023
- Thời gian làm việc từ thứ 2 đến thứ 6 và làm việc từ 9h-18h
- Thời gian nghỉ trưa từ 12:00 PM đến 1:30 PM, mọi nhân viên có thể ăn trưa
và ngủ trước khi bắt đầu công việc vào buổi chiều
- Mỗi tuần sẽ nộp báo cáo vào chiều thứ 6 để báo cáo tiến độ và những khó khăn trong lúc làm việc
Trang 8CHƯƠNG 2: NỘI DUNG THỰC TẬP
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian : 2 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức của công ty
- Nhân viên phụ trách IT của công ty hỗ trợ lắp đặt các phần mềm cần thiết cũng
- như phổ biến các quy định về bảo mật, giữ gìn tài sản của công ty
- Nhân viên nhân sự giới thiệu về công ty, cách tổ chức của công ty, các phòng
ban, quy trình chung cũng như các quy định cần tuân thủ trong quá trình làm
việc
- Technical Lead giới thiệu với các thành viên trong team, các dự án đang được
thực hiện cũng như văn hóa chung của team, của công ty
- Các thành viên khác trong team hướng dẫn cách sử dụng các công cụ, thiết bị, vật tư của công ty
Kết quả : Hiểu thêm về công ty, quá trình thành lập và phát triển Có thêm các kỹ
năng về việc sử dụng một số công cụ trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn
2.2 Nghiên cứu kỹ thuật
2.2.1 Tuần 1
Nội dung : Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc.
Trong thời gian này, mentor đã hướng dẫn thực tập sinh tìm hiểu về các công cụ sẽ
sử dụng trong công việc sau này Một số phần mềm trong số đó như Gitlab – sử dụng quản lí code, VScode - một editor để xây dựng ứng dụng
Kết quả : Hiểu thêm về công ty, quá trình thành lập và phát triển Có thêm các kỹ
năng về việc sử dụng một số công cụ trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn
2.2.2.Tuần 2
Nội dung : Được training về các kỹ thuật html, css cơ bản và nâng cao, những kiến
thức quan trọng cho việc tạo các layout cho trang web Học cách sử dụng những thư viện hỗ trợ tạo giao diện nhanh hơn như Ant Design
Thực hiện:
8
Trang 9- Tham gia đầy đủ các buổi training của công ty.
- Làm các bài thực hành, kiểm tra về kiến thức đã học
- Tự tìm hiểu các tài liệu và khóa học ở ngoài
Kết quả:
- Nắm được kiến thức cơ bản về HTML/CSS và sử dụng thành thạo Ant Design
- Nắm được cách thức dựng layout, style theo design
2.2.3.Tuần 3
Nội dung : Trong tuần này, em đã được đào tạo về các kiến thức liên quan đến
quy trình xác thực (authentication workflow) trong phát triển trang web Cụ thể,
em đã được hướng dẫn về cách xây dựng và quản lý quy trình xác thực để bảo vệ
thông tin người dùng và tạo trải nghiệm đăng nhập an toàn
Thực hiện:
- Chủ động tham gia các buổi thảo luận và đặt câu hỏi để hiểu rõ hơn về cách tích hợp quy trình xác thực vào các ứng dụng web
- Tạo các trang đăng nhập, đăng ký và quên mật khẩu để áp dụng kiến thức đã học về quy trình xác thực Đồng thời, thực hiện các bài kiểm tra về việc bảo
vệ thông tin người dùng, xử lý lỗi và triển khai cơ chế bảo mật
Kết quả:
- Hiểu rõ về các phương pháp xác thực phổ biến như JWT (JSON Web Token)
và OAuth
- Áp dụng thành công quy trình xác thực vào các dự án thực tế
- Nắm vững cách tích hợp xác thực vào layout và giao diện trang web theo yêu cầu thiết kế
- Sử dụng các thư viện và công cụ hỗ trợ quy trình xác thực, như Passport.js Tóm lại, tuần này đã giúp em có cái nhìn toàn diện về quy trình xác thực trong phát triển web và có khả năng áp dụng kiến thức đã học vào các dự án thực tế Đồng thời, việc tự tìm hiểu
và nghiên cứu thêm từ các nguồn bên ngoài cũng đã giúp tăng cường kiến thức và kỹ năng của
em trong lĩnh vực này
Trang 102.2.4.Tuần 4
Nội dung : Trong tuần này, em đã tiếp tục mở rộng kiến thức của mình với việc tập
trung vào ứng dụng các kỹ thuật mock API và làm việc với cơ sở dữ liệu sử dụng
thư viện MSW (Mock Service Worker) Đây là một bước quan trọng để tối ưu hóa
quá trình phát triển, kiểm thử và giả lập dữ liệu trực tuyến
Thực hiện:
- Sử dụng MSW để tạo mock API và làm quen với các chức năng cơ bản như tạo routes, handlers và kiểm soát dữ liệu mẫu
- Làm các bài thực hành liên quan đến sử dụng MSW để tạo mock API, tạo dữ liệu giả và thực hiện các yêu cầu API trong quá trình phát triển
- Tìm hiểu cách tích hợp MSW vào quy trình xác thực và làm thế nào nó giúp cải thiện quá trình kiểm thử và phát triển
Kết quả:
- Nắm vững cách sử dụng MSW để tạo và quản lý các mock API, giúp tối ưu hóa quá trình phát triển và kiểm thử mà không phụ thuộc hoàn toàn vào môi trường thực tế
- Áp dụng thành công MSW vào dự án thực tế, giảm thiểu thời gian chờ đợi khi làm việc với dịch vụ thực tế và tăng cường khả năng kiểm soát dữ liệu
- Hiểu rõ về cách tích hợp MSW với cơ sở dữ liệu để tạo ra môi trường phát triển và kiểm thử tốt nhất
- Tìm hiểu các tài liệu và nguồn thông tin bổ sung để nâng cao kiến thức về sử dụng MSW và các chiến lược tối ưu hóa quá trình phát triển
Tuần này đã đánh dấu sự tiến triển đáng kể với việc thêm vào bộ kỹ năng của mình khả năng làm việc với mock API và cơ sở dữ liệu, đặc biệt là sử dụng thư viện MSW để tạo ra môi trường phát triển hiệu quả và dễ kiểm thử
2.3 Tham gia dự án thực tế
Dự án: Phát triển hệ thống quản lý mật khẩu
Công nghệ sử dụng: ReactJS
Các công việc đã thực hiện:
10
Trang 11- Phát triển chức năng sử dụng keyboard shortcut cho ứng dụng
Kết quả:
- Hoàn thành các tasks đúng thời hạn được giao
- Hiểu được quy trình phát triển phần mềm, biết được vai trò và nhiệm vụ của 1 Frontend Developer
- Học thêm cách giao tiếp và làm việc nhóm, tính chủ động trong công việc
Trang 12CHƯƠNG 3: TỔNG KẾT
Quãng thời gian thực tập tại công ty đã giúp em cải thiện bản thân rất nhiều trong quy trình làm việc thực tế, tác phong của người kỹ sư phần mềm Được làm việc tại đây, em đã học thêm được kỹ năng làm việc nhóm, giao tiếp với cấp trên, …
Chỉ trong thời gian hạn chế, em đã hoàn thành dự án cá nhân trong quá trình training với các tính năng, yêu cầu đặt ra ban đầu
Khi tham gia vào dự án thực tế, em cũng hoàn thành tốt các tác vụ đúng hạn và đạt chất lượng tốt
3.1 Điểm mạnh
- Qua thời gian thực tập ở công ty, em đã nắm được các kiến thức cơ bản và vài nâng cao liên quan đến công việc của một lập trình viên ReactJS
- Làm việc trong dự án production cũng như nền tảng, sản phẩm chính của công ty với vai trò là một ReactJS developer, em đã học được nhiều điều về quá trình làm ra một sản phẩm phần mềm thực sự Không chỉ đảm bảo chất lượng phần mềm mà còn giúp sản phẩm tốt hơn về cả chất lượng và quy trình
3.2 Điểm yếu
- Cần cải thiện communication với đồng nghiệp, leader
- Cần cải thiện chất lượng code, tư duy phát triển phần mềm
3.3 Chuẩn đạt được
12
Trang 13Goal Mục tiêu môn học Tự đánh giá G1 Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc
thù của doanh nghiệp
7/10
G2 Hiểu và giải thích được các khái niệm cơ bản, thuật
ngữ và sơ đồ hệ thống trong dự án
9/10
G3 Nắm được quy trình, phương pháp và công nghệ phát triển
sản phẩm phần mềm tại doanh nghiệp
9/10
G4 Có khả năng tìm hiểu vấn đề, mô hình hóa vấn đề và tham
gia giải quyết
vấn đề
9/10
G5 Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ
năng trình bày
7/10
G6 Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh 8/10
Trang 14TÀI LIỆU THAM KHẢO
Html, css, responsive:
- https://developer.mozilla.org/en-US/
- https://www.w3schools.com/
- https://www.freecodecamp.org/learn/responsive-web-design/
Javascript:
- https://www.w3schools.com/
Framework, library:
14