Đang tải... (xem toàn văn)
Chân thành cảm ơn các anh trong team đã 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 t
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
Mobile Developer
Công ty thực tập: FYC Studio
Người phụ trách: Nguyễn Minh Phương Thực tập sinh:
Huỳnh Trung Hiếu
TP Hồ Chí Minh, tháng 1 năm 2024
Trang 2LỜI MỞ ĐẦU
Lĩnh vực lập trình di động đóng vai trò cực kỳ quan trọng trong việc định hình sự phát triển của xã hội Cùng với sức mạnh của công nghệ thông tin, ngành Công nghệ phần mềm đã nổi lên như một nhân tố then chốt, mang lại sự tiện ích, kết nối và sự sáng tạo không ngừng
Ứng dụng di động không chỉ là một phương tiện tiếp cận thông tin mà còn là một cầu nối đưa mọi người đến gần nhau hơn, giúp họ tận hưởng những tiện ích to lớn từ mua sắm đến giải trí, từ việc học tập đến quản lý công việc và cuộc sống Với hàng triệu ứng dụng di động tồn tại trên thị trường và sự tăng trưởng không ngừng, việc tạo ra một ứng dụng mới đòi hỏi không chỉ sự sáng tạo mà còn là khả năng kết hợp hài hòa giữa thiết kế và nội dung
Để đáp ứng yêu cầu ngày càng cao từ người dùng, một lập trình viên phát triển ứng dụng di động cần phải tập trung vào cả hai yếu tố: trải nghiệm người dùng tối ưu và nội dung hấp dẫn Với quyết tâm không ngừng học hỏi và thách thức bản thân trong ngành công nghiệp này, việc trở thành một Mobile Developer không chỉ là mục tiêu học tập mà còn là hướng nghiệp sáng tạo và đầy tiềm năng
Sau thời gian dày dặn học tập tại trường đại học, với sự mong muốn áp dụng kiến thức
đã học vào thực tế và trải nghiệm sâu hơn, em đã quyết định tham gia vào FYC Studio
- một môi trường chuyên nghiệp, nơi có thể thực hiện những ước mơ và dự định của mình trong lĩnh vực lập trình di động
Trang 3LỜI CẢM ƠN
Em xin trân trọng gửi lời cảm ơn FYC Studio đã 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
Nguyễn Minh Phương, 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 trong team đã 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, tháng 1 năm 2024 Huỳnh Trung Hiếu
Trang 5
1.2 Lịch làm việc khi thực tập tại công ty 6
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
Trang 6CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
Từ việc áp dụng kiến thức sâu rộng về đồ họa, công ty đã đầu tư mạnh mẽ vào việc nâng cao năng lực phát triển phần mềm, tập trung chủ yếu vào ứng dụng di động Sứ mệnh tiếp theo của FYC Studio là không chỉ tạo ra những trải nghiệm đồ họa đỉnh cao mà còn đưa sức mạnh của sáng tạo vào việc xây dựng các sản phẩm phần mềm với hiệu suất cao và tối ưu Sự chuyển đổi này không chỉ là một sự thay đổi mạnh mẽ trong
Trang 7chiến lược của công ty mà còn là sự cam kết tiếp tục đem đến cho khách hàng những sản phẩm vượt trội, kết hợp giữa tinh thần đồ họa và sức mạnh của công nghệ phần mềm để tạo ra những giải pháp hiệu quả và đáp ứng tốt nhất nhu cầu ngày càng đa dạng của thị trường
1.2 Lịch làm việc khi thực tập tại công ty
Khoảng thời gian thực tập
Bắt đầu bắt đầu từ ngày 01/06/2023 đến hết ngày 12/09/2023 Thời gian thực tập là là thứ 2, thứ 4, thứ 5 và thứ 6
Thời gian làm việc trong ngày
Công việc hàng ngày bắt đầu từ lúc 8h sáng và kết thúc vào 17h chiều
Thời gian nghỉ trưa
Thời gian nghỉ trưa là 65 phút, từ 11h55 đến 13h
Báo cáo công việc hàng ngày
Sau mỗi ngày làm, vào 17h15 phút em sẽ báo cáo tiến độ công việc quản lí Nội dung báo cáo bao gồm: công việc hôm nay đã làm kèm số thời gian thực hiện, có gặp vấn đề không thể giải quyết trong quá trình thực hiện, kế hoạch thực hiện công việc cho ngày kế tiếp, dự kiến làm thêm thời gian để hoàn thành công việc
Daily meeting
Vào mỗi sáng vào lúc 9h hàng ngày sẽ tổ chức Daily meeting trong 30 phút Anh quản lý sẽ đánh giá tiến độ công việc của từng thành viên và giao công việc mới nếu hoàn thành ở ngày trước đó, các thành viên trong team nếu có khó khăn thì sẽ nói trực tiếp để đưa ra hướng giải quyết
Trang 8Sprint planning
Vào 14h chiều thứ 2 hàng tuần sẽ tổ chức một buổi planning cho tuần tiếp theo Nội dung buổi planning này sẽ diễn ra trong khoảng từ 30-60 phút, sẽ tổng kết lại những công việc còn tồn đọng lại và một số công việc được cấp trên giao phó xuống Anh quản lí sẽ giao công việc cho những thành viên và mỗi thành viên sẽ tìm giải pháp cho task, ước tính thời gian thực hiện công việc
Weekly review
Vào 15h chiều thứ 6 hàng tuần sẽ tổng kết những gì đã làm được và những gì chưa làm được, mọi người chia sẽ những khó
khăn đã gặp phải Anh quản lí tổng kết và báo cáo tiến độ đến cấp trên
Môi trường giao tiếp
Hoàn toàn bằng tiếng Việt
Trang 9CHƯƠ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, quá 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, … Ngoài ra 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 công ty, 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
Từ tuần 1 đến tuần 4 là quá trình nghiên cứu kỹ thuật là giai đoạn quan trọng để làm quen với môi trường làm việc, học hỏi về công nghệ và chuẩn bị kiến thức cơ bản cho vai trò lập trình viên Flutter
hoàn thành
1
- Tìm hiểu về công ty, cơ cấu tổ chức, phòng ban
- Tìm Hiểu về Flutter và Dart
- Đọc tài liệu cơ bản về Flutter và Dart - Cài đặt Flutter SDK, tạo các ứng dụng mẫu đơn giản để hiểu cách chúng hoạt động
- Sử dụng IDE như Android Studio hoặc Visual Studio Code và cài đặt các plugin hỗ trợ Flutter
Anh Nguyễn Minh Phương
100%
Trang 10- Tìm hiểu về tính năng và công cụ debug, hot reload
- Tìm hiểu và thực hiện cách viết báo cáo vào mỗi ngày
- Báo cáo tiến độ hàng ngày
2
- Lý Thuyết về Flutter
- Học về cấu trúc Widget và Widget tree - Hiểu về Stateful và Stateless Widgets - Xây dựng ứng dụng đơn giản, sử dụng
các Widgets cơ bản như Container, Row, Column
Anh Huỳnh Tấn Thiện
async trong Flutter
Anh Nguyễn Minh Phương
100%
4
- Đọc các tài liệu, blog, xem video về các chủ đề như animations, navigation, packages
- Xây dựng ứng dụng Todo App kết hợp
Trang 11thành 1, 2 tasks đơn giản cho quen môi trường làm việc, sau này thì mới tăng độ khó lên từ từ Trong khoảng thời gian này, công việc hàng tuần của em cũng chỉ quanh quẩn làm task, meeting với các thành viên trong team, báo cáo tiến độ Đa phần thì task của em sẽ dễ hơn mọi người trong team 1 tí Tuy nhiên trong quá trình làm việc, do kinh nghiệm còn thiếu sót nên có những task em không hoàn thành đúng thời hạn, dẫn đến trễ tiến độ của dự án
● Thuận lợi
- Được làm việc trong môi trường chuyên nghiệp
- Hiểu được quy trình làm việc phát triển phần mềm thực tế - Được làm việc nhóm một cách hiệu quả
hoàn thành
5
- Tìm hiểu các folder thư mục dự án, ý nghĩa, quy định đặt tên biến, hàm, … - Đọc các quy tắt khi làm việc với git như:
Tạo nhánh, tạo PR, các lỗi thường xảy ra khi code, review chéo, …
- Đọc hiểu source code dự án mới - Làm chức năng đăng nhập
- Sửa màu button theo design
Anh Nguyễn Minh Phương
100%
Trang 126
- Được cấp account Microsoft Teams và Jira để thuận tiện cho việc giao task và kiểm tra tiến độ
- Tiếp tục thực hiện chức năng đăng nhập - Sửa lại design của màn hình đăng nhập - Dùng package Http 1.1.2 call api đăng
nhập từ Backend
- Tham gia Daily meeting cùng các anh chị, học hỏi về mô hình Agile Scrum
Anh Huỳnh Tấn Thiện
100%
7
- Thực hiện chức năng đăng ký
- Làm UI theo design màn hình đăng ký - Đổi Icon ứng dụng
Anh Nguyễn Minh Phương
- Sửa lại design màn hình đăng ký
Anh Nguyễn Minh Phương
100%
9
- Sửa design Màn hình Profile
- Thực hiện chức năng thay đổi thông tin Profile User
- Làm UI cho màn hình thay đổi mật khẩu - Thực hiện chức năng thay đổi mật khẩu
Anh Nguyễn Minh Phương
100%
10
- Làm UI cho màn hình Tìm Kiếm - Thực hiện chức năng tìm kiếm
- Sửa lỗi không thay đổi mật khẩu được trong màn hình thay đổi mật khẩu
Anh Nguyễn Minh Phương
Trang 132.3.1 Một vài kết quả đạt được:
1 Màn hình Đăng nhập
- Chức năng: Đăng nhập cho người dùng thông qua email (tài khoản đã được tạo từ trước), thông qua Google Account, hoặc thông qua vai trò khách (ẩn danh)
- Tổng thời gian thực hiện 9 ngày, bao gồm: - Thời gian làm giao diện: 2 ngày - Thời gian thực hiện tính năng: 4 ngày - Thời gian fix bugs: 3 ngày
- Khó khăn gặp phải khi thực hiện: - Làm giao diện không như thiết kế
- Bị lỗi, crash app trong quá trình chạy thử - Giải pháp:
- Liên hệ với bộ phận Design Team để được giải đáp thắc mắc
- Tìm hiểu lỗi từ nhiều nguồn (stackoverflow, flutter dev pub,… ) để tìm cách fix
- Kết quả màn hình:
Trang 14Hình 2.1 Màn hình đăng nhập 2 Màn hình Profile
- Chức năng: Edit profile của người dùng đang đăng nhập - Tổng thời gian thực hiện 7 ngày, bao gồm:
- Thời gian làm giao diện: 3 ngày - Thời gian thực hiện tính năng: 2 ngày - Thời gian fix bugs: 2 ngày
- Khó khăn gặp phải khi thực hiện:
- Chưa rõ về document, business logic của màn hình
Trang 15- Giải pháp:
- Liên hệ với BA Team, Team Leader để hỏi rõ hơn - Kết quả màn hình:
Hình 2.2 Màn hình Profile 3 Màn hình Tìm kiếm
- Chức năng:
- Hiện những hashtag, hình ảnh được tìm kiếm nhiều nhất - Tìm kiếm các bài viết, người dùng, hashtag, địa điểm, … - Tổng thời gian thực hiện 14 ngày, bao gồm:
Trang 16
- Thời gian thực hiện tính năng: 6 ngày - Thời gian fix bugs: 3 ngày
- Khó khăn gặp phải khi thực hiện: - Design giao diện tương đối khó - Bị bug giao diện khá nhiều - Chia tỉ lệ hình ảnh chưa đúng - Giải pháp:
- Tìm tòi trên internet, chủ động hỏi các thành viên khác trong team để tìm giải pháp
- Đóng góp sáng kiến:
- Màn hình này ban đầu theo thiết kế thì không có mục Hashtag, do em có biết vài app tương tự cho người dùng tìm kiếm theo hashtag (Instagram) nên em đã góp ý điểm này
- Kết quả màn hình:
Trang 17Hình 2.3 Màn hình Search Hình 2.4 Màn hình Search khi tap vào SearchBar
Trang 18
CHƯƠNG 3: TỔNG KẾT
Quãng thời gian thực tập tại công ty FYC Studio, em đã có cơ hội không chỉ nâng cao kiến thức chuyên môn mà còn phát triển những kỹ năng mềm quan trọng cần thiết trong quá trình làm việc thực tế Công việc này đã giúp em tiếp cận và học hỏi những kỹ năng quản lý công việc, giao tiếp hiệu quả và làm việc nhóm một cách hiệu quả hơn Trong khoảng thời gian ngắn, em đã được tham gia vào dự án thực tế, duy trì được hiệu suất làm việc, hoàn thành các nhiệm vụ theo đúng tiến độ và đạt được chất lượng mong đợi
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
Trang 19G3 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