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 (444.67 KB, 24 trang )
<span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">
2
Ngày nay, lĩnh vực lập trình di động và phát triển ứng dụng trên hệ điều hành Android đóng vai trị quan trọng trong việc định hình sự tiện lợi và hiệu quả của xã hội ngày nay.
Ứng dụng di động đã trở thành một phần không thể thiếu của cuộc sống, từ giải trí, mua sắm, giáo dục đến giao tiếp. Với hơn 3 triệu ứng dụng trên Google Play Store, thị trường di động trở nên ngày càng đa dạng và cạnh tranh. Tuy nhiên, sự đa dạng này không làm giảm đi nhu cầu về việc phát triển những ứng dụng mới, độc đáo và chất lượng.
Một ứng dụng di động muốn thu hút người dùng cần phải kết hợp giữa giao diện người dùng thu hút và chức năng mạnh mẽ. Việc này đặt ra một thách thức lớn đối với doanh nghiệp phát triển ứng dụng di động, và để vượt qua thách thức này, người ta thường vẫn thường đến tìm đến các hướng đi Native như lập trình Android và lập trình iOS để xây dựng ứng dụng thay vì chỉ sử dụng thuần các công nghệ Cross-platform như Flutter.
Sau những năm học tại Trường Đại học Công nghệ thông tin, với mong muốn ứng dụng kiến thức đã học vào thực tế và có được trải nghiệm làm việc trong mơi trường chuyên nghiệp, em quyết định tham gia vào công ty TNHH NAVER Việt Nam – một công ty mà em tin tưởng là môi trường tốt nhất hiện tại mà em có thể tìm kiếm được ở vị trí thực tập sinh Android.
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">3
Trước tiên, em xin gửi lời cảm ơn đến Trường Đại học Công nghệ thông tin –
ĐHQG TP.HCM và các thầy cô là giảng viên của khoa Công nghệ phần mềm đã tạo điều kiện để em hồn thành khóa thực tập ngắn hạn tại doanh nghiệp và quan trọng hơn hết là nền tảng kiến thức cơ bản về công nghệ phần mềm.
Em cũng xin cảm ơn thầy Quan Chí Khánh An, là GVHD mơn Thực tập doanh nghiệp đã hỗ trợ em trong quá trình thực tập.
Đồng thời, em xin gửi lời cảm ơn chân thành Công ty TNHH NAVER Việt Nam đã cho em cơ hội được thực tập tại công ty.
Em chân thành cảm ơn anh Nguyễn Thanh Tùng, là mentor chính của em đã dẫn dắt em từ những ngày đầu bước vào công ty. Đồng thời, em cũng xin cảm ơn các tất cả anh chị trong team Android của công ty đã train cho em các kiến thức, kĩ năng cần thiết trong lập trình Android cũng như bổ sung cho em các kĩ năng mềm cần thiết như quản lý thời gian, ghi chép hiệu quả, giao tiếp, lên kế hoạch để quá trình thực tập diễn ra được thuận lợi. Đồng thời, em cũng xin gửi lời cảm ơn đến anh Kang Lee, là leader team Android đã định hướng và giúp đỡ em rất nhiều trong suốt quá trình thực tập.
Một lần nữa em xin chân thành cảm ơn!
Thành phố Hồ Chí Minh, 25 tháng 12 năm 2023 Sinh viên
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP ... 9
1.1. Giới thiệu công ty ... 9
1.2. Sản phẩm công ty ... 10
1.2.1. NAVER ... 10
1.2.2. NAVER WORKS ... 11
1.2.3. NAVER CLOVA ... 11
1.3. Lịch làm việc khi thực tập tại công ty ... 12
CHƯƠNG 2: NỘI DUNG THỰC TẬP ... 13
2.1. Tìm hiểu về cơng ty và các kỹ năng cơ bản trong công ty ... 13
2.2. Nghiên cứu kỹ thuật ... 13
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">7
Bảng 3.1. Bảng chuẩn đạt được trong môn học ... 22
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">Kit <sup>Bộ công cụ phát triển phần mềm </sup>
QA Quality Assurance Bộ phận kiểm soát chất lượng phần mềm
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">9
<b>1.1. Giới thiệu cơng ty </b>
Hình 1.1. Logo Cơng ty NAVER Việt Nam
NAVER Co., Ltd. là một thương hiệu toàn cầu cung cấp một loạt các dịch vụ, bao gồm cơng cụ tìm kiếm web lớn nhất tại Hàn Quốc, ứng dụng nhắn tin LINE với hơn 200 triệu người dùng trên toàn thế giới, ứng dụng video SNOW, nền tảng truyện tranh số NAVER WEBTOON, và nhiều dịch vụ khác. Năm 2018, NAVER được công nhận là công ty đổi mới thứ 9 trên thế giới bởi Forbes và được liệt kê là một trong top 6 cơng ty Future 50 của tạp chí Fortune.
Năm 2021, sự mở rộng của NAVER tại Việt Nam đã nhằm vào việc tận dụng thị trường Công nghệ thông tin đang phát triển của Việt Nam bằng cách hợp tác ban
<b>đầu với hai trường đại học hàng đầu tại Hà Nội. Cùng năm, NAVER Vietnam </b>
<b>Development Center (NVDC) đã được thành lập tại Thành phố Hồ Chí Minh. </b>
Cơng ty tiếp tục giữ vững giá trị cốt lõi "Autonomy - Challenge – Teamwork" và cam kết trở thành một trong những trung tâm phát triển mạnh mẽ nhất tại châu Á. Năm 2023, NAVER Việt Nam được vinh danh là Công ty Công nghệ thông tin xuất sắc nhất tại giải thưởng Vietnam Best IT Companies năm 2023 của ITViec.com, chỉ sau một năm thành lập tại Việt Nam.
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">10
<b>1.2. Sản phẩm công ty 1.2.1. NAVER </b>
Hình 1.2. NAVER
Được mệnh danh là Google của Hàn Quốc, NAVER là search engine phổ biến nhất tại Hàn Quốc, hơn cả Google. Đồng thời, Naver cũng cung cấp các dịch vụ tích hợp như thanh toán kỹ thuật số, từ điển, dịch thuật và nền tảng phát nhạc trực tuyến. Không chỉ vậy, công cụ này còn đưa người dùng đến các dịch vụ trực tuyến khác như đặt vé máy bay trực tuyến, đặt phịng khách sạn, mua xe...
Tóm lại, Naver khơng chỉ là một cơng cụ tìm kiếm đơn thuần, nó cịn có cả những tính năng tương tự Quora, Apple Pay, YouTube và tất cả bộ dịch vụ của Google được kết hợp thành một nền tảng duy nhất.
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><b>1.2.3. NAVER CLOVA </b>
Hình 1.4. Naver Clova
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">12 NAVER Clova là một trợ lý ảo dành cho hệ điều hành Android và iOS được phát triển bởi NAVER Corporation và Line Corporation (công ty con của NAVER). Clova, viết tắt của "trợ lý ảo đám mây", được giới thiệu chính thức vào ngày 1 tháng 3 năm 2017.
<b>1.3. Lịch làm việc khi thực tập tại công ty </b>
- Thời gian làm việc tại công ty: Từ ngày 17/7/2023 – Nay.
- Số ngày làm việc trong tuần: Tối thiếu 4 ngày/tuần, từ thứ 2 đến thứ 6. - Thời gian làm việc: Từ 9h sáng đến 6h tối.
- Thời gian nghỉ trưa 1 tiếng từ 12h đến 13h.
- Hàng tuần sẽ có một buổi họp cả team Android dể báo cáo tiến độ cũng như bàn bạc về các vấn đề cần thiết.
- Mỗi sáng 9h30 sẽ báo cáo với anh mentor chính về cơng việc mình sẽ làm hơm này và tương tự vào 5h30 chiều sẽ báo cáo lại những việc mình đã làm trong ngày, kết quả, và các vấn đề mình gặp phải để được trợ giúp.
- Hình thức làm việc: Tại văn phịng cơng ty (Thực tập sinh khơng có hình thức làm việc WFH)
- Môi trường làm việc: Tiếng Việt + Tiếng Anh.
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">13
<b>2.1. Tìm hiểu về cơng ty và các kỹ năng cơ bản trong công ty </b>
Thời gian: 1 ngày Nội dung:
- Nhân viên phụ trách IT của công ty hỗ trợ lắp đặt các phần mềm cần thiết cũng như phổ biến các quy định về bảo mật, giữ gìn tài sản của cơng ty.
- Leader giới thiệu về công ty, cách tổ chức của cơng ty, các phịng ban, quy trình chung cũng như các quy định cần tuân thủ trong quá trình làm việc. - Anh Buddy giới thiệu với các thành viên trong team, các dự án đang được thực
hiện cũng như văn hóa chung của team, của công ty.
- Các thành viên khác trong team hướng dẫn cách sử dụng các công cụ, thiết bị, vật tư của công ty, cách chấm công.
Kết quả: Hiểu thêm về công ty NAVER Việt Nam cũng như các quy trình, quy định chung cần thiết cho q trình thực tập tại cơng ty
<b>2.2. Nghiên cứu kỹ thuật </b>
<b>2.2.1. Tuần 1 (17/07 – 23/07/2023) </b>
Nội dung:
- Tìm hiểu về cơng ty, các phịng ban, quy trình chung của team.
- Thực hiện q trình onboarding của cơng ty và team gồm các nội dung như: Điền thông tin cá nhân, Tham gia vào các kênh giao tiếp của công ty, Đọc qua các quy định chung của team.
- Cài đặt các phần mềm cần thiết cho việc lập trình Android như Android Studio, Git, Fork.
- Tìm hiểu cách sử dụng các công cụ, nền tảng cơ bản hỗ trợ cho công việc tại NAVER Việt Nam.
Kết quả: Hồn thành cơng việc được giao.
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">14
<b>2.2.2. Tuần 2 (24/07 – 30/07/2023) </b>
Nội dung:
- Tiến hành train về ngôn ngữ lập trình Kotlin.
- Tìm hiểu các thơng tin cơ bản về Kotlin và sự khác biệt với các ngơn ngữ khác. - Tìm hiểu các kỹ thuật nâng cao trong lập trình Kotlin.
- Thảo luận với trainer về các nội dung mình đã tìm hiểu. - Tiến hành thực hiện một số bài tập để củng cố kiến thức. Kết quả: Hoàn thành công việc được giao.
<b>2.2.3. Tuần 3 (30/07 – 05/08/2023) </b>
Nội dung:
- Tiến hành train về kiến trúc ứng dụng Android.
- Tìm hiểu về các kiến trúc thường được sử dụng trong lập trình Android. - Tìm hiểu các best practice trong kiến trúc Android, các thành phần quan trọng
và các chú ý khi lập trình.
- Thảo luận với trainer về các nội dung mình đã tìm hiểu. - Tiến hành thực hiện một số bài tập để củng cố kiến thức. Kết quả: Hồn thành cơng việc được giao .
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">15 - Tìm hiểu về các best practice trong Android App Navigation, cách thiết kế Nav Graph, các quy luật trong App Navigation, cũng như một số công cụ để vẽ Nav Graph trong Android Studio.
- Thảo luận với trainer về các nội dung mình đã tìm hiểu. - Tiến hành thực hiện một số bài tập để củng cố kiến thức. Kết quả: Hồn thành cơng việc được giao.
<b>2.2.5. Tuần 5 (13/08 – 19/08/2023) </b>
Nội dung:
- Tiến hành train về Flow & Coroutine trong lập trình Android và Debugging. - Tìm hiểu về lập trình bất đồng bộ cũng như cách Flow & Coroutine giải quyết
vấn đề trên trong Android.
- Tìm hiểu các operator và cú pháp thường dùng cũng như các use case cho Flow và Coroutine.
- Tìm hiểu về các công cụ để Debug và Monitor trong Android Studio hoặc một số cơng cụ ngồi như LeakCanary hay Android Profiler.
- Thảo luận với trainer về các nội dung mình đã tìm hiểu. - Tiến hành thực hiện một số bài tập để củng cố kiến thức. Kết quả: Hồn thành cơng việc được giao.
<b>2.2.6. Tuần 6 (20/08 – 26/08/2023) </b>
Nội dung:
- Tiến hành train về NAVER Platform và các công cụ cho development.
- Tìm hiểu nền tảng do NAVER phát triển để sử dụng trong quá trình dev như công cụ Logging, các cloud server để host các tool CI/CD, Lint check, Monitoring, Analytics.
- Thảo luận với trainer về các nội dung mình đã tìm hiểu.
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">16 - Thực hành tạo các workspace trên các nền tảng trên.
Kết quả: Hồn thành cơng việc được giao.
- Tìm hiểu một số thành phần trong Design System.
- Tìm hiểu Design System phổ biến cho Android hiện nay là Material Design 3 được thiết kế và phát triển bởi Google.
- Thảo luận với trainer về các nội dung mình đã tìm hiểu. Kết quả: Hồn thành cơng việc được giao.
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">18 - Hỏi ý kiến các trainer về cách áp dụng các kiến thức, kĩ năng đã học vào viết
thiết kế một số thành phần quan trọng cho ứng dụng.
- Thiết lập các quy định chung về code style, git convention, code convention, quản lý dự án.
Tuần 3 - 6:
- Thời gian: 24/09 – 21/10/2023.
- Tiến hành xây dựng ứng dụng theo yêu cầu và kế hoạch đã vạch ra. - Liên tục báo cáo tiến độ với mentor.
- Sửa đổi code theo các feedback nhận được từ code review.
- Có một buổi demo chính thức trước team để nhận feedback về các tính năng. - Ra bản release đầu tiên sử dụng nội bộ trong team.
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">19 - Học hỏi được nhiều công nghệ mới cũng như cách làm việc trong môi trường
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">20
<b>Kế hoạch thực hiện: </b>
- Mỗi ngày sẽ có Daily Standup với cả team trừ Product Owner.
- Mỗi tuần sẽ có cuộc họp Weekly để Product Owner nắm tình hình thực hiện. - Cách 2 tuần vào T4 sẽ có buổi Sprint Planning + Retrospective để lên kế hoạch
cho sprint tiếp theo cũng như xem lại các vấn đề cần cải thiện.
- Cách 2 tuần vào T3 sẽ có buổi Review + Internal Demo để Product Owner kiểm tra tiến độ dự án và mức độ hồn thiện tính năng.
Tuần 1:
- Thời gian: 19/11 – 25/11/2023.
- Product Owner phổ biến về dự án và giúp onboarding về mặt yêu cầu.
- Các anh mentor hỗ trợ onboarding về mặt kiến trúc và thiết kế của SDK và ứng dụng cũng như về các luồng chạy, thông tin quan trọng.
- Cài đặt môi trường và source code của dự án. - Tiến hành làm một số task nhỏ.
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">21 Tuần 8:
- Thời gian: 25/12 – nay.
- Tiếp tục phát triển SDK và ứng dụng.
<b>2.4.3. Kết quả thực hiện </b>
Kết quả đạt được:
- Hoàn thành tốt các công việc được giao.
- Học hỏi được cách giao tiếp và làm việc nhóm. Học được cách quản lý công việc hiệu quả.
- Nâng cao chuyên mơn kỹ thuật trong lập trình nói chung và lập trình Android nói riêng.
Thuận lợi:
- Các anh mentor hỗ trợ tận tình trong suốt quá trình thực hiện.
- Các thành viên trong dự án đều có chung một phong cách làm việc, việc giao tiếp và phối hợp diễn ra thuận lợi.
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">22
Quãng thời gian thực tập tại công ty NAVER Việt Nam đã mang lại cho em nhiều kiến thức và kỹ năng. Tại đây, em đã học được tác phong làm việc chuyên nghiệp của một doanh nghiệp, các kỹ năng lập trình cần thiết cũng như các kỹ năng mềm như giao tiếp, quản lý thời gian, quản lý dự án…
Sau một thời gian nỗ lực, em đã xây dựng thành cơng một ứng dụng tương đối ổn định và có thể được đưa vào sử dụng thực tế. Đồng thời, dự án em đang tham gia hiện tại cũng nhận được rất nhiều mong đợi từ các thành viên trong team.
- Giao tiếp còn dài dòng, chưa súc tích ở một số điểm.
- Đơi khi cịn mắc các lỗi liên quan đến clean code và convention.
- Khả năng estimate thời gian thực hiện các task còn yếu, thường estimate sai các task cần nhiều thời gian thực hiện.
<b>3.3. Chuẩn đạt được </b>
Bảng 3.1. Bảng chuẩn đạt được trong môn học
<b>Goal Mục tiêu môn học </b>
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
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">23 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
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">24
[1] NAVER Vietnam, "Company Introduction," [Online]. Available: [Accessed 05 12 2023]. [2] VnReview, "Tại sao người Hàn Quốc thích dùng Naver hơn Google?,"
[Online]. Available: thich-dung-naver-hon-google.3489642. [Accessed 5 12 2023].
Wikipedia, "Clova (Virtual assistant)," [Online]. Available:
[Accessed 25 12 2023].
</div>