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

Báo cáo thực tập intern ios developer công ty beetech

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 (278.54 KB, 17 trang )

ĐẠI HỌC QUỐC GIA TP. 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
INTERN IOS DEVELOPER
Công ty Beetech

GV HƯỚNG DẪN: ThS. Nguyễn Tấn Tồn
SV THỰC HIỆN: Châu Đức Hiệp – 20520499

TP. HỒ CHÍ MINH, 2023


Lời cảm ơn
Trước hết, em xin gửi lời cảm ơn chân thành đến thầy Nguyễn Tấn Toàn đã hỗ trợ em
hồn thành báo cáo thực tập này. Thầy đã ln đồng hành, tận tâm chỉ dẫn và động
viên em trong suốt quá trình thực tập, giúp em tiếp tục nỗ lực và hồn thành tốt cơng
việc được giao.
Em xin chân thành cảm ơn Trường Đại học Công nghệ thông tin đã tạo điều kiện, cơ
hội cho em tham gia khóa thực tập tại công ty Beetech. Những kiến thức, kỹ năng đã
học tập tại trường đã giúp em rất nhiều trong việc thích nghi với mơi trường làm việc
thực tế.
Em cũng muốn bày tỏ lòng biết ơn sâu sắc đến công ty Beetech, nơi đã cho em cơ hội
thực tập, trải nghiệm và học hỏi trong vị trí iOS Developer. Đặc biệt, em xin gửi lời
cảm ơn đến các anh chị và các đồng nghiệp đã hỗ trợ, tạo điều kiện cho em trong q
trình thực tập.
Cuối cùng, em khơng thể không nhắc đến sự giúp đỡ và hướng dẫn tận tình của leader
và các thành viên trong team iOS Developer. Sự cởi mở, thân thiện và sẵn lòng chia
sẻ kiến thức của anh chị đã giúp em nhanh chóng hịa mình vào mơi trường làm việc
mới và phát triển kỹ năng chuyên môn.




Mục lục

CHƯƠNG 1. GIỚI THIỆU CHUNG VỀ CÔNG TY ..................................................................... 1
CHƯƠNG 2. TẬP HUẤN ................................................................................................................. 2

2.1. Mô tả về công việc ........................................................................................................ 2
2.2. Lịch tập huấn và tham gia dự án ................................................................................... 3
2.3. Kiến thức thu được ....................................................................................................... 9
2.3.1. Tìm hiểu công ty ............................................................................................................... 9
2.3.2. Nền tảng cơ bản về lập trình iOS ...................................................................................... 9
2.3.3. Kiến thức và thực hành Swift .......................................................................................... 10
2.3.4. Phản hồi và tự đánh giá ................................................................................................... 10

2.4. Kỹ năng mềm .............................................................................................................. 11
2.4.1. Kỹ năng làm việc nhóm .................................................................................................. 11
2.4.2. Kỹ năng quản lý thời gian ............................................................................................... 11
2.4.3. Kỹ năng giao tiếp ............................................................................................................ 12
CHƯƠNG 3. THAM GIA DỰ ÁN ................................................................................................. 13

Dự án Medda ..................................................................................................................... 13
CHƯƠNG 4. ĐÁNH GIÁ, NHẬN XÉT ......................................................................................... 14

4.1. Tự đánh giá ................................................................................................................. 14
4.2. Mô tả hoạch định tương lai dựa trên kết quả thực tập ................................................ 14


CHƯƠNG 1. GIỚI THIỆU CHUNG VỀ CƠNG TY
• Tên cơng ty: Công ty TNHH Dịch vụ đa phương tiện và Cơng nghệ Beetech

