Tải bản đầy đủ (.pdf) (32 trang)

Báo cáo thực tập xây dựng product collect insight

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1005.32 KB, 32 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜ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
XÂY DỰNG PRODUCT COLLECT INSIGHT

Công ty thực tập: GEEK UP TECHNOLOGY JSC
Người phụ trách hướng dẫn: Nguyễn Ngọc Tuấn
Thực tập sinh: Nhan Hữu Thuận
MSSV: 19522318

TP.Hồ Chí Minh, tháng 12 năm 2022
1


LỜI MỞ ĐẦU
Vào thế kỷ 21, Cuộc Cách mạng Công nghiệp 4.0 Internet nói chung và ngành
cơng nghiệp Phát triển Ứng dụng web là một phần không thể thiếu của thế giới. Với tốc
độ phát triển vô cùng mạnh mẽ, ngành Phát triển Ứng dụng web đã và đang nắm vai trò
chủ chốt trong nền kinh tế thế giới, và tiềm năng của ngành vẫn cịn có thể đi xa hơn
trong tương lai.
Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ.
Ngành công nghiệp Phát triển Ứng dụng web của Việt Nam đang phát triển rất mạnh
mẽ, đủ sức hòa nhập, hợp tác với những công ty hàng đầu về xây dựng ứng dụng điện
thoại trên thế giới.
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học
Công nghệ Thông tin chúng em đã được trang bị các kiến thức về chuyên môn và kỹ
năng mềm. Với mong muốn bổ sung thêm kinh nghiệm và các kỹ năng làm việc trong
một môi trường chuyên nghiệp, em lên kế hoạch cho một khóa thực tập trong học kỳ
này. Sau khi tìm hiểu về lịch sử phát triển và văn hóa thì em quyết định chọn Cơng Ty


Cổ phần Cơng nghệ Geek Up - một môi trường lý tưởng, hiện đại, chuyên nghiệp - là
nơi sẽ giúp em thực hiện hóa dự định này.

1


LỜI CẢM ƠN
Em xin chân thành cảm ơn nhà trường và quý thầy cô trường Đại học Công Nghệ
Thông Tin đã tận tâm hướng dẫn, giảng dạy cho em những kiến thức chuyên môn cũng
như kỹ năng mềm trong hơn 3 năm ngồi trên giảng đường đại học, từ đó đã xây dựng
cho em nền tảng vững chắc tạo giúp em thực hiện hóa ước mơ.
Trân trọng gửi lời cảm ơn Công ty Cổ phần Công nghệ Geek Up đã tạo điều kiện
cho em có cơ hội được thực tập tại công ty, cho em trải nghiệm một môi trường làm
việc cực kỳ chuyên nghiệp và hiệu quả. Cùng với các người đồng đội trong kỳ thực tập,
em mong rằng chúng em đã để lại một dấu ấn, những kỷ niệm đẹp trong kỳ thực tập
vừa qua.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của các anh chị
hướng dẫn, nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng để
có thể làm được một Trusted Product. Chân thành cảm ơn các anh chị trong nhóm hướng
dẫn đã bỏ ra nhiều thời gian, cơng sức để hướng dẫn chúng em hồn thành đợt thực tập
này.
Bên cạnh kinh nghiệm quý báu về kỹ năng chun mơn về Phát triển ứng dụng
web, cịn có những kỹ năng về làm việc nhóm, quy trình làm việc chuyên nghiệp. Các
anh chị hướng dẫn đã dạy em những kỹ thuật cần thiết trong giao tiếp và truyền đạt cho
em những kinh nghiệm của anh chị trong quá trình làm việc, trao đổi với khách hàng và
tinh thần trách nhiệm với công việc và với đồng đội. Các anh chị đã tạo cho em nhiều
cơ hội để ứng dụng những kiến thức đó ngay vào thực tế để xây dựng dự án thực tiễn
đi từ lúc ban đầu, nâng cao trình độ, cũng như tốc độ lập trình và trí thức thêm một bậc.
Em xin chân thành cảm ơn!
Nhan Hữu Thuận

TP.Hồ Chí Minh, tháng 12 năm 2022

2


NHẬN XÉT CỦA KHOA
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
……..……………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………..………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
………………..…………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
……………………..……………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………..………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………

………………………………..…………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
……………………………………..………………………………………………

3


MỤC LỤC
LỜI MỞ ĐẦU

1

LỜI CẢM ƠN

