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

Báo cáo thực tập lập trình backend golang

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 (479.93 KB, 14 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

LẬP TRÌNH BACKEND GOLANG

Cơng ty thực tập

: PONOS TECH

Người phụ trách

: La Ngọc Minh Trung

Thực tập sinh

: Nguyễn Văn Đạt

TP. Hồ Chí Minh, tháng 06 năm 2023


2

LỜI MỞ ĐẦU

Sau khoảng thời gian học tập tại trường, khi đã có những kiến thức và nền tảng nhất định, sinh
viên được khoa CNPM tạo điều kiện và khuyến khích thực hiện học phần Thực Tập Doanh
Nghiệp. Đây là cơ hội tốt để sinh viên có thể áp dụng những kiến thức, kỹ năng mà bản thân đã
đạt được vào sử dụng thực tế. Đồng thời cũng là bước chuyển mình, chuẩn bị cần thiết cho sinh
viên sớm tiếp cận với mơi trường làm việc, giúp sinh viên có được cái nhìn về thị trường lao


động, có được mạng lưới quan hệ cần thiết, giúp sinh viên phát triển sự nghiệp trong tương lai.
Tại các doanh nghiệp, sinh viên sẽ được các anh chị hướng dẫn, hỗ trợ trau dồi thêm các kỹ
năng sao cho phù hợp với yêu cầu thực tế tại thị trường lao động. Sinh viên cũng sẽ từ đây chọn
cho mình vị trí phù hợp nhất để phát triển sự nghiệp của bản thân.
Nhờ vào sự khuyến khích và tạo điều kiện đó, trong năm vừa qua, em đã thực hiện khóa thực
tập tại cơng ty PONOS TECH. Tại đây, em đã được các anh chị mentors quan tâm về mọi mặt
và hướng dẫn sát sao, giúp em thành cơng hồn thành khóa thực tập vừa qua.


3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty Cổ phần PONOS TECH đã tạo điều kiện cho em có
cơ hội được thực tập tại cơng ty.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer, nhóm
thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể tiếp tục với công việc
sắp tới. Chân thành cảm ơn các anh chị trong nhóm trainer đã 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.
Đặc biệt cảm ơn anh Minh Trung - Leader của team, đã ln nhiệt tình giúp đỡ cho em
tận tình cả những khó khăn trong cơng việc, đến những khó khăn việc làm quen với mơi trường
mới; cảm ơn anh Ngọc đã training không chỉ về kỹ năng cứng mà còn cả kỹ năng mềm giúp cho
em trưởng thành hơn rất nhiều.
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ài báo cáo này.
Nguyễn Văn Đạt
TpHCM, 30/06/2023

GVHD: Trần Anh Dũng


Nguyễn Văn Đạt


4

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

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


5

MỤC LỤC
Chương 1: Giới thiêu công ty thực tập
1. Giới thiệu công ty PONOS TECH
2. Sản phẩm của công ty
2.1. matchbox
2.2. work’z
2.3. job'z
Chương 2: Nội dung thực tập
1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
2. Nghiên cứu kỹ thuật
2.1. Các công cụ làm việc
2.2. Tìm hiểu cơng nghệ trong dự án

6
6
6

7
7
8
9
9
9
9
9

2.3. Tìm hiểu mã nguồn dự án
2.4. Tương tác với dự án

10
10

2.5. On-the-job Training
3. Tóm tắt q trình thực tập
Chương 3: Tổng kết

11
11
12

3.1. Kinh nghiệm từ kỳ thực tập

12

TÀI LIỆU THAM KHẢO

GVHD: Trần Anh Dũng


13

Nguyễn Văn Đạt


6

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

1.

Giới thiệu công ty PONOS TECH
PONOS TECH chuyên phát triển các sản phẩm công nghệ HR (quản lý nhân sự)
hỗ trợ trong môi trường làm việc.
Các giải pháp của chúng tôi bao gồm hệ thống kết hợp công việc bán thời gian,
quản lý tuyển dụng, quản lý nhân viên, ca làm việc và lương, tối ưu hóa tài nguyên,
và nhiều hơn thế nữa, có thể được tùy chỉnh theo nhu cầu của từng khách hàng.

2.

Sản phẩm của công ty
PONOS TECH tập trung vào việc phát triển các sản phẩm và dịch vụ HR Tech đa
dạng, bao gồm hệ thống quản lý tuyển dụng, quản lý nhân viên, quản lý ca làm việc,
quản lý lương và cơng, và tối ưu hóa nguồn lực. Những giải pháp của PONOS
TECH được tùy chỉnh và cá nhân hóa để đáp ứng nhu cầu đặc thù của từng khách
hàng. Có ba sản phẩm tiêu biểu nhất của PONOS TECH đó là: matchbox, work’z và
job’z.



7

2.1.

matchbox

Hiện nay, Matchbox đã nắm giữ 4 bằng sáng chế về công nghệ Quản lý Nhân sự
(HR) trên thị trường Nhật Bản.
Với tính đổi mới, matchbox đã phát triển một hệ thống trung tâm đột phá, tận dụng
tất cả các loại nguồn nhân lực để cung cấp dịch vụ tuyển dụng ngắn hạn. Hệ thống này tự
động xử lý quy trình tuyển dụng, tuyển dụng và các thủ tục lao động dựa trên thuộc tính
của từng cơng ty và nhân viên.
matchbox cam kết cung cấp các nguồn lực ổn định và chất lượng cao, đồng thời
giảm thiểu chi phí và công sức quản lý. Điều này giúp doanh nghiệp tiết kiệm thời gian
và nỗ lực, đồng thời đảm bảo sự ổn định và chất lượng của nguồn lực nhân sự.
Với các ưu điểm vượt trội này, matchbox đang tạo ra sự khác biệt trong lĩnh vực
HR, đồng thời hỗ trợ doanh nghiệp tận dụng tối đa nguồn nhân lực và quản lý nhân sự
một cách hiệu quả và đạt hiệu suất cao.
2.2.

work’z

work'z là một tổ chức đặc biệt chuyên về quản lý nguồn nhân lực cho các công ty.
Công việc của work'z bao gồm việc xuất khẩu, điều động và phối hợp nhân sự ngắn hạn
và dài hạn, đáp ứng nhu cầu đa dạng của các doanh nghiệp. work'z cũng đóng góp vào
việc phát triển chương trình đào tạo nhằm chuẩn bị nguồn nhân lực sẵn sàng làm việc.
Một phần công việc quan trọng của work'z là hỗ trợ quá trình tuyển dụng, từ tiếp
nhận đầu tiên cho đến xác nhận công việc. work'z đảm nhiệm các nhiệm vụ như sàng lọc
ứng viên, phỏng vấn và đánh giá để đảm bảo chọn lựa những ứng viên phù hợp nhất cho


GVHD: Trần Anh Dũng

Nguyễn Văn Đạt


8

các vị trí tuyển dụng. Work'z có thể đơn giản hóa quy trình tuyển dụng và giúp các cơng
ty tiết kiệm thời gian và nguồn lực.
2.3.

job'z

job'Z là một hệ thống quản lý doanh nghiệp dựa trên đám mây. Nó cung cấp các
tính năng quản lý cơng việc bao gồm báo cáo và yêu cầu, giữ thời gian làm việc, lập lịch
và thông báo.
Với job'Z, việc quản lý ngân sách dễ dàng hơn bao giờ hết - quản lý điểm danh và
lương bổng cũng trở nên thuận tiện hơn. Hơn nữa, hệ thống này còn giúp quản lý nhân
viên và đánh giá hiệu suất làm việc từ việc thu thập, phân tích, đánh giá dữ liệu cho đến
việc lập báo cáo hàng ngày và hàng tháng. Với job'Z, việc quản lý và đánh giá nhân viên
trở nên dễ dàng và hiệu quả hơn bao giờ hết.


9

Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình Backend bằng Golang” nhằm mục đích giúp sinh viên
thực tập được đào tạo toàn diện về lập trình golang web services, đồ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. Giáo trình thực tập xoay quanh đề tài và
các từ khóa, cịn lại thì thực tập sinh phải tự tìm hiểu hoặc nhờ mentor hướng dẫn.


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
(như đã nhắc đến ở trê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 .
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ách sử dụng email trong công
việc…
Kết quả : Hiểu thêm về công ty PONOS TECH, 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. Nghiên cứu kỹ thuật
2.1.

Các công cụ làm việc
Thời gian : 2 tuần
Nội dung : Tìm hiểu và thuyết trình về API, Unit test và Clean Architecture.
Trong thời gian này, supervisor đã hướng dẫn thực tập sinh làm quen với luồng
làm việc trong công ty, công nghệ đang áp dụng trong dự án và hướng đi tương lai.
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả : Hiểu rõ về API, Unit test và Clean Architecture.

2.2.

Tìm hiểu cơng nghệ trong dự án
Thời gian : 1 tuần
Nội dung : Tìm hiểu về ngơn ngữ golang, concurrency , con trỏ và một số design

pattern liên quan.
Trong thời gian này, supervisor sẽ gửi thực tập sinh tài liệu về golang để tìm hiểu
trong một tuần.

GVHD: Trần Anh Dũng

Nguyễn Văn Đạt


10

Thực hiện : Xem và thực hành dựa trên tài liệu.
Kết quả : Hiểu rõ về structural programming, biết được một số design pattern liên
quan trong lập trình với ngơn ngữ golang.

2.3.

Tìm hiểu mã nguồn dự án
Thời gian : 2 tuần
Nội dung : Được có cơ hội đọc hiểu về mã nguồn của dự án..
- Lập trình hướng đối tượng
o Tìm hiểu SOLID.
- Dự án
o Tìm hiểu về các thư viện, framework có sẵn trong dự án. Khuyến khích tự
xây dựng được một thư viện tương đương.
Thực hiện :
- Liên tục debug, đọc code để hiểu hơn về mã nguồn của cơng ty.
Kết quả :
-


2.4.

Nâng cao kỹ năng lập trình với ngôn ngữ Golang.
Hiểu và áp dụng được SOLID..
Áp dụng code convention, nắm rõ quy trình làm việc thực tế.
Sử dụng được git theo theo quy trình rebase

Tương tác với dự án
Thời gian : 1 tuần
Nội dung :
- Làm tác vụ cơ bản như điều tra bug, refactor chức năng đơn giản.
o Học và làm việc theo phương pháp Agile Scrum.
o Điều tra một số lỗi tồn đọng, từ đó đưa ra phương hướng giải quyết.
o Refactor một số chức năng đơn giản từ kiến trúc cũ sang Clean
Architecture.
Thực hiện :
- Debug, đọc code để hiểu rõ mã nguồn.
- Ước lượng thời gian cần để hoàn thành task.
- Tạo task trên công cụ của công ty, thông báo với team.
- Báo cáo tiến độ hằng ngày thông qua meeting online.
- Thực hành git rebase workflow.
- Hồn thành task và đính kèm bằng chứng (input, output) và merge request nếu có.
- Thơng báo với team, chờ feedback và sửa nếu có.
Kết quả : Hiểu được quy trình làm việc của một dự án.


11

2.5.


On-the-job Training
Thời gian : 6 tuần
Nội dung: Refactor code cũ sang code mới theo kiến trúc Clean Architecture. Làm
thêm các chức năng mới theo yêu cầu
Thực hiện :
-

Phân tích và tìm ý nghĩa của yêu cầu.
Thực hiện yêu cầu.
Thực hành git workflow
Tạo báo cáo.

Kết quả :
-

Hiểu được cách một dự án hoạt động, học được một số kỹ năng cứng lẫn kỹ năng
mềm khi làm việc.

3. Tóm tắt q trình thực tập
Tuần
1

-

2
3
4
5

6


-

Cơng việc
Tìm hiểu về cơng ty, cách tổ
chức của công ty.
Làm quen với các công cụ
làm việc trong công ty.
Học cách trao đổi, làm việc
qua công cụ của công ty.
Tìm hiểu về lý thuyết về
thiết kế API. Báo cáo bằng
slide
Tìm hiểu Unit Test và Clean
Architecture. Báo cáo bằng
slide
Tìm hiểu ngơn ngữ lập trình
Golang.
Tìm hiểu mã nguồn dự án
Tìm hiểu SOLID
Refactor một chức năng cũ
sang Clean Architecture
Thực hành git rebase
workflow
Thực hành workflow của
công ty

GVHD: Trần Anh Dũng

Thời gian

17/10/2022

Người hướng dẫn
Anh La Ngọc Minh
Trung

18/10/2022-24/10/2022

Anh La Ngọc Minh
Trung

25/10/2022-31/10/2022

Anh La Ngọc Minh
Trung

1/11/2022-7/11/2022

Anh La Ngọc Minh
Trung
Anh La Ngọc Minh
Trung
Anh La Ngọc Minh
Trung

7/11/2022-21/11/2022
21/11/2022-25/11/2022

Nguyễn Văn Đạt



12

7
8

-

Kết hợp với lập trình viên
Frontend ở team khác điều
tra lỗi.
Refactor code theo domain.
Thêm chức năng mới.

27/11/2022/-31/11/2022

Anh La Ngọc Minh
Trung

1/12/2022-17/1/2023

Anh Ngọc


13

Chương 3: Tổng kết
Trước khi bắt đầu khóa thực tập, em đã có kiến thức cơ bản về Golang và kiến thức liên
quan đến Backend. Tuy nhiên, em nhận thấy rằng còn rất nhiều điều mà em cần học và rèn kỹ
năng để trở thành một lập trình viên Backend đáng tin cậy. Qua quá trình thực tập tại một công

ty startup như PONOS TECH. Em không chỉ học được kỹ năng cứng mà cịn về cả kỹ năng
mềm. Ngồi ra, góc nhìn của em về ngành phần mềm cũng thay đổi ít nhiều theo hướng tích
cực. Nhờ vậy nên em đã định hình được career path rõ ràng cho tương lai.

3.1.
-

Kinh nghiệm từ kỳ thực tập

Nắm vững cú pháp và áp dụng Golang vào các dự án thực tế.
Hiểu và áp dụng SOLID vào trong dự án.
Tham gia phát triển các tính năng mới cho sản phẩm của cơng ty.
Làm việc trong môi trường chuyên nghiệp và học hỏi từ đội ngũ giàu kinh nghiệm. Biết
được cách một startup hoạt động.
Tham gia vào các buổi họp nhóm và hiểu cách làm việc theo phương pháp phát triển
chuyên nghiệp..

GVHD: Trần Anh Dũng

Nguyễn Văn Đạt


14

TÀI LIỆU THAM KHẢO
[1] Martin C. Robert and Martin Micah, "Agile Principles, Patterns, and Practices in C#.
[2] Việt Trần, "Clean Architecture":
/>[3] Roy Osherove, "The Art of Unit Testing".
[4] TMA, "Golang và Unit Test":
/>[5] Google Cloud next '18, "Designing Quality APIs":

/>[6] Microsoft, "Best Practices in Design Restful API":
/>


×