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

Báo cáo thực tập back end developer

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 (668.96 KB, 19 trang )

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
Back-end Developer

Công ty thực tập: TMA Solutions
Người phụ trách: Lê Minh Tuyền
Mai Thế Hồng Ân
Thực tập sinh:

Phạm Minh Việt
1


TP. Hồ Chí Minh, tháng 06 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, ...
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 Back-end 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 TMA Solutions – một môi trường lý tưởng và chuyên nghiệp để
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ới anh Lê Minh Tuyền và Mai Thế Hồng Ân đã
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 các anh, 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 team OTB đã 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.
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 29 tháng 06 năm 2023

3


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

....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................

4


MỤC LỤC
LỜI MỞ ĐẦU .......................................................................................................... 2
LỜI CẢM ƠN........................................................................................................... 3
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 .................................................................................................... 6
1.2. Sản phẩm công ty ........................................................................................ 8
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.3. Thực hiện dự án cá nhân........................................................................... 13
2.4. Tham gia dự án thực tế ............................................................................. 15
CHƯƠNG 3: TỔNG KẾT ......................................................................................... 17
3.1. Điểm mạnh ................................................................................................ 17
3.2. Điểm yếu ................................................................................................... 17
3.3. Chuẩn đạt được ........................................................................................ 18
TÀI LIỆU THAM KHẢO ........................................................................................... 19

5


CHƯƠNG 1: GIỚI THIỆU CƠNG TY THỰC TẬP

1.1. Giới thiệu

Hình 1.1.a. Logo TMA

TMA Solutions được thành lập năm 1997, với sự phát triển vững mạnh trong suốt
25 năm qua, chúng tôi tự hào là công ty phần mềm hàng đầu Việt Nam hiện nay
với 16 năm liên tiếp (2004-2019) đạt huy chương vàng xuất khẩu phần mềm; Top
10 công ty FinTech, AI và IoT. Chúng tơi có hơn 4000 kỹ sư tài năng đang làm việc,
cùng nhau xây dựng hình ảnh TMA năng động và chuyên nghiệp trên bản đồ cơng
nghệ thơng tin tồn cầu.

Q trình phát triển
TMA Solutions được thành lập năm 1997, là công ty phần mềm hàng đầu Việt
Nam. Với sự phát triển bền vững về nhân lực, hiện nay, TMA đã xây dựng được

6


đội ngũ 4000 kỹ sư trẻ, nhiệt huyết luôn nhận được sự tin cậy, đánh giá cao từ
phía khách hàng.

Hình 1.1.b. Sự phát triển nhân lực bền vững từ 6 người đến hơn 3000 người (1997-2021)

Trải qua 25 năm hoạt động. TMA tự hào nhận được rất nhiều bằng khen, giải
thưởng và liên tục được báo chí, truyền thơng trong và ngoài nước đưa tin.
TMA Solutions hiện là đối tác tin cậy có nhiều năm kinh nghiệm thực hiện những
dự án lớn & phức tạp với những công nghệ mới nhất với hơn 100 khách hàng đến
từ 30 quốc gia trên thế giới.
TMA hiện có 7 chi nhánh tại Việt Nam (6 tại Tp. Hồ Chí Minh và 1 ở Tp. Quy Nhơn)
cùng với 6 văn phịng ở nước ngồi (Mỹ, Canada, Pháp, Nhật, Úc, Singapore).

7


1.2. Sản phẩm cơng ty

Ứng

dụng

thương


mại

điện

tử

trên

mobile

Hình 1.2.a. Ứng dụng thương mại điện tử

Ứng dụng mua sắm trực tuyến trên thiết bị di động của hãng bán lẻ hàng đầu Hàn
Quốc cho thị trường Việt Nam.
• Khách hàng có thể mua sắm hơn 3000 loại sản phẩm đang được bán tại
siêu thị, đặc biệt trong đó bao gồm nhiều nhãn hàng đến từ Hàn Quốc trên
ứng dụng di động.
• Giao diện được thiết kế thân thiện, dễ dàng sử dụng phù hợp với cách mua
sắm của người Việt Nam.
8


• Xây dựng Hệ
thống quản lý
trang

(Layout

management

system)

thông

minh nhằm tạo
ra

các

trang

thông tin về sự
kiện, sản phẩm,
chương

trình

khuyến mãi, và
các dịch vụ một
cách

nhanh