2

Chương 1: Giới thiệu công ty thực tập

5

1. Giới thiệu công ty GeekUp

5

2. Sản phẩm của cơng ty

6


Chương 2: Nội dung thực tập

9

1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty

9

2. Nghiên cứu kỹ thuật

11

2.1. Mơ hình Agile

11

2.2. Tìm hiểu về front-end development

15

2.3. Tìm hiểu về backend development

16

2.4. Tìm hiểu về product analysis and design

17

2.5. Tìm hiểu về project management


17

3. Thực hiện project

18

4. Lịch làm việc

18

Chương 3: Chi tiết về project

24

1. Giới thiệu về Coin

24

2. Vì sao cần có Coin?

25

3. Bối cảnh sử dụng sản phẩm

26

4. Cấu trúc của ứng dụng

26


5. Mục tiêu của ứng dụng

28

6. Các chức năng chính của ứng dụng

28

Chương 4: Tổng kết

29

1. Thành quả

29

2. Cần cải thiện trong thời gian tới

29

3. Cảm nhận của bản thân về công ty

30

TÀI LIỆU THAM KHẢO

31

4



Chương 1: Giới thiệu công ty thực tập

1. Giới thiệu công ty GeekUp
-

Tên đơn vị: Công ty Cổ phần Công nghệ Geek Up (GEEK UP TECHNOLOGY
JSC)

-

Lĩnh vực hoạt động: Xuất bản phần mềm

-

Địa chỉ:
o Trụ sở chính: 244/31 Huỳnh Văn Bánh, Phường 11, Quận Phú Nhuận,
Thành phố Hồ Chí Minh
o Chi nhánh: 27B / 9 Nguyễn Đình Chiểu, Phường Đa Kao, Quận 1, Thành
phố Hồ Chí Minh

-

Trang web: www.geekup.vn

-

Email:

-


Điện thoại: +84 28 6262 4400

-

Thời gian làm việc: Thứ 2 đến thứ 6: 08h30 - 17h30

-

Slogan: “Insightful development”

-

Sứ mệnh: Xây dựng các sản phẩm phần mềm mang lại nhiều giá trị cho người
dùng

-

Giá trị cốt lõi
○ Honesty: Sống hết mình với đam mê, là chính mình và phấn đấu hướng
tới những giá trị chung.
○ Geeks Get it done: Luôn cố gắng hồn thành cơng việc đạt kết quả mong
đợi.
5


○ High standard: Luôn thử thách bản thân để nâng cao trình độ chun mơn.
○ Stay Hungry Stay Foolish: Khơng dừng lại với khả năng hiện tại, luôn
tiếp tục trau dồi học hỏi.


2. Sản phẩm của công ty
1. Hmlet - Startup co-living có tốc độ tăng trưởng nhanh nhất châu Á-Thái
Bình Dương

Quản lý hệ thống frontend & backend cho Hmlet
-

GEEK Up hợp tác với đội ngũ Hmlet để xây dựng và ra mắt các tính năng
cần thiết để thu hút khách hàng đến website và nâng cấp giao diện ứng dụng
dành cho các khách hàng đã ký hợp đồng để cải thiện Trải nghiệm người
dùng.
6


2. Funding societies - Nền tảng fintech dẫn đầu thị trường cho vay ngân hàng

Xây dựng nền tảng tối ưu hoạt động vận hành của startup Fintech dẫn đầu thị
trường cho vay ngang hàng
-

GEEK Up xây dựng nền tảng vận hành giúp Funding Societies rút ngắn thời
gian giải ngân, tăng cường tính liên kết giữa các bộ phận và khả năng đồng
bộ lưu trữ dữ liệu.

7


3. SMRT - nhà điều hành giao thông công cộng đa phương thức hàng đầu ở
Singapore


Nền tảng giao thông công cộng thay đổi trải nghiệm di chuyển của 6 triệu người
dân Singapore
-

GEEK Up hợp tác với Tập đoàn SMRT xây dựng nền tảng mới mang đến trải
nghiệm giao thông công cộng thuận tiện tại Singapore.

8


Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Xây dựng Product collect insight” và mục tiêu là xây
dựng server, client trên nền tảng Web, đồng thời rèn luyện những kỹ năng mềm như
làm việc nhóm, thuyết trình, giao tiếp. Tại cơng ty, sinh viên có cơ hội được học tập,
khám phá và làm việc trong một môi trường phát triển product chun nghiệp.

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.5 ngày

