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 chương trình thự
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: CÔNG TY CỔ PHẦN GEEK UP
Người phụ trách: ĐÀO DUY QUÂN
Thực tập sinh: ĐỖ PHÚ QUANG
Trang 2TP Hồ Chí Minh, tháng 12 năm 2023
LỜI MỞ ĐẦU
Trong cuộc cách mạng công nghiệp 4.0, công nghệ thông tin nói chung và ngành Công nghệ phần mềm nói riêng luôn là nhân tố đóng vai trò quan trọng trong quá trình phát triển của xã hội
Công nghệ Web, hay công nghệ sản xuất các trang web đã phục vụ hầu hết các nhu cầu của con người từ bán hàng, cung cấp kiến thức đến thông tin liên lạc, Hiện nay
đã có đến hơn 1.5 tỷ trang web, nhưng nhu cầu tạo ra những trang web mới vẫn chưa có dấu hiệu giảm
Do đó, một trang web muốn được nhiều người sử dụng phải đáp ứng được yếu tố hình thức và nội dung Làm thế nào để sản phẩm tạo ra đạt chất lượng cao ở hai yếu
tố trên luôn làm bất kì một đội ngũ phát triển website nào cũng cần phải suy nghĩ đau đầu Để thử thách bản thân trong ngành công nghiệp web, em đã lựa chọn Full stack web developer là định hướng cho việc học cũng như nghề nghiệp trong 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 chương trình thực tập tại GEEK Up – một môi trường lý tưởng và chuyên nghiệp để thực hiện dự định
Trang 3LỜI CẢM ƠN
Em xin trân trọng gửi lời cảm ơn GEEK Up đã tạo điều kiện cho em có cơ hội được thực tập tại công ty Dù trong thời gian ngắn nhưng nhờ sự chỉ dẫn nhiệt tình của anh Đào Duy Quân, em đã tiếp thu những kiến thức quan trọng để có thể tham gia một
dự án thực tế
Chân thành cảm ơn các anh chị trong công ty đã bỏ ra nhiều thời gian, công sức để hướng dẫn, giúp đỡ em tận tình trong khi làm quen môi trường mới cũng như trong việc tiếp cận kiến thức công nghệ, kỹ năng lập trình và tư duy sản phẩm để có thể thực hiện tốt dự án cá nhân và dự án thực tế trong thời gian qua
Em cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo này
TP HCM, ngày 31 tháng 12 năm 2023
Đỗ Phú Quang
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
MỤC LỤC LỜI MỞ ĐẦU 2
LỜI CẢM ƠN 3
NHẬN XÉT CỦA KHOA 4
MỤC LỤC 5
Chương 1: GIỚI THIỆU CÔNG TY THỰC TẬP 7
1.1 Giới thiệu về công ty GEEK Up 7
1.2 Sản phẩm công ty 7
1.2.1 Xây dựng trải nghiệm người dùng cho siêu ứng dụng giải trí Mocha 7
1.2.2 Nâng cao trải nghiệm người dùng cho Ngân hàng số Tiên Phong 8
1.2.3 The Coffee House 9
1.3 Lịch làm việc khi thực tập tại công ty 10
Chương 2: NỘI DUNG THỰC TẬP 11
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 11
2.2 Nghiên cứu kỹ thuật 11
2.2.1 GitLab 11
2.2.2 Refine 11
Trang 62.2.3 Cytoscape.js 12
2.3 Tham gia dự án thực tế 12
Chương 3: TỔNG KẾT 15
3.1 Điểm mạnh 15
3.2 Điểm yếu 15
TÀI LIỆU THAM KHẢO 16
DANH MỤC HÌNH ẢNH
Trang 7Chương 1: GIỚI THIỆU CÔNG TY THỰC TẬP 1.1 Giới thiệu về công ty GEEK Up
Hình 1.1 Logo công ty GEEK Up
− Tên công ty: Công ty Cổ phẩn Công nghệ GEEK Up (GEEK Up Technology JSC)
− Được thành lập từ năm 2014, GEEK Up là ngôi nhà chung của Geeks, những người có cùng đam mê xây dựng các sản phẩm kỹ thuật số đột phá Với niềm tin những tài năng Việt Nam chắc chắn có thể xây dựng các sản phẩm phần mềm với tiêu chuẩn toàn cầu, trong suốt chặng đường hơn 9 năm của mình, GEEK Up đã xây dựng và đưa ra các sản phẩm kỹ thuật số có tác động cho các doanh nghiệp và công ty khởi nghiệp trên toàn thế giới
− GEEK Up đã và đang trở thành một đối tác uy tín, một lựa chọn đáng tin cậy từ nhiều khách hàng lớn trong và ngoài nước, như TPBank, SSI, Viettel, Heineken, The Coffee House, ELSA, Wall Street English, Le & Associates, Mobifone, VietCapital Bank, cungmua.com, Action Aid…và khách hàng nước ngoài như SMRT (Singapore), Hitachi (Nhật Bản), NordLevel (Đức), KerryTTC (Thái Lan), Giinger Group (Singapore)…
− Trong quá trình phát triển sản phẩm, GEEK Up áp dụng những công nghệ hiện đại
và thịnh hành nhất hiện nay như: React Native, Flutter, ReactJS, VueJS, Nodejs, NestJS, Laravel, Docker, Amazon Web Service,
Trang 81.2 Sản phẩm công ty
1.2.1 Xây dựng trải nghiệm người dùng cho siêu ứng dụng giải trí Mocha
Mocha - Siêu ứng dụng giải trí từ Viettel Media, sở hữu kho nội dung khổng lồ
và đa dạng, bao gồm 10.000 giờ phim, hơn 1 triệu bài hát, 2 triệu video, tổng hợp
100 đầu báo trên toàn quốc,… và có thể liên kết với các tiện ích viễn thông sẵn có từ tập đoàn Viettel Tương tự các siêu ứng dụng khác, thách thức lớn nhất đặt ra đối với Mocha là làm sao giúp người dùng lần lượt trải nghiệm toàn bộ tiện ích mà không bị
"ngợp" ngay từ lần đầu truy cập, đồng thời giữ chân người dùng trên siêu ứng dụng
đa chức năng này Mocha cũng là siêu ứng dụng đang vận hành, đòi hỏi các cải tiến cần được triển khai khoa học để không làm gián đoạn trải nghiệm người dùng Năm
2019, Viettel Media đã bắt tay với GEEK Up giải bài toán về trải nghiệm người dùng cho siêu ứng dụng Mocha
Hình 1.2 Hình ảnh thiết kế ứng dụng Mocha
1.2.2 Nâng cao trải nghiệm người dùng cho Ngân hàng số Tiên Phong
Vào năm 2018, nhóm giải pháp tài chính số của TPBank đã được phát triển
Trang 9trên 15 ứng dụng (apps) tuy nhiên các ứng dụng này đang hoạt động đơn lẻ phục vụ nhiều mục tiêu tài chính của những nhóm người dùng khác nhau Ứng dụng mới chỉ bước đầu triển khai tính năng (feature) mà chưa tập trung vào tính khả dụng (usability) nên thiết kế trải nghiệm (UX) chưa được tối ưu Trải nghiệm bị phân mảnh trên nhiều ứng dụng Sự thiếu đồng bộ, nhất quán cản trở người dùng tận hưởng giá trị cộng hưởng của toàn bộ hệ sinh thái ứng dụng của TPBank Với mục tiêu "Làm thế nào để dịch vụ tài chính cá nhân trở nên thuận tiện nhất", TPBank đã bắt tay với Product Partner GEEK Up để cùng tạo nên trải nghiệm "Wow" đồng nhất trên hệ sinh thái ứng dụng của mình thông qua hệ thống quy chuẩn thiết kế đồng nhất
Hình 1.3 Hình ảnh thiết kế ứng dụng TPBank
1.2.3 The Coffee House
"Lấy khách hàng làm trung tâm" trong tất cả hoạt động bán hàng hay tối ưu của doanh nghiệp, The Coffee House mong muốn phát triển một ứng dụng di động (app) của riêng mình Đây là một quyết định “đi trước thời đại”, đặt ra rất nhiều thách thức, bởi tại thời điểm năm 2015, rất ít khách hàng tại Việt Nam có thói quen
Trang 10đặt hàng qua ứng dụng, đặc biệt là khách hàng của ngành F&B Ứng dụng The Coffee House bản đầu tiên cũng được yêu cầu hoàn thiện trong thời gian ngắn, gấp rút, cùng nguồn lực (nhân sự, ngân sách, ) hạn chế Vì vậy, thương hiệu lựa chọn bắt tay với đối tác có kinh nghiệm và nền tảng kiến thức trong xây dựng sản phẩm số để thực thi thay vì xây dựng đội ngũ nội bộ Năm 2016, The Coffee House đã đồng hành cùng GEEK Up xây dựng phiên bản MVP (sản phẩm khả dụng tối thiểu) đầu tiên tinh gọn nhất
Hình 1.4 Hình ảnh ứng dụng The Coffee House
1.3 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 11/9/2023 tới 17/11/2023, các ngày làm việc trong tuần là từ Thứ 2 đến Thứ 6 Công việc hằng ngày bắt đầu từ lúc 8h30 đến 17h30 Thời gian nghỉ trưa khoảng 2 tiếng Trước mỗi ngày làm việc sẽ
có Daily meeting khoảng 15 phút, các thành viên sẽ báo cáo những việc đã làm ngày hôm trước, những việc sẽ làm ngày hôm nay và những vấn đề còn tồn đọng để nhận
hỗ trợ từ team và các anh Mentor Sau khi kết thúc mỗi Iteration (khoảng 2 tuần), các thành viên và các anh Mentor sẽ họp lại với nhau để review lại các công việc đã
Trang 11hoàn thành trong Iteration, nhưng điểm mạnh và điểm yếu cần cải thiện cũng như các khó khăn cần giải quyết và lên kế hoạch cho Iteration tiếp theo
Trang 12Chươ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: 1 ngày
Nội dung: giới thiệu về công ty, cách tổ chức của công ty, được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát triển, quy trình làm việc, cách thức
tổ chức của công ty, các phòng ban về IT, HR, … Ngoài ra, thực tập sinh còn được giới thiệu về văn hóa làm việc trong công ty như thời gian đi làm, các quy định, cách sử dụng email trong công việc, …
Kết quả: Hiểu thêm về GEEK Up, 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 email 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 GitLab
Thời gian: Được giới thiệu trước khi bắt đầu dự án và thực hành trong quá trình làm việc
Nội dung:
− Tìm hiểu cách làm việc với Git và Gitlab, cách tạo Merge Request, cách Resolve conflict, …
− Các quy tắc tạo và merge nhanh để làm việc hiệu quả trong team
Kết quả:
− Có thêm hiểu biết và kỹ năng làm việc với các công cụ quản lý mã nguồn như Git
và Gitlab để làm việc nhóm hiệu quả hơn
Trang 132.2.2 Refine
Thời gian: Tìm hiểu trước và trong quá trình làm việc
Nội dung:
− Refine là một React framework hỗ trợ xây dựng nhiều loại dự án web khác nhau một cách nhanh chóng Từ các tool nội bộ, admin panels và dashboard
− Refine cung cấp các hook và component để đơn giản hóa quá trình phát triển, loại
bỏ các công việc lặp đi lặp lại bằng cách cung cấp các giải pháp dành cho các chức năng quan trọng của dự án bao gồm: Xác thực, kiểm soát quyền truy cập, định tuyến, …
Kết quả:
− Có thể sử dụng Refine để xây dựng sản phẩm một cách nhanh chóng
2.2.3 Cytoscape.js
Thời gian: Tìm hiểu trước và trong quá trình làm việc
Nội dung:
− Cytoscape.js là một thư viện mã nguồn mở giúp xây dựng và tương tác với các biểu đồ phức tạp
Kết quả:
− Có thể sử dụng thành thạo thư viện này để xây dựng các chức năng trực quan hóa của sản phẩm
Trang 142.3 Tham gia dự án thực tế
Hình 2.1 Logo Aura
− Tên dự án: Aura
− Các thành viên trong GEEK Up được tổ chức thành các vòng tròn gọi là Circle of Influence (C.o.I) Mỗi thành viên sẽ có cam kết để hoàn thành mục tiêu chung của C.o.I đó Đối với mỗi C.o.I, thành viên sẽ có hai mức độ cam kết là Pig và Chicken
+ Pig là những người chịu trách nhiệm chính, dành nhiều thời gian và nỗ lực trong những C.o.I mà họ commit, sự thất bại hay thành công của C.o.I sẽ phụ thuộc vào họ
+ Chicken là những người dành ít thời gian và nỗ lực hơn Họ có thể được lợi khi hoàn thành mục tiêu của C.o.I và nếu thất bại cũng không ảnh hưởng đến họ
− Công ty đã có ứng dụng để quản lý các C.o.I tuy nhiên chưa được hiệu quả và trực quan Công ty muốn xây dựng một trang web để số hóa và trực quan hóa cấu trúc
tổ chức thông qua các C.o.I để có cái nhìn trực quan hơn về nguồn nhân lực trong công ty
− Đối tượng sử dụng:
+ Business Owner
Trang 15+ People team
+ Program team
+ Employee
− Mục tiêu dự án:
+ Business Owner có cái nhìn trực quan về quy mô và số lượng nhân lực trong công ty cũng như cách phân bổ vào các C.o.I
+ Operation team: Có thể quản lý tình hình tham gia vào các C.o.I của các thành viên và phân bổ hợp lý để các thành viên không bị quá tải công việc + Employee: Nhận biết nhanh mình đang ở trong những C.o.I nào và mức độ commit của mình trong từng C.o.I để có thể phân bổ thời gian làm việc hợp lý
− Các chức năng:
+ Business Owner:
▪ Xem graph các C.o.I trong toàn bộ công ty
▪ Xem thông tin chi tiết các C.o.I
▪ Xem thông tin chi tiết của các thành viên + Operation team:
▪ Xem graph các C.o.I mà các operation team đó quản lý và quan tâm
▪ Xem bảng các C.o.I mà các operation team đó quản lý và quan tâm
Trang 16▪ Xem thông tin chi tiết các C.o.I.
▪ Xem thông tin chi tiết của các thành viên
▪ Thêm, cập nhật, xóa C.o.I
+ Employee:
▪ Xem graph các C.o.I mà thành viên đó tham gia
▪ Xem thông tin chi tiết C.o.I
− Thuận lợi:
+ Các thành viên chủ động trao đổi, giúp đỡ lẫn nhau trong quá trình làm việc
+ Các anh mentor hỗ trợ nhiệt tình và thường xuyên review code đảm bảo được tiêu chuẩn đầu ra của sản phẩm
− Khó khăn:
+ Vì lần đầu làm việc với nhóm đông 11 người nên mọi người chưa làm việc nhóm hiệu quả, phân chia công việc chưa hợp lý
+ Lần đầu sử dụng thư viện làm graph Cytoscape.js nên mất rất nhiều thời gian để tìm hiểu nên làm chậm tiến độ của dự án
+ Chưa có kinh nghiệm ước lượng thời gian hoàn thành công việc dẫn đến thời gian đầu không kịp hoàn thành công việc theo kế hoạch
− Kết quả:
+ Xây dựng được prototype của sản phẩm đáp ứng được yêu cầu của công ty
Trang 18Chương 3: TỔNG KẾT
Quãng thời gian thực tập tại GEEK Up đã 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 đã cản thiện được kỹ năng chuyên môn cũng như được học thêm kỹ năng mềm như sử dụng mail, làm việc nhóm, giao tiếp với cấp trên, …
Khi tham gia vào dự án thực tế, em đã hoàn thành tốt các tác vụ đúng hạn và đạt chất lượng yêu cầu
3.1 Điểm mạnh
− Đảm bảo các cam kết chuyên cần và thời gian làm việc với công ty
− Thực hiện tốt các quy định của công ty
− Đảm bảo được chuyên môn để hoàn thành công việc đạt yêu cầu
− Chủ động tìm hiểu kiến thức, công nghệ mới
− Chủ động giao tiếp với đồng nghiệp cũng như các mentor
3.2 Điểm yếu
− Tuy khả năng giao tiếp đã được cải thiện nhưng trong một số trường hợp chưa thể giải thích cho các đồng nghiệp hiểu ý tưởng của bản thân
Trang 19TÀI LIỆU THAM KHẢO
1 Trusted product partner (2023) Retrieved from https://geekup.vn/
2 (N.d.) Retrieved from https://refine.dev/docs/
3 Franz, M (n.d.) Retrieved from https://js.cytoscape.org/