• Địa chỉ văn phịng Hồ Chí Minh: Lầu 2 - số 25/7 Nguyễn Bỉnh Khiêm, P. Bến Nghé,
Q.1
• Website cơng ty: Trang chủ - Beetech Company (beetechsoft.com)
• Quy mơ: 150-200 người.
• Lĩnh vực hoạt động:
o Cơng ty Beetech được thành lập với tôn chỉ “Kết nối cuộc sống dễ dàng hơn”.
Chúng tôi luôn cố gắng để giải quyết mọi yêu cầu, dù phức tạp đến đâu, từ khách
hàng. Bằng khối óc kỹ thuật logic và sáng tạo của mình, chúng tơi phân tích và
đưa ra các giải pháp tiếp cận, hiểu và giải quyết vấn đề một cách nhanh chóng.
o Beetech là một tập thể nhân viên trẻ trung và năng động. Với khả năng công
nghệ và tri thức vững vàng, cùng với quy trình làm việc theo tiêu chuẩn quốc
tế, Beetech đã và đang phát triển mạnh mẽ, đáp ứng tốt nhất và hiệu quả nhất
các yêu cầu của khách hàng.
o Cam kết của Beetech là luôn nỗ lực với mục tiêu mang lại sự hài lịng cho khách
hàng thơng qua các sản phẩm và dịch vụ phần mềm chất lượng, tích hợp các
giải pháp cơng nghệ tương lai một cách tối ưu.
o "Cung cấp giải pháp công nghệ giúp cuộc sống trở nên dễ dàng hơn" - Đó là
thơng điệp mà Beetech muốn gửi đến mọi người thơng qua cơng việc của mình.
o Vương Khánh Bằng - Founder and CEO của Beetech, người đã dẫn dắt đội ngũ
của Beetech để đạt được những thành tựu ngày hôm nay.
o Với sự hợp tác chặt chẽ cùng với các đối tác Nhật Bản, Beetech đang không
ngừng mở rộng tầm ảnh hưởng và tăng cường năng lực của mình trong ngành
cơng nghệ thơng tin.
o Năm 2016, Beetech được thành lập và đến hiện tại có 3 văn phịng đặt tại Thành
phố Hồ Chí Minh, Đà Nẵng và Hà Nội.

1


CHƯƠNG 2. TẬP HUẤN

2.1. Mô tả về công việc
iOS Developer là vị trí vơ cùng quan trọng trong ngành phát triển ứng dụng di động. Họ
là những người chịu trách nhiệm phát triển, cải tiến, và duy trì các ứng dụng trên hệ điều
hành iOS của Apple.
iOS Developer cần phải có kỹ năng lập trình tốt bằng Swift hoặc Objective-C, hai ngơn
ngữ chính được Apple hỗ trợ để phát triển ứng dụng cho iOS. Họ cũng cần hiểu rõ về iOS
SDK (Software Development Kit) và các công cụ phát triển như Xcode, vì chúng là những
cơng cụ quan trọng trong q trình phát triển ứng dụng.
Ngồi ra, iOS Developer cũng phải có kiến thức sâu về thiết kế UI/UX, bởi vì họ phải đảm
bảo rằng ứng dụng của mình khơng chỉ hoạt động tốt, mà còn dễ sử dụng và thu hút người
dùng. Điều này đòi hỏi iOS Developer phải làm việc chặt chẽ với các nhóm thiết kế và
kiểm thử để đảm bảo chất lượng sản phẩm cuối cùng.
Vậy nói sâu hơn về cơng việc của một iOS Developer, nó bao gồm:
• Phát triển và cải tiến các ứng dụng trên nền tảng iOS.
• Tìm hiểu và áp dụng những công nghệ mới nhất trong lĩnh vực phát triển ứng dụng di
động.
• Làm việc chặt chẽ với các nhóm khác như thiết kế và kiểm thử để tạo ra những ứng dụng
tốt nhất cho người dùng.
• Đảm bảo rằng ứng dụng của mình tuân thủ các nguyên tắc thiết kế và nguyên tắc hoạt
động của Apple.
Một iOS Developer sẽ thường góp mặt trong một nhóm phát triển phần mềm theo phương
pháp Agile.

Các vị trí tương tác trực tiếp:

2


• UX/UI Designer: iOS Developer sẽ làm việc chặt chẽ với Designer để thực hiện các thiết
kế UI/UX một cách chính xác trên ứng dụng.

• Backend Developer: iOS Developer cần phối hợp với Backend Developer để đảm bảo
ứng dụng hoạt động mượt mà, dữ liệu được trao đổi đúng và nhanh chóng giữa server và
ứng dụng.
• QA Tester: iOS Developer sẽ cần làm việc với Tester để đảm bảo ứng dụng hoạt động
đúng u cầu, khơng có lỗi và mang lại trải nghiệm tốt cho người dùng.

2.2. Lịch tập huấn và tham gia dự án
Thời gian thực tập: từ 28.11.2022 đến 16.04.2023.
Thời gian lên công ty: fulltime(t2-t6).
Ngày

Nội dung

Chi tiết

28.11.2022 - Onboarding

• Nhận thiết bị.

02.12.2022

• Gặp gỡ đồng nghiệp trong dự án.
• Làm quen với thiết bị được cấp.
• Làm quen với văn hóa của cơng ty.

05.12.2022 - Training các kiến thức về swift

• Cơ bản về Swift: Là ngơn ngữ lập
trình chính được sử dụng để phát triển


16.12.2022

ứng dụng cho iOS, Swift cung cấp
hiệu suất cao và tính năng hiện đại
giúp việc phát triển ứng dụng trở nên
nhanh chóng và an tồn.
• Syntax và Kiểu Dữ Liệu trong Swift:
Hiểu về cú pháp cơ bản của Swift,
cũng như các kiểu dữ liệu sử dụng
trong Swift như String, Int, Double,
Bool, Array, và Dictionary.
3


• Kiểm Sốt Luồng và Vịng Lặp trong
Swift: Sử dụng các điều kiện và vịng
lặp để kiểm sốt luồng của chương
trình, bao gồm if, else, switch, for,
while, và repeat-while.
• Hàm và Closures trong Swift: Hiểu
cách tạo và sử dụng hàm, cũng như
cách sử dụng closures để viết mã ngắn
gọn và dễ đọc hơn.
• OOP trong Swift: Hiểu về các khái
niệm cơ bản của lập trình hướng đối
tượng như class, object, inheritance,
polymorphism, encapsulation, và
abstraction.
• Coding convention: Hiểu về các quy
tắc và quy ước khi viết mã Swift để

đảm bảo mã nguồn dễ đọc, dễ bảo
dưỡng và đồng nhất.
• Transitions & Animations trong
Swift: Hiểu cách tạo các hiệu ứng
chuyển đổi và hoạt hình trong ứng
dụng iOS để tăng tính tương tác và
hấp dẫn cho người dùng.
• UI trong Swift: Hiểu cách tạo và sắp
xếp các thành phần UI trong Swift sử
dụng UIKit và SwiftUI. Bao gồm cách
tạo và tùy chỉnh các view, label,
button, textfield, image view, table
view, collection view, v.v. cũng như
4


cách xử lý sự kiện người dùng trên
các thành phần này.
• Auto Layout trong Swift: Hiểu cách
sử dụng Auto Layout để tạo giao diện
đáp ứng mà tự động điều chỉnh kích
thước và vị trí của các thành phần UI
dựa trên kích thước màn hình và
hướng thiết bị.
• Storyboards và Segues trong Swift:
Hiểu cách sử dụng Storyboards để
thiết kế giao diện người dùng và
Segues để điều hướng giữa các màn
hình trong ứng dụng.
19.12.2023 - Thực hành thực hiện ứng dụng

16.01.2023

• Sử dụng Storyboard trong Swift: Được

chat sử dụng Storyboard và

hướng dẫn chi tiết về cách sử dụng

Firebase

Storyboard để thiết kế giao diện người
dùng cho ứng dụng chat. Bao gồm việc
tạo và sắp xếp các thành phần UI như
view, label, button, textfield, image
view, table view, table view cell, v.v.
trên Storyboard. Cũng như cách tạo và
sử dụng segues để điều hướng giữa các
màn hình trong ứng dụng.
• Tạo giao diện người dùng cho ứng
dụng chat: Trực tiếp thực hành tạo giao
diện người dùng cho ứng dụng chat,
bao gồm màn hình đăng nhập, màn
hình đăng ký, màn hình danh sách tin
nhắn (sử dụng table view và table view
5


cell), màn hình chat và tính năng tìm
kiếm (sử dụng search bar).
• Sử dụng Firebase trong Swift: thiết lập

