Software Team Architect
Summary
The Software Team Architect leads an engineering team in designing and maintaining scalable software systems using the C#/.Net stack. This role involves mentoring developers, enforcing coding standards, and collaborating with stakeholders to align technical solutions with business goals.
OpticsPlanet is seeking a full-time Software Team Architect to join our Engineering Team. The Software Team Architect is a technical lead that responsible for creating technical strategy and design of software systems within the team of their responsibility, as well as contributing to the overall Architecture Vision for the company, working together with other architects and software engineers on cohesive designs that meet the needs of customers.
Duties & Responsibilities:
The main focus of the Software Team Architect role is not only designing the system’s architecture but also leading the development team, ensuring delivery, mentoring, and fostering collaboration.
With the main responsibilities as follows:
- Design and maintain project architecture.
- Ensure that chosen technologies and frameworks are aligned with company standards.
- Ensure alignment of the architecture approach and specific implementation within their teams with the overall Architecture Vision for the company.
- Solve complex technical challenges.
- Optimize performance, scalability, security of the designated code area.
- Enforce coding standards and best practices.
- Remove technical or architecture impediments to ensure timely delivery of tasks.
- Mentor and develop team members.
- Communicate with product owner and, when necessary, with stakeholders.
- Facilitate coding workflow and processes.
- Ensure alignment of project architecture with business goals.
- Define and document best practices, coding standards, and development workflows.
- Ensure that systems are scalable, maintainable, and cost-effective.
- Collaborate with cross-functional teams, including product owners and DevOps Engineers.
- Translate business requirements into software development solutions.
- Maintain and suggest optimization solutions for software performance, reliability, and efficiency.
- Identify and resolve scalability and technical debt issues within their team's code area.
- Help develop new features and systems, as well as improve existing platform components using C#/.Net stack, utilizing several open-source technologies.
- Deconstruct systems and large problems into smaller, manageable components.
- Support integration with third party tools and services and integration between different in-house systems.
- Utilize data mining and analytics techniques, including multi-database reporting.
- Proactively identify technical complexities and provide technical guidance for the development team’s engineers.
- Identify areas for focus and improvement.
- Other ad hoc duties as assigned.