NHỮNG ĐIỀU QUAN TRỌNG KHI LÀM SOFTWARE ENGINEER TẠI NHẬT
1. Tiếng Nhật
Trình độ tối thiểu
Tôi nghĩ trình độ tối thiểu mà một lập trình viên “phải có” khi mong muốn làm việc tại Nhật Bản là JLPTN3. Tại sao thì các bạn đọc tiếp
Đọc, viết
Trong JLPT thì không có kỹ năng viết, nên ngoài việc có chứng chỉ. Các bạn cũng nên trau dồi kỹ năng viết tiếng Nhật của mình. Khi học và luyện tiếng theo JLPT, các bạn sẽ được học từ vựng, ngữ pháp cũng như đọc hiểu, đây sẽ là những cơ sở nền tảng tốt để các bạn có thể viết tiếng Nhật được tốt hơn.
Trong quá trình làm việc, các bạn sẽ phải nhắn tin, email trao đổi với đồng nghiệp, khách hàng rất nhiều. Ngữ pháp, từ vựng N4 khá hạn chế (thậm chí N3 cũng chỉ là basic) nên chúng ta hãy cố gắng có được trình độ trung cấp, mình tin nó sẽ giúp các bạn bắt nhịp tốt với công việc.
Ngoài công việc, thì ở ngoài cuộc sống khi đi làm thủ tục hành chính, bệnh viện … chúng ta cũng cần viết tay khá nhiều giấy tờ, nên nhớ học chắc cả Kanji nhé.
Nghe hiểu, nói
Bạn nghĩ mình sẽ làm được gì nếu đối phương nói mà các bạn không hiểu, hoặc không thể nói ý kiến cá nhân để đối phương hiểu các bạn? Mình nghĩ hoà nhập với nhau đã khó khăn rồi chứ chưa nói đến công việc. Hãy luyện nghe, luyện nói thật nhiều khi còn ở Việt Nam.
Xem anime, nghe nhạc, drama Nhật cũng là 1 cách hay để luyện nghe. Các bạn có thể bắt chước để nói theo, nhưng nhớ là trong môi trường làm việc, tuỳ vào công ty mà có thể các bạn sẽ cần có phong cách giao tiếp formal, không được thoải mái quá.

2. Kỹ Thuật
Đây là một điểm mà tôi thấy: mặt bằng chung, kỹ thuật của software engineer tại thị trường Nhật khá là yếu.
Đặc biệt khi thị trường Nhật có khá nhiều người không chuyên làm IT, có nhiều role vô thưởng vô phạt như brse, kỹ sư cầu nối,…. Bài viết này tôi cũng không đề cập đến những role đó, tôi chỉ nói tới se, role mà gắn liền đến kỹ thuật nên những tiêu chuẩn của role này chắc chắn cần cao hơn. Tôi cũng hướng tới những bạn muốn đi theo con đường kỹ thuật chứ không rẽ ngang sang quản lý, sale hay management.
Coding
Đây là một điểm quan trọng của SE, tại thị trường Nhật - nơi mà mặt bằng chung, các SE chỉ có kỹ năng này ở mức trung bình thì việc các bạn sở hữu nó ở mức khá trở lên là một điểm cộng rất lớn. Và tôi nghĩ, nếu các bạn muốn đi xa về mặt kỹ thuật, tiến lên các vị trí như senior, tech lead, solutions architect; khi đó, dưới bạn là những người bình thường thì kỹ năng và kiến thức của các bạn lại càng phải cực đỉnh để có thể dẫn dắt team đến thành công.

