The Application Architect is responsible for balancing the concerns of implementation, requirements, and long-term needs in delivering cloud-based solutions using AWS. This individual leads and supports the architecture and design efforts of multiple development teams. Core activities of the role include determining non-functional needs, modeling, prototyping and evaluating architectural solutions, and negotiating design trade-offs with stakeholders and engineers.
The Application Architect works closely with DHI technical leadership, Product Managers, and Director of Architecture to define the vision and goals of DHI services and application architecture and assists in translating that vision into actionable projects on the roadmap. This position focuses on the architecture of our Pay for Performance product, which aims to deliver quality candidates to employers on time and budget. The architect will collaborate with campaign management, job ingestion, job search, yield optimization and marketplace optimization teams. As well as contributing to other high priority product initiatives. The Application Architect acts as a resource and mentor for other technical personnel on a daily basis and assists in a hands-on capacity when needed.
- Assist Product Owners and other business stakeholders in identifying strategic product needs and guide turning them into actionable projects
- Ensure that application and system architecture supports general business needs and specific functional requirements
- Ensure that application and systems architecture adheres to non-functional requirements, such as security, maintainability, performance, scalability, reliability, etc.
- Work to develop new skills in architecture, design, & development; offer advice on best practices
- Define and communicate the overall application architecture and design patterns, act as a technical evangelist throughout the organization.
- Analyze, define and maintain domain models and related artifacts in collaboration with other business and technical stakeholders
- Document historical, current, and future architectural models for increased visibility and understanding
- Guide the product lifecycle processes, policies, standards and procedures
- Prototype new and upcoming technologies and ascertain where they fit in the architecture, assist in the evaluation and selection of major technology platforms
- Lead system design meetings; mentor developers in domain modeling and the application of patterns & practices.
- Lead code reviews to insure quality of code, standards compliance, requirements coverage, and for skills assessment
- Write code for proof-of-concepts, reference architectures, reusable components, application frameworks, and complete systems
- Lead by example in daily work; participating in smaller design and development tasks in a hands-on capacity
- Assist in triage, troubleshooting, and resolution of critical business-impacting issues
- Required Knowledge, Skills and Attributes
- Strong verbal and written communication skills—must be able to convey relevant information to many different audiences from developers to the board room.
- Exceptional ability to translate and communicate between business and technical domains
- Strong multi-tasking skills and ability to juggle competing priorities
- Strong problem solving and decision-making skills must possess the ability to make tradeoffs between immediate needs and long-term goals.
- Strong leadership skills—must be able to understand company goals and translate them into department and individual goals and be able to gain broad buy-in and enthusiasm.
- Technologically balanced and vendor/product neutral. Make objective technology and design decisions without being swayed by personal bias but still drawing from relevant experience.
- Strong understanding of the general product development lifecycle, in particular with regards to Agile development processes and optimizing them for DHI’s business goals and objectives.
- Advanced knowledge of UML and other documentation tools and methods
- Advanced proficiency in object oriented programming languages, such as Java or C#
- Broad knowledge of enterprise application architectural patterns (SOA, Pipe/Filter, Messaging, Microservice, Hexagonal, Clean, DDD, CQRS)
- Experience with AWS (Lambda, API Gateway, SAM, EC2, SNS, SQS, Kinesis, S3, RDS, DynamoDB, Redshift, Elasticache, CloudWatch, CloudFormation, CodePipeline, CodeBuild, CodeDeploy)
- Required Education and/or Experience
- 5+ years experience managing application and system architectures
- 10+ years experience as individual technical contributor
- Experience delivering commercial software with small to medium sized teams (5-20 people)
- Minimum Bachelor’s degree in Computer Science or a related field preferred