-

Nội dung:
o 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, q trình thành lập và phát triển, phương châm
và quy trình làm việc để deliver một sản phẩm, cách thức tổ chức của
công ty, tinh thần của mọi người trong cơng ty Geek Up, các vị trí hiện
tại trong công ty, cách mọi người trong công ty làm việc với nhau,…
o Ngồi ra, thực tập sinh cịn được giới thiệu về cách thức làm việc trong

công ty như thời gian đi làm, các quy định cần phải tuân thủ, các bước
cần thực hiện trước khi bắt đầu vào làm, trong quá trình làm việc và khi
kết thúc một ngày làm việc.
o Tìm hiểu về các cơng cụ sẽ được sử dụng trong quá trình làm việc. Cũng
trong thời gian này, các anh chị hướng dẫn thực tập sinh tìm hiểu các cơng
cụ phục vụ cho từng mục đích cụ thể khi làm việc. Hầu hết các cơng cụ
đều là sản phẩm lưu hành nội bộ công ty, ngồi ra cịn có các ứng dụng,
phần mềm hỗ trợ như Google Meet – phục vụ cho mục đích gặp và trao
đổi trực tiếp. Một số bộ công cụ sử dụng cho dự án:
 Công cụ quản lý dự án
 Công cụ giao tiếp, trao đổi thông tin giữa team members
 Công cụ hỗ trợ note, viết technical approach

-

Kết quả : Hiểu thêm về cơng ty Geek Up, q trình thành lập và phát triển cho
đến hiện tại. Cách vận hành trong công ty, cách phối hợp với nhau giữa các thành

9


viên. Có thêm các kỹ năng về quản lý cơng việc, tinh thần trách nhiệm, kỹ năng
giao tiếp và làm việc nhóm qua các cơng cụ do cơng ty cung cấp.

10


2. Nghiên cứu kỹ thuật
2.1. Mơ hình Agile


-

Thời gian: 0.5 ngày song song với thực hành trong suốt quá trình thực tập.

-

Nội dung :
o Được training về các kiến thức chung và tìm hiểu về việc áp dụng mơ
hình vào quy trình làm việc nhóm trong q trình thực tập. Đây là mơ
hình làm việc mà cơng ty Geek Up đã apply vào sử dụng trên mọi product
của công ty.
o Khái niệm Agile (viết tắt của Agile Software Development) có nghĩa là
phương thức phát triển phần mềm linh hoạt, được ứng dụng trong quy
trình phát triển phần mềm với mục tiêu là đưa sản phẩm đến tay người
dùng càng nhanh càng tốt.
o Rất nhiều nơi định nghĩa Agile như một phương pháp. Thực chất, Agile
giống như một phương pháp luận, một triết lý dựa trên hơn nguyên tắc
phân đoạn vòng lặp (iterative) và tăng trưởng (incremental).
o Ngày nay, triết lí Agile đã vượt xa khỏi khu vực truyền thống của mình là
phát triển phần mềm để đóng góp sự thay đổi trong cách thức làm việc,
quản lý, sản xuất ở các ngành khác như sản xuất, dịch vụ, sales, marketing,
giáo dục... và trở thành một phương thức quản lý dự án phổ biến nhất hiện
nay với nhiều đại diện được gọi là các phương pháp “họ Agile”.
● 4 tôn chỉ cần tuân thủ trong phương pháp Agile
○ Cá nhân và sự tương hỗ quan trọng hơn quy trình và cơng cụ:
Trọng tâm đặt lên con người, xây dựng tương tác và hỗ trợ giữa
các thành viên trong nhóm. Những thành viên có năng lực, chịu
tương trợ nhau trong cơng việc sẽ mang đến thành công cho dự án.
○ Sản phẩm dùng được tốt hơn tài liệu đầy đủ: Tập trung thời gian
để làm ra phần mềm hoàn chỉnh đáp ứng hoàn hảo yêu cầu khách

hàng.

11


