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
Lập trình viên Backend
Cơng ty thực tập:
Người phụ trách:
Thực tập sinh:
Cơng
ty
TNHH
AIOZ Việt Nam
Cao Trọng Đại
Đồn Ngọc Lãm
1
TP. Hồ Chí Minh, tháng 7 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 ln là nhân tố đóng vai trị quan
trọng trong q 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, lưu trữ dữ liệu, ... 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. Khi truy cập vào một trang web, những thơng tin chúng
ta nhìn thấy và tiếp nhận như âm thanh hình ảnh, chữ viết đó chính là Frontend. Đối lập với
Frontend, Backend chính là những phần bên trong bao gồm các cơ sở dữ liệu, các ứng dụng
và máy chủ. Sự phối hợp của 2 phần này giúp cho website hoạt động tốt và cung cấp đầy đủ
thông tin cần thiết cho người dùng một cách nhanh chóng và kịp thời. Bản thân là người
khơng có thế mạnh về nghệ thuật nên em lựa chọn Backend 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 Công ty TNHH AIOZ Việt Nam – một công
ty về Công nghê Blockchain và là một môi trường lý tưởng và chuyên
nghiệp để em thử thách bản thân cũng như thực hiện dự định.
2
LỜI CẢM ƠN
Em xin trân trọng gửi lời cảm ơn tồn thể các anh chị ở Cơng ty TNHH
AIOZ Việt Nam đã tạo điều kiện cho em 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 Cao
Trọng Đại, 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ông ty TNHH AIOZ Việt Nam và các anh chị trong
team Blockchain đã bỏ ra nhiều thời gian, công sức để hướng dẫn, 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.
Trong khoảng thời gian thực tập tại công ty, em đã có nhiều kinh nghiệm
hơn trong cơng việc nhưng vì kiến thức cịn hạn chế và có nhiều bỡ ngỡ
trong q trình thực tập, khó tránh khỏi sai sót, rất mong quý thầy, cô bỏ
qua. Đồng thời trong quá trình làm báo cáo có thể có nhiều thiếu sót nên
em rất mong được nhận các ý kiến đóng góp từ thầy cơ, để em có thêm
nhiều kinh nghiệm và rút ra được bài học cho mình.
Vì yêu cầu và chính sách bảo mật của quý doanh nghiệp nên các
tài liệu, hình minh hoạ và sản phẩm của phía cơng ty khơng được
tiết lộ ra bên ngồi.
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 17 tháng 7 năm
2023
Đoàn Ngọc Lãm
3
NHẬN XÉT CỦA KHOA
......................................................................................................................
............................. ........................................................................................
........................................................... ..........................................................
......................................................................................... ............................
......................................................................................................................
. ....................................................................................................................
............................... ......................................................................................
............................................................. ........................................................
........................................................................................... ..........................
......................................................................................................................
... ..................................................................................................................
................................. ....................................................................................
............................................................... ......................................................
............................................................................................. ........................
......................................................................................................................
..... ................................................................................................................
................................... ..................................................................................
................................................................. ....................................................
............................................................................................... ......................
......................................................................................................................
....... ..............................................................................................................
..................................... ................................................................................
................................................................... ..................................................
................................................................................................. ....................
......................................................................................................................
......... ............................................................................................................
....................................... ..............................................................................
..................................................................... ................................................
................................................................................................... ..................
......................................................................................................................
........... ..........................................................................................................
......................................... ............................................................................
....................................................................... ..............................................
4
..................................................................................................... ................
......................................................................................................................
............. ........................................................................................................
........................................... ..........................................................................
......................................................................... ............................................
....................................................................................................... ..............
......................................................................................................................
............... ......................................................................................................
............................................. ........................................................................
........................................................................... ..........................................
......................................................................................................... ............
......................................................................................................................
................. ....................................................................................................
............................................... ......................................................................
............................................................................. ........................................
........................................................................................................... ..........
......................................................................................................................
................... ..................................................................................................
................................................. ....................................................................
...............................................................................
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.................................................................6
1.1. Giới thiệu Công ty TNHH AIOZ Việt Nam...................................................................6
1.2. Sản phẩm công ty............................................................................................................6
1.3. Lịch làm việc khi thực tập tại cơng ty.............................................................................7
CHƯƠNG 2: NỘI DUNG THỰC TẬP.....................................................................................8
2.1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty..................................................8
2.2. Nghiên cứu kỹ thuật........................................................................................................8
2.2.1. Các công cụ làm việc...............................................................................................8
2.2.2. Ngơn ngữ lập trình Golang.......................................................................................8
2.2.3. Thực hiện viết api để tạo server lưu trữ dữ liệu.......................................................8
2.3. Tham gia dự án thực tế....................................................................................................9
2.3.1....................................................................................................................................9
5
2.3.2....................................................................................................................................9
CHƯƠNG 3: TỔNG KẾT.......................................................................................................10
3.1. Điểm mạnh....................................................................................................................10
3.2. Điểm yếu.......................................................................................................................10
3.3. Chuẩn đạt được.............................................................................................................10
TÀI LIỆU THAM KHẢO........................................................................................................12
6
CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1.1. Giới thiệu Cơng ty TNHH AIOZ Việt Nam
Hình 1.1. Logo Cơng ty TNHH AIOZ Việt Nam
AIOZ VN (AIOZ Network: Infrastructure Web3 Media Blockchain) là một công ty trẻ về
Công nghệ Blockchain, hiện đang xếp hạng #665 của thế giới (Coin Market Cap) – tính tới
thời điểm [29/06/2023], với đội ngũ lãnh đạo và nhân viên trẻ, nhiệt huyết. Cơng ty có 100%
vốn từ Singapore. Cơng ty đang có nhiều dự án sáng tạo ra các sản phẩm Cơng nghệ thiết
thực đóng góp cho sự phát triển của ngành Blockchain.
Địa điểm làm việc: Công ty TNHH AIOZ Việt Nam, tầng 4, 246 Cống Quỳnh, phường Phạm
Ngũ Lão, quận 1, Thành phố HCM, Việt Nam
Email:
Website: work/
1.2. Sản phẩm công ty
- AIOZTube: Trang web phục vụ mục đích xem và stream video.
- AIOZ node app: Ứng dụng lưu trữ dữ liệu, tập tin.
- AIOZ token: Đơn vị tiền mã hóa trên sàn tiền điện tử thế giới.
…
7
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 1/8/2022 tới 30/9/2022,
em làm việc với tư cách là một thực tập sinh làm việc toàn thời gian (fulltime), làm việc từ thứ 2 tới thứ 6.. Công việc hằng ngày bắt đầu từ lúc
9h00 đến 18h30. Thời gian nghỉ trưa khoảng 1.5 tiếng. Hằng ngày, em sẽ
giải quyết các công việc mà anh hướng dẫn đã giao, sau mỗi ngày làm
việc em sẽ báo cáo tiến độ công việc trong ngày, đặt câu hỏi và nhận chia
sẻ, giải đáp từ anh hướng dẫn.
8
CHƯƠ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, q trình thành lập và phát triển, quy trình
làm việc từ cao xuống thấp, cách thức tổ chức của cơng ty, các phịng ban
về IT, HR, … Ngồ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ề văn hóa doanh nghiệp, 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. Các công cụ làm việc
Thời gian: 2 ngày
Nội dung: Tìm hiểu các cơng cụ sẽ được sử dụng trong quá trình làm việc.
Một số phần mềm trong số đó như GITLAB – hệ thống quản lý phiên bản
phân tán; Goland - một phần mềm rất hữu ích và phổ biến với lập trình
viên với các đặc điểm như đơn giản, gọn nhẹ, dễ dàng cài đặt; Slack – ứng
dụng hỗ trợ cho việc giao tiếp, chia sẻ tài liệu; PostgreSQL, SQLite,
MongoDB Compass - các công cụ hỗ trợ lưu trữ dữ liệu.
Kết quả: Lập trình sử dụng các cơng cụ miễn phí, giúp dễ dàng kết hợp
các cơng cụ với nhau.
2.2.2. Ngơn ngữ lập trình Golang
Thời gian: 3 ngày
Nội dung: Tìm hiểu về ngơn ngữ lập trình Golang bao gồm cú pháp, các
kiến thức cơ bản và nâng cao, cách viết một chương trình và các thư viện
liên quan.
Kết quả: Hiểu và sử dụng được ngôn ngữ Golang.
2.2.3. Thực hiện viết api để tạo server lưu trữ dữ liệu
Thời gian: 3 ngày
Nội dung: Sử dụng ngôn ngữ lập trình Golang kết hợp với AWS S3 viết một RESTful API cơ
bản để upload, get, delete files.
9
Kết quả: Làm quen được với cách xây dựng 1 server bằng ngôn ngữ Golang.
2.3. Tham gia dự án thực tế
2.3.1. Quá trình thực hiện
Trong suốt 2 tháng thực tập tại công ty, em đã tham gia vào dự án AIOZ Storage, một dự án
để quản lý lưu trữ dữ liệu, tập tin. Nhiệm vụ của em là hỗ trợ xây dựng server để quản lý các
hoạt động của dự án bao gồm: quản lý đăng ký, đăng nhập tài khoản; nâng cấp tài khoản dựa
trên việc người dùng đăng ký supscription và hệ thống sẽ bắt và xử lý các events đó theo thao
tác của người dùng (ở đây có cơ chế tự gia hạn hoặc hủy tự động dựa theo số tiền người dùng
thanh toán cho dịch vụ); quản lý tập tin người dùng upload bằng các đóng gói chúng thành
các tệp .zip sau đó upload lên cdn công ty, hoạt động sao chép, chuyển, tải xuống tập tin (tải
1 phần hoặc toàn bộ tập tin), ngoài ra cịn xây cơ chế xóa tập tin (dựa theo thao tác người
dùng hoặc là xóa tự động theo mơ tả của dự án); tạo báo cáo thống kê về dữ liệu, băng thông,
giá tiền theo từng khoảng thời gian.
Để tổ chức công việc, em sẽ trao đổi với anh hướng dẫn và nhận yêu cầu và mô tả công việc,
sau đó em thực hiện cơng việc cùng với sự hướng dẫn giúp đỡ từ anh. Sau khi em hồn thành
cơng việc sẽ báo cáo với anh hướng dẫn, nhận được những nhận xét và những góp ý từ anh
để em hồn thiện cơng việc đồng thời cũng sẽ nhận những u cầu cơng việc mới. Khi đã
hồn thiện tương đối server thì em sẽ hướng dẫn, giải thích cơng dụng của các API và phối
hợp cùng team front-end hoàn thiện dự án, trong quá trình này thì em cùng anh hướng dẫn sẽ
nhận những báo cáo về lỗi của team front-end và sẽ tiến hành sửa chữa các lỗi đó.
2.3.2. Kết quả
Tuy dự án vẫn đang trong giai đoạn phát triển và chưa được phát hành nhưng dựa trên quá
trình làm việc, em đã có cơ hội làm việc trên một dự án quy mô lớn và tham gia vào việc xây
dựng server cung cấp API cho team front-end hoàn thiện dự án, hoàn thành các yêu cầu được
giao, đồng thời làm quen với ứng dụng blockchain vào dự án.
2.3.3. Thuận lợi
Một ưu điểm lớn trong quá trình thực hiện dự án là sự quen thuộc với các ngôn ngữ lập trình
và kiến thức đã học ở giảng đường từ trước đó, giúp em tiếp cận và làm quen với ngôn ngữ
mới một cách dễ dàng hơn. Chịu được áp lực cơng việc vì đã làm quen với nó từ giảng đường
đại học. Với tính cách cởi mở giúp em dễ dàng giao tiếp với các anh, chị trong công ty cũng
như không mất quá nhiều thời gian làm quen mới mơi trường làm việc mới.
2.3.4. Khó khăn
Tuy nhiên có nhiều thuận lợi trong quá trình thực tập những em cũng gặp khơng ít khó khăn
trong thời gian này. Thứ nhất, việc tiếp nhận nhiều kiến thức mới liên quan tới cơng nghệ
blockchain làm em có khá nhiều bối rối trong việc tiếp thu những kiến thức này. Đây là một
thách thức lớn đối với em trong quá trình thực hiện nhiệm vụ. Thứ hai, mặc dù em đã có kinh
nghiệm xây dựng các web trước đó, nhưng việc tham gia vào một dự án lớn vẫn địi hỏi sự
thích nghi và hiểu biết sâu hơn cũng như yêu cầu tính logic và độ hồn thiện cao hơn, điều
này đơi khi khiến em cảm thấy áp lực. Cuối cùng, việc phải cân nhắc và sắp xếp thời gian
giữa công việc tại công ty và các đồ án môn học cũng như hoạt động thể thao rèn luyện sức
khỏe đã khiến em trải qua một khoảng thời gian vất vả.
10
CHƯƠNG 3: TỔNG KẾT
Quãng thời gian thực tập tại Công ty TNHH AIOZ Việt Nam đã 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
những kiến thức mới về blockchain, ngơn ngữ lập trình Golang ngồi ra
cịn cản thiện được kỹ năng mềm như kỹ năng quản lý thời gian, quản lý
source code (git lab), 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 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
Trong quá trình làm việc em đã nhận ra mình có những điểm mạnh như sau: khả năng tự học,
đọc hiểu code nhanh, tự tìm ra vấn đề và giải quyết vấn đề một cách logic, giao tiếp với cấp
trên và các anh chị lớn của các team khác trong công ty, dám mạnh dạn đưa ra các góp ý về
sản phẩm đối với anh hướng dẫn.
3.2. Điểm yếu
Trong quá trình làm việc, em cũng nhận ra mình có một vài điểm yếu như sau: khả năng làm
việc chưa được tối ưu và khả năng trình bày ý kiến chưa tốt, khả năng đọc hiểu tiếng anh
chuyên nhành chưa tốt.
3.3. Chuẩn đạt được
Tổng kết lại, em có thể tự đánh giá các mục tiêu của môn học như sau:
Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệp (G1): 8/10
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
(G2): 7/10
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 (G3): 7/10
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 đề (G4):
8/10
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 (G5): 6/10
Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh (G6): 7/10
Goal Mục tiêu môn học
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
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
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
11
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 đề
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
G6
Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh
12
TÀI LIỆU THAM KHẢO
1. Trang web: 200Lab Blog - Chia sẻ kỹ thuật lập trình và hệ thống. Truy cập lần cuối:
19/06/2023
2. Trang web: Documentation - The Go Programming Language. Truy cập lần cuối:
19/06/2023
3. Trang web: MinIO Object Storage for Linux — MinIO Object Storage for Linux. Truy cập
lần cuối: 19/06/2023
13