chóng, tiết kiệm
thời gian và chi Hình 1.2.b. Website thương mại điện tử về mỹ phẩm
phí cho doanh
nghiệp.

Website thương mại điện tử về mỹ phẩm
Nền tảng thương mại điện tử được xây dựng và triển khai tại gần 30 quốc gia cho

riêng lĩnh vực mỹ phẩm và chăm sóc sắc đẹp. Nền tảng có đầy đủ các tính năng và
được tích hợp các công nghệ hiện đại để tạo điều kiện mua bán mỹ phẩm trực
tuyến thuận lợi và tin cậy cho các thương hiệu, nhà bán lẻ, và người tiêu dùng.
• Gợi ý sản phẩm
9


Hệ thống gợi ý sản phẩm hiệu quả và theo đúng đối tượng khách hàng mục
tiêu với các công nghệ tiêu biểu như Target2Sell hay sự kết hợp Trình Quản
lý Thẻ (Google Tag Manager) và Công cụ Quảng cáo Tiếp thị lại (Google Ads
Remarketing).
• Tối ưu hóa Tốc độ xử lý của hệ thống
Tối ưu hóa tốc độ tìm kiếm sản phẩm trên hệ thống, đồng thời cho kết quả
tìm kiếm tốt nhất và chính xác nhất bằng việc áp dụng cơng nghệ Elastic
Search, RabbitMQ và Sidekiq.
• Phân tích khách hàng
Hệ thống tự động ghi nhận và phân tích hành vi người tiêu dùng, từ đó
cung cấp các báo cáo đa chiều cho người bán.

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 10/11/2022 tới 17/02/2023, các
ngày làm việc trong tuần là 3, 5, 6. Công việc hằng ngày bắt đầu từ lúc 8:00 AM
đến 6:00 PM. Thời gian nghỉ trưa khoảng 1 tiếng. 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, đặt mục tiêu cho ngày làm việc tiếp theo. Mỗi tuần sẽ họp tiến độ
tuần 1 lần vào 8h30 sáng của mỗi ngày, mọi người sẽ ghi rõ những công việc đã
làm vào hôm qua, và các công việc sẽ làm trong ngày, nếu có khó khăn gì thì mọi
người sẽ bàn bạc sau cuộc họp. Thỉnh thoảng sẽ có một buỗi training về quy trình
phát triển phần mềm, các kỹ năng mềm trong công việc, cách viết email...


10


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ề lịch sử của công ty, q 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. Tuần 1

Nội dung: Thiết lập phần mềm, các kiến thức cơ bản của C#, LINQ, viết demo
Kết quả: Thiết lập các phần mềm cần thiết cho công việc, củng cố lại kiến thức về
ngôn ngữ C#, và viết demo.
2.2.2. Tuần 2

Nội dung: Kiến thức về Entity Framework Core
Kết quả: Hiểu được các cơ bản của EF Core, cách chuyển đổi DB sang Entity và
ngược lại (Code first, database first).

11



2.2.3 Tuần 3

Nội dung: Lazy loading, eager loading, explicit loading.
Kết quả: Hiểu được lazy, eager, và explicit loading là gì và ứng dụng.
2.2.4 Tuần 4

Nội dung: MVC, REST, Route
Kết quả: Hiểu được kiến trúc MVC là gì, và ứng dụng với RESTful API, Route để tạo
một demo đơn giản.
2.2.5 Tuần 5

Nội dung: ASP.NET Razor, middleware, application settings & configurations
Kết quả: Hiểu được Razor là gì và xây dựng một website demo, biết cách hoạt
động của middleware và viết một middleware đơn giản, tại sao dùng app.config
cách đọc giá trị từ nó.
2.2.6 Tuần 6

Nội dung: Tìm hiểu về Dependency Injection và vịng đời của nó
Kết quả: Hiểu được D.I. là gì, ưu nhược so với Service Locator, các loại vòng đời
cho một service, và ứng dụng vào một demo đơn giản.
2.2.7 Tuần 7

Nội dung: log4net, Automapper, SQL
Kết quả: Nắm bắt được cách lưu thông tin bằng log4net, ưu nhược so với in ra
console, cách chuyển đổi một Entity sang DTO và ngược lại bằng Automapper, tìm
hiểu về SQL và các loại hệ quản trị cơ sở dữ liệu quan hệ, tải ứng dụng MySQL.
2.2.8 Tuần 8


Nội dung: Memory cache, unit test
12


