소프트웨어 아키텍트로 가는 길

대부분의 소프트웨어 엔지니어들은 자신의 업무에 집중하여 주변의 다양한 기술에 대하여 관심이 없는 경우가 있습니다. 현재 프로젝트에 참여하거나 참여한 경험이 있다면 소프트웨어 아키텍처 구축을 위한 시스템, 하드웨어 및 네트워크 등에 대한 관심을 가져야합니다. 소프트웨어 아키텍처의 수립은 가용성, 성능, 보안, 테스트용이성, 편경용이성, 사용성 등에 대한 설계 전략이 필요합니다. 프로젝트에 사용한 다양한 기술에 대하여 마인드맵으로 정리하세요.

소프트웨어 아키텍트는 아키텍처 수립을 위해 다양한 정보기술 솔루션 및 기술을 의사결정합니다. 정보기술에 대한 동향을 이해하기 위해 뉴스, 잡지, 세미나등의 자료를 참고하세요. 대부분의 조직에서 일간지,월간지를 구독하고 있으니 조금만 신경쓰고 관심을 가지면 다양한 정보기술의 동향을 정리할 수 있습니다.

소프트웨어 아키텍처의 수립을 위해 분석 및 설계의 프로세스 및 도구에 대한 이해는 기본 지식이 됩니다. 다양한 분석&설계 기법을 학습 후 실무 업무에 적용이 필요합니다. 현재 소프트웨어 개발자로 업무를 담당하시면 소스코드의 결과를 설계로 변경(역공학)을 통하여 확인하세요.

소프트웨어 개발자로 입문하며 가졌던 열정과 관심을 다시 이끌러 내시기 바랍니다. 다른 산업 분야와 달리 정보기술(IT)분야는 계속적인 기술의 출현으로 다양한 학습이 필요합니다. 또한, 개인의 역량 강화 및 차별화를 위한 교육, 공개 세미나, 스터디등의 참여를 통하여 다른 회사 및 프로젝트의 동향 및 수행인력의 역량 수준을 확인하고, 자신의 객관적인 위치 파악이 필요합니다.

프로젝트의 착수단계에서 소프트웨어 아키텍트는 복잡한 요구사항을 추상화합니다. 이러한 결과물이 소프트웨어 아키텍처에 반영되며 다양한 이해관계자(PM,분석.설계자,개발자,고객등)들에게 전달됩니다. 소프트웨어 아키텍처는 복잡한 현실의 문제를 단순화하여 구조체로 표현해야합니다. 이를 위해 문제를 분석하고, 단순화 할 수 있는 능력이 필요합니다. 또한, 소프트웨어 엔지니어들에게 자신의 의사결정을 전달하고 프로젝트를 성공적으로 이끌기 위한 리더 마인드가 필요합니다.

소프트웨어 아키텍트들은 아키텍처 문서를 작성하여 이해관계자들에게 전달해야합니다. 소프트웨어 아키텍처 문서를 작성하기 위한 문서작성의 능력이 필요합니다. 업무에서 많이 사용되는 MS Word, PowerPoint, Excel에 대한 문서 작성 도구를 자유롭게 사용할 수 있어야합니다. 또한 다양한 의사소통을 위한 PT 작성 및 발표, 설득력이 필요합니다. 필요시 비즈니스 커뮤니케이션 스킬을 위한 도서, 교육 및 세미나에 참석하세요.

소프트웨어 아키텍트의 길은 있습니다. 하지만, 앞으로 전진하는 것은 여러분들의 몫입니다.

이상입니다.

행복한 하루되세요.

<저작권자 ⓒ잠자리(jamjalee.com) 무단 전재-재배포 금지>