Principal Software developerment Engineer

AEG   •  

Tempe, AZ

Industry: Media


5 - 7 years

Posted 52 days ago

Position Summary:

The Principal Software Engineering is a full stack developer who 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
  • Design and create serverless architectures that leverage AWS Lambda, API Gateway, and DynamoDB
  • Provide technical mentorship to the team
  • 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 ColdFusion, PHP, Laravel, Node.js, AngularJS, jQuery, JavaScript, MS SQL, and MySQL

Required Qualifications:

  • A minimum education level of: BA/BS Degree (4-year) in Computer Science, Computer Engineering or a related field
  • A minimum of 5 years (min 7 years of related work experience preferred)
  • 3+ years of demonstrated deep technical capabilities leveraging cloud technologies and modern architectures
  • 2+ years of microservices architecture design and development
  • 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)
  • Extensive experience writing unit tests and integration tests
  • 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