Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
20/08/2020 23:08 # 1
nguyenthuongtra
Cấp độ: 27 - Kỹ năng: 7

Kinh nghiệm: 201/270 (74%)
Kĩ năng: 38/70 (54%)
Ngày gia nhập: 17/09/2015
Bài gởi: 3711
Được cảm ơn: 248
[Youth Confessions] Tôi Đã Lên Cấp Và Tiến Hoá Như Thế Nào Qua 6 Năm Lăn Lộn Trong Ngành Developer


Mình thường hay khuyên các bạn mới ra trường là: Đừng quan trọng đi làm lương bao nhiêu, mà phải quan trọng là học hỏi được gì? Qua 1 – 2 năm làm ở đấy thì mình có tiến bộ không? Có thể đạt tới trình độ cao hơn, lương cao hơn không?

Thông thường, các bạn hay hỏi lại là: Làm sao để biết mình cần học hỏi những gì? Do vậy, trong bài này, mình sẽ chia sẻ về những thứ mà mình đã học được qua 6 năm làm việc nha.

Những thứ này đã giúp mình “tiến hóa” từ 1 thằng Fresher bình thường lên Senior, lên Full Stack Developer. Mình nghĩ ai làm vài năm cũng rút ra được thôi, nhưng biết những thứ cần học thì mấy năm đầu đi làm đỡ bỡ ngỡ lạc lối ha.

 Đây là phần 1 trong series 2 phần Tôi đã lên cấp và tiến hoá như thế nào:

Phần 1 – Những năm đầu đi làm ở Việt Nam và UK

Hồi mới ra trường, mình vào FPT Software – FSU1, BU26. Hồi đấy đi phỏng vấn, mình bị hỏi ASP.NET, rồi MVC đủ thứ, nhưng khi vào thì lại không cho làm Web mà lại cho làm WPF (Windows Presentation Foundation) .

Công việc chủ yếu là làm mấy cái app Desktop bằng WPF cho một đối tác bên Mỹ về dầu khí. Hồi đó mình mới ra trường, ngáo ngơ chưa biết gì nên mình đã học được rất rất là nhiều thứ:

  • Quy trình: FPT là một công ty lớn. Họ có quy trình rõ ràng: standing meeting ra sao, phân chia task như thế nào, dev làm gì, tester làm gì, có ticket đầy đủ
    • Hồi đó mình học được rất là nhiều quy trình. Ví dụ như: Code xong phải có người code review, dùng JIRA thế nào để quản lý tasks, meeting và cho điểm task ra sao
  • Kĩ thuật: Mình phải tự học 100% WPF vì trường không dạy. Cũng may mình đã có sẵn nền tảng về C# nên tự học cũng không khó lắm. Nhờ dùng WPF mà mình nắm khá vững mô hình MVVM, Data Binding, Event, Animation v…v, sau này qua học Angular cũng dễ hơn nhiều
  • Cách đọc code, tổ chức code: Hồi đó team mình có một dự án khá là bự, source code cũng được vài năm rồi. Nhờ đọc code dự án mà mình biết được một dự án lớn thì code được tổ chức gồm những phần như thế nào, làm sao để thêm 1 chức năng mới mà không ảnh hưởng chức năng cũ.
 

Sau 6 tháng, mình đã đỡ ngáo ngơ hơn, không còn là thằng junior ngu ngơ nữa. Mình rời FPT Software để qua Aswig Solution. Nhờ đã có kinh nghiệm nên mình trả lời những câu hỏi về qui trình làm việc, Scrum này nọ khá dễ dàng!

Năm thứ 2 – Junior Dev tại Aswig Solution

Qua Aswig, mặc dù vẫn là junior, nhưng mình được mức lương cao gấp rưỡi FSoft. Chắc do công ty nước ngoài nên họ chịu chi hơn.

Hồi đó team mình cũng nhỏ nhỏ, cỡ 3-4 người, mình thì vẫn code C#, nhưng nay đã được làm web chứ không còn phải code WPF nữa. Cũng may, anh team leader khá là nhiệt tình, cởi mở, chịu khó học hỏi, tìm hiểu công nghệ mới.