○ Cộng tác với khách hàng quan trọng hơn đàm phán hợp đồng: Hiểu
được khách hàng cần gì để tư vấn và điều chỉnh sản phẩm thay vì
chỉ dựa vào các điều khoản trong hợp đồng.
○ Phản hồi thay đổi hơn là bám sát kế hoạch: Agile khuyến khích
thích nghi với sự thay đổi, đó có thể là thay đổi về công nghệ, nhân
sự, deadline,...
● 12 nguyên tắc quan trọng trong Agile
○ Đáp ứng toàn diện nhu cầu khách hàng thơng qua việc giao hàng
sớm và sản phẩm có giá trị.
○ Thay đổi u cầu được chào đón, thậm chí là rất muộn trong quá
trình phát triển.
○ Giao phần mềm chạy được cho khách hàng một cách thường
xuyên.
○ Nhà kinh doanh và các kỹ sư phần mềm cần làm việc cùng nhau
trong suốt dự án.
○ Xây dựng dự án xung quanh các cá nhân có động lực. Cung cấp sự
hỗ trợ cần thiết, môi trường làm việc và niềm tin để hồn thành
cơng việc.
○ Trao đổi trực tiếp là cách truyền đạt thơng tin hiệu quả nhất.
○ Thước đo chính của tiến độ là phần mềm chạy tốt.
○ Phát triển liên tục và bền vững.
○ Cải tiến sự linh hoạt bằng cách quan tâm đến kỹ thuật và thiết kế.
○ Nghệ thuật tối đa hóa lượng cơng việc chưa xong - Sự đơn giản là
cần thiết.
○ Nhóm tự tổ chức

○ Thích ứng thường xuyên với những thay đổi.
● Điểm mạnh:
○ Thực hiện thay đổi dễ dàng
○ Không cần phải nắm mọi thông tin ngay từ đầu
○ Bàn giao nhanh hơn
12


○ Chú ý đến phản hồi của khách hàng và người dùng
○ Cải tiến liên tục
● Scrum Methodology
○ Scrum Roles:
■ Scrum master: Người có kiến thức và am hiểu về agilescrum, có vai trị điều phối các hoạt động phát triển sản
phẩm theo mơ hình agile của team.
■ Product owner: Là cầu nối giữa khách hàng và teams
development. Nắm rõ yêu cầu của khách hàng, quản lý
hoạch định product backlog cho team.
○ Scrum artifacts:
■ Product Backlog: Product Owner sẽ lập danh sách các cơng
việc cần hồn thành, và họ sẽ sắp xếp nó theo thứ tự ưu tiên.
Họ làm điều này bằng cách xác định đâu là mục bắt buộc
phải có, mục nào ít quan trọng hơn và mục nào không phù
hợp với khung thời gian được phân bổ.
■ Sprint Backlog: Sprint backlog có thể được định nghĩa đơn
giản là tập hợp các yêu cầu của người dùng trong đó nhóm
scrum sẽ làm việc trong một sprint. Điều quan trọng là phải
đảm bảo rằng những yêu cầu quan trọng nhất của người
dùng luôn là những yêu cầu đang được xử lý và khơng có
u cầu nào bị bỏ qua.
■ Product increment: Thuật ngữ phần tăng sản phẩm đề cập

đến tất cả các mục tồn đọng của sản phẩm đã được hồn
thành trong một sprint và nó cũng có thể được sử dụng để
mô tả tổng của tất cả các mục tồn đọng đã hoàn thành.
○ Scrum events:
■ Daily scrum
■ Sprint review
■ Sprint retrospective

13


● Agile ở GeekUP
○ Sprint Planning (Họp Kế hoạch Sprint- Iteration): Nhóm phát
triển gặp gỡ với Product Owner để lên kế hoạch làm việc cho một
Sprint (xem thêm phần Sprint bên dưới). Công việc lập kế hoạch
bao gồm việc chọn lựa các yêu cầu cần phải phát triển, phân tích
và nhận biết các công việc phải làm kèm theo các ước lượng thời
gian cần thiết để hoàn tất các tác vụ. Chia nhỏ cơng việc thành các
backlog (task) để có thể theo dõi tiến độ dự án dễ dàng hơn. Scrum
sử dụng cách thức lập kế hoạch từng phần và tăng dần theo thời
gian, theo đó, việc lập kế hoạch khơng diễn ra duy nhất một lần
trong vịng đời của dự án mà được lặp đi lặp lại, có sự thích nghi
với các tình hình thực tiễn trong tiến trình đi đến sản phẩm.
○ Daily Scrum (Họp Scrum hằng ngày): Scrum Master tổ chức cho
Đội sản xuất họp hằng ngày trong khoảng 15 phút để Nhóm Phát
triển chia sẻ tiến độ cơng việc cũng như chia sẻ các khó khăn gặp
phải trong quá trình phát triển phần mềm suốt một Sprint.
○ Sprint Review (Họp Sơ kết Sprint): Cuối Sprint, nhóm phát triển
cùng với Product Owner sẽ rà soát lại các cơng việc đã hồn tất
(DONE) trong Sprint vừa qua và đề xuất các chỉnh sửa hoặc thay

