The Software Architect will have experience designing and implementing highly reliable and scalable web-based systems with a core expertise in Microsoft technologies. This role will ensure that software is designed to be highly available. Additionally, the Software Architect will lead design efforts on all aspects of software in a highly collaborative, fast paced environment and serve as the primary System Architect, reporting to the Software Development Manager. The role will have also have a major stake in the strategic and technical direction of BSI’s software. Excellent technical skills are required along with the demonstrated ability to thrive and succeed in delivering high quality solutions in a high-growth environment where priorities shift fast.
Create high quality solution designs which address all architectural concerns including business, information, application and infrastructure.
Document software architecture in a software architecture document using use cases and the Unified Modeling Language (UML).
Designing user interaction models, prototypes, workflows, E/R diagrams, and user interfaces.
Maintain and evolve software architecture documents based on evolving system requirements and industry trends and technologies.
Analyze risk and report problems in meeting system requirements.
Provide supporting information to the Engineers to aid in the creation of a system specification.
Assist Software Developers with the creation of detailed software design specifications.
Design governance leadership, documenting best practices and technical standards.
Lead the review process for software architecture documents.
Perform software version control and maintain periodic compilation schedule.
Participate in the system specification review process to ensure system requirements can be translated into valid software architecture.
Comply with all applicable product development processes. Perform detailed software design as well as implements and/or maintains code according to duties and responsibilities.
Hands-on position that requires an individual who can drive complex technical design with the ability to lead a group through an architectural development process and collaborate with application development teams and internal and offshore members of the software development team.
Ensure the overall integrity of the software architecture and validates it against the system specification.
Translating usability and feedback from internal team & customers into design improvements.
Work with development team to analyze all feedback on usability improvements and improve / refine product visual design and consistency.
Successfully communicate conceptual ideas and design rationale to key internal stakeholders.
Accountable for the delivery of design solutions that promote flexibility, scalability and high performance.
Maintain knowledge of and apply industry best practices for architecture/technology and develops future architecture and technology migration plans.
Evaluates and selects from existing and emerging technologies the options best fitting business and software development strategic needs.
Leads technical presentations and ability to articulate strategy and direction for technology and architecture to key internal stakeholders.
BS/MS in CS or equivalent experience
Experience in an Agile environment
Experience with high-volume web-based applications
Large/ enterprise application development experience preferred
10+ years’ experience architecting, developing, deploying and supporting complex computing applications in a large scale environment
10+ years of programming experience in .Net technologies (C#, ASP)
8+ years of UML experience
7+ years of software source control and version control
Minor domestic and international travel required