Job Description
**Title: Principal Software Architect **
Location: Los Angeles CA
Full-Time Employment with CLIENT
Top Skills:
- Azure, Azure DevOps, Azure Functions
- Node.js, React, TypeScript
- Linux
Position Summary:
The Principal Software Architect is a key leadership position in the engineering organization for the client. We are looking for someone with the technical competency of an Architect while being hands on as a seasoned Full Stack Developer. Experience and a desire to lead and mentor others and work successfully with our 3 rd party partners is also key. Day to day you will design, create and deploy microservices, maintain and support existing products, lead feature development, lead architectural planning, and design future platform architectures.
Essential Functions:
- Design and architect software solutions for legacy and new products on Microsoft Azure.
- Design and create serverless architectures that leverage Node.JS, React, Typescript, Azure Functions, API Gateway and Cosmos DB
- Lead a pod of software developers
- Architect, design, and create scalable and resilient yet simple software solutions that are capable of being extended as business needs grow and change.
- Collaborate with leadership, internal stakeholders, and the product team to influence and prioritize the product roadmap.
- Maintain, support, refactor, modernize, and ultimately extract and componentize legacy products written in Ruby, PHP, EmberJS, jQuery, JavaScript, MS SQL, MySQL.
Required Qualifications:
- BA/BS Degree (4-year) In Computer Science, Computer Engineering or a related field Significant work experience (10+ years) in Engineering can be had in lieu of a hard sciences degree.
- 6-8 years of related work experience preferred
- 4-6 years of demonstrated deep technical capabilities leveraging cloud technologies and modern architectures
- 2-4 years of microservices architecture design and development
- Extensive experience writing unit tests and integration tests
- Practical experience with the limitations and tradeoffs of NoSQL data storage preferred
- Experience working on a wide range of software systems and technologies, including small and large business environments preferred.
- Experience building and maintaining a CI/CD release pipeline preferred.
- Experience with Agile SCRUM (Scaled Agile Framework) methodologies, lean-agile principles, and the SDLC preferred.
- Experience building extensible plug-in type architectures preferred.
- Eagerness to work in a highly collaborative team environment
- The ability to scope real world initiatives, architect iterative solutions, and resolve both long-standing and urgent production issues
- Fluent in RESTful API design best practices
- Deep familiarity with the SOLID design principles, software design patterns, and clean code practices
- Ability to speak intelligently about the patterns of enterprise architecture, the methods used in refactoring existing code and platforms, and the factors described in the Twelve-Factor App
- Deep understanding of Microsoft SQL or MySQL, the tenets of relational database design, and execution plans
- Familiar with an Agile work environment
- Great verbal and written communication skills
- Broad understanding of data structures and algorithms including runtime analysis (Big O complexity)
- Ability to provide constructive feedback during code reviews (e.g. design pattern guidance, readability, performance, etc)
- Strong analytical, decision-making, interpersonal, and conflict resolution skills
- Demonstrated technical subject matter expertise
- Proven record of building technical relationships and consensus with leadership and the greater development team and advocating for technical priorities
- Comfortable creating technical documentation, architectural diagrams, and Architectural Decision Records (ADRs)
- Understanding of development fundamentals such as security, performance, scalability, reliability
- Results driven with reliable follow through
- Expertise in a traditional object-oriented language such as Java, C#, or C++ preferred.
- Comfortable using Git version control preferred.