Kết quả: Hiểu được kiến thức cơ bản về cache, các cách cache có trong ASP.NET
Core, cách viết unit test cho một project.
2.2.9 Tuần 9 và 10

Hình 2.2.9. OTB-8199

Nội dung: OTB-8199, Postman
Kết quả: Tạo ticket OTB-8199, viết và chạy unit test đầu tiên, và commit push lên
repo; tải ứng dụng Postman để gọi API OTB.
2.2.10 Tuần 11

Nội dung: Nghỉ lễ Tết Nguyên Đán
Kết quả: Đã có một kỳ nghỉ thư giãn :)
2.2.10 Tuần 12

Nội dung: Viết báo cáo và làm một ứng dụng demo cuối chương trình
Kết quả: Viết báo cáo cuối chương trình thực tập và gửi lên HR, áp dụng các kiến
thức đã học xuyên suốt thời gian thực tập để tạo một demo đơn giản.
2.3. Thực hiện dự án cá nhân
2.3.1. Công nghệ

C#, ASP.NET Core, Razor
2.3.2. Mô tả dự án

Viết một ứng dụng quản lý công việc, bao gồm các chức năng thêm, sửa, xóa, xem
chi tiết cơng việc, đánh dấu cơng việc đã hồn thành, và xuất dữ liệu, áp dụng các

13


kiến thức đã học để xây dựng ứng dụng này. Đồng thời viết unit test để kiểm tra,
xác định các chức năng hoạt động theo yêu cầu.
2.3.3. Kết quả

Hình 2.3.3. Website quản lý cơng việc

Hồn thành phát triển ứng dụng quản lý công việc, áp dụng các công nghệ, kiến
thức đã học xuyên suốt chương trình thực tập.

14


2.4. Tham gia dự án thực tế
2.4.1 Giới thiệu

Hình 2.4.1.a. Orangetheory Fitness

Orangetheory Fitness là một studio nhượng quyền của Mỹ nằm tại Boca Raton,
Florida. Studio đầu tiên được thành lập ở Fort Lauderdale, Florida vào năm 2010
bởi nhà sáng lập, Ellen Latham. Các lớp học kéo dài khoảng 1 tiếng, mỗi 1 lớp chia
thành 2 nhóm, một nhóm sẽ luyện tập trên máy chạy bộ, và nhóm cịn lại trên
máy nâng tạ và máy kéo. Tính tới năm 2023, Orangetheory Fitness đã có hơn
1,500 studio khắp các bang của nước Mỹ, và 24 đất nước khác nhau. Ngay từ
những ngày được khánh thành vào năm 2010, chuỗi thương hiệu đã tiếp tục mở
rộng, thu về hơn $1 tỉ vào năm 2018. Tính tới năm 2020, đã có hơn 1 triệu thành
viên đăng ký.


15


2.4.2 Cơng việc

Team OTB đảm nhiệm vai trị trong việc phát triển phần mềm cho các thiết bị sử
dụng OTbeat, sử dụng các công nghệ như ASP.NET MVC, DynamoDB.
Công việc chính khi cịn đang thực tập của em là viết unit test cho các module, duy
trì sự ổn định của toàn bộ phần mềm, đảm bảo các chức năng hoạt động theo quy
trình.

Hình 2.4.c Unit tests và kết quả

16


CHƯƠNG 3: TỔNG KẾT

Quãng thời gian thực tập tại TMA Solutions đã 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 mềm sử dụng mail, quản lý
ticket, 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 q 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

Sau khi hồn tất thời gian thực tập, em nhận ra mình có khả năng tự tìm hiểu, giải
quyết được vấn đề, nắm bắt, thực hiện được các công việc được giao.

3.2. Điểm yếu

Cũng có một số điểm yếu em cần khắc phục như, hạn chế hoặc ít nói với những
thành viên khác trong team, ít tham gia các sự kiện của công ty.

17


3.3. Chuẩn đạt được

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

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

18


TÀI LIỆU THAM KHẢO
1. ASP.NET MVC: Overview of ASP.NET Core MVC | Microsoft Learn
2. DynamoDB: Introduction to DynamoDB | ScyllaDB
3. Orangetheory Fitness: Group Fitness Class & HIIT Workouts | Orangetheory
Fitness US
4. TMA Solutions: tmasolutions.com
5. Unit test: Unit Testing ASP.NET Web API 2 | Microsoft Learn

19



×