Deployment
Khi mà CI, CD trở thành một phần không thể thiếu và rất quan trọng của các dự án phần mềm hiện đại, và không phải dự án nào cũng có đủ kinh phí cho 1 người hoặc 1 team devops; thì việc có kiến thức, kinh nghiệm về deployment sẽ rất tốt. Đặc biệt xu hướng hệ thống phân tán và scale theo chiều ngang đang lên ngôi thì các kỹ năng này lại càng trở lên hot. Một số công nghệ, platform điển hình: k8s, docker, github actions, argocd, podman,…
Ngày nay có rất nhiều platforms, công nghệ hỗ trợ CI-CD, các bạn tham khảo nhé.
Version control, kanban, jira
Hãy học git, ít nhất phải sử dụng thành thạo git ở mức cơ bản. Đây chắc chắn là yêu cầu với tất cả các thị trường chứ không riêng gì Nhật Bản, nhưng có khá nhiều developer lại dở trong kỹ năng này (tôi khá bất ngờ).
Ngoài ra, các bạn nên biết sử dụng một trong các công cụ quản lý dự án như jira, trello, backlog,… nó sẽ rất hữu ít trong việc tracking tiến độ, theo dõi trạng thái của dự án, phát hiện những điểm nghẽn, nhanh chóng đưa ra thay đổi, quyết định quan trọng khi cần thiết.
Design
Đây là một điểm vớt vát cho các SE tại thị trường Nhật, với lối làm việc solid, sợ lỗi thì họ có thể tạo ra những basic, detail design rất chuẩn mực, chi tiết.
Tôi thì không khuyến khích các software engineer phải bỏ quá nhiều thời gian để tạo những detail design, testcase bằng excel, powerpoint công phu, chi tiết tới từng mã lỗi, message.
Tôi cho rằng một basic design ổn là đủ cho chúng ta thoả sức sáng tạo và hơn hết là có thể làm việc thông suốt, thay đổi dễ dàng khi có 1 requirement thay đổi. Hãy tưởng tượng nếu bạn có những design từ youkenteigi, đến basic, detail design, checklist,… rất công phu và khách hàng đột ngột muốn thay đổi 1 thứ gì đó, số lượng công việc của bạn bị kéo theo cho update đó là vô cùng lớn, thậm chí dẫn đến việc không thống nhất giữa các tài liệu.
Ngoài basic design thì các bạn cũng nên chuẩn bị cho mình những kiến thức như database design, system design,…
3. Kỹ năng mềm
Giao tiếp
Chúng ta cần nhìn nhận thật lòng, phần lớn SE, developer giao tiếp khá kém, họ khó khăn trong việc bày tỏ ý kiến, trình bày quan điểm, kiến thức với cấp trên, khách hàng, thậm chí với ngừơi khác. Xây dựng phần mềm là một công việc gồm nhiều công đoạn, có nhiều người tham gia, nếu chúng ta không nâng cao khả năng giao tiếp thì sẽ khó làm việc, dẫn đến việc dù chúng ta giỏi kỹ thuật nhưng có thể sẽ bị đánh giá thấp. Tôi cũng cho rằng, các vị trí vô thưởng vô phạt như BRSE, BA được sinh ra là do khả năng giao tiếp tệ của những ông dev.
Giải thích, báo cáo, đặt câu hỏi (với team, khách hàng)
Điểm này cũng liên quan đến giao tiếp, nhưng chúng ta cũng có thể cải thiện nó theo 1 cách riêng, vì các công việc này liên quan đến việc viết nhiều hơn. Lời khuyên của tôi là hãy đọc nhiều, đọc các bài báo khoa học, blog của những kỹ sư mà các bạn yêu thích, tập viết những email, tin nhắn có tâm và có sự suy nghĩ hơn. Dần dần sẽ quen, khi kỹ năng được nâng cao, các bạn sẽ không mất nhiều thời gian cho nó.
Team building activities
Hãy tích cực hoặc tham gia các hoạt động teambuilding một cách có chừng mực, đủ, không được ít. Điều này khá quan trọng, làm tăng tính đoàn kết, sự thấu hiểu lẫn nhau bên ngoài công việc giữa các thành viên trong dự án.
Dù bạn là người hướng nội như tôi thì cũng nên tham khảo nhé.
4. Khả năng tự học và trau dồi kiến thức
Tiếng anh
Hầu hết những tài liệu mới nhất trong ngành IT đều được viết bằng tiếng anh, thứ khiến bạn khác biệt so với phần còn lại cũng là kiến thức luôn được cập nhật. Vì vậy hãy học tiếng anh thật tốt, ít nhất là nghe và đọc. Điều đó sẽ giúp các bạn có thể học kiến thức mới dễ dàng hơn. Khi tốt cả những kỹ năng khác, cơ hội nghề nghiệp cũng cao hơn, khả năng làm việc ở nước ngoài với mức lương tốt là trong tầm tay.
Logic tốt giúp tiếp thu nhanh
Hãy chăm sóc bộ não của mình, chúng ta làm việc bằng não nên hãy thương nó, bổ sung DHA, luyện toán logic, nghe nhạc thính phòng, ngủ đủ,… sau 32 tuổi, các bạn sẽ thấy nó quan trọng đến mức nào.
Mình khuyên luôn: Ai có khả năng logic kém, trí nhớ không ổn thì hãy chuyển sang vị trí khác càng sớm càng tốt.

Đam mê và không ngừng học hỏi
Năng khiếu giúp chúng ta bắt đầu nhanh, nhưng đam mê là thứ giúp chúng ta đi xa mãi trên con đường bản thân đã bắt đầu. Trong một ngành kiến thức đồ sộ và không ngừng cập nhật như IT thì những người không có đam mê, không trau dồi kiến thức hàng ngày hàng tuần sẽ nhanh chóng bị đào thải.
Hãy cố gắng học hỏi không ngừng các bạn nhé :)