Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
479,93 KB
Nội dung
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 LỜI MỞ ĐẦU Sau khoảng thời gian học tập trường, có kiến thức tảng định, sinh viên khoa CNPM tạo điều kiện khuyến khích thực học phần Thực Tập Doanh Nghiệp Đây hội tốt để sinh viên áp dụng kiến thức, kỹ mà thân đạt vào sử dụng thực tế Đồng thời 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ó nhìn thị trường lao động, có mạng lưới quan hệ cần thiết, giúp sinh viên phát triển nghiệp tương lai Tại doanh nghiệp, sinh viên anh chị hướng dẫn, hỗ trợ trau dồi thêm kỹ cho phù hợp với yêu cầu thực tế thị trường lao động Sinh viên từ chọn cho vị trí phù hợp để phát triển nghiệp thân Nhờ vào khuyến khích tạo điều kiện đó, năm vừa qua, em thực khóa thực tập công ty PONOS TECH Tại đây, em anh chị mentors quan tâm mặt 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ó hội thực tập công ty Chỉ thời gian ngắn, nhờ dẫn nhiệt tình nhóm trainer, nhóm thực tập chúng em tiếp thu kiến thức quan trọng để tiếp tục với công việc tới Chân thành cảm ơn anh chị nhóm trainer bỏ 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 Đặc biệt cảm ơn anh Minh Trung - Leader team, ln nhiệt tình giúp đỡ cho em tận tình khó khăn cơng việc, đến 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 kỹ cứng mà kỹ mềm giúp cho em trưởng thành nhiều Cũng xin cảm ơn thầy cô 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 Nguyễn Văn Đạt TpHCM, 30/06/2023 GVHD: Trần Anh Dũng Nguyễn Văn Đạt NHẬN XÉT CỦA KHOA MỤC LỤC Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty PONOS TECH Sản phẩm công ty 2.1 matchbox 2.2 work’z 2.3 job'z Chương 2: Nội dung thực tập Tìm hiểu cơng ty kỹ công ty 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ệ dự án 6 7 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 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ừ tập 12 TÀI LIỆU THAM KHẢO GVHD: Trần Anh Dũng 13 Nguyễn Văn Đạt Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty PONOS TECH PONOS TECH chuyên phát triển sản phẩm công nghệ HR (quản lý nhân sự) hỗ trợ môi trường làm việc Các giải pháp 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 lương, tối ưu hóa tài nguyên, nhiều nữa, tùy chỉnh theo nhu cầu khách hàng Sản phẩm công ty PONOS TECH tập trung vào việc phát triển sản phẩm 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 cơng, tối ưu hóa nguồn lực Những giải pháp PONOS TECH tùy chỉnh cá nhân hóa để đáp ứng nhu cầu đặc thù khách hàng Có ba sản phẩm tiêu biểu PONOS TECH là: matchbox, work’z job’z 7 2.1 matchbox Hiện nay, Matchbox nắm giữ sáng chế công nghệ Quản lý Nhân (HR) thị trường Nhật Bản Với tính đổi mới, matchbox phát triển hệ thống trung tâm đột phá, tận dụng tất 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 tự động xử lý quy trình tuyển dụng, tuyển dụng thủ tục lao động dựa thuộc tính cơng ty nhân viên matchbox cam kết cung cấp nguồn lực ổn định chất lượng cao, đồng thời giảm thiểu chi phí cơng sức quản lý Điều giúp doanh nghiệp tiết kiệm thời gian nỗ lực, đồng thời đảm bảo ổn định chất lượng nguồn lực nhân Với ưu điểm vượt trội này, matchbox tạo khác biệt 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 quản lý nhân cách hiệu đạt hiệu suất cao 2.2 work’z work'z tổ chức đặc biệt chuyên quản lý nguồn nhân lực cho công ty Công việc work'z bao gồm việc xuất khẩu, điều động phối hợp nhân ngắn hạn dài hạn, đáp ứng nhu cầu đa dạng doanh nghiệp work'z đó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 work'z hỗ trợ trình tuyển dụng, từ tiếp nhận xác nhận công việc work'z đảm nhiệm nhiệm vụ sàng lọc ứng viên, vấn đánh giá để đảm bảo chọn lựa ứng viên phù hợp cho GVHD: Trần Anh Dũng Nguyễn Văn Đạt vị trí tuyển dụng Work'z đơn giản hóa quy trình tuyển dụng giúp cơng ty tiết kiệm thời gian nguồn lực 2.3 job'z job'Z hệ thống quản lý doanh nghiệp dựa đám mây Nó cung cấp tính quản lý công việc bao gồm báo cáo yêu cầu, giữ thời gian làm việc, lập lịch thông báo Với job'Z, việc quản lý ngân sách dễ dàng hết - quản lý điểm danh lương bổng trở nên thuận tiện Hơn nữa, hệ thống giúp quản lý nhân viên đánh giá hiệu suất làm việc từ việc thu thập, phân tích, đánh giá liệu việc lập báo cáo hàng ngày hàng tháng Với job'Z, việc quản lý đánh giá nhân viên trở nên dễ dàng hiệu 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 Golang” nhằm mục đích giúp sinh viên thực tập đào tạo tồn diện lập trình golang web services, đồng thời rèn luyện kỹ mềm 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 từ khóa, cịn lại thực tập sinh phải tự tìm hiểu nhờ mentor hướng dẫn Tìm hiểu cơng ty kỹ công ty Thời gian : ngày Nội dung : Giới thiệu công ty, cách tổ chức công ty Được nghe người phụ trách giới thiệu công ty, trình thành lập 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ơng ty Ngồi ra, thực tập sinh giới thiệu cách thức làm việc công ty thời gian làm, quy định cần phải tuân thủ, cách sử dụng email công việc… Kết : Hiểu thêm cơng ty PONOS TECH, q trình thành lập phát triển Có thêm kỹ việc sử dụng email cơng việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm Nghiên cứu kỹ thuật 2.1 Các công cụ làm việc Thời gian : tuần Nội dung : Tìm hiểu thuyết trình API, Unit test 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 công ty, công nghệ áp dụng dự án hướng tương lai Thực : Thực hành sử dụng phần mềm nêu Kết : Hiểu rõ API, Unit test Clean Architecture 2.2 Tìm hiểu cơng nghệ dự án Thời gian : tuần Nội dung : Tìm hiểu ngơn ngữ golang, concurrency , trỏ số design pattern liên quan Trong thời gian này, supervisor gửi thực tập sinh tài liệu golang để tìm hiểu tuần GVHD: Trần Anh Dũng Nguyễn Văn Đạt 10 Thực : Xem thực hành dựa tài liệu Kết : Hiểu rõ structural programming, biết số design pattern liên quan lập trình với ngơn ngữ golang 2.3 Tìm hiểu mã nguồn dự án Thời gian : tuần Nội dung : Được có hội đọc hiểu mã nguồn dự án - Lập trình hướng đối tượng o Tìm hiểu SOLID - Dự án o Tìm hiểu thư viện, framework có sẵn dự án Khuyến khích tự xây dựng thư viện tương đương Thực : - Liên tục debug, đọc code để hiểu mã nguồn công ty Kết : - 2.4 Nâng cao kỹ lập trình với ngơn ngữ Golang Hiểu áp dụng SOLID Áp dụng code convention, nắm rõ quy trình làm việc thực tế Sử dụng git theo theo quy trình rebase Tương tác với dự án Thời gian : tuần Nội dung : - Làm tác vụ điều tra bug, refactor chức đơn giản o Học làm việc theo phương pháp Agile Scrum o Điều tra số lỗi tồn đọng, từ đưa phương hướng giải o Refactor số chức đơn giản từ kiến trúc cũ sang Clean Architecture Thực : - Debug, đọc code để hiểu rõ mã nguồn - Ước lượng thời gian cần để hồn thành task - Tạo task cơng cụ công ty, thông báo với team - Báo cáo tiến độ ngày thông qua meeting online - Thực hành git rebase workflow - Hoàn thành task đính kèm chứng (input, output) merge request có - Thơng báo với team, chờ feedback sửa có Kết : Hiểu quy trình làm việc dự án 11 2.5 On-the-job Training Thời gian : tuần Nội dung: Refactor code cũ sang code theo kiến trúc Clean Architecture Làm thêm chức theo yêu cầu Thực : - Phân tích tìm ý nghĩa u cầu Thực yêu cầu Thực hành git workflow Tạo báo cáo Kết : - Hiểu cách dự án hoạt động, học số kỹ cứng lẫn kỹ mềm làm việc Tóm tắt trình thực tập Tuần - - Cơng việc Tìm hiểu cơng ty, cách tổ chức công ty Làm quen với công cụ làm việc công ty Học cách trao đổi, làm việc qua cơng cụ cơng ty Tìm hiểu lý thuyết thiết kế API Báo cáo slide Tìm hiểu Unit Test Clean Architecture Báo cáo 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 chức cũ sang Clean Architecture Thực hành git rebase workflow Thực hành workflow 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 - 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 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 bắt đầu khóa thực tập, em có kiến thức Golang kiến thức liên quan đến Backend Tuy nhiên, em nhận thấy nhiều điều mà em cần học rèn kỹ để trở thành lập trình viên Backend đáng tin cậy Qua trình thực tập công ty startup PONOS TECH Em khơng học kỹ cứng mà cịn kỹ mềm Ngồi ra, góc nhìn em ngành phần mềm thay đổi nhiều theo hướng tích cực Nhờ nên em định hình career path rõ ràng cho tương lai 3.1 - Kinh nghiệm từ tập Nắm vững cú pháp áp dụng Golang vào dự án thực tế Hiểu áp dụng SOLID vào dự án Tham gia phát triển tính cho sản phẩm công ty Làm việc môi trường chuyên nghiệp học hỏi từ đội ngũ giàu kinh nghiệm Biết cách startup hoạt động Tham gia vào buổi họp nhóm 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": https://200lab.io/blog/clean-architecture-uu-nhuoc-va-cach-dung-hop-ly/ [3] Roy Osherove, "The Art of Unit Testing" [4] TMA, "Golang Unit Test": https://www.tma.vn/Hoi-dap/Cam-nang-nghe-nghiep/Golang-va-Unit-test/25459 [5] Google Cloud next '18, "Designing Quality APIs": https://www.youtube.com/watch?v=P0a7PwRNLVU [6] Microsoft, "Best Practices in Design Restful API": https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design