Bài viết xoay quanh ý kiến quan điểm cá nhân và kinh nghiệm thực tế mình đã trải qua.
Chưa quan tâm đến chuyện mức lương chục nghìn USD mỗi tháng, hãy tập trung vào việc làm thế nào để trở thành International Software Engineer thực thụ.
Một khi đã trở thành ISE thì $$$ không còn là mục tiêu quá quan trọng.
1) Target
Đi đâu cũng được, phương tiện nào cũng được, nhưng quan trọng nhất cần biết đích đến. Mục đích thực sự mà bạn mong muốn khi trở thành ISE là gì?
Mỗi người có một hoài bão riêng không giống nhau. Tuy nhiên, chỉ khi xác định được mục tiêu, chúng ta mới biết được cần làm gì.
- Bạn muốn hoàn thành tất cả các task được giao? Được vinh danh trong YEP.
- Bạn muốn mức lương nghìn USD mỗi tháng?
- Bạn muốn nhiều người biết đến?
- Bạn muốn học hỏi và cống hiến cho ngành Software phát triển hơn?
- Hay chỉ đơn giản là muốn thỏa mãn đam mê của mình?
Mình chắc đa số đều đã xem bộ phim Three idiots với câu nói nổi tiếng Hãy cứ theo đuổi đam mê, thành công sẽ theo đuổi bạn.
Mục tiêu của chúng ta thay đổi qua mỗi giai đoạn, gần đúng như theo thứ tự trên, ứng với tháp nhu cầu Maslow.
Để đạt được tất cả các mục tiêu đó, về cơ bản sẽ bao gồm 3 nền tảng chính:
- Nhiệt huyết, tò mò và sự kiên nhẫn.
- Kiến thức căn bản.
- Ngoại ngữ.
Với các practice:
- Đọc sách, học course.
- Viết blog.
- Giao lưu, chia sẻ, học hỏi kiến thức từ nhiều người.
- Tham gia phát triển các open source.
- Thực hành, thực hành và thực hành.
2) Passion, curious and patient
Chúng ta rất giỏi, nhưng thiếu sự tò mò, sự nghi ngờ về những thứ mà chúng ta đã biết hoặc đang biết, đặc biệt sau khi ra trường vài năm.
Nói riêng về sự nhanh nhạy thì chúng ta có thừa. Học library mới, framework mới rất nhanh để giải quyết vấn đề hiện tại. Một khi đã giải quyết xong thì.. lại bị cuốn theo các task khác, hoặc do.. hơi lười để tìm hiểu cụ thể xem framework đó giải quyết vấn đề thế nào. Bí ẩn đằng sau nó là gì?
Thời gian đi làm đã chẳng đủ, hoàn thành task là tốt lắm rồi, lấy đâu thì giờ mà nghiên cứu thêm. Không giải quyết được vấn đề gì, công ty cũng chẳng trả lương cho việc này.
Tuy nhiên, mọi thứ sẽ khác khi chúng ta có lửa nhiệt huyết và tò mò với những thứ ta đang làm. Hãy luôn đặt ra câu hỏi trong đầu. Nó không đem lại lợi ích tức thời, nhưng nó là cả một gia tài đồ sộ mà bạn không thể ngờ trong tương lai.
Nó hoạt động thế nào, tại sao làm như vậy? Vì sao lại là thế này mà không phải thế khác? Tưởng chừng như những câu hỏi vô nghĩa chả giúp ích gì.
Nhưng khi suy nghĩ đến những điều này, tức là chúng ta đang tự cho bản thân cơ hội để tìm ra những thứ hay ho hấp dẫn hơn. Đó chính là thứ tạo nên sự khác biệt, chưa nói đến việc có thể tạo ra những thứ tương tự, thậm chí tuyệt vời hơn thứ đang có.
Chúng ta có thể làm rất nhanh, phát triển thần tốc. Nhưng chính điều đó làm đánh mất đi cơ hội để phát triển lâu dài và bền bỉ.
Ít nhất, việc đào sâu hiểu kĩ cũng đem lại lợi ích ngắn hạn là pass qua những vòng phỏng vấn đầy lý thuyết , giúp bạn dễ dàng deal lương hơn trong vòng tiếp theo.
Niềm đam mê và sự tò mò sẽ vẽ ra con đường tương lai tươi sáng phía trước. Sự kiên trì, bền bỉ sẽ giúp chúng ta đi trên con đường đó lâu hơn.
Tò mò trong công việc thôi chứ đừng tò mò chuyện hàng xóm nhé .
Ngoài ra, ngành IT đã, đang và luôn luôn cực HOT. Số lượng đào tạo tuyển sinh rất lớn, thế hệ Z ngày càng thông minh và tốc độ hơn chúng ta nhiều lần. Nếu không giữ cho mình ngọn lửa đam mê và sự tò mò thì rất dễ dàng bị đào thải khỏi cuộc chơi này.
Các bạn có thể tham khảo điểm chuẩn tuyển sinh ngành IT của các trường Đại Học là cực cao. Trung bình khoảng 24 điểm, cao nhất là Bách Khoa 29 điểm . Yêu cầu năng lực cao tương đương ngành Y.
Một thực tế phũ phàng khác là công nghệ thay đổi chóng mặt, ngôn ngữ mới xuất hiện liên tục. Chúng ta không đủ khả năng chạy đua với nó. Do vậy, hãy tập trung vào một vài thứ nền tảng, tò mò về nó để nắm thật chắc, thật sâu để trở thành expert trong lĩnh vực đó. Bạn sẽ chiến thắng.
3) Kiến thức căn bản
Riêng ngành IT, cá nhân mình thấy knowledge quan trọng hơn experience khá nhiều. Không có nghĩa rằng experience không quan trọng, mà là chúng ta cần mở rộng knowledge của mình hơn nữa.
Vài năm đầu đi làm mình học hỏi được kha khá kinh nghiệm. Tuy nhiên sau đó, mình thấy rằng việc vẫn cứ lặp đi lặp lại như thế, vẫn là phân tích như này, design như này, code như này, review như này...
Công nghệ thay đổi chóng mặt, kinh nghiệm làm việc với những thứ trước đó không phát huy được quá nhiều giá trị.
Thực tế, requirement thay đổi từng ngày và chỉ có phức tạp lên chứ không đơn giản đi. Bài toán ngày càng lớn, kinh nghiệm chưa có cũng không sao, nhưng chắc chắn cần phải có kiến thức để xử lý được nó.
Kinh nghiệm giúp chúng ta giải quyết các vấn đề.. lặp đi lặp lại rất tốt. Nhưng nó không giúp ích nhiều trong việc xử lý những vấn đề mới.
Ví dụ mình là Java Developer, sếp yêu cầu xử lý bài toán ML, AI các kiểu... Chẳng có tí kiến thức nào thì làm kiểu gì?
Muốn tiếp xúc nhiều thứ lớn hơn, cơ hội việc làm mới mẻ thì.. kinh nghiệm chẳng giúp ích gì trong chuyện này .
Như vậy, hãy gia tăng lương kiến thức của mình từng ngày, từng giờ thay vì cố gắng tích lũy kinh nghiệm đang có. Ngành nào thì mình không biết, ngành IT thì nó phũ phàng như vậy đấy.
Càng biết nhiều thì càng có cơ hội biết nhiều hơn nữa. Kiến thức giống như một khoản đầu tư sinh lời gấp đôi, gấp ba, gấp n lần trong lương lai. Còn cụ thể gấp bao nhiêu lần thì.. phụ thuộc vào kiến thức đó là gì và đã áp dụng nó thế nào.
Ngoài những kiến thức tự học, một loại khác mà chúng ta thường hay.. coi thường khi còn đi học đó là kiến thức cơ bản. Thứ quan trọng nhất thì hay bị bỏ lỡ, để đến bây giờ ngân nga hai chữ.. giá như:
- Giải tích, đại số, hình học: đạo hàm, cực trị, tích phân...
- Thuật toán sắp xếp.
- Thuật toán tìm đường.
- Cấu trúc dữ liệu: queue, stack, array, tree, graph...
- Quy trình phát triển phần mềm...
- Kiến thức về testing, trong khi rõ ràng mình là developer.
- Một đống các kiến thức lý thuyết mà cảm thấy.. vô dụng khác.
Vì sao nó quan trọng đến vậy thì.. mình nghĩ mỗi chúng ta đều có câu trả lời.
Không cần giỏi toán cũng có thể trở thành developer, nhưng muốn trở thành một engineer giỏi thì điều kiện cần chắc chắn phải giỏi toán. Đấy là chưa kể vô vàn những định lý kiến thức khác...
Thực tế khi phỏng vấn với các công ty trong nước và nước ngoài sẽ có 2 điểm khác biệt chính:
- Các công ty trong nước: đa số không có vòng test, phỏng sẽ hỏi về lý thuyết và kinh nghiệm, nhưng phần nhiều là kinh nghiệm.
- Với các công ty nước ngoài: gần như 99% luôn có bài test. Chém gió hay đến đâu nhưng cái cần là phải làm được. Hỏi rất kĩ và sâu về lý thuyết.
Tất nhiên, mỗi môi trường sẽ có nhưng yêu cầu và tiêu chuẩn khác nhau. Hãy nhìn vào thực tế phát triển, mình nghĩ bạn sẽ tự tìm ra được câu trả lời rằng điều gì tốt hơn. Không bàn luận vấn đề chính trị ở đây nhé .
Cuối cùng là English:
- Nó là điều không thể thiếu nên không bàn luận thêm. Ngoài reading và writing là hai thứ tối thiểu cần có của SE, chúng ta còn cần thêm khả năng speaking để thực sự trở thành ISE đúng nghĩa.
4) Lời thú tội ngọt ngào
Tất cả những thứ trên ai cũng biết và có thể nói được. Hành động mới thật sự là điều khó khăn.
Đa số làm hết 8 tiếng trên công ty là oải lắm rồi. Dân IT thì hết giờ làm là bóng bánh, chén chú chén anh, tuần đôi ba lần. Tối về chăm vợ con, hoặc không thì đi chơi với gấu là hết ngày. Mỗi người một cuộc sống, phải biết hưởng, thụ work - life balance.
Để kiên trì với mục tiêu và thực sự hành động là điều không dễ.
Bản thân mình vẫn đi code thuê với mức lương đủ sống, work for food. Đang cố gắng cải thiện.. sự lười biếng bằng cách đi sớm về muộn tiết kiệm thời gian tránh tắc đường. Thời gian rảnh sẽ học course, đọc sách và viết blog.
Kết, may mắn chỉ là một phần trong cuộc chơi, điều còn lại là kiên trì tới đâu mà thôi .
© Dat Bui