Job Description
An Application Architect III has mastered the programming language and core library, including its more complex parts, numerous 3rd party libraries, and the tooling around development, building, debugging, testing, and deploying applications. They understand, at a moderate level, all of the services that make up the system and their inter-relationships and communication patterns. They have a deep understanding of the subset on which they are working and are able to mentor less experienced developers in the design of their code and the larger development ecosystem used within the project. They should have an introductory understanding of architectural design patterns especially as related to distributed systems.
Application architecture requires the development of an exhaustive understanding of the specific problem domains, the larger program context in which the architect is working, and the ability to take a longer-term view of the work in order to evaluate different design options. To accomplish this, the developer will need to deepen their understanding of why first and third party code is designed the way it is and from there begin to understand common, underlying design principles. They will also continue to develop mastery of application architecture design patterns and be able to apply to them to solutions they recommend. They must be able to evaluate patterns against potentially competing objectives such as time-to-implementation, long term maintainability, security, performance, etc. and begin to articulate the various tradeoffs of approaches.
** Duties**
Software Design/Architecture - 80-90%
Team Management & Mentoring- 10-20%
Qualifications
Additional Information
** Benefits:**
All your information will be kept confidential according to EEO guidelines.