Cùng Expert SA bật mí bí quyết trở thành Software Architect tại Sun*
Cùng Sun* News đột nhập seminar "Làm thế nào để trở thành Software Architect" cực hot dạo gần đây với sự tham gia của speaker TùngNT (Expert SA) được tổ chức tại Sun* Đà Nẵng nhé!
Là dân IT hẳn mọi người không còn quá xa lạ với cụm từ Software Architect (SA) – tạm dịch là kiến trúc sư phần mềm. Tuy nhiên, biết thôi chưa đủ, không phải ai cũng hiểu rõ vai trò, trách nhiệm, công việc thực sự cũng như con đường sự nghiệp của một Software Architect nói chung và tại Sun* nói riêng. Do vậy, mới đây, Sun* Đà Nẵng đã tổ chức một seminar về chủ đề này với tên gọi "Làm thế nào để trở thành Software Architect tại Sun*" với sự tham gia chia sẻ của diễn giả TùngNT - một Expert Software Architect và cũng là một Sunners với 9 năm tuổi tại Sun*, kinh qua hàng chục dự án với gần như đầy đủ các vai trò khác nhau từ Developer cho tới Expert.
Những nội dung chính được diễn giả chia sẻ trong 60 phút của seminer xoay quanh định nghĩa về Software Architect, vai trò của SA trong hệ thống phân cấp tổ chức, trách nghiệm của 1 SA tại Sun* và những tips cá nhân của diễn giả để trả lời cho câu hỏi "Làm thế nào để trở thành Software Architect tại Sun*?"
Software Architect là gì?
Theo Wikipedia nói về định nghĩa của Software Architect, đây là một chuyên gia phát triển phần mềm, người tạo ra các thiết kế cấp cao và cố gắng thực thi các tiêu chuẩn kỹ thuật, bao gồm cả tiêu chuẩn viết code, công cụ và nền tảng. Có thể hiểu là Software Architect (SA) là người chịu trách nhiệm thiết kế bộ khung cho hệ thống, cách phân chia và tương tác giữa các component, viết các tài liệu kiến trúc tổng quan, coding convention, và hướng dẫn các developer phát triển bản thiết kế chi tiết cho từng chức năng.
Những công việc chính của Software Architect
Anh Tùng chia sẻ, với 1 dự án được phát triển từ những ngày đầu, với những dòng code đầu tiên, việc thêm thắt các tính năng mới cho dự án sẽ không phải là một bài toán quá khó dành cho lập trình viên. Thế nhưng với 1 sản phẩm đã được phát triển từ lâu, có độ phức tạp cao và không có một kiến trúc được định nghĩa ngay từ đâu, việc chèn thêm những tính năng mới vào sẽ gây khá nhiều khó khăn cho đội phát triển, mất thời gian, công sức thậm chí là cả tiền bạc. Do vậy, nếu dự án không có Software Architect "dẫn đường chỉ lối" ngay từ đầu, việc phát triển thêm tính năng mới cho dự án có độ phức tạp cao chắc chắn sẽ găp rất nhiều trở ngại.
Do đó, trong quá trình làm việc dưới vai trò 1 Expert SA, anh Tùng chắt lọc 1 số vai trò, trách nhiệm chính mà Software Architect đảm nhận trong dự án như sau:
- Software Architect là người chịu trách nhiệm xác định và quyết định công nghệ, platform phát triển, hệ thống của một phần mềm mà dự án phát triển.
- Xạc định những tài liệu kiến trúc tổng quan (coding standards, tools, review processes,…)
- Hỗ trợ team xác định rõ và hiểu được đầy đủ những yêu cầu liên quan đến business của khách hàng
- Thiết kế hế thống và đưa ra quyết định dựa trên những yêu cầu của sản phẩm
- Lên tài liệu, truyền đạt những thông tin liên quan đến kiến trúc phần mềm, thiết kế hoặc quyết định về sản phẩm mà dự án phát triển
- Thường xuyên theo dõi, kiểm tra và review kiến trúc, code theo đúng tiêu chuẩn đặt ra
- Cộng tác với các kiến trúc sư khác và các bên liên quan để phối hợp và đưa ra bộ khung kỹ thuật cho hệ thống hoàn chỉnh nhất
- Huấn luyện, đào tạo training cho các tầng lớp kế cận cần thiết cho dự án
- Chi tiết hóa và tinh chỉnh những thiết kế ở mức cấp cao sao cho phù hợp cho team dự án hiểu rõ
Những tips vàng Sunners không thể bỏ qua để trở thành 1 Software Architect tại Sun* trong tương lai
Xuất phát điểm là 1 developer kinh qua rất nhiều dự án lớn nhỏ tại Sun* trong hơn 9 năm làm việc, và cho đến hiện tại trở thành 1 Expert SA, anh Tùng đã chia sẻ những bí quyết quan trọng nhất giúp Sunners từng bước đạt được mục tiêu trở thành 1 Software Architect. Tất cả những bí quyết này đều được đúc kết trong quá trình làm việc của anh. Sunners có thể tham khảo và áp dụng nhé!
- Go Fast - Học và trau dồi tất cả những kiến thức kĩ thuật liên quan đến: coding, infrastructure, networking, hardware, databases, API, các sơ đồ cấp cao, UML, các mô hình kiến trúc như Microservice,..để tối ưu sản phẩm, giúp cho trải nghiệm của người dùng tốt hơn...
- Đón đầu các xu hướng công nghệ mới, tìm hiểu những kiến thức mới qua Google
- Luôn luôn nhìn nhận vấn đề dựa trên bối cảnh lớn thay vì quá chú tâm vào những chi tiết nhỏ của hệ thống
- Trau dồi kỹ năng giao tiếp và đàm phán, thuyết phục (với team dự án, với khách hàng,...)
Ngoài ra, Sunners có thể tham khảo những tiêu chí, kỹ năng và kinh nghiệm cần có để trở thành một Software Architect tại Sun* được cập nhật đầy đủ trong Career Path Description tại đây
(Sunners vui lòng đăng nhập G-Suite Sun* để theo dõi tài liệu)
Để tìm hiểu kỹ hơn về những thông tin đã diễn ra trong seminar "Làm thế nào để trở thành một Software Architect", Sunners có thể truy cập và tham khảo slide do speaker chuẩn bị tại đây