Position Summary:
The Application Architect role is positioned between the Program Architect and the Software Development Lead and is responsible for providing technical direction and oversight across scrum teams within a program. Works closely with the Program Architect to understand business needs and identifies technical solutions. Collaborates with other Program Architects and Application architects to promote innovation, reusability, stability, scalability, and consistency across programs. Provides technical direction for scrum teams for specific initiatives and assists with initial proof of concepts and template builds. Provides ongoing technical oversight and mentoring across scrum teams to ensure they are progressing in accordance with established architecture direction. Participates as an individual contributor on scrum teams, especially for more complex design and development tasks. Researches new technologies and tools to remain abreast of current and emerging technologies, and to introduce new opportunities for innovation. Passionate about quality and continuous delivery.
Section 2: Job Functions, Essential Duties and Responsibilities
- Relies on extensive experience and sound judgment to prioritize personal workload and engagement with teams
- Sets technical direction and provides ongoing, regular oversight to scrum teams to ensure solutions are secure, scalable, efficient, and stable
- Leads, coaches, and mentors technical staff
- Establishes standards, proofs of concept, and templates to enable teams to rapidly produce high quality software
- Participates in project discussions to remove technical impediments, and assists in establishing estimates
- Performs design and development tasks as an active contributor to the project pipeline
- Collaborates with other Application Architects and Program Architects to identify, socialize, and confirm the best possible solutions
- Holds a high degree of responsibility for application architecture and technical execution within a program
- Takes ownership and provides technical leadership when production issues arise requiring software engineering expertise
- Responsible for protecting, securing, and proper handling of all confidential data held by Ascensus to ensure against unauthorized access, improper transmission, and/or unapproved disclosure of information that could result in harm to Ascensus or our clients.
- Our I-Client service philosophy and our Core Values of People Matter, Quality First and Integrity Always®should be visible in your actions on a day to day basis showing your support of our organizational culture.
- Assist with other tasks and projects as assigned
Supervision
- While this position is not responsible for direct reports, there will be Leadership, mentoring, and coaching opportunities.
Section 3: Experience, Skills, Knowledge Requirements
- Minimum 8 years of Software Engineering experience with a minimum of 2 years in a lead role
- Passion for leadership, mentoring, and coaching to help others succeed
- Excellent communication and teamwork skills with ability to explain and influence architectural direction
- Excellent technical skills with deep knowledge of development technologies and tools
- Excels in a results focused organization
- Experience with Agile/Scrum, Continuous Integration, Continuous Delivery, and related tools
- Expertise with server configuration, pipeline automation, and software engineering practices
- Possesses an innovative and change-oriented personality that balances well with practical need and delivery
- Experience with multiple database platforms: MS SQL Server, Sybase, Oracle, and others
- Expert in .Net framework
- Expert in ASP.Net and MVC and/or Java and Struts
- Experience with Windows Communication Foundation (WCF)
- Strong knowledge of JavaScript, jQuery, and JS frameworks
- Understanding of SOA and distributed computing
- Experience with Test Driven Development (TDD) practices with an automated testing framework
- Strong trouble shooting skills
Nice to Have Skills
- Experience with Container technology
- Experience with networking, load balancing, clustering
- Experience with cloud development