đổi cần thiết cho sản phẩm.
○ Sprint Retrospective (Họp Cải tiến Sprint): Dưới sự trợ giúp
của Scrum Master, nhóm phát triển sẽ rà sốt lại tồn diện Sprint
vừa kết thúc và tìm cách cải tiến quy trình làm việc cũng như bản
thân sản phẩm.

-

Thực hiện :
o Tham gia đầy đủ các buổi training.
o Tham gia chuẩn bị bài thuyết trình tìm hiểu về agile scrum methodology
o Áp dụng tốt vào quá trình deliver dự án

-

Kết quả: Hiểu được những khái niệm của agile và áp dụng tốt vào quá trình
deliver sản phẩm.
14


2.2. Tìm hiểu về front-end development

-

Thời gian : 1 ngày song song với thực hành trong suốt quá trình thực tập.

-

Nội dung : Được training các kiến thức liên quan đến phát triển sản phẩm về
khía cạnh front-end, tech-stack sử dụng cho product:

o Những nội dung trọng tâm trong phát triển front-end: System design, state
management, convention, codebase structure, … Tìm hiểu về minimum
standard - mức tiêu chuẩn thấp nhất mà geek up đặt ra cho sản phẩm.
o Tìm hiểu về các công nghệ sẽ được sử dụng cho sản phẩm bên phía frontend:
 React: React là một thư viện JavaScript front-end mã nguồn mở và
miễn phí để xây dựng giao diện người dùng dựa trên các thành
phần UI riêng lẻ. Đây là cơng cụ chính được sử dụng để xây dựng
sản phẩm cho team front-end. Tìm hiểu về một số core concepts
của react: Components, state, life cycle, hook, event…
 DvaJs: Framework hỗ trợ quản lý state tương tự như Redux. Tìm
hiểu về các concept cơ bản trong Dva như: Action, Reducer,
Effect, Model, …
 UmiJs: Library hỗ trợ xử lý routing components
 Ant design: Một UI framework tương tự như bootstrap, cung cấp
các UI component để phát triển ứng dụng web. Ant design cũng
đồng thời là một design system với các tiêu chuẩn thiết kế riêng
biệt tương tự như material design. Ant design là một framework
rất lớn, đã được sử dụng rộng rãi ở nhiều nơi, và đặt biệt hỗ trợ đa
dạng các components để làm việc với ReactJs.

-

Thực hiện:
o Tham gia đầy đủ các buổi training của team cùng Coach.
o Làm các bài quiz, chuẩn bị bài thuyết trình tìm hiểu về các nội dung cơ
bản liên quan đến các frameworks sẽ sử dụng cùng team.

-

Kết quả:

o Có được những kiến thức quan trọng về phát triển front-end cho ứng dụng.
o Tìm hiểu, biết thêm về các cơng cụ, cơng nghệ mới bên phía front-end.
15


o Ngồi ra cịn được biết thêm một số quy tắc trong việc viết code sao cho
đúng chuẩn, dễ đọc, dễ hiểu.
2.3. Tìm hiểu về backend development

-

Thời gian: 1 ngày song song với thực hành trong suốt quá trình thực tập.

-

Nội dung: Được training về các kỹ thuật liên quan đến phát triển sản phẩm ở
phần back-end, tech-stack sẽ sử dụng cho dự án:
o Những nội dung trọng tâm trong phát triển back-end: thiết kế api, làm
việc với database, orm, deploy ứng dụng, … Tìm hiểu về minimum
standard - mức tiêu chuẩn thấp nhất mà geek up đặt ra cho sản phẩm.
o Tìm hiểu về các cơng nghệ sẽ được sử dụng cho sản phẩm bên phía backend:
 NestJs: Nest (NestJS) là một framework để xây dựng các ứng dụng
