Get in touch
or send us a question?
CONTACT

NHỮNG VIỆC NÊN LÀM KHI MỚI GIA NHẬP CÔNG TY, ĐI THỰC TẬP

Mấy tháng sắp tới là giai đoạn nhiều bạn sẽ đi thực tập, hoặc trở thành fresher/junior developer, bắt đầu công việc đầu tiên trong ngành lập trình.

Do nhiều bạn nhờ tư vấn, hỏi cần chuẩn bị gì nên hôm nay mình viết blog chia sẻ về những điều các bạn nên chuẩn bị, nên làm khi mới gia nhập công ty (mà hồi xưa không ai chỉ cho mình) nhé.

Ấn tượng ban đầu là rất quan trọng, nếu bạn làm tốt ở giai đoạn này thì sẽ dễ ghi điểm trong mắt đồng nghiệp/cấp trên nha!

Khi mới vào công ty, bạn sẽ phải làm 1 số thủ tục linh tinh như nhận laptop/máy, cài đặt account đăng nhập hệ thống, điền thông tin cá nhân v…v.

Mấy cái này HR sẽ hướng dẫn cho bạn. Còn bài viết này sẽ nói về những thứ mà … không ai nói, hoặc nhiều công ty giới thiệu chưa rõ ràng nhé.

1. Tìm hiểu về thành viên và văn hoá của công ty

Thông thường, bạn sẽ được team leader/manager dắt đi 1 vòng khắp công ty để giới thiệu nhân viên mới. Đây là cơ hội để bạn làm quen với những người sẽ làm việc chung với mình.

Nếu có thể, hãy note lại những người mà bạn sẽ cần liên lạc thường xuyên:

  • Khi requirement không rõ thì hỏi ai? Hỏi Product Owner hay Designer, hay phải chờ đi họp mới hỏi được.
  • Đội tester gồm những ai, ai sẽ test các chức năng của team bạn. Nếu được thì nên làm thân với tester, khi có tranh cãi về bug, về requirement cũng dễ nói chuyện hơn.
  • Ai là người ra quyết định về technical, ai nắm những phần nào trong hệ thống. Khi đọc code có gì không hiểu thì nên liên hệ ai? Nếu họ là người bận rộn, có thể hỏi khác không?
  • Bạn có thể hỏi team leader những điều này thay vì tự mò mẫm.

Cách hỏi thì cũng tuỳ theo văn hoá công ty. Nhiều công ty thì muốn rõ ràng, cái gì cũng phải viết document lại, viết vào ticket. Nhiều công ty thì có thể trao đổi miệng, hoặc qua Slack, email rồi update lại sau.

Biết rõ những người cần hỏi, cách liên lạc với,.. sẽ giúp công việc của bạn thuận lợi và trơn tru hơn rất nhiều!

Nên làm thân với mấy bạn tester, nhiều bạn nữ cũng xinh, sau này cãi nhau cũng dễ nói chuyện

2. Tìm hiểu công nghệ của dự án hiện tại

Đây là chuyện đương nhiên tới hiển nhiên rồi. Có nhiều công ty họ sẽ không cần bạn phải biết công nghệ lúc phỏng vấn, nhưng vào thì phải tự học để làm việc được.

Giả sử công ty bạn sử dụng Ruby, Golang, những ngôn ngữ bạn chưa đụng bao giờ. Khi mới vào, công ty sẽ cho bạn 1 ít thời gian thư thả để vừa học code, vừa học công nghệ đấy để làm việc được.

Bạn cũng có thể học hỏi từ đồng nghiệp trong công ty, những người đã dùng công nghệ đó lâu hơn bạn. Tuy nhiên, đừng hỏi những câu ngu ngu căn bản, mà hãy hỏi kĩ về dự án, dạng như:

  • Tại sao team mình lại dùng thư viện này, cấu trúc project lại như vậy
  • Khi thêm tính năng thì thêm code/sửa code những đoạn nào
  • Chạy test ra sao, có cần viết unit test không …
  • Một số “chiêu trò” để debug, tìm lỗi trong hệ thống
