What are the responsibilities and job description for the Director of Software Architecture position at Baker Hill Solutions?
The responsibility of the Director of Software Architecture is to be a visible technology leader that grow a talented team of architects. They will foster an environment of continuous learning, innovation, and improvement. Along with that they will leverage their expertise to create an efficient work environment for all team members; mastery of the .NET and Microsoft stack technology background that includes familiarity and experience with the broadest range of software development best practices, architecture patterns, technologies, frameworks, and tools is required. We leverage tools such as Visual Studio, SQL Server, ASP.NET Web API, and Azure and the applications are built using the languages of C#, Angular, and TypeScript, so in-depth experience with these is required. Our products are integrated with external APIs so you should be skilled in learning new APIs and creating proof of concepts. Using your knowledge and expertise, you must guide the organization to solutions that provide the right balance of business value for investment dollar spent.
Essential Functions
- Hire, retain, and grow our software engineering and management talent.
- Demonstrate leadership with high EQ with the ability to drive change.
- Deliver employee performance and compensation reviews.
- Foster a strong culture of continuous learning, innovation, and improvement.
- Partner with colleagues across Product and Engineering to improve our technology and processes to optimize the delivery of roadmap commitments.
- Collaborate with Architecture, CloudOps, SRE teams to prioritize improvements to core stability and reliability of our cloud-based applications and microservices.
- Utilize metrics to drive continuous improvement across the entire SDLC.
- Continuously develop your skills and share knowledge about technology industry trends.
- Uphold the highest standards of engineering excellence and integrity.
- Designing and developing simple solutions to complex problems.
- Rapidly learning complex new concepts and training others.
- Quickly reviewing new and existing code and providing corrective guidance to developers.
- Leading problem-solving activities to troubleshoot application, environment, and performance-related issues.
- Providing thought leadership when applying methodologies, managing architectural project elements, setting technical direction, and training teams in using industry best practices
- Overseeing multiple projects simultaneously and monitoring project results against technical specifications
- Leading team members in analysis and design of business requirements that accomplish the stakeholders needs
- Looking beyond written business requirements to best align with IT architecture and infrastructure competencies.
- Designing and delivering innovative solutions from concept through implementation in a complex environment, including proven success in an Architect role.
- Develops project plans specifying goals, strategy, scheduling, identification of risks, contingency plans, and allotment of resources for each phase of the project.
- Providing technical demonstrations of product functionality to prospective client audience
Requirements
- Leading a team of architects.
- Defining vision and managing the team of architects.
- Masterful knowledge of platform specific tools and utilities.
- Masterful analytical and problem solving skills.
- Masterful knowledge of various software design patterns.
- Masterful knowledge of products and technical environment, including interrelationships of systems.
- Masterful knowledge of SQL, including scripting, performance tuning, optimization.
- Advanced oral and written communication skills.
- Experience with .NET Core, Angular, Microsoft Azure.
- Experience with SaaS, Multi-Tenant architecture patterns.
- Experience with software development methodologies.
- Experience using best practice version control methodologies and tools such as TFS, GIT or SVN.
- Experience with Continuous Integration Build and Deployment Automation.
- Experience with Agile development methodologies.
- Ability to manage multiple projects simultaneously.
- Ability to translate business needs into technical architecture requirements.
- Ability to design and deliver SaaS solutions for customers.
- 5y Experience architecting complex software solutions.
- 5y Experience with C# development.
- 5y Experience designing and implementing MS SQL databases, SQL query scripting.
- 5y Experience designing and implementing integrations with 3rd party APIs, services, and products.
- 3y Experience with TypeScript or JavaScript.