phía máy chủ Node.js hiệu quả, có thể mở rộng. Được xây dựng
và hỗ trợ đầy đủ TypeScript (nhưng vẫn cho phép các nhà phát
triển viết mã bằng JavaScript thuần túy) và kết hợp các yếu tố của
OOP (Lập trình hướng đối tượng), FP (Lập trình chức năng) và
FRP (Lập trình phản ứng chức năng). Tìm hiểu về cách tổ chức và
một số khái niệm cơ bản trong nest: Controller, Model, Module,
Provider, Service, …
 PostgresSql: Một hệ quản trị cơ sở dữ liệu phát triển dựa trên

postgres
 TypeORM: TypeORM là một ORM có thể chạy trong các nền tảng
NodeJS, Browser, Cordova, PhoneGap, Ionic, React Native,
NativeScript, Expo và Electron và có thể được sử dụng với
TypeScript và JavaScript (ES5, ES6, ES7, ES8). Tìm hiểu về các
khái niệm cơ bản trong typeORM về mô tả entity, các loại
relationships, …
 Docker: Docker là một dự án mã nguồn mở giúp tự động triển khai
các ứng dụng Linux và Windows vào trong các container ảo hóa.

16


Tìm hiểu các khái niệm cơ bản liên quan đến docker như: image,
container, dockerfile, docker-compose, …
-

Thực hiện:
o Tham gia đầy đủ các buổi training của công ty.
o Thực hành làm việc nhóm tìm hiểu về các loại ORM khác nhau để so sánh
và lựa chọn sử dụng cho dự án.
o Thực hành cài đặt và sử dụng docker để chạy các ứng dụng demo đơn
giản.

-

Kết quả:
o Có thêm kiến thức về các loại orm khác nhau, so sánh, phân tích các công
nghệ để lựa chọn công nghệ phù hợp.
o Kiến thức về framework NestJs, Docker để áp dụng trong quá trình phát

triển dự án.

2.4. Tìm hiểu về product analysis and design

-

Thời gian: 0.5 ngày song song với thực hành trong suốt quá trình thực tập.

-

Nội dung:
o Được giới thiệu và training về phân tích sản phẩm các yếu tố liên quan
đến phân tích sản phẩm như: Business context, business challenge,
business goals,...
o Giới thiệu và training về product design, các nguyên lý cơ bản trong
product design: user experience, workflow, UI và UX, …

-

Thực hiện:
o Tham gia đầy đủ các buổi training.
o Áp dụng tốt vào quá trình deliver dự án.

-

Kết quả: Hiểu được những khái niệm cơ bản về phân tích và thiết kế sản phẩm
để áp dụng trong quá trình deliver dự án.

2.5. Tìm hiểu về project management


-

Thời gian: 0.5 ngày song song với thực hành trong suốt quá trình thực tập.
17


Nội dung:

-

o Được training kiến thức cơ bản về project management, vai trò của quản
lý dự án đối với quá trình xây dựng sản phẩm.
o Training cách sử dụng các công cụ được cung cấp để quản lý dự án
o Tìm hiểu về quản lý dự án theo mơ hình agile.
Thực hiện:

-

o Tham gia đầy đủ các buổi training.
o Thực hành sử dụng các công cụ quản lý dự án và các bước trong mơ hình
agile.
Kết quả: Tìm hiểu và rèn luyện những kỹ năng cơ bản về quản lý dự án và áp

-

dụng tốt vào quá trình deliver sản phẩm.

3. Thực hiện project
Sau một tuần được training và thực hành, thực tập sinh đã nắm được những kiến
thực cơ bản về quy trình phát triển sản phẩm agile, các nội dung trọng tâm về phát triển

sản phẩm ở GeekUp, cũng như được tìm hiểu về các cơng nghệ, ngơn ngữ sẽ sử dụng
trong dự án. Trong thời gian còn lại, thực tập sinh đã được hướng dẫn áp dụng những
kiến thức đã học để cùng nhau deliver dự án.

4. Lịch làm việc
Tuần

Cơng việc
-

Tìm hiểu về cơng ty, cách tổ chức của cơng Chị Un Phan
ty, quy trình làm việc, các quy định.

1

Anh Nguyễn Ngọc Tuấn

Làm quen với cách làm việc theo mơ hình Anh Bùi Thiện Nhân
Agile của cơng ty.

-

Người hướng dẫn

Anh Khoa Huỳnh

Làm quen với các công cụ làm việc trong Chị Hồi Thương
cơng ty (Phần mềm riêng chuyên dụng trao Chị Mai Anh
đổi thông tin của công ty, Cổng lưu trữ các
document của squad, email của công ty,…).


18


-

