Trở thành lập trình viên là giấc mơ của bạn, nhưng “dòng đời xô đẩy” bạn làm những công việc kĩ thuật khác?
Bạn muốn chuyển hướng trở lại làm lập trình?
Đọc ngay bài viết này để biết cách:
- Trở thành lập trình viên từ Tester hoặc bất kì vị trí kĩ thuật nào
- Vượt qua rào cản khi chuyển hướng nghề nghiệp
Giới thiệu: Anh John Sonmez, chủ blog SimpleProgrammer, nổi tiếng với những bài viết hay về kĩ năng mềm và định hướng nghề nghiệp cho developer.
Tham khảo hàng trăm việc làm Developer tại ITviec.
Đọc bản tiếng Anh tại đây.
Bạn yêu thích lập trình nhưng lại làm Tester hay các công việc kĩ thuật khác do “dòng đời xô đẩy”?
Bạn muốn chuyển hướng trở thành lập trình viên mà không biết phải làm sao?
Đừng lo. Tôi đã tự làm chuyện này tới 2 lần, và đều thành công.
- Lần thứ nhất, khi tôi mới bắt đầu sự nghiệp với vị trí QA tại HP.
Tôi đã tự học để trở thành chuyên gia về PCL và PostScript, hai ngôn ngữ in ấn phổ biến.
Tôi đưa ra báo cáo bug chi tiết với các đoạn code trong máy in, chỉ ra những gì lệnh ngôn ngữ máy in có thể đang sai và gây ra lỗi.
Nhờ vậy, tôi được viết test cho máy in, và cuối cùng chính thức được chuyển sang development team với chức danh Programmer.
- Lần thứ hai, sau khi nhảy việc, tôi lại trở về HP làm QA Lead.
Lần này, tôi giúp một Junior Developer thực hiện vài task lập trình C++. Anh ta tiến cử tôi với sếp. Sau đó, development team nhận tôi về với chức danh Software Developer.
Nếu bạn thực sự quyết tâm trở thành lập trình viên, hãy tham khảo một số cách được đúc rút từ kinh nghiệm xương máu của tôi dưới đây. Có lẽ chúng sẽ hữu ích đấy.
1. THAY ĐỔI MẶC ĐỊNH VỀ NGHỀ NGHIỆP CỦA BẠN
Khi bạn đã có kinh nghiệm hoặc vị trí nghề nghiệp nhất định, bạn thường bị mặc định gắn liền với công việc cụ thể đó. Rất khó để mọi người xung quanh hình dung bạn ở vai trò mới.
Đặc biệt trong lĩnh vực lập trình, sự khác biệt giữa công việc của Developer và Tester (hoặc QA) khá rõ rệt.
Xem thêm QA QC là gì và 7 thất bại đầu đời của một QA.
Bởi vậy, sẽ dễ dàng hơn nếu bạn “làm lại cuộc đời” ở một công ty mới. Còn chuyển từ Tester sang Developer ngay trong công ty hiện tại sẽ khó hơn nhiều.
Nhất là, nếu bạn lại cực kì nổi trội trong công việc cũ.
Thư giãn với video: Developer là ai trong mắt mọi người
Vậy nếu muốn chuyển hướng trở thành lập trình viên ngay trong công ty hiện tại, bạn cần:
1.1. Phải thật kiên nhẫn
Thay đổi nhận thức cần thời gian.
1.2. Cho mọi người biết mục tiêu mới
Hãy tâm sự với đồng nghiệp rằng bạn khao khát chuyển sang lập trình như thế nào.
Đừng ngại ngần mà hãy thẳng thắn gặp sếp, nói rõ ý nguyện trở thành lập trình viên.
Hãy cho sếp biết rằng bạn sẵn sàng làm mọi thứ để thực hiện ước muốn này.
Đồng thời, hãy giải thích background về testing của bạn sẽ hữu ích và sinh lợi nhiều hơn cho công ty ra sao nếu bạn chuyển sang làm Developer.
Bạn càng rõ ràng, cương quyết thể hiện mong muốn trở thành lập trình viên, thì những người muốn giữ bạn ở lại vị trí cũ sẽ càng vơi bớt ý định. Thế nên cứ nói thẳng ra, đừng ngại.
Tuy nhiên, nói suông không đủ. Bạn cần thể hiện bằng hành động nữa.
Khi trao đổi với sếp, hãy đưa ra danh sách các khóa học bạn đang theo học, hoặc các mục tiêu từng bước bạn đang làm.
Điều đó cho thấy ý định chuyển đổi công việc của bạn là nghiêm túc, rõ ràng; với các bước đi chắc chắn và cụ thể.
2. CHỦ ĐỘNG TẠO CƠ HỘI TRỞ THÀNH LẬP TRÌNH VIÊN
Đừng trông chờ người khác đem cơ hội đến dâng cho bạn, không có mùa xuân ấy đâu. Nếu thực sự muốn đạt được điều gì, bạn phải xắn tay áo lăn xả vào mà làm. Hãy:
2.1. Hỏi về cơ hội mới ngay cả khi còn đang làm ở vị trí cũ
Hãy đề nghị sếp giao cho bạn một, hai task đơn giản.
Hãy hỏi có bug nào cho bạn fix không.
Và cứ hỏi tiếp đi.
Có thể bạn sẽ bị từ chối trong vài lần đầu tiên. Có thể sếp sẽ hơi phiền vì giao task mới cho bạn mà lại phải cử thêm người hướng dẫn, giải thích cách làm.
Tuy nhiên, nếu bạn cứ tiếp tục yêu cầu, tiếp tục cố gắng thì đến một lúc nào đó, sếp sẽ tự động giao thêm task lập trình cho bạn, dù đôi khi chỉ để… bạn đừng đòi nữa :’)
2.2. Tự tạo ra cơ hội
Đôi khi, sếp sẽ không muốn giao các task lập trình cho bạn, dù bạn yêu cầu.
Thứ nhất, có thể vì bạn rất xuất sắc trong công việc Tester hiện tại, và có hàng đống task về testing đang cần bạn giải quyết.
Thứ hai, có thể việc giao task lập trình cho bạn sẽ tốn nhiều resources (thời gian, người hướng dẫn.v.v..) hơn là giá trị mà nó mang lại.
Hoặc có thể vì nhận thức của sếp/đồng nghiệp về bạn vẫn chưa thay đổi. Họ mặc định bạn chỉ là một Tester, Linux Admin hoặc IT support, hay bất cứ vị trí nào đó.
Vậy cách tốt nhất là hãy tìm một development team mà bạn có thể phụ giúp, đóng góp mà không làm phiền đến công việc của bất kì ai.
Hãy hỏi họ những task lập trình mà không ai muốn làm. Đó có thể là:
- Task lập trình tương đương với lau nhà vệ sinh chẳng hạn.
- Hoặc debug những bug cực khó nhằn không ai muốn động đến.
- Hay viết document cho một API, xây dựng tool để nâng năng suất làm việc cho cả team
Những việc này có thể nhàm chán, khó khăn, nhưng cơ hội cũng nằm ở đó. Vì chẳng ai tranh giành với bạn cả.
Hãy xắn tay áo lên để làm thôi nào!
2.3. Sử dụng thời gian cá nhân
Như đã phân tích ở trên, sếp ngần ngại giao task lập trình cho bạn có thể vì sợ ảnh hưởng đến công việc chính mà bạn đang đảm nhận.
Nếu vậy, bạn phải chấp nhận sử dụng thời gian cá nhân (không được trả lương, dĩ nhiên rồi!) để nhận làm thêm các task về lập trình thôi. Điều này hoàn toàn công bằng, và xứng đáng, để bạn có thể đạt được mục tiêu trở thành lập trình viên của mình.
Hãy sẵn sàng đi làm sớm hoặc về trễ hơn một chút, để hoàn thành các task lập trình được giao thêm.
Trường hợp xấu nhất là bạn chả kiếm được task lập trình nào từ công ty, thì dùng thời gian cá nhân để code các dự án riêng của bạn cũng được.
Nhưng tôi đảm bảo với bạn, chẳng công ty hay sếp nào từ chối thiện ý làm thêm ngoài giờ miễn phí của bạn đâu.
3. TÌM CÔNG VIỆC CẦU NỐI
3.1. Automation Testing
Có một cách rất tốt để trở thành lập trình viên từ vị trí QA/Tester, là tìm một công việc giúp bạn làm mỗi vai trò một ít. Công việc Automation Testing chính là cầu nối tuyệt vời vì nó giúp bạn có cơ hội viết code để tự động hóa manual test.
Xem thêm Automation Tester là gì
Ưu điểm:
- Dễ thuyết phục sếp hơn.
Dĩ nhiên đề nghị chuyển từ QA/Tester sang Automation Tester sẽ dễ hơn là yêu cầu chuyển thẳng sang làm Dev trong khi bạn chưa có chút kinh nghiệm lập trình thực tế nào.
- Win – win.
Bạn có được kinh nghiệm lập trình quý giá. Công ty bạn nhận được lợi ích từ Automation Testing, giúp tiết kiệm resources và công việc hiệu quả hơn.
- Là bước đệm để trở thành lập trình viên dễ hơn.
Một khi đã có kinh nghiệm làm Automation Tester hoặc Testing Software Developer, bạn sẽ rất dễ dàng chính thức chuyển sang vị trí Developer ở bất kì công ty nào. Vì bạn đã có kinh nghiệm lập trình thực tế rồi.
- Automation Testing rất thú vị.
Biết đâu rốt cuộc bạn lại thích hướng nghề nghiệp này hơn cả làm Developer. (Đùa thôi, haha)
(Cá nhân tôi rất yêu thích công việc thiết kế framework cho Automation Testing. Tôi thấy chúng rất hữu ích và đầy thử thách.)
3.2. Những công việc mang tính chất cầu nối khác
Tùy vị trí hiện tại, bạn có thể chọn những công việc mang tính cầu nối khác để trở thành lập trình viên, ví dụ như:
- Linux Admin có thể cân nhắc việc lập trình tool, hoặc DevOps.
Vì họ có thể tận dụng kĩ năng sẵn có như: quản trị Linux, viết script, lập trình tự động hóa các task, xây dựng tool hữu ích cho team.
- Các bạn IT Support có thể chuyên làm hỗ trợ cho Developer, hoặc trở thành Senior IT Support.
Lúc này, các bạn sẽ được thử sức với nhiệm vụ đọc code để giải quyết vấn đề của khách hàng; hay thu thập thông tin cho Developer.
Nói tóm lại, hãy tìm cách tận dụng các kĩ năng sẵn có trong công việc hiện tại, áp dụng vào một số task lập trình. Và bạn sẽ tạo ra những công việc cầu nối riêng cho mình.
4. ĐỔI CÔNG TY
Tất cả những cách tôi phân tích ở trên được dựa trên giả định là bạn muốn chuyển hướng từ Tester/QA hoặc một số vị trí kĩ thuật khác sang thành lập trình viên NGAY TRONG CÔNG TY HIỆN TẠI.
Nhưng nếu bạn đã thử mọi cách mà vẫn không đạt được mong muốn?
Hãy đổi công ty.
Hãy đưa những kinh nghiệm về lập trình bạn đã tích lũy được (kể cả việc làm tool, hay các dự án cá nhân) vào CV. Nó sẽ giúp bạn rất nhiều.
Bạn cũng có thể ứng tuyển một vị trí mang tính bắc cầu (Automation Tester, DevOps…) trong công ty mới. Và tốt nhất là vị trí đó có gắn với chức danh Developer hay Engineer.
Dĩ nhiên, khi chuyển hướng sự nghiệp, bạn sẽ phải chấp nhận bắt đầu lại mọi thứ từ đầu. Bạn nên nhắm vào các vị trí Junior Developer trước.
5. ĐỪNG NẢN CHÍ
Đây là lời khuyên cuối cùng của tôi.
Chuyển hướng công việc bao giờ cũng khó khăn, cho dù bạn làm ngành gì đi nữa. Lí do đơn giản: mọi người đã mặc định về nghề nghiệp của bạn rồi.
Tuy nhiên, nếu bạn thực sự mong muốn, nếu bạn sẵn sàng làm thêm nhiều việc khác nữa, và làm “tốt đến mức không ai có thể phớt lờ bạn“, như Cal Newport nói trong cuốn sách cùng tên của ông, thì kiểu gì cuối cùng bạn cũng sẽ thành công thôi.
Hãy kiên nhẫn. Đó là chìa khóa cho bạn.
Bạn gặp khó khăn khi chuyển hướng để trở thành lập trình viên? Bạn đã vượt qua như thế nào? Hãy chia sẻ cho ITviec nhé!
Xem thêm các việc làm Developer và việc làm Tester “chất” tại ITviec.