Mình cũng học được khá nhiều điều:

  • Angular & JavaScript: Hồi đấy AngularJS (Angular 1) khá là hot, nên team mình cắm đầu vừa học vừa dùng Angular luôn. Mình có cơ hội được học kĩ  JavaScript.
  • JavaScript nâng cao: Nhờ sử dụng Angular 1, mình nắm được các khái niệm nâng cao như: IoC/DI là cái gì; làm sao để phân tách code theo module, theo file; làm sao để build/bundle code JavaScript
  • Cách bắt đầu dự án: Khác với FPT, bên Aswig team mình bắt đầu 1 dự án mới từ đầu. Mình không biết bắt đầu 1 dự án mới ra sao, chia code thành những phần nào.
    • May là trong team có những anh senior. Quan sát họ, mình biết cách xây dựng hệ thống chia thành từng phần ra sao, ba lớp ra sao. Code mới viết ở đâu, database access viết ở đâu chẳng hạn
  • Kĩ năng mềm: Ở Aswig, xung quanh mình có nhiều anh manager giỏi. Anh team leader team mình là Anh Hưng. Anh ấy rất chịu khó ngoại giao các team khác, rồi ngoại giao với PM ở bên Úc nên mình học được các năng nổ nói chuyện, giao tiếp với mọi người xung quanh
    • Bác Manager trên mình là bác Khánh, Engineer Manager của toàn công ty, coi như là người nắm quyền cao nhất của toàn công ty luôn.
    • Nhờ làm việc với bác mà mình học được từ bác cách viết email cho mọi người như thế nào nè; cách thuyết trình, giải thích cho cả công ty; cách để quản lý các team khác nhau.

Làm được ở VN tầm 1 năm rưỡi thì mình cũng hơi hơi chán, thế là mình tìm đường qua nước ngoài du học.

Năm 3,4 – Du học UK và làm việc nước ngoài

Hành trình phỏng vấn, xin việc ở UK, công việc hàng ngày mình cũng đã viết rồi. Nên bài này mình chia sẻ những thứ mình đã học được thôi ha.

Ở bên UK, team mình cũng khá nho nhỏ (tầm 6 người). Công việc cũng khá là nhàn vì chỉ làm cái app cho trường thôi, nên không có áp lực doanh thu hay phải OT gì cả. Thêm cả dân UK cũng rất là phè phỡn: 9:00 sáng đi làm, 5:00 chiều xách cặp về mất tiêu.

Ở Lancaster ISS, mình lại học được khá nhiều thứ hay ho khác:

  • ReactJS: Cách đây vài năm, React vẫn chưa nổi tiếng như bây giờ, vẫn còn hay bị so sánh với AngularJS (Giờ thì React nổi quá trời, còn AngularJS đã chìm nghỉm). Do dự án dùng React, mình cơ hội được học và làm React luôn. Sau này mình đi phỏng vấn đâu đâu cũng đòi hỏi React cả, khá là may mắn.
  • Làm Product: Ở mấy công ty trước,  đa phần là làm outsource nên mình chưa biết cách làm 1 product thật sự như thế nào cả. Ở Lancaster ISS thì khác, team mình làm 1 cái app tên iLancaster: Cho sinh viên điểm danh, xem khoá học, đóng tiền v…v
    • Team nhỏ nhưng có tận 2 bạn Product Manager. Họ đi nói chuyện với học sinh, sinh viên, với các phòng bạn khác để tìm hiểu khách hàng cần gì. Sao đó, Product Manager sẽ viết requirement  để team dev tụi mình implement những chức năng đó
    • Hồi đó, team mình khá nhỏ nên mình được đi chung với Product Manager để nói chuyện với khách hàng, với các phòng ban khác để biết người ta cần cái gì và cái app của mình có làm được hay không.
    • Đó là con đường đầu tiên của mình để trở thành người build sản phẩm. Mình không chỉ có nhận yêu cầu xong rồi code, mà mình biết sản phẩm mình tạo ra để làm cái gì, mang giá trị gì không. Điều đó có ý nghĩa hơn nhiều so với việc chỉ nhận task rồi code.
  • Mentor cho junior: Hồi ấy mình chưa tới tầm Senior, nhưng chắc cũng hơi hơi rồi. Do đó, khi có vài bạn Junior mới vào thì mình may mắn được làm mentor, hướng dẫn các bạn ấy làm quen với codebase, cách code cho đúng convention luôn.
  • Nhờ vậy, mình học cách giao tiếp, cách viết document ra sao. Mình cũng học được tính kiên nhẫn, giải thích các vấn đề cho các bạn Junior hiểu. Cũng may là mấy bạn Junior cũng thông minh, chứ ngu là mình chửi sml luôn rồi.

Mình làm bên UK chừng 2 năm, tốt nghiệp xong thì có ông anh hồi xưa làm chung bên Aswig, rủ mình qua một công ty start up ở Singapore. Thấy cũng gần nhà, với trước giờ chưa làm startup nên mình cũng… nhắm mắt đưa chân luôn. 

Tác giả: Phạm Huy Hoàng

Ybox.vn

 




 
Copyright© Đại học Duy Tân 2010 - 2020