Tìm hiểu về các cơng nghệ, ngơn ngữ sẽ
được sử dụng trong dự án.

-

Cài đặt môi trường để chuẩn bị cho dự án.

-

Học cách trao đổi, làm việc qua email.

-

Tham gia các buổi gặp gỡ ngồi giờ cùng
cơng ty.

-

Tiếp tục tìm hiểu về các cơng nghệ được sử Anh Nguyễn Ngọc Tuấn
dụng

như

Docker,


NestJs,

Postgres, Anh Bùi Thiện Nhân

Swagger song song với quá trình deliver dự Anh Khoa Huỳnh
án.
-

Tham gia planning, chia backlog cùng team
dưới sự hướng dẫn của các coaches.

-

Cùng các thực tập sinh tham gia thiết kế
chuẩn chung cho api bên phía backend.

-

Thảo luận với BA của team để hiểu rõ hơn
về sản phẩm đang thực hiện.

-

Tham gia Daily Scrum mỗi ngày để trình

2-3

bày tiến độ cơng việc cho đồng đội, những


(Iteration

dự định tiếp theo trong ngày và những khó

1)

khăn gặp phải.
-

Chịu trách nhiệm viết api và xử lý phần
authentication cho dự án.

-

Cuối Iteration 1, team đã thực hiện được
những set up cơ bản trong module thứ 1 của
sản phẩm. Hoàn thiện được chức năng đăng
nhập bằng tài khoản nội bộ trong công ty.

-

Cùng squad thực hiện Iteration Review và
Iteration Retrospective để cùng nhìn lại
trong 2 tuần đầu tiên thực hiện dự án, đã làm
ra được sản phẩm như thế nào, và team đã
collab với nhau tốt hay chưa.
19


-


Tham gia các buổi gặp gỡ ngồi giờ cùng
cơng ty: Tuesday Workshop, Thursday
Workshop, Friday Meetup, Mini Workshop

-

Tiếp tục phân tích và lên kế hoạch triển Anh Nguyễn Ngọc Tuấn
khai dự cùng các thực tập sinh trong giai Anh Bùi Thiện Nhân
đoạn tiếp theo của dự án.

-

Anh Khoa Huỳnh

Mục tiêu của iteration 2 là hoàn thành được
flow cơ bản trong sản phẩm và trình bày
với khách hàng.

-

Chịu

trách

nhiệm

nghiên

cứu


về

deployment với docker, set up môi trường
để triển khai ứng dụng trên staging.
-

Tham gia Daily Scrum mỗi ngày để trình
bày tiến độ cơng việc cho đồng đội, những
dự định tiếp theo trong ngày và những khó

4-5
(Iteration

khăn gặp phải.
-

Cuối Iteration 2, dự án đã hồn thành
module đầu tiên của sản phẩm và fix tất cả

2)

các bug cịn tồn đọng ở Iteration 1.
-

Trình bày sản phẩm cùng dự án, các kế
hoạch cho Project Owner

-


Cùng squad thực hiện Iteration Review và
Iteration Retrospective để cùng nhìn lại sau
2 tuần đầu tiên thì 2 tuần tiếp theo này đã
thực hiện dự án, đã làm ra được sản phẩm
như thế nào, và team đã collab với nhau tốt
hay chưa, rút thêm kinh nghiệm cùng nhau

-

Tham gia các buổi gặp gỡ ngoài giờ cùng
công ty: Tuesday Workshop, Thursday
Workshop,

Friday

Meetup,

Mini

Workshop
20


-

Tìm hiểu thêm về ngơn ngữ react để Anh Nguyễn Ngọc Tuấn
deliver cả phía front-end cho các chức Anh Bùi Thiện Nhân
năng được đề ra của sản phẩm. Mục tiêu Anh Khoa Huỳnh
của iteration này là hoàn thành module
thứ 2 của sản phẩm


-

Tiếp tục phân tích và lên kế hoạch triển khai
dự án cùng các thực tập sinh trong giai đoạn
tiếp theo của dự án

-

Tham gia Daily Scrum mỗi ngày để trình
bày tiến độ cơng việc cho đồng đội, những
dự định tiếp theo trong ngày và những khó
khăn gặp phải

6-7

-

Viết api bên phía back-end cũng như xử lý

(Iteration

phần giao diện của tính năng được phân

3)

cơng.
-

Cuối Iteration 3, dự án đã hoàn thành các

chức năng quan trọng khác theo như kế
hoạch

