26 Jun, 2021
Vị trí kiến trúc sư phần mềm
Một sinh viên hỏi tôi: “Làm sao em có được việc làm kiến trúc sư phần mềm và ai thuê kiến trúc sư phần mềm? Xin thầy giúp cho.”
Đáp: Kiến trúc sư phần mềm là một trong những “việc làm nóng nhất” trong công nghiệp phần mềm ngày nay. Nhu cầu là cao vì chỉ có số ít kiến trúc sư đủ phẩm chất là sẵn có với kĩ năng đặc biệt và kinh nghiệm làm việc.
Về căn bản, kiến trúc sư phần mềm chịu trách nhiệm cho thiết kế hệ thống phần mềm và đảm bảo rằng nó đáp ứng các yêu cầu của doanh nghiệp cũng như yêu cầu hệ thống của kết cấu nền của công ti. Kĩ năng đặc biệt này yêu cầu nhiều năm kinh nghiệm phát triển phần mềm trong các nền, ngôn ngữ và công nghệ nào đó. Trước khi thiết kế hệ thống, kiến trúc sư phần mềm phải làm việc chặt chẽ với kĩ sư yêu cầu hay người phân tích doanh nghiệp để hiểu các yêu cầu của khách hàng rồi hỗ trợ cho người quản lí dự án phát triển kế hoạch dự án nơi việc chia các yêu cầu thành những nhiệm vụ nhỏ hơn là mấu chốt.
Nhiều người tin việc làm của kiến trúc sư phần lớn là trong thiết kế nhưng sự kiện là trách nhiệm của kiến trúc sư phần mềm là nhiều hơn thế nhiều. Họ phải làm việc với tổ dự án để hỗ trợ cho bất kì thay đổi nào có thể cần được thực hiện trong suốt cả vòng đời phát triển phần mềm. Vì kiến trúc sư phần mềm là chuyên gia trong thiết kế và phát triển hệ thống, nhiều thành viên tổ cũng dựa trên tri thức kĩ thuật của họ để hỗ trợ cho họ trong đa dạng công việc. Các công ti lớn với nhiều kiểu ứng dụng có nhu cầu cao nhất về kiến trúc sư phần mềm để chắc phần mềm của họ được thực hiện tương ứng với chất lượng cao. (Microsoft có vài nghìn kiến trúc sư phần mềm và Google có nhiều hơn).
Để đủ tư cách vào vị trí kiến trúc sư phần mềm, bạn cần ít nhất là bằng cử nhân trong khoa học máy tính hay kĩ nghệ phần mềm. Nhiều kiến trúc sư trong công nghiệp thường có bằng cấp chuyên sâu như thạc sĩ trong khoa học máy tính hay kĩ nghệ phần mềm. Bên cạnh bằng đại học, ứng cử viên phải có ít nhất ba tới năm năm kinh nghiệm phát triển phần mềm và xuất sắc trong kĩ năng mềm như trao đổi, kĩ năng trình bày và lãnh đạo. Kiến trúc sư phần mềm làm việc với tổ dự án từ đầu tới cuối như một phần của tổ và cung cấp giải pháp kĩ thuật cũng như kèm cặp cho các thành viên tổ.
Phần lớn các vị trí kiến trúc sư phần mềm đều không được quảng cáo vì công ti ưa thích đề bạt người nội bộ hơn là tìm bên ngoài. Phần lớn những người quản lí ưa thích thuê người họ biết rõ và quen thuộc với cách thức công ti vận hành làm ứng cử viên tiềm năng. Lương cho kiến trúc sư phần mềm biến thiên tuỳ theo năm kinh nghiệm, ngành công nghiệp và kích cỡ công ti. Theo báo cáo công nghiệp phần mềm, kiến trúc sư phần mềm có thể làm từ $120,000 tới $250,000 ở Mĩ.
—English version—
Software architect posotion
A student asked me: “How do I get a software architect job and who is hiring software architect? Please help.”
Answer: Software architect is one of the “hottest jobs” in the software industry today. The demand is high because there are only few number of qualified architects available with specialized skills and working experience.
Basically, software architect is responsible for the design of a software system and ensure that it meets the business requirements as well as the system requirements of the company’s infrastructure. This special skill requires many years of software development experience in certain platforms, languages and technology. Before design the system, the software architect must work closely with the requirements engineer or business analyst to understand the customer’s requirements then support the project manager to develop the project plan where the breakdown of requirements into smaller tasks is critical.
Many people believe the job of the architects is mostly in design but the fact is software architect’s responsibilities are much more. They must work with the project team to support any changes that may need to be made throughout the software development lifecycle. Because the software architect is the expert in system design and development, many team members also rely on their technical knowledge to support them in a variety of works. Large companies with many types of applications have the highest need for software architects to make sure their software is done accordingly with high quality. (Microsoft has several thousand software architects and Google has more).
To qualify for the software architect position, you need at least a Bachelor’s degree in computer science or software engineering. Many software architects in the industry often have advanced degrees such as Master in computer science or software engineering. Beside the college degree, candidate must have at least three to five years of software development experience and excellent in soft-skills such as communication, presentation skills and leaderships. Software architects work with project teams from the beginning to the end as part of the team and provide technical solution as well as mentoring to team members.
Most software architect positions are not advertised as companies prefer to promote people internally rather than looking externally. Most managers prefer to hire people who they know well and familiar with the way company operates as potential candidates. Salaries for software architects vary depending on years of experience, the industry and company size. According to the software industry report, software architect can make from $120,000 to $250,000 in the U.S.