Lắng nghe chia sẻ của anh Nguyễn Thanh Tùng – Software Architect tại MISA JSC về:
- Quá trình thăng tiến từ một Dev thành Software Architect
- Phẩm chất cốt yếu của một Software Architect
- Yếu tố cần và đủ để thăng tiến cho các bạn Dev ngày nay
1. Chào anh Nguyễn Thanh Tùng, anh có thể giới thiệu đôi chút với độc giả ViecBonus về học vấn và kinh nghiệm làm việc trong ngành CNTT của mình được không ạ?
Xin chào độc giả ViecBonus, mình là Nguyễn Thanh Tùng, tốt nghiệp cử nhân Công nghệ phần mềm của Đại học Công Nghệ – Đại học Quốc Gia Hà Nội.
Hiện tại, mình đang làm việc tại Trung tâm Phát triển phần mềm – Công ty cổ phần MISA được 8 năm. Tại đây, mình có cơ hội học hỏi và tích lũy được rất nhiều kiến thức và kinh nghiệm từ các anh chị đi trước.
2. Anh đã trải qua những vị trí nào trước khi trở thành Chief Software Architect?
Con đường trở thành Chief Software Architect của mình khá cơ bản. Trước tiên, mình cũng làm Developer, rồi sau đó lên Team Leader. Khi mình có nhiều kinh nghiệm hơn thì làm Software Architect chịu trách nhiệm xây dựng kiến trúc, framework cho các sản phẩm. Cuối cùng khi đã có khá đầy đủ kiến thức và kinh nghiệm về các công nghệ và sản phẩm liên quan thì mình trở thành Chief Software Architect, chịu trách nhiệm đánh giá công nghệ, hỗ trợ các Software Architect trong việc lựa chọn, phân tích thiết kế, xây dựng framework của các dự án tại MISA.
3. Được biết anh Tùng từng nhận chứng chỉ chuyên viên phát triển Microsoft (Microsoft Certified Professional Developer) ở rất nhiều mảng. Anh có thể chia sẻ thêm với độc giả Viecbonus về quá trình tích lũy kiến thức và kinh nghiệm để đạt chứng chỉ này không?
Nói rất nhiều mảng thì cũng không chính xác lắm, hiện thời mình mới lấy chứng chỉ MCP 519 về Designing and Developing Web Application Using Microsoft .NET Framework 4. Đây là chứng chỉ phù hợp cho những senior developer hoặc architect đã có một vài năm kinh nghiệm lập trình ứng dụng webform trên công nghệ Microsoft .NET bởi vì nó chứa đựng khá nhiều kiến thức và kỹ thuật mang tính thiết kế kiến trúc phần mềm sao cho đạt được hiệu năng tốt và bảo mật cao
Để đạt chứng chỉ này mình nghĩ là không khó, đa phần kiến thức đều rất cơ bản và không có gì đánh đố. Nếu bạn đã từng có kinh nghiệm làm về công nghệ .NET và hiểu rõ những gì bạn làm thì khả năng bạn bạn pass đã trên 50% rồi. Tiếp theo bạn cần kiếm sách Microsoft Press tương ứng của chứng chỉ bạn định thi và ngâm cứu nó, hầu hết câu hỏi đều có trong nội dung của sách này, làm được như vậy là bạn đã pass 70-80% rồi. Cuối cùng “học tài thì phận” (cười), bạn cũng cần làm quen trước qua những đề thi thử (dump) để đảm bảo pass 90-100%
4. Chứng chỉ này có phải là bước đệm cho lộ trình phát triển bản thân và thăng tiến trong sự nghiệp của anh không?
Nếu bạn có chứng chỉ MCP thì bạn sẽ có khá nhiều lợi thế trong việc tuyển dụng vì khi đó bạn có giá trị hơn trong mắt nhà tuyển dụng nhưng đối với mình MCP là cơ hội để hệ thống hóa lại kiến thức và có cơ hội tiếp cận những nguồn tài nguyên dành cho các MCP hơn là bước đệm cho lộ trình thăng tiến của bản thân. Tất nhiên quan điểm mỗi người một khác nhưng điều mình muốn nhấn mạnh ở đây đó là đừng quá quan trọng hóa bạn có chứng chỉ MCP hay không mà hãy tập trung vào việc bạn có kiến thức kinh nghiệm gì và bạn có thể làm được gì. Bởi suy cho cùng thì MCP cũng chỉ là một tờ giấy mà thôi, nó không đảm bảo cho tương lai của bạn nếu bạn không chứng minh được “giá trị thực tế” mang lại cho doanh nghiệp.
5. Theo anh, một developer cần những tố chất – kỹ năng nào để trở thành 1 Chief Software Architect?
Tố chất thì cũng không biết nói thế nào nên mình chỉ xin chia sẻ từ quan điểm cá nhân của mình như sau:
- Trăm hay không bằng tay quen, như Malcolm Gladwell đã nói bạn không thể trở thành chuyên gia nếu chưa có đủ 10000 giờ thực hành. Các bạn hãy thực hành thật nhiều bắt đầu từ những công việc nhỏ nhất. Lâu dần khi bạn có nhiều kinh nghiệm hơn thì bạn cũng sẽ code không chỉ đúng đủ mà còn dễ bảo trì hơn, tối ưu hơn.
- Luôn luôn trau dồi để nắm được các kiến thức nền tảng thật tốt như là: lập trình hướng đối tượng, cấu trúc dữ liệu và giải thuật, mạng máy tính, hệ điều hành, cơ sở dữ liệu… Điều này rất là quan trọng nhưng đa phần các bạn không để ý nên sau này sẽ rất khó khăn để các bạn lĩnh hội được nhanh các kiến thức khác.
- Khi đã có nhiều kinh nghiệm hơn thì cũng nên bắt đầu quan tâm đến các design pattern, các kiến trúc ứng dụng như N-tiers, MVP, MVC, MVVM…, các kỹ thuật về clean code, performance code, security code… để có thể xây dựng các ứng dụng dễ bảo trì, mở rộng, đảm bảo hiệu năng và bảo mật.
- Cuối cùng bởi vì công nghệ thay đổi liên tục nên bạn cần không ngừng học hỏi, tích cực cập nhật và thử nghiệm công nghệ, kiến trúc mới để có thể áp dụng cho công việc của mình.
6. Với kinh nghiệm 9 năm trong nghề, anh nhận thấy điểm yếu nào ở các bạn Developer? Và anh có lời khuyên nào cho các bạn Developer muốn thăng tiến trong sự nghiệp lập trình?
Các bạn Developer ngày nay có 2 điểm thôi:
- Khả năng tiếng anh (giới trẻ bây giờ thì khá hơn rồi), Tiếng Anh không tốt sẽ là một rào cản rất lớn để các bạn có thể theo được nghề này.
- Ngại trao đổi, giao tiếp cũng là một điểm yếu nữa, rất dễ dẫn đến hiểu sai hoặc cần nhiều thời gian và công sức để sửa sai.
Nếu có một lời khuyên thì chỉ xin khuyên các bạn developer hãy luôn cố gắng nỗ lực hết mình với một tinh thần lạc quan và tích cực bởi vì nghề này rất dễ stress (cười). “Try your best, the rest will come”
Cảm ơn anh đã chia sẻ với ViecBonus!
thuê xe du lịch tại phú yên says
Cám ơn ad đã chia sẽ
tungnt185 says
Cảm ơn vì bài viết hữu ích với ban. Subscribe blog để ủng hộ mình nhé.