Tải bản đầy đủ (.docx) (23 trang)

Báo Cáo Thực Tập Java Back-End Developer.docx

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 (1.03 MB, 23 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

TP. Hồ Chí Minh, tháng 12 năm 2023

<b>LỜI MỞ ĐẦU</b>

Trong cuộc cách mạng công nghiệp 4.0, công nghệ thông tin nóichung và ngành Cơng nghệ phần mềm nói riêng ln là nhân tốđóng vai trị quan trọng trong q trình phát triển của xã hội.

Cơng nghệ Web, hay công nghệ sản xuất các trang web đã phục vụhầu hết các nhu cầu của con người từ bán hàng, cung cấp kiến thứcđến thông tin liên lạc, ... Hiện nay đã có đến hơn 1.5 tỷ trang web,nhưng nhu cầu tạo ra những trang web mới vẫn chưa có dấu hiệugiảm.

Do đó, một trang web muốn được nhiều người sử dụng phải đáp ứngđược yếu tố hình thức và nội dung. Làm thế nào để sản phẩm tạo rađạt chất lượng cao ở hai yếu tố trên ln làm bất kì một đội ngũ pháttriển website nào cũng cần phải suy nghĩ đau đầu. Để thử thách bảnthân trong ngành công nghiệp web, em đã lựa chọn Backend webdeveloper là định hướng cho việc học cũng như nghề nghiệp trongtương lai.

Sau những năm tháng trong môi trường đại học, với mong muốn ápdụng những kiến thức đã học và có được trải nghiệm trong môitrường thực tế, em đã quyết định tham gia vào Công ty Spiraledge –một môi trường lý tưởng và chuyên nghiệp để thực hiện dự định.

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>LỜI CẢM ƠN</b>

Trong suốt thời gian học tập và rèn luyện tại trường đại học Công Nghệ ThôngTin, bản thân em đã được tiếp nhận sự truyền đạt rất nhiệt tình và tiếp nhận nhiều kiếnthức bổ ích trong lĩnh vực cơng nghệ thơng tin nói chung và hệ thống thơng tin nóiriêng. Em xin trân trọng gửi lời cảm ơn và tri ân sâu sắc đến các Thầy, Cô giáo thuộckhoa Kỹ thuật phần mềm đã mang lại những kiến thức vô cùng giá trị này để xây nênnền tảng vững chắc cho em cũng như các bạn sinh viên khác trong quá trình thực tập.Qua đây em cũng xin trân trọng gửi lời cảm ơn về phía cơng ty TNHH Cạnh Xoắn ỐcViệt Nam (Spiraledge VietNam) đã tạo điều kiện cho em có cơ hội được tham giathực tập tại công ty, đồng thời em cũng xin cảm thầy Trần Anh Dũng đã theo sát vàhướng dẫn em hoàn thành tốt báo cáo thực tập này.

Qua ba tháng thực tập tại công ty, em được trang bị những kỹ năng mềm, nâng caovà hồn thiện kiến thức chun mơn thơng qua các dự án thực tế mà công ty đã thựchiện. Em xin chân thành cảm ơn anh Trần Tấn Phước – Giám đốc Việt Nam, anhĐặng Quang Vinh–Senior Java Developer, cùng các anh chị trong công ty đã giúp đỡvà chỉ dẫn tận tình cho em trong suốt quá trình thực tập. Những kiến thức và kinhnghiệm trong suốt thời gian qua đã giúp em dần hồn thiện hơn, có thêm kinh nghiệmvề ngơn ngữ lập trình Java, tạo ra một API Server, cùng với đó đặc biệt là việc đượccơng tác trong môi trường quốc tế đa dạng ngôn ngữ.

Tuy nhiên, do kiến thức cũng như kinh nghiệm còn hạn chế, bài báo cáo khơng thểtránh khỏi những sai sót. Chính vì vậy, em mong nhận được những ý kiến đóng góp

<i>của q Thầy Cơ để bản thân hồn thiện hơn. Ngoài ra, do lý do bảo mật dữ liệu của</i>

<i>các dự án trong rằng buộc với công ty nên một số thông tin liên quan đến dữ liệu và</i>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<i>kết quả của các bản báo cáo Phân tích, source code trong bài báo cáo của em có thểthiếu sót.</i>

Cuối cùng, em xin kính chúc q Thầy, Cơ lời chúc sức khỏe, hạnh phúc, thànhcông trong công việc.

TP. HCM, ngày … tháng …năm …

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

LỜI CẢM ƠN...3

NHẬN XÉT CỦA KHOA...4

MỤC LỤC...5

CHƯƠNG 1: GIỚI THIỆU CƠNG TY THỰC TẬP...7

1.1. Giới thiệu Cơng Ty Spiraledge...7

1.2. Sản phẩm công ty...8

1.3. Lịch làm việc khi thực tập tại cơng ty...13

CHƯƠNG 2: NỘI DUNG THỰC TẬP...14

2.1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty...14

2.2. Tham gia dự án thực tế...14

2.2.1. Tuần 1...14

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

TÀI LIỆU THAM KHẢO...21

<b>CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP1.1. Giới thiệu Cơng Ty Spiraledge</b>

<i>Hình 1.1. Logo Spiraledge</i>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

- Tên công ty: Công ty TNHH Cạnh Xoắn Ốc Việt Nam.

- Địa chỉ: Số 112/18, Đường Nguyễn Văn Hưởng, Phường Thảo Điền, Thànhphố Thủ Đức, Thành phố Hồ Chí Minh, Việt Nam.

- Văn hóa cơng ty: công ty luôn đề cao sự sáng tạo, tư duy phản biện. Vớicâu châm ngôn “Think out of box”, công ty luôn cố gắng tạo điều kiện chonhân viên sáng tạo với những aha moment.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>1.2. Sản phẩm công ty</b>

<b>Swimoutlet</b>

- Website bán lẻ quần áo bơi và các thiết bị dành cho môn thể thao dưới nướcnhư là đồng hồ, máy cảm biến đo nhịp tim đến từ chính cơng ty và cácthương hiệu khác như Nike, Adidas, TYR,…

- Website: 1.2. SwimOutlet Website</i>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

- Swim là một nền tảng miễn phí dành cho những người yêu thích bơi lội chođến vận động viên chuyên nghiệp. Swim hỗ trợ ở 3 nền tảng: IOS, Androidvà Web app.

<small>-</small> Nó là một cơng cụ đơn giản để đặt mục tiêu, theo dõi quá trình tập luyện vàso sánh số liệu thống kê với đồng đội và bạn bè. Ngồi ra người dùng có thểsử dụng swim để tìm các bể bơi, câu lạc bộ bơi một cách dễ dàng. Hiện naytrên swim cịn có các bài viết, video hướng dẫn cho người dùng thực hành.- Website: 1.3. Swim website</i>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

- Website thương mại điện tử bán áo quần, thảm tập Yoga và các dụng cụ hỗtrợ thiền định. Ngồi ra yogaoutlet cịn chia sẻ các bài blog về thiền, tậpluyện.

- Website: 1.4. EverydayYoga Website</i>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

- Nền tảng dạy yoga trực tuyến, với đa dạng nhiều loại yoga khác nhau như:Vinyasa, Kundalini, Tai chi, Yoga Fusion,… Practyce cung cấp nhiều loạilớp học cùng với những giáo viên chất lượng có kinh nghiệm trong lĩnhvực, với mong muốn mang lại những điều tốt nhất cho khách hàng.

- Người dùng có thể đăng ký sử dụng phiên bản trải nghiệm trong vịng 15ngày, sau khi kết thúc có thể lựa chọn đăng ký lên thành viên với nhiều lựachọn khác nhau. Người dùng có thể chuyển đổi giữa trang web Practyce vàtrang web EverydayYoga.

- Website: 1.5. Practyce Website</i>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

- Nền tảng hỗ trợ canh tác công nghệ cao. Giúp nơng dân lập kế hoạch trồngtrọt, tính tốn diện tích và vị trí trồng trên nơng trại của họ, quản lý nguồnnhân công, thời gian và kế hoạch thu hoạch, bán sản phẩm cho khách hàng.Sau khi nông dân thu hoạch, Tend sẽ cung cấp cửa hàng để nơng dân có thểbán sản phẩm của chính mình.

- Khách hàng có thể mua tài khoản theo tháng với giá $39, theo năm với giá$399.

- Website: 1.6. Tend Website</i>

- Đây cũng chính dự án chính mà em tham gia làm việc, đội ngũ bao gồmnhiều vị trí như Backend, Frontend developer, Android developer, Qualitycontrol, Business Analytics,.. với tổng số lượng khoảng 30 người, đượcdẫn dắt bởi Team leader - Project manager (anh Hoài Nguyễn).

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>1.3. Lịch làm việc khi thực tập tại công ty</b>

Em tham gia làm việc tại công ty bắt đầu từ ngày 05/07 tới05/10, các ngày làm việc trong tuần là thứ 2 – thứ 6. Công việc hằngngày bắt đầu từ lúc 8h30 đến 17h. Thời gian nghỉ trưa khoảng 1tiếng. Vào mỗi buổi sáng mọi người sẽ báo cáo việc mình đã làmđược hơm qua và các việc sẽ làm hôm nay vào kênh Google Chatcủa team. Và sau mỗi ngày làm việc em sẽ báo cáo tiến độ côngviệc trong ngày, đặt câu hỏi và nhận chia sẻ, giải đáp từ anh hướngdẫn, đặt mục tiêu cho ngày làm việc tiếp theo. Mỗi 2 tuần sẽ họp đểreview customer feedbacks tuần vào chiều thứ 6, mọi người sẽ cùnghọp và bàn bạc về các vấn đề được khách hàng phản hồi, trong cảcuộc họp thì mọi người sẽ đều giao tiếp bằng tiếng Anh.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>CHƯƠNG 2: NỘI DUNG THỰC TẬP</b>

<b>2.1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong côngty</b>

<b>_ Thời gian: 1 ngày </b>

<b>_ Nội dung: giới thiệu về công ty, cách tổ chức của công ty,</b>

được nghe người phụ trách giới thiệu về công ty, quá trìnhthà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, …Ngồi ra, thực tập sinh cịn được giới thiệu về văn hóa làm việctrong cơng ty như thời gian đi làm, các quy định, cách sử dụngemail trong công việc, …

<b>_ Kết quả: hiểu thêm về Spiraledge, q trình thành lập và phát</b>

triển. Có thêm các kỹ năng về việc sử dụng email trong côngviệc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn.

<b>2.2. Tham gia dự án thực tế</b>

2.2.1. Tuần 1

Nội dung: Làm quen với mọi người và quy trình làm việc cơng ty, càiđặt môi trường làm việc trên máy được công ty cấp. Được giới thiệuvề văn hóa công ty, giờ giấc làm việc của công ty. Bắt đầu đọcsource code của project để hiểu cấu trúc của project mình sẽ thamgia vào làm việc và trao đổi với người hướng dẫn về những vấn đềchưa hiểu.

Kết quả: Làm quen được với mọi người trong công ty, biết được vănhóa cũng như là giờ giấc làm việc tại công ty. Hiểu được một phầnsource code của project mình tham gia.

2.2.2. Tuần 2

Nội dung: Bắt đầu dược giao những task cơ bản như là fix bug tồnđọng ở một số feature và implement một chức năng tự tạo ra têncủa một “Task” trên product.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Kết quả: Có khả năng đọc hiểu code tốt khi fix bug ta phải đọc hiểuđược cấu trúc cảu project và hiểu được flow khi tạo “Task” từ “TaskTemplate” để có thể chỉnh sửa code để tự tạo tên cho “Task”

Màn hình Task Template2.2.3. Tuần 3

Nội dung: Tiếp tục làm quen với project bằng các task có độ khókhơng cao như phân trang kết quả trả về ở cả trên 2 phiên bản V1và V2 của project. Đọc hiểu source code phiên bản V1 của project đểcó thể hoàn thành việc được giao. Đồng thời fix một số bug kháctrong project.

Kết quả: Học được kỹ thuật phân trang kết quả trả về giúp tăng hiệunăng của project khi chỉ lấy đủ những kết quả cần thiết tránh dưthừa. Tăng cường giao tiếp với các anh chị trong team để tăng hiệusuất làm việc.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

2.2.4. Tuần 4

Nội dung: Đã dần quen với project nên được giao cái task có độ khócao hơn như là việc xóa các “Crop” và các “Variety” tương ứng. Vàcác thao tác Add và Edit task.

Kết quả: Bắt đầu bắt tay và các cơng việc có độ khó cao hơn nên địihỏi cần cố gắng hơn và và ký năng giao tiếp cũng phải trao dồi.

2.2.5. Tuần 5

Nội dung: Tiếp tục 2 task lớn từ tuần trước và xử lý các bug ở cácchức năng khác cần người hỗ trợ. Lần đầu tham gia buổi “CustomerFeedback” đây là nơi mà mọi người trong team sẽ ngồi lại với nhauvà đọc những feedback từ các khách hàng hiện tại đồng thời đưa racách xử lý các bug hay là những thao tác trên product hiện tại

Kết quả: Được thử thách bản thân khi làm các task có độ khó caohơn và được trau dồi thêm khả năng tiếng Anh khi trong mọi cuộchọp thì tất cả người trong team sẽ giao tiếp bằng tiếng Anh.

2.2.6. Tuần 6

Nội dung: Bắt đầu được giao những task có độ khó cao và sử dụngnhiều kỹ năng hơn trong q trình hồn thành cơng việc. Bắt đầulàm việc với bộ phận DBA (Database Adminstator) để xử lý các tácvụ ở phía database cũng như tìm hiểu về cơ sở dữ liệu của project.Đồng thời vẫn sẽ hỗ trợ các task đang cần được hỗ trợ.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Kết quả: Hiểu thêm về cơ sở dữ liệu của project và bắt đầu xử lý cácthao tác có độ phức tạp cao giúp nâng cao khả năng giải quyết vấnđề.

2.2.7. Tuần 7

Nội dung: Lần đầu xử lý một bug có độ ưu tiên cao và yêu cầu khảnăng đọc hiểu code và giao tiếp với bộ phận QC (Quality Control) đểhiểu rõ hơn về chỗ không đúng để có thể hồn thành cơng việc.

Kết quả: Tăng khả năng đọc hiểu code của project và kỹ năng giaotiếp với các bộ phận khác. Đồng thời hiểu hơn về lập trình đa luồngtrong project.

2.2.8. Tuần 8

Nội dung: Cùng với một anh trong team BE đảm nhận một chứcnăng hoàn toàn mới trong project được gọi là “Timesheet” nhưng vớitrị hỗ trợ.

Kết quả: Biết được quy trình khi bắt đầu tạo ra một chức năng mới từviệc lên ý tưởng và đọc hiểu spec từ phía BA cho đến khi bắt đầu vàoviệc implement chức năng trên code.

2.2.9. Tuần 9

Nội dung: Kết hợp với DBA để implement thao tác lấy danh sáchTimesheet.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Kết quả: Tăng cường khả năng quản lý thời gian làm việc để có thểhồn thành được cơng việc được giao một cách tốt nhất đúng hạn.

Màn hình Timesheet List2.2.10. Tuần 10

Nội dung: Thực hiện các task còn lại trong feature “Timesheet” vàhỗ trợ các bug trong các chức năng khác cần được hỗ trợ

Kết quả: Tăng cường khả năng quản lý thời gian làm việc để có thểhồn thành được công việc được giao một cách tốt nhất đúng hạn.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Nội dung: Hoàn thiện các việc được giao và bắt đầu chuyển giao lạicông việc chưa hoàn thành kịp.

Kết quả: Trau dồi thêm kỹ năng giải quyết vấn đề và kỹ năng làmviệc nhóm khi cập nhật các thao tác cũ trong project.

<b>2.4. Tham gia dự án thực tế</b>

Quá trình thực hiện: Những tuần đầu sẽ được làm quen với các anh chị trong teamcũng như là project và những tuần sau sẽ được tham gia vào product của cơng ty vớiđộ khó cơng việc được giao tăng dần qua các tuần.

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Kết quả: Do được tiếp cận với product của công ty từ sớm nên em học được rất nhiềuthứ như cấu trúc dự án thực tế và quy trình làm việc trong một công ty phần mềm.Thuận lợi: Các anh chị trong team rất dễ gần và chỉ bảo tận tình những chỗ em khơngbiết nên khi gặp các cơng việc khó thì em cũng nhận được sự chỉ bảo bởi các anh chịrất nhiều

Khó khăn: Do tham gia vào product từ rất sớm tuy độ khó cơng việc được giao banđầu không cao nhưng vẫn cần nhiều thời gian mới quen được cấu trúc cũng như cácchức năng có trong đồ án

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>CHƯƠNG 3: TỔNG KẾT</b>

Quãng thời gian thực tập tại Spiraledge đã giúp em cải thiện bảnthân rất nhiều trong quy trình làm việc thực tế, tác phong của ngườikỹ sư phần mềm. Được làm việc tại đây, em đã học thêm được kỹnăng mềm sử dụng mail, quản lý ticket, làm việc nhóm, giao tiếp vớicấp trên, …

Chỉ trong thời gian hạn chế, em đã hoàn thành dự án cá nhân trongq trình training với các tính năng, u cầu đặt ra ban đầu.

Khi tham gia vào dự án thực tế, em cũng hoàn thành tốt các tác vụđúng hạn và đạt chất lượng tốt.

<b>3.2. Điểm yếu</b>

Vẫn cần được trau dồi thêm ở các kỹ năng của một lập trình viên như kỹ năng giải quyết vấn đề.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>3.3. Chuẩn đạt được</b>

Goal Mục tiêu môn học

G1 Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệpG2 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

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>TÀI LIỆU THAM KHẢO</b>

[1] “Tài liệu Spring Framework”: Spring Framework Documentation :: Spring Framework

[2] “Tài liệu SQL Server”: SQL Server technical documentation - SQL Server | Microsoft Learn

</div>

×