sử dụng Firebase realtime database để
thực hiện chat thời gian thực. Firebase
Cloud Messaging để thực hiện nhận tin
nhắn.
• Sử dụng RxSwift: Được hướng dẫn về
RxSwift, một thư viện phát triển ứng
dụng phản ứng cho Swift. Được sử
dụng để xử lý sự kiện và quản lý dòng
dữ liệu bất đồng bộ trong ứng dụng
chat. RxSwift giúp code trở nên gọn
gàng và dễ đọc hơn.
• Xây dựng chức năng đăng nhập và
đăng ký: Thực hành tạo chức năng
đăng nhập và đăng ký cho ứng dụng
chat, bao gồm việc tạo form đăng nhập
và đăng ký trên Storyboard, xử lý sự
kiện người dùng trên form, và tương
tác với Firebase để thực hiện việc đăng
nhập và đăng ký.
• Xây dựng chức năng chat: Thực hành
tạo chức năng chat cho ứng dụng, bao
gồm việc tạo giao diện người dùng cho
màn hình chat, xử lý sự kiện người
dùng trên màn hình chat, và tương tác
với Firebase để gửi và nhận tin nhắn.

6


• Link


github:

hiepchau/ChatSwift:

Study MVVM iOS app (github.com)
30.01.2023 – Giai đoạn 2 của cơng ty: tham • Tìm hiểu thêm về ngành y tế: Em đã có cơ
16.04.2023

gia dự án thực tế. Dự án Medda hội tìm hiểu thêm về nghiệp vụ y tế, hiểu rõ
hơn về quy trình, thủ tục cũng như các nhu cầu
cụ thể của người dùng trong lĩnh vực y tế, điều
này giúp em có thể phát triển ứng dụng phù
hợp hơn.
• Giải quyết các lỗi: Em đã nhận và xử lý các
bug từ dự án, từ đó, em đã nắm được quá trình
tìm kiếm, phân loại và giải quyết lỗi trong dự
án thực tế, đồng thời cũng cải thiện kỹ năng
debug code của mình.
• Tìm hiểu và ứng dụng RxSwift và mơ hình
MVVM: Dự án Medda sử dụng RxSwift và
mơ hình kiến trúc MVVM (Model-ViewViewModel), em đã học hỏi và thực hành với
hai công nghệ này, từ đó nắm vững cấu trúc
và cách vận hành của chúng.
• Thực hiện các công việc cụ thể: em đã được
phân cơng và hồn thành các cơng việc cụ thể,
như xây dựng màn hình module nhắn tin/call
của app.
• Tìm hiểu về mơ hình Agile và Scrum: Trong
q trình làm việc, em đã tìm hiểu và thực

hành theo mơ hình Agile và phương pháp
quản lý dự án Scrum. Qua đó, em đã nắm
được quy trình làm việc linh hoạt, cách tổ
7


chức và phân chia công việc hiệu quả trong
team, cũng như việc xác định và giải quyết
vấn đề trong quá trình thực hiện dự án.

8


2.3. Kiến thức thu được
2.3.1. Tìm hiểu cơng ty
Thời gian: 1 ngày.
Nội dung:
• Tìm hiểu về các quy tắc làm việc ở cơng ty.
• Tìm hiểu về các lợi ích của thực tập sinh và nhân viên chính thức.
• Tìm hiểu về các trang thơng tin của cơng ty.
• Tìm hiểu về vai trị của vị trí iOS Developer trong dự án thực tế.
Kết quả:
• Có hiểu biết về cơng ty, lợi ích của thực tập sinh và vai trị của vị trí thực tập.
2.3.2. Nền tảng cơ bản về lập trình iOS
Thời gian: 2 tuần.
Nội dung:
• Ngun lý hoạt động của iOS: hiểu về cấu trúc và hoạt động cơ bản của hệ điều hành
iOS.
• Swift: hiểu về một trong những ngơn ngữ lập trình chính được trong phát triển ứng
dụng iOS

