Báo cáo thực tập ứng dụng hỗ trợ tuyển dụng TALARIA

41 16 0
Báo cáo thực tập ứng dụng hỗ trợ tuyển dụng TALARIA

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 ỨNG DỤNG HỖ TRỢ TUYỂN DỤNG TALARIA Công ty thực tập Người phụ trách Thực tập sinh Công ty cổ phần công nghệ Geek Up ● Nguyễn Minh Trung ● Đặng Vũ Minh Hiếu Trần Minh Khơi TP Hồ Chí Minh, tháng 12 năm 2021 Lời mở đầu Một mơ hình kinh doanh, tồn thị trường phần không nhỏ đóng góp đến từ tập khách hàng mục tiêu Ông bà ta hay có câu: “khách hàng thượng đế” cho thấy tầm quan trọng khách hàng việc ý tưởng kinh doanh có thành cơng hay không đến từ việc mang lại giá trị cho khách hàng mục tiêu? Những làm, sản phẩm ta phát triển, có thực tạo tác động tích cực cho khách hàng tiêu thụ Phần mềm sản phẩm tiến bộ, đóng vai trị ngày quan trọng đời sống người Mọi người thời đại kết nối với dễ dàng thơng qua phần mềm Lấy ví dụ cơng ty, khơng cần biết vị trí địa lý xa hay gần, cần website người truy cập cập nhật thơng tin cơng ty Ở góc độ cơng ty tổ chức, phần mềm mang lại giá trị cho khách hàng Giải pháp cho vấn đề nan giải đóng gói phần mềm, thật ý tưởng tuyệt vời Thấu hiểu tầm quan trọng phần mềm, em định thời điểm để mang kiến thức tiếp thu trường áp dụng vào thực tiễn Vậy nên em chọn Geek Up môi trường để học hỏi cọ xát Lời cảm ơn Em xin trân trọng cảm ơn phía cơng ty tạo chương trình thực tập, tạo điều kiện học hỏi cọ sát thực tế cho sinh viên Đây chương trình có ý nghĩa em hiểu phía cơng ty nỗ lực đầu tư trì chương trình nhằm giúp bạn sinh viên có hội phát triển chứng tỏ lực Chương trình thực tập, xây dựng product thực chiến 10 tuần trải nghiệm thật khác, nằm mong đợi Xuyên suốt chương trình, em tiếp xúc với nhiều anh chị có nhiều kinh nghiệm việc phát triển sản phẩm số, tham gia workshop chia sẻ kiến thức Sau chương trình em tiếp thu kiến thức tảng để phát triển triển khai sản phẩm phần mềm Đặc biệt cảm ơn anh Nguyễn Minh Trung Đặng Vũ Minh Hiếu túc trực tích cực giải đáp câu hỏi, thắc mắc Cảm ơn team GA (Geek Acquisition), đặc biệt chị Uyên Phan theo dõi, quan tâm nhắc nhở team logwork ngày Cảm ơn tribe Geek Up tạo môi trường làm việc văn minh, nơi người có tiếng nói quyền định Trần Minh Khơi TP Hồ Chí Minh, ngày 21 tháng 12 năm 2021 Lưu ý “Thông Tin Bảo Mật” bao gồm tồn thơng tin liệu tổ chức, điều hành, nhân sự, tài chính, kinh doanh, chiến lược, sách, khoa học, kỹ thuật, công nghệ, kinh tế, thương mại, bán hàng, tất thông tin liên quan đến hoạt động vận hàng Công Ty, khách hàng Công Ty mà không phổ biến công chúng cách tự do, lưu trữ hình thức Công Ty cung cấp cho Thực Tập Sinh Thực Tập Sinh cách khác có thực cơng việc, nhiệm vụ cho Công Ty Em cam kết bảo mật Thông Tin Bảo Mật quy định không đề cấp đến chi tiết liên quan đến product concept Nhận xét khoa Lời mở đầu Lời cảm ơn Lưu ý Nhận xét khoa Giới thiệu công ty 1.1 Giới thiệu chung 1.2 Văn hóa 1.3 Một số sản phẩm cơng ty 6 15 Nội dung thực tập 2.1 Tìm hiểu chuyên môn 2.1.1 Scrum & Agile Thời gian Nội dung Thực Kết 2.1.2 Github Thời gian Nội dung Thực Kết 2.1.3 NestJS Thời gian Nội dung Thực Kết 2.1.4 TypeORM Thời gian Nội dung Thực Kết 2.3 Chi tiết dự án 2.3.1 Giới thiệu 2.3.2 Thành viên 2.3.3 Timeline 3.1 Thách thức 3.1.1 Công nghệ chuyên môn Mô tả Giải pháp 3.1.2 Về mindset làm product 18 18 18 18 18 21 21 22 22 22 24 24 25 25 25 27 27 27 27 27 29 29 30 30 30 31 32 32 32 32 33 Mô tả Giải pháp 2.3.4 Kết Tổng kết 3.1 Thành 3.2 Cảm nhận 3.3 Một số hình ảnh thực tế 33 33 33 34 34 34 35 Giới thiệu công ty 1.1 Giới thiệu chung ● Tên đơn vị: Công ty cổ phần công nghệ Geek Up ● Trụ sở, chi nhánh ○ 244/31 Huynh Van Banh, Phu Nhuan District, Ho Chi Minh City ○ 27B/9 Nguyen Dinh Chieu, Dakao Ward, District 1, Ho Chi Minh City ● Thông tin liên hệ ○ Website: https://geekup.vn/ ○ Số điện thoại: +84 28 6262 4400 ○ Email: hello@geekup.vn ● Các ngành nghề kinh doanh ○ Nhà hàng dịch vụ ăn uống phục vụ lưu động ○ Sản xuất phần mềm ○ Lập trình máy vi tính ○ Quảng cáo Định hình thân product partner, đội ngũ phía Geek Up phát triển sản phẩm số mang lại giá trị thật cho khách hàng Kể từ năm 2014, Geek Up trải qua 480 dự án, triển khai thành công 120 sản phẩm số phục vụ lĩnh vực khác có 80 khách hàng doanh nghiệp khắp nơi Một số partner bật Geek Up kể đến như: Viettel, Mobifone, FPT, Heineken, waitrr, TPBank, TheCoffeeHouse, ACB, SSI… nhiều Partner với Geek Up trải nghiệm khác, nơi người thật ngồi lại phân tích đưa giải pháp mang lại giá trị thật 1.2 Văn hóa Ở Geek Up có nét văn hóa khác biệt, cịn biết đến Flat Structure Một văn hóa phẳng với slogan “khơng có sếp”, khơng có quyền độc tài đưa định mà phải tiếng nói chung team Quyết định giải pháp thống dựa tổng hợp định thành viên dựa liệu có thật Mơi trường làm việc khơng khuyến khích tơi cá nhân mà đề cao giá trị đồn kết, đề cao tính hợp tác giải vấn đề Geek Up khơng chia theo phịng, khơng có phịng ban cụ thể cách tổ chức truyền thống Ở tồn cách thức tổ chức đại văn minh Tribe Toàn thành viên Geek Up, gắn bó đồn kết sinh sống lạc Guild Các thành viên nhóm có sở thích ngoại khóa Hiện em biết có guild hoạt động tích cực ● Forerunner (chạy bộ) ● Foobar (đá banh) Chapter Các thành viên có chun mơn, mối quan tâm đến mảng kỹ thuật Squad Các thành viên nhóm, phối hợp thực công việc dự án Các chapter geekup 26 2.1.3 NestJS Thời gian ● ngày Nội dung Một framework phía máy chủ tiếng xây dựng tảng Node.js, với mục tiêu xây dựng ứng dụng phía máy chủ hiệu mở rộng Framework process ngơn ngữ lập trình Javascript Typescript NestJS thực kết nối HTTP framework khác hoạt động bên ExpressJS Về NestJS không tập trung nghiên cứu sâu tầng network mà tập trung giải toán kiến trúc ứng dụng (Application architecture) Framework cung cấp nhiều mức độ trừu tượng khác nhau, cho phép developer xây dựng ứng dụng với kiến trúc hợp lý cách dễ dàng mang tính mở rộng cao 27 Một số component NestJS Controller Lớp controller để expose API endpoints, dùng xử lý request vào ứng dụng Hỗ trợ chế routing, khai báo chuỗi string để định tuyến đường dẫn vào class xử lý Ngoài hỗ trợ nhiều decorator tiện dụng cho việc lập trình redirection, header, statuscode, wildcards (routing pattern), cast payload typescript interface khai báo trước Provider Một điểm bật framework NestJS support chế dependency injection Thay phải tạo thủ cơng instance class, NestJS hỗ trợ lớp trừu tượng provider, cần khai báo tên class vào dependency, NestJS tự động inspect với instance class Giữ cấu trúc code clean gọn gàng 28 Middleware Đúng tên gọi, component thực thi giữa, trước request vào controller Điều đặc biệt hữu ích, ta thoải mái cài đặt nhiều lớp bảo mật mà không ảnh hưởng nhiều đến đoạn mã nguồn cũ Chỉ cần cài đặt lớp middleware inspect liệu từ header + cache, ta tích hợp thêm lớp bảo mật mà không yêu cầu chỉnh sửa mã nguồn nhiều Thực ● Tham gia training đầy đủ ● Sử dụng NestJS, xây dựng tầng interface cho ứng dụng ● Cài đặt lớp truy vấn liệu, làm provider cho lớp Kết ● Hiểu vận dụng NestJS vào xây dựng ứng dụng 2.1.4 TypeORM Thời gian ● ngày Nội dung Thay phải tự viết truy vấn SQL xử lý chuỗi để tách liệu Chúng ta có options khác sử dụng ORM hỗ trợ truy vấn liệu từ sở liệu mà khơng cần phải tự xử lý chuỗi Việc tích hợp ORM vào dự án tăng thêm lớp trừu tượng, code viết dễ đọc dễ hiểu hơn, có nhiều thời gian để tập trung vào product thay lăn tăn với câu truy vấn TypeORM ORM tuyệt vời cho ứng dụng NodeJS Hỗ trợ casting liệu typescript interface Một điểm mạnh ORM sync từ schema object typescript sang schema cứng database 29 Lấy ví dụ cụ thể khai báo bảng chứa liệu âm sau Và TypeORM giúp ta map từ schema object typescript sang bảng sở liệu Với đầy đủ khóa khóa ngoại 30 TypeORM cịn hỗ trợ chế migration, cập nhật lại cấu trúc schema object typescript, TypeORM chuyển hóa thay đổi sang mã nguồn dùng để cập nhật sở liệu Với chế này, việc backup revert lại phiên cũ sở liệu trở nên dễ dàng Thực ● ● ● ● Viết file config, kết nối TypeORM với sở liệu PostgreSQL Tham gia training đầy đủ Chuyển đổi từ truy vấn SQL thông thường sang mã nguồn viết TypeORM Ứng dụng chế migration, backup revert cấu trúc liệu Kết ● Vận dụng TypeORM phát triển ứng dụng 31 2.3 Chi tiết dự án 2.3.1 Giới thiệu Ứng dụng talaria ứng dụng hỗ trợ tuyển dụng cho team GA (team HR) tribe Trong ngày tribe nhận nhiều CV từ nguồn khác nhau, việc tổ chức, phân loại process CV thật điều dễ dàng Sự hỗ trợ phần mềm điều dễ hiểu Phần mềm talaria phải thiết kế để team non-tech nhìn vào thao tác cách dễ dàng Thiết kế thách thức Talaria, đối diện với lượng CV nhiều dày đặc ngày Lượng liệu nhiều phải tổ chức hiển thị cho có nhiều insight nhất, dễ sử dụng tích hợp vào workflow hàng ngày member GA 2.3.2 Thành viên Minh Khôi Backend Developer Công Minh Backend Developer Tường Huy Frontend Developer Quốc Huy Fullstack Developer Vincent Vu Backend Developer Thi Thông Frontend Developer Nhật Duy Frontend Developer 32 2.3.3 Timeline ● Tuần ○ Training ○ Làm quen văn phịng ○ Thích nghi với văn hóa làm việc GeekUp ○ Làm quen với anh chị phụ trách ○ Học cách dùng sản phẩm phần mềm nội ● Tuần - ○ Tổ chức sprint scrum, deliver dự án theo tiến độ ○ Tham dự workshop, học hỏi tiếp thu kiến thức ○ Friday Meetup hàng tuần ● Tuần 10 ○ Demo ứng dụng ○ Host workshop, tổng kết trình thực tập 33 2.3.4 Thách thức 2.3.4.1 Công nghệ chuyên mơn Mơ tả Trong q trình thực tập team gặp khơng khó khăn Đây vấn đề chuyên môn lớn mà team gặp phải q trình deliver product ● Làm để phối hợp đồng team backend frontend ● Xử lý xung đột mã nguồn nhập nhánh code lại với Giải pháp ● Sử dụng công nghệ docker để phát triển ứng dụng xây dựng môi trường ảo cho backend frontend Như vậy, team frontend muốn test request API, cần chạy docker dùng Team Backend cần chạy docker truy cập giao diện Frontend ● Trong số trường hợp, Frontend deliver chức xong trước API bên phía backend kịp hồn thành Khi team define workspace dùng để lưu trữ tài liệu nhóm, API chưa phát triển xong team bàn bạc để chốt trước kiểu trả API document lại cấu trúc json để tiện cho việc seed data phía frontend ● Trước nhập mã nguồn, phải kiểm tra nhánh trước merge hoạt động bình thường Sau merge bị conflict cần crosscheck thành viên deliver để nhánh sinh sở hữu thay đổi từ nhánh 34 2.3.4.2 Về mindset làm product Mô tả Team chưa có kinh nghiệm để triển khai xây dựng product phục vụ người dùng Đây vấn đề nan giải, team chưa thật hiểu ý nghĩa từ “product”, chưa có phân tích cụ thể mặt người dùng doanh nghiệp deliver sản phẩm Giải pháp ● Tham gia training, tích cực đặt câu hỏi Từ từ hiểu product, giao thoa khía cạnh User (Người dùng ứng dụng) , Business (Khách hàng dự án), Technology (Cơng nghệ chun mơn) ● Tích hợp alignment vào quy trình phát triển ứng dụng Khơng nhảy vào code mà viết approach trước tìm người phụ trách User Business để hỏi xem với approach triển khai có hợp lý hay chưa 2.3.5 Kết ● Ứng dụng chạy được, đưa vào sử dụng team GA ● Chưa đạt số standard Geek Up ● Rút kết kinh nghiệm, trau dồi tiếp thu kiến thức phát triển ứng dụng phục vụ khách hàng 35 Tổng kết 3.1 Thành ● Nắm kiến thức quy trình triển khai ứng dụng phục vụ người dùng ● Học cách gạt bỏ nhu cầu cá nhân để tập trung deliver dự án ● Học cách phát triển ứng dụng theo nhu cầu khách hàng, tập trung vào chức khách hàng thật cần mang lại lợi ích cho doanh nghiệp ● Học kiến thức chuyên môn, mối quan tâm kiến trúc xây dựng ứng dụng phía máy chủ ● Học cách làm việc đội nhóm, cách contribute vào dự án Thật thân biết nhiều hay trước khơng quan trọng Quan trọng thái độ, phải hòa đồng với người dùng resource có để giải vấn đề ● Nắm dịch vụ tảng điện toán đám mây AWS, cách dịch vụ tương tác với môi trường production ● Mở mang nhận thức, nhận để thực tập trung deliver vào dự án, phải adapt mindset beginner Gạt qua bên thứ biết bắt đầu tìm hiểu khai thác thông tin dự án ● Nắm cách dùng git, quản lý source code Tích hợp git vào tảng hosting quản lý dự án 3.2 Cảm nhận ● Cty với văn hóa “flat" đặc trưng, khơng có sếp có tiếng nói chung Dù thực tập sinh team thật có ownership với dự án, xem dự án tồn quyền định Các anh chị senior cho lời khuyên, không can thiệp vào định team ● Dự án thực chiến thật, dự án phục vụ người dùng thật Đối diện với yêu cầu chân thật từ người dùng Qua mở mang nhận thức cách làm việc ưu tiên khách hàng business goal lên thân ● Các anh chị có chun mơn cao cởi mở, nói chuyện vui vẻ hịa đồng Cty khơng quy định đồng phục nên làm việc cty nhà, thoải mái tự ● Đến đêm nhà đường xa quá, lựa chọn trải nghiệm ngủ lại cty Cty hỗ trợ máy lạnh + chiếu gối, thoải mái khơng bị bó buộc 36 ● Workshop hàng tuần, tiếp thu nhiều kiến thức bổ ích khác ngồi kỹ chun mơn Các buổi workshop ln sôi nổi, người bàn tán trao đổi kiến thức với thoải mái ● Friday meetup, cty hỗ trợ bia đồ ăn free Sân thượng gió mát, giảm tải căng thẳng Thoải mái bày tỏ lòng biết ơn, trò chuyện với anh chị senior khác cty 3.3 Một số hình ảnh thực tế Team internship 37 Sprint review, retro 38 Friday meetup hàng tuần 39 Daily scrum buổi sáng, em check lại backlog 40 Buổi workshop tổng kết dự án ... 18 TPBank - Ứng dụng tài https://geekup.vn/insights/tpbank 19 Nội dung thực tập Quá trình thực tập 10 tuần, với mục tiêu xây dựng phát triển ứng dụng hỗ trợ team GA (team HR) tuyển dụng thành... migration, backup revert cấu trúc liệu Kết ● Vận dụng TypeORM phát triển ứng dụng 31 2.3 Chi tiết dự án 2.3.1 Giới thiệu Ứng dụng talaria ứng dụng hỗ trợ tuyển dụng cho team GA (team HR) tribe Trong ngày... endpoints, dùng xử lý request vào ứng dụng Hỗ trợ chế routing, khai báo chuỗi string để định tuyến đường dẫn vào class xử lý Ngoài hỗ trợ nhiều decorator tiện dụng cho việc lập trình redirection,

Ngày đăng: 10/03/2022, 20:35

Tài liệu cùng người dùng

Tài liệu liên quan