Software Engineering Architect
The Software Engineering Architect will be a transformative leader who will own and drive software engineering excellence and quality assurance for their software projects. The Software Engineering Architect is responsible for application technology strategy, software engineering oversight, code quality, process improvement, risk mitigation, budget management, and platform performance. The Software Engineering Architect will manage and continue to grow world‐class software engineering teams driving successful delivery of the platforms and products while contributing to the product strategy, application platform, and architecture roadmap.
The Software Engineering Architect should be a creative, pragmatic, and collaborative engineering leader, who will work with a diverse set of resources consisting of a mix of internal and external developers, architects, the CIO, the CTO, and business stakeholders. The Engineering Team Lead will maintain objectivity with a strong understanding that efficient management of software engineering will enable them to provide a competitive advantage in the marketplace.
The Software Engineering Architect will have a team of direct reports with a variety of experience and skills, and they will be responsible for mentoring and growing this team to increase their capabilities steadily over time.
The Software Engineering Architect will lead the ongoing platform modernization to improve the maintainability of existing applications. This includes a phased refactoring of the existing monolithic application and adding new services while focusing on quality. The goals of the position are to lead software development to deliver in a predictable, incremental timeframe while iteratively improving existing products, launching new products, and maximizing overall team productivity.
The Software Engineering Architect is responsible for all software engineering related policies and procedures which impact security, availability, and confidentiality at the application layer for existing custom software product offerings.
Job Duties/Accountabilities of Position
· Help drive the strategy and technical direction of products and solutions.
· Analyze complex business needs and recommend technology solutions to support and improve the company’s SaaS product portfolio.
· Participate in all aspects of product development as needed, from requirements analysis through product release.
· Implements application development methodology and practices.
· Develop and communicate the implementation approach for assigned projects.
· Regularly and proactively communicate status, risks, and other issues related to projects that are under development.
· Reports to CIO
· Provide end-to-end leadership of software development and quality assurance from requirements definition to deployment, along with issue and risk management.
· Deliver strategic projects, manage expectations regarding execution timelines, prioritize and provide consistent project updates to key stakeholders across the organization.
· Instill and drive a result-oriented culture while promoting a creative and high performing environment. Provide guidance, mentoring and leadership in development standards and processes for software engineering and quality assurance.
· Review and validate the product technical roadmap and application architecture that aligns with the technology architecture vision under development.
· Define and communicate business case justifications and cost/benefit analyses for IT spending and initiatives; review formulation of project definitions showing project objectives, information system requirements, and analytical and programming personnel requirements. Assess and convey risks associated with IT investments.
· Work closely with Product and Client Delivery teams to ensure Client needs are met in a timely and effective manner.
· Experience working within B2B Cloud/SaaS product development organizations and managing budgets.
· Experience managing team members in multiple locations and time zones.
· Solid understanding of Object-Oriented Design.
· Solid understanding of Architectural Design Patterns and Domain Driven Design.
· Proven effective leadership in a technical environment.
· Ability to work effectively in a team environment. Regularly coach and mentor team members.
· Experience with multiple relational database solutions
· Experience with ORM frameworks
· Experience with NoSQL data stores
· Experience with SQL Server
· Experience with Python
· Experience with Docker
· Experience with WPF, .Net 2.0+, Visual Studio
· Experience with Azure
· Experience with message broker solutions
· Considerable experience implementing and using lean/agile development practices like TDD, BDD, pair programming, continuous integration, continuous delivery, and continuous deployment.
· Seven or more years of experience leading an enterprise application development team within a high transaction, high availability services environment.
· Five years or more experience providing leadership in software engineering management working on application modernization or re-platforming for cloud migration projects in an AWS or Azure environment.
· Digital technology skills with domain expertise in user interface languages, development stacks, architecture frameworks, microservices, API’s, open-source technologies, cloud service platforms, containerization CI/CD, DevOps, and Agile Development.
· Strong knowledge of software engineering in a cloud native serverless microservices architecture leveraging AWS and Azure capabilities.
· Understanding of scripting and coding of multiple languages
· Proficient in technology assessments and building software engineering roadmaps.
· Ability to develop and support multi-step automated CI/CD deployment pipelines for a cloud environment.
· Must be self-motivated and able to work independently or as part of a team.
· Ability to write business and technical specification documents that conveys complex analysis and solutions clearly and concisely.
· Ability to communicate effectively with management, other technology teams, and internal and external customers.
· Ability to learn quickly and meet high expectations.
· Customer-focused with excellent follow through on commitments.
· Bachelor’s degree in computer science, software engineering, information technology or information systems.
· A minimum of 7 years of experience working on B2B product development environments.