• Xcode: IDE phổ biến dùng cho phát triển ứng dụng trên iOS
o Học được cách sử dụng cơ bản Xcode
o Thực hành xây dựng ứng dụng đơn giản với Xcode.
Kết quả:
• Có hiểu biết về các khái niệm liên quan đến phát triển ứng dụng iOS, cách sử dụng
Xcode.

9


2.3.3. Kiến thức và thực hành Swift
Thời gian: 1 tháng.
Nội dung:
• Swift fundamentals: Kiến thức nền tảng về Swift:
o Học được các kiến thức cơ bản về Swift.
o Thực hành tạo một ứng dụng iOS đơn giản,
• Thiết kế UI/UX trên iOS: Hiểu và thực hành cách thiết kế giao diện người dùng và tạo
ra trải nghiệm người dùng tốt trên iOS.
• Coding convention: Hiểu và áp dụng các quy tắc trong việc viết code Swift.
• Khám phá và sử dụng các thư viện iOS phổ biến: Hiểu về cách sử dụng và tích hợp các
thư viện vào dự án iOS.
Kết quả:
• Có kiến thức nền tảng về viết code Swift, các quy tắc viết code và cách sử dụng các
thư viện phổ biến trong phát triển ứng dụng iOS.
2.3.4. Phản hồi và tự đánh giá
Thời gian: 5 ngày.
Nội dung:
• Phản hồi: Nhận phản hồi từ mentor và các đồng nghiệp khác về cơng việc của bạn.
• Tự đánh giá: Dựa vào phản hồi và kinh nghiệm làm việc, tự đánh giá về quá trình thực
tập, những điểm mạnh, điểm yếu và những điều cần cải thiện.

Kết quả: Có khả năng tự đánh giá cơng việc của mình và nhận biết được những điểm cần cải
thiện.

10


2.4. Kỹ năng mềm
• Trong q trình thực tập tại Cơng Ty Beetech, em đã có cơ hội nắm bắt và phát triển
rất nhiều kỹ năng mềm quan trọng. Ngoài việc nâng cao kỹ năng chuyên môn thông
qua các dự án và cơng việc hằng ngày, em cũng đã tích lũy được các kỹ năng quan
trọng như làm việc nhóm, quản lý thời gian, kỹ năng giao tiếp và khả năng thích ứng
với mơi trường mới.
2.4.1. Kỹ năng làm việc nhóm
Cơng ty em thực tập có một nét văn hóa đặc biệt, đó là chourei, một cuộc họp ngắn vào mỗi
sáng thứ ba hằng tuần. Chourei không chỉ giúp mọi người cập nhật thông tin mới nhất về dự
án và cơng việc của nhau mà cịn giúp tăng cường tình đồn kết trong nhóm:
Để cân nhắc giữa việc học và thực tập, em đã phải học cách quản lý thời gian một cách hiệu
quả:
• Họp daily hằng ngày theo mơ hình scrum.
• Đặt mục tiêu và lập kế hoạch cho mỗi ngày để đảm bảo hồn thành cơng việc một cách
tốt nhất.
• Tập trung vào cơng việc và tránh những phần xao lạc khơng cần thiết.
• Sắp xếp thời gian sao cho hợp lý giữa thời gian học tập và thực tập.
2.4.2. Kỹ năng quản lý thời gian
Trong quá trình thực tập tại Cơng Ty Beetech, em đã có cơ hội nắm bắt và phát triển rất nhiều
kỹ năng mềm quan trọng. Ngồi việc nâng cao kỹ năng chun mơn thông qua các dự án và
công việc hằng ngày, em cũng đã tích lũy được các kỹ năng quan trọng như làm việc nhóm,
quản lý thời gian, kỹ năng giao tiếp và khả năng thích ứng với mơi trường mới.
• Học được cách tập trung vào cơng việc.
• Có thói quen lên kế hoạch trong ngày.

• Xây dựng được giờ giấc sinh hoạt hợp lí, lành mạnh hơn.

11