Bạn là fresher/junior nên đừng ngại hỏi. Mình là senior còn đi hỏi tùm lum mà!

3. Quy trình làm việc cụ thể

Bên cạnh đó, bạn cũng phải hiểu rõ qui trình làm việc của công ty. Mỗi công ty sẽ có đôi chút khác biệt chứ không hoàn toàn giống nhau:

  • Ai là người tạo và assign task: Thông thường Project Manager/Project Owner sẽ là người tạo task, đưa vào hệ thống để tracking. Tuy nhiên nhiều công ty chỉ giao task bằng mồm, không có tracking,… hoặc ai cũng tạo và assign task được vô tội vạ
  • Code viết ra có phải theo convention gì không? Có phải viết unit test không? Ai sẽ review code? Khi viết code thì tạo branch riêng hay commit thẳng vào?
  • Code viết xong thì test như thế nào, chuyển trạng thái của task ra sao cho đúng? Code xong có cần confirm lại với BA hoặc PO trước khi assign cho tester test.

Ở những công ty lớn, những qui trình này khá là bài bản, được document kĩ. Ở các công ty vừa và nhỏ, các qui trình này đôi khi không rõ ràng hoặc hay thay đổi, bạn phải vừa làm vừa tìm hiểu.

Khuôn mặt của bạn khi anh lead bảo “Công ty không có qui trình gì, code đại em ơi”

Do vậy, nắm vững qui trình sẽ giúp bạn làm việc hiệu quả hơn, hoặc bạn cũng có thể góp ý thay đổi qui trình luôn.

5. Đọc và tìm hiểu codebase, chạy code ở local

Sau khi setup đủ thứ, bạn sẽ có quyền access vào source code của công ty, lấy về máy mà chạy ở local.

Tuỳ vào công ty và dự án, có nhiều dự án chỉ cần pull code về, gõ 1, 2 câu lệnh là chạy ngon lành rồi. Có nhiều dự án lớn thì bạn sẽ phải pull về tầm 7, 8 cái service, cài database, message queue trên máy, setup cho các service kết nối với nhau … Có khi cũng mất cả buổi hoặc 1-2 ngày mới xong.

Sau khi setup để code chạy ở local, bạn có thể đọc sơ code, tìm hiểu những phần quan trọng, cấu trúc chung của dự án ra sao.

Thường thì sẽ có 1 anh senior dev hoặc anh team lead giới thiệu qua cho bạn về kiến trúc dự án, sau đó cho bạn 1 số tài liệu để bạn tự mò mẫm và đọc thêm.

Do vậy, nếu trong quá trình đọc code, tìm hiểu, có thắc mắc gì bạn có thể note lại để hỏi 1 lượt, đỡ mất thời gian người được hỏi nhé.

Đọc code mà không hiểu thì bạn cứ đi hỏi team lead/senior nhé. Nhiều khi họ cũng… không hiểu đâu!

6. Bắt đầu làm 1 số task nhỏ, fix bug nhỏ

Đấy, sau tất cả, anh team leader/manager sẽ assign cho bạn 1 số task nho nhỏ/bug nhỏ trước để các bạn làm quen dần với code base. Bạn có thể tranh thủ thời gian này để tìm hiểu kĩ về qui trình làm việc, về code convention.

Sau khi viết code, được test, được review, đưa lên production, bạn sẽ được tận hưởng cảm giác chức năng mình làm ra tới được tay người dùng, mang lại giá trị cho họ.

Còn nếu bạn xui, gặp phải team leader đem con bỏ chợ, bắt bạn dựng nguyên 1 dự án từ đầu tới cuối, sử dụng công nghệ bạn chưa từng học, không có chỉ dẫn gì thì … RIP bạn, chúc bạn may mắn công ty sau.