-

Cùng squad thực hiện Iteration Review và
Iteration Retrospective để cùng nhìn lại sau
4 tuần thì 2 tuần tiếp theo này đã thực hiện
dự án, đã làm ra được sản phẩm như thế
nào, và team đã collab với nhau tốt hay
chưa, rút thêm kinh nghiệm cùng nhau.

-

Tham gia các buổi gặp gỡ ngồi giờ cùng
cơng ty: Tuesday Workshop, Thursday
Workshop, Friday Meetup, Mini Workshop

8-9
(Iteration
4)

-

Giai đoạn nước rút của dự án. Tìm kiếm và Anh Nguyễn Ngọc Tuấn
sửa các lỗi còn tồn đọng ở các Iteration Anh Bùi Thiện Nhân
trước. Triển khai các kế hoạch improve Anh Khoa Huỳnh
product
21



-

Tiếp tục phân tích và lên kế hoạch triển khai
dự án cùng các thực tập sinh trong giai đoạn
cuối của dự án

-

Tham gia Daily Scrum mỗi ngày để trình
bày tiến độ công việc cho đồng đội, những
dự định tiếp theo trong ngày và những khó
khăn gặp phải

-

Viết api bên phía back-end, tham gia thiết
kế giao diện, hỗ trợ xử lý các tính năng phía
front-end.

-

Cuối Iteration 4, dự án đã hồn thành các
chức năng quan trọng khác theo như kế
hoạch.

-

Cùng squad thực hiện Iteration Review và
Iteration Retrospective để cùng nhìn lại sau

6 tuần thì 2 tuần cuối cùng này đã thực hiện
dự án, đã làm ra được sản phẩm như thế nào,
và team đã collab với nhau tốt hay chưa, rút
thêm kinh nghiệm cùng nhau.

-

Thực hiện lần bàn giao sản phẩm thứ 2.
Trình bày sản phẩm với squad và khách
hàng. Nhận feedbacks từ mọi người để có
thêm kinh nghiệm.

-

Tham gia các buổi gặp gỡ ngồi giờ cùng
cơng ty: Tuesday Workshop, Thursday
Workshop, Friday Meetup, Mini Workshop

Giai đoạn cuối:
10

Anh Nguyễn Ngọc Tuấn

Chia sẻ về quá trình phát triển sản phẩm cho Anh Bùi Thiện Nhân
cả công ty Geek Up xem trong 10 tuần vừa Anh Khoa Huỳnh
qua, cũng như trải nghiệm của team trong
suốt quá trình thực tập.
22



-

Thực hiện các bước cuối cùng để đóng
project. Bàn giao project.

-

Tạm biệt mọi người. Gửi lời cảm ơn và tri
ân đến tồn thể cơng ty Geek Up

-

Chuẩn bị tài liệu báo cáo thực tập. Củng cố
kiến thức qua đợt thực tập. Rút kinh nghiệm
và tự đánh giá bản thân.

23


Chương 3: Chi tiết về project
1. Giới thiệu về Coin

-

GeekUp là cơng ty được tổ chức theo mơ hình phẳng, tức khơng có sự phân chia
cấp bật trong việc điều hành các bộ phận ở công ty. Mọi cá nhân, thành viên ở
GeekUp đều có thể đưa ra quan điểm, ý kiến, đóng góp của mình để giúp quy
trình làm việc tốt hơn hoặc để cải thiện các nghiệp vụ, hoạt động trong công ty
hơn. Những ý kiến, quan điểm hay cảm nhận đã được cân nhắc, có cơ sở và dữ
liệu được gọi là các Insight. Insight có giá trị, vai trò rất quan trọng nếu được

đưa đến đúng vị trí và xử lý hợp lý thì có thể mang lại những lợi ích và giá trị to
lớn cho doanh nghiệp. Chính vì vậy, mục tiêu của GeekUp là muốn giúp thúc
đẩy quá trình thu thập insight cũng như khuyến khích các thành viên trong cơng
ty có thể đóng góp insight một cách dễ dàng và hiệu quả hơn. Đây chính là nguồn
động lực để GeekUp triển khai dự án phát triển một sản phẩm trên nền tảng web
có thể phục vụ cho quá trình này. Cái tên của sản phẩm “COIN” cũng bắt nguồn
từ việc kết hợp 2 từ viết tắc của cụm từ Collect Insight (thu thập insight).

24


×