Solution Architect

The Solutions architect is top in their field, they live and breathe coding and is exceptional at multi-tasking and working exceptionally well under stress and pressure. Reporting to the Enterprise Architect, the Solution architect must be the best developer at the company and is tasked with ensuring all developers produce enterprise class applications up to their standards of excellence.  You will provide technical leadership and consulting across PNI, from the strategic decision making down to the project planning level, and ensure that PNI’s development practices and standards are maintained and upheld. 

Key Responsibilities

Develops the solution architecture that defines components of the solutions and their interfaces to external resources, other components and other applications.

Supports the development of the Architecture road map.

Develops and maintains a technical understanding of the industry, competitors, and PNI’s business strategy.

Works with the teams, Product Managers, Project Managers, and Development Managers to research and identify alternatives which will provide cost savings and/or increased operating efficiencies.

Monitors key technologies and other company technical standards.

Write best in class code as the gold standard for everyone to follow.

Solve the most complex development issues.

Mentor developers on architecture, development, best practices and standards.

Understand financial implications for technology and architecture decisions.

Scopes, analyzes and prototypes new features or new lines of service.

Facilitates development and supports architecture efforts for projects, working with the Application Architects and Lead Developers.

Work across projects to improved communication and alignment between projects.

Communicate with External parties to ensure integrations run smoothly.

Produce diagrams and documentation for developers to follow and maintain.

Knowledge and Skills

Extensive .NET experience using Visual Studio is an absolute must.

Extensive understanding and practical use of Design Patterns (where appropriate). 

Extensive understanding and practical use of Enterprise Architectural Design Patterns. 

Strong design ethic and understanding of various paradigms such as Domain-Driven, Aspect-Oriented, and Object-Oriented Design.

Experience with client-server computing in a large distributed system.

Experience with Enterprise Service Buses (Azure Service Bus /RabbitMQ).

Experience with implementing REST-full architectures that scale.

Experience with working with legacy systems and a systematic approach to refactoring.

Experience with Web 2.0 and strongly values great user experiences. 

Hi-performance computing and optimization.

Strong understanding and experience with automated testing (including Unit, Integration, Load and Stress).

Natural leadership skills. You like helping and guiding people.

Self-motivated and directed, with keen attention to detail.

Experience working in a team-oriented, collaborative environment.

Excellent written (technical documentation) and oral communication skills.

Experience with Agile and SCRUM development methodology.

You must continuously be striving to improve designs and code quality and adhere to good design principles – while being execution oriented, practical and have a laser-like focus on customer needs. You consider yourself a “pragmatic idealist”.