2.4.3. Kỹ năng giao tiếp
Giao tiếp là một kỹ năng không thể thiếu, khi làm việc với các thành viên trong nhóm, cần
biểu đạt được suy nghĩ, ý kiến của bản thân để mọi người có thể hiểu được một cách rõ ràng,
là điều khá khó đối với em.
• Học được cách mở lời, khơng ngại nói sai.
• Luyện tập ôn lại kiến thức bằng cách tự giảng bài cho mình.

12


CHƯƠNG 3. THAM GIA DỰ ÁN
Dự án Medda
Thời gian: 2 tháng.
Đây là dự án production của công ty về hồ sơ bệnh án điện tử.
Blog Engineering là một ứng dụng Web cho phép người dùng chia sẻ cuộc sống hằng ngày,
như một cuốn nhật ký, chia sẻ những sinh hoạt hằng ngày, những khoảnh khắc mà mình muốn
lưu giữ và lan tỏa đến mọi người.
Vai trị trong dự án:
• Xử lý và sửa các bug nhỏ và vừa trong ứng dụng.
• Phát triển module chat, bao gồm:
o Màn hình (MH) Chat Detail: thực hiện việc xây dựng giao diện và ghép API
cho màn hình chi tiết cuộc trị chuyện.
o Thiết lập FCM(Firebase cloud messaging) để quản lý các thông báo push, truyền
thông báo tin nhắn cho người dùng.
o MH Danh sách cuộc trị chuyện: tơi thiết kế và thực hiện danh sách các cuộc trò

chuyện mà một bác sĩ hoặc bệnh nhân đã tham gia.
Cách thực hiện: tạo ra các component nhỏ như từng bubble chat, table view và sau đó gắn
mọi thứ với nhau vào màn chính để hoạt động.
Các kiến thức cần có:
• Swift
• Sử dụng github
• FCM(Firebase cloud messaging): của Firebase để truyền thông báo xuống thiết bị.

13


CHƯƠNG 4. ĐÁNH GIÁ, NHẬN XÉT
4.1. Tự đánh giá
Quãng thời gian thực tập tại Beetech đã mang đến cho em rất nhiều giá trị. Em đã học được
vô vàn kiến thức mới, kỹ năng thực tế và cảm nhận được sự gắn kết với những đồng nghiệp
tuyệt vời.
Các mục tiêu em đã đặt ra cho thực tập đã được hoàn thành một cách thành công. Em đã nắm
bắt được kiến thức về giao diện người dùng và lập trình các thành phần giao diện, đồng thời
hiểu rõ hơn về quy trình làm việc của dự án và cơng ty. Em cũng đã cải thiện được các kỹ
năng mềm như làm việc nhóm, giao tiếp, quản lý thời gian, thích nghi với môi trường làm
việc thực tế và công ty đa quốc gia.
Với sự cân nhắc giữa việc học tập và thực tập, em đã nhận được phản hồi tích cực và em thực
sự hài lòng với những thành quả mà mình đạt được.Em đã cân bằng được việc học trên trường
cũng như quá trình thực tập được diễn ra khá thành công, nhận được đánh giá khá tốt và em
cũng cảm thấy hài lịng với những gì mình đạt được.

4.2. Mô tả hoạch định tương lai dựa trên kết quả thực tập
Với những kinh nghiệm và kiến thức đã học được từ thực tập, em hiểu rằng mình muốn tiếp
tục theo đuổi con đường trở thành một iOS Developer. Em cảm thấy mình thích hợp với vị trí
này và sẽ cống hiến cho cơng ty, với mong muốn có thể trở thành nhân viên chính thức sau

thời gian thực tập.
Em cũng nhận ra rằng, dù iOS Development có thể trơng khá khó khăn và thách thức, nhưng
với sự kiên nhẫn, tư duy lập trình và sự hiểu biết về hệ điều hành iOS, đây chính là mơi trường
thích hợp để em phát triển sự nghiệp. Em sẽ tiếp tục học hỏi, nâng cao kỹ năng và kiến thức
để đạt được mục tiêu trở thành một iOS Developer chuyên nghiệp.

14



×