Câu trả lời:
Cập nhật 1/5/2018 - trong 9 năm qua, tư duy của tôi đã phát triển đáng kể về chủ đề này. Tôi có xu hướng sống gần với ranh giới đang chảy máu trong ngành của chúng ta hơn phần lớn (mặc dù chắc chắn không đẩy ranh giới gần như nhiều người thực sự thông minh ngoài kia). Tôi đã từng là kiến trúc sư ở nhiều cấp độ khác nhau từ ứng dụng, đến giải pháp, đến doanh nghiệp, tại nhiều công ty lớn nhỏ. Tôi đã đi đến kết luận rằng tương lai trong ngành công nghệ của chúng ta hầu như không có kiến trúc sư. Nếu điều này nghe có vẻ điên rồ với bạn, hãy đợi một vài năm và công ty của bạn có thể sẽ bắt kịp, hoặc các đối thủ cạnh tranh của bạn tìm ra điều đó sẽ bắt kịp (và vượt qua) bạn. Vấn đề cơ bản là "kiến trúc" không hơn không kém so với tổng tất cả các quyết định đã được thực hiện về ứng dụng / giải pháp / danh mục đầu tư của bạn. Vì vậy, danh hiệu "kiến trúc sư" thực sự có nghĩa là "người quyết định". Điều đó nói lên rất nhiều, cũng bởi những gì nó khôngNói. Nó không nói "người xây dựng". Tạo ra một con đường sự nghiệp / hệ thống phân cấp ngầm nói với mọi người rằng "xây dựng" thấp hơn "quyết định", và "người quyết định" không chịu trách nhiệm trực tiếp (bởi sự khác biệt về chức danh) cho việc "xây dựng". Những người vẫn đang đeo bám danh hiệu kiến trúc sư của họ sẽ bàn tán về điều này và phản đối "nhưng tôi bó tay!" Tuyệt vời, nếu bạn chỉ là một người xây dựng thì hãy từ bỏ tiêu đề vô nghĩa của mình và ngừng tự đặt mình ra khỏi những người xây dựng khác. Các công ty nhấn mạnh "tất cả những người xây dựng đều là người quyết định, và tất cả những người quyết định đều là người xây dựng" sẽ tiến nhanh hơn đối thủ cạnh tranh của họ. Chúng tôi sử dụng danh hiệu "kỹ sư" cho tất cả mọi người, và "kỹ sư" có nghĩa là quyết định và xây dựng.
Câu trả lời ban đầu :
Đối với những người chưa bao giờ làm việc trong một tổ chức rất lớn (hoặc có, nhưng đó là một tổ chức bị rối loạn chức năng), "kiến trúc sư" có thể đã để lại một hương vị tồi tệ trong miệng của họ. Tuy nhiên, đó không chỉ là một vai trò hợp pháp mà còn là một vai trò chiến lược cao đối với các công ty thông minh.
Khi một ứng dụng trở nên rộng lớn và phức tạp đến mức xử lý tầm nhìn kỹ thuật tổng thể và lập kế hoạch cũng như chuyển các nhu cầu kinh doanh thành chiến lược kỹ thuật trở thành công việc toàn thời gian, đó là kiến trúc sư ứng dụng . Các kiến trúc sư ứng dụng cũng thường cố vấn và / hoặc dẫn dắt các nhà phát triển và biết rõ mã của (các) ứng dụng chịu trách nhiệm của họ.
Khi một tổ chức có quá nhiều ứng dụng và cơ sở hạ tầng phụ thuộc vào nhau đến mức công việc toàn thời gian để đảm bảo sự liên kết và chiến lược của họ mà không cần tham gia vào mã của bất kỳ ứng dụng nào trong số đó, đó là kiến trúc giải pháp . Kiến trúc sư giải pháp đôi khi có thể tương tự như một kiến trúc sư ứng dụng, nhưng trên một bộ các ứng dụng đặc biệt lớn tạo thành một giải pháp hợp lý cho một doanh nghiệp.
Khi một tổ chức trở nên lớn đến mức trở thành công việc toàn thời gian để điều phối kế hoạch cấp cao cho các kiến trúc sư giải pháp và định hình các điều khoản của chiến lược công nghệ kinh doanh, thì vai trò đó là kiến trúc sư doanh nghiệp . Các kiến trúc sư doanh nghiệp thường làm việc ở cấp điều hành, cố vấn cho văn phòng CxO và các chức năng hỗ trợ của nó cũng như toàn bộ doanh nghiệp.
Ngoài ra còn có các kiến trúc sư cơ sở hạ tầng, kiến trúc sư thông tin và một số người khác, nhưng xét về tổng số thì những kiến trúc sư này chiếm một tỷ lệ nhỏ hơn so với "ba ông lớn".
Lưu ý : nhiều câu trả lời khác đã nói rằng không có "tiêu chuẩn" cho những tiêu đề này. Điều đó không đúng. Đến bất kỳ bộ phận CNTT nào của công ty Fortune 1000 và bạn sẽ thấy những chức danh này được sử dụng nhất quán.
Hai quan niệm sai lầm phổ biến nhất về "kiến trúc sư" là:
Những quan niệm sai lầm này đến từ rất nhiều kiến trúc sư làm một công việc khá tệ, và các tổ chức đang làm một công việc tồi tệ trong việc hiểu kiến trúc sư để làm gì. Người ta thường đề bạt lập trình viên hàng đầu vào vai trò kiến trúc sư, nhưng điều đó là không đúng. Họ có một số bộ kỹ năng trùng lặp nhưng không giống hệt nhau. Lập trình viên giỏi nhất thường có thể là, nhưng không phải lúc nào cũng là một kiến trúc sư lý tưởng. Một kiến trúc sư giỏi có hiểu biết tốt về nhiều khía cạnh kỹ thuật của ngành CNTT; một tốt hơn sự hiểu biết về nhu cầu kinh doanh và chiến lược hơn là một nhà phát triển cần phải có; kỹ năng giao tiếp tuyệt vờivà thường là một số kỹ năng quản lý dự án và phân tích kinh doanh. Điều cần thiết đối với các kiến trúc sư là giữ cho tay của họ bị bẩn với mã và luôn nhạy bén về mặt kỹ thuật. Những người tốt làm.
Về cơ bản trong thế giới của các chứng chỉ CNTT, bạn có thể tự gọi mình về bất cứ điều gì bạn muốn miễn là bạn không dẫm chân lên một tổ chức chuyên nghiệp "thực sự". Ví dụ: bạn có thể là "Kỹ sư giải pháp được chứng nhận của Microsoft" trên danh thiếp của mình, nhưng nếu bạn viết cụm từ ma thuật "Kỹ sư chuyên nghiệp" (hoặc P. Eng) thì bạn đang gặp rắc rối pháp lý trừ khi bạn có chiếc nhẫn sắt đó. Tôi biết có một chức danh tương tự dành cho các kiến trúc sư "thực", mà tôi không thể nhớ được, nhưng miễn là bạn không đề cập rằng bạn có thể là "Kiến trúc sư mạng được chứng nhận của Cisco" hoặc tương tự.
Có sự khác biệt hợp lệ giữa các loại kiến trúc sư:
Các kiến trúc sư doanh nghiệp xem xét các giải pháp cho doanh nghiệp phù hợp chặt chẽ với chiến lược doanh nghiệp. Ví dụ: trong một ngân hàng, họ sẽ xem xét toàn cảnh CNTT.
Các kiến trúc sư giải pháp tập trung vào một giải pháp cụ thể, ví dụ như một hệ thống mua lại thẻ tín dụng mới trong một ngân hàng.
Kiến trúc sư miền tập trung vào các lĩnh vực cụ thể, ví dụ: kiến trúc sư ứng dụng hoặc kiến trúc sư mạng.
Các kiến trúc sư kỹ thuật thường đóng vai trò của các kiến trúc sư giải pháp, ít tập trung hơn vào khía cạnh kinh doanh và nhiều hơn vào khía cạnh kỹ thuật học.
Không, một kiến trúc sư có một công việc khác với một lập trình viên. Kiến trúc sư quan tâm nhiều hơn đến các yêu cầu phi chức năng ("ility"). Như độ tin cậy, khả năng bảo trì, bảo mật, v.v. (Nếu bạn không đồng ý, hãy xem xét thử nghiệm suy nghĩ này: so sánh một chương trình CGI được viết bằng C thực hiện một trang web phức tạp, so với một triển khai Ruby on Rails. Cả hai đều có hành vi chức năng giống nhau ; việc chọn một kiến trúc RoR có những lợi thế nào.)
Nói chung, "kiến trúc giải pháp" là về toàn bộ hệ thống - phần cứng, phần mềm và tất cả - mà một "kiến trúc sư ứng dụng" đang làm việc trong một nền tảng cố định, nhưng các điều khoản không khắt khe hoặc được tiêu chuẩn hóa tốt.
Không có định nghĩa tiêu chuẩn ngành nào cho các chức danh Kiến trúc sư - Ứng dụng / Hệ thống / Phần mềm / Giải pháp Kiến trúc sư nói chung đều đề cập đến một nhà phát triển cấp cao có kỹ năng thiết kế và lãnh đạo mạnh mẽ. Sự cân bằng giữa thiết kế, chiến lược, phát triển (thường là các dịch vụ hoặc khuôn khổ cốt lõi) và quản lý khác nhau dựa trên tổ chức và dự án.
Chức danh "Kiến trúc sư" duy nhất thực sự có một ý nghĩa khác đối với tôi là "Kiến trúc sư doanh nghiệp", mà tôi thấy giống như một vị trí chiến lược CNTT.
'Kiến trúc sư' là danh hiệu được trao cho một người có thể thiết kế nhiều lớp ứng dụng hoạt động tốt với nhau ở cấp độ cao. Bất kỳ thứ gì lọt vào một loại 'kiến trúc sư' chung chung mà không có một loại công nghệ cụ thể (ví dụ: "Giải pháp", "Ứng dụng", "Kinh doanh", v.v.) đều là tiếp thị.
Thực ra có sự khác biệt khá lớn, một kiến trúc sư giải pháp xem xét một cách tổng thể yêu cầu, chẳng hạn như yêu cầu là giảm số lượng nhân viên trong tổng đài nhận đơn đặt hàng Pizza, một kiến trúc sư giải pháp xem xét tất cả các thành phần sẽ phải đến cùng nhau để đáp ứng điều này, những thứ như phần mềm nhận dạng giọng nói nào sẽ sử dụng, phần cứng nào được yêu cầu, hệ điều hành nào sẽ phù hợp nhất để lưu trữ nó, tích hợp phần mềm IVR với hệ thống cung cấp, v.v.
Mặt khác, một kho lưu trữ ứng dụng trong trường hợp này đề cập đến các chi tiết cụ thể về cách phần mềm sẽ tương tác, ngôn ngữ nào phù hợp nhất, cách sử dụng tốt nhất bất kỳ api hiện có nào, tạo một api nếu không tồn tại, v.v.
Cả hai đều có vị trí của chúng, cả hai nhiệm vụ phải được thực hiện để xác định yêu cầu và trong các tổ chức lớn, bạn sẽ có những người tận tâm làm việc đó, trong các cửa hàng nhà phát triển nhỏ hơn thường thì nhà phát triển sẽ phải nhận tất cả các nhiệm vụ kiến trúc như một phần của phát triển tổng thể, bởi vì không có ai khác, tôi đã quá hoài nghi khi nói rằng nó chỉ là một thuật ngữ tiếp thị, nó là một vai trò thực sự (ngay cả khi đó là nhà phát triển chọn nó đặc biệt) và đặc biệt có giá trị khi khởi động dự án .
Nghe có vẻ giống với tôi! Mặc dù tôi không hoàn toàn không đồng ý với Oli. Tôi sẽ trao cho một vài người được chọn danh hiệu Kiến trúc sư phần mềm nếu họ muốn nhưng kinh nghiệm cho tôi biết những người thực sự xứng đáng với danh hiệu Kiến trúc sư phần mềm thường được đề cập đến với chức danh.
Theo kinh nghiệm của tôi, khi tôi làm công việc tư vấn tại các Hiệp hội Máy tính, tiếng kêu tiếp thị là 'bán giải pháp, không phải sản phẩm'. Do đó, khi chúng tôi nhận được một dự án và tôi cần phải đội mũ kiến trúc sư của mình, tôi sẽ là Kiến trúc sư giải pháp, vì tôi sẽ thiết kế một giải pháp sử dụng một số thành phần, chủ yếu là các sản phẩm CA và có thể là một số bên thứ 3 hoặc tay các phần tử được mã hóa.
Bây giờ tôi tập trung hơn với tư cách là nhà phát triển, tôi là kiến trúc sư của chính các ứng dụng, do đó tôi là Kiến trúc sư ứng dụng.
Đó là cách tôi thấy nó, tuy nhiên như đã được thảo luận, có rất ít cách đặt tên tiêu chuẩn.
Cách viết?
Nghiêm túc mà nói - cả hai đều là BS phù hợp với chức danh công việc. "Lập trình viên" không đủ tốt cho bạn? Trở thành một "Kiến trúc sư"!
Thực sự ... Thế giới đang đến với cái gì ?!
Chỉnh sửa: Tôi rõ ràng đã làm tổn thương một số cảm giác "kiến trúc sư"!
Chỉnh sửa 2: Mặc dù tôi đồng ý với quan điểm rằng cụm từ có thể được hiểu là một số người giải quyết toàn bộ miền vấn đề (ví dụ: phần cứng, phần mềm, triển khai, bảo trì), hầu hết những người muốn làm hài lòng khách hàng (và kiếm nhiều tiền hơn) sẽ cung cấp dịch vụ đầy đủ, nếu được yêu cầu, bất kể chức danh của họ là gì.
Trong cuộc sống thực, đó chỉ là chiêu thị phi.
Khi tiêu đề của bạn không vừa trên danh thiếp vì bạn đội quá nhiều mũ, thì ai đó sẽ tạo ra một tiêu đề tiện lợi cho bạn.
ví dụ: Lập trình / CNTT / Quản lý dự án / Chiến lược / Nhà phân tích kinh doanh
Các cách khác để nhận được chức danh kiến trúc sư: