Principal Software Architect
Memphis, TN, United States
Job Type
Full-time
Description
The Principal Enterprise Architect role is intended to align architecture to a specific application or technology area and support the application or technology area through any internal or external impacts. This role will contribute towards defining and driving the aligned application or technology areas to the target state architecture. The Principal Enterprise Architect role is accountable for product and project architecture across enterprise-wide initiatives. Critical to this position is defining and driving overall architecture at the program/project level by working very closely with various stakeholders. This is an individual contributor role that focuses on multiple large enterprise programs while also supporting several smaller projects within the organization.
DISTINCTION
This position is for a Principal Enterprise Architect in the Application domain, with a focus on digital and mobile architectures. Architects in this role are expected to architect distributed application solutions predominantly using Java and Spring on the backend and HTML, Javascript, and Vue.JS for the front end.
ESSENTIAL JOB FUNCTIONS
Enterprise Architecture - Accountable for product and project architecture across large enterprise-wide initiatives typically involving complex custom development across multiple applications and/or significant third party assessments, integrations, and implementations. Develop and maintain current state and target state architecture for an application or technology area in alignment with the strategy and direction of business or technology capabilities that are impacting the application or technology area aligned. Accountable for program and project architecture across enterprise-wide initiatives typically involving custom development across multiple applications and/or significant third-party assessments, integrations, and implementations.
Architecture Planning and Project Support - This role is responsible for defining and driving overall architecture at the program/project level by working very closely with various stakeholders. Participate in business and IT planning for an application or technology area. Create architectural documentation to support the target state architecture based on planned initiative(s). Promote alignment across business and technology areas around initiatives and assist with estimation and prioritization. Ensure consistency and alignment in various projects under large programs. Participate and lead architecture delivery in projects that impact the aligned application or technology area. Actively manage technical dependencies between various projects in a program and provide options for reducing sequential dependencies whenever possible.
Architecture Governance - Ensure that the application or technology area meets both the functional and non-functional requirements. Manage application capacity and performance models. Document and manage technical debt / risk related to the application or technology area. Provide thought leadership within the supported application/technology area in driving various strategies and in solving complex issues. Work closely with the technical teams in ensuring architectural standards are adhered to and any exceptions are documented and managed as technical debts.
Documentation - Produces and maintains a library of reference architecture documentation. This includes but is not limited to:diagrams, written requirements, roadmaps, and guidance. Performs periodic reviews of deployed solutions to ensure solution health and compliance to reference architectures and takes appropriate measures to correct deficiencies.
Technical Debt Management - Manage the technical debt that is introduced or mitigated through products and projects in an application or technology area.
Technical Knowledge and Application - Expectation is to be proficient in at least five technology platforms or domains such as Java, iOS, Android, Mainframe/Cobol, cloud systems, infrastructure domains such as platform or networking, etc. to support evolution of the technology roadmap. Specific positions will have one or more distinctions identifying the relevant technology.
Scope of Role - Expectation of this role is to support major programs and projects and may include several large initiatives simultaneously.
Reports to: CTO
Requirements
Minimum Qualifications:
Bachelor's degree or equivalent education and / or experience in Computer Science, Engineering, Mathematics or related field
Ten or more years in Information Technology
Extensive experience with Java 18+, SpringBoot 2 or MVC, JDBC, Hibernate, JPA, JetBrains IDE or Eclipse Web Services (XML, SOAP/RESTful).
Experience with NOSQL and RDMS (PostgreSQL) and database design, optimization, and troubleshooting
2 year's experience with Serverless architecture patterns
5 year's experience with SSO/Identify Providers
Ability to actively contribute to code, create spikes, and lead code reviews
Expert understanding of version control systems such as GIT and Trunk Based Development
Knowledge of web application security vulnerabilities and how to address them.
Strong understanding of distributed systems and micro-service architectures
Strong command of ETL/batch data architectures
Preferred Experience: Bachelor's degree or equivalent education and / or experience in computer Science, Engineering, Mathematics, or related field.
AWS Solutions Architect Professional Certification
In addition to minimum qualification, five or more years IT Architecture; three years delivering architecture for large products
Experience in Automotive Digital Retail, CRM, DMS systems integrations
Experience in B2C SaaS products with large traffic volumes
Experience handling versioning and deployment of public/private APIs - "API as a Product"
Salary Description
175,000 - 185,000