For more than 40 years, American Home Shield has protected homeowners by providing affordable protection against home system component and appliance breakdowns. As the leader in the home warranty industry, we have a network of more than 11,000 pre-screened home service contractors and 45,000 professional technicians that provide convenient, reliable expert service to our customers.
What is this role about?
In this key role, our software development philosophy is that Software Engineers are product focused. As a Software Engineer L2, you will work on a specific product and understand all layers of the software stack, as well as be responsible for documentation, automated tests, and writing the code itself for problem solving for routine and basic software programs.
What does a "Day-in-the-Life" look like?
You will be involved with debugging, working with algorithms, and data structures, coding, design, system performance scaling, and problem-solving while applying principles, theories, and concepts to job assignments. You will be working through system performance/scaling concepts and participation in projects.
Here are a few more specifics of what you would be doing on the job:
Writing documentation and automated tests for code to be written. Implementing functionality for automated tests that will successfully pass and meet coding standards. Debugging production issues and creating subsequent mitigation plans. Optimizing performance of existing implementations.
Debugging issues, recognizing the causes of issues, and tackling reproducible issues using query language and scripting.
Selecting optimal data structures using fundamental software algorithms and concepts of space and time complexity.
Fixing easily reproducible bugs, building new and straightforward features, writing unit tests for code coverage, and spotting bottlenecks through the ability to read and understand others' code.
Implementing code based on common design patterns.
Determining correct algorithms based on input size and frequency using basic concepts of algorithms and Big-O Notation.
Prioritizing tasks with Scrummaster that leads your team to be successful.
Bringing forward your ideas to experiment and work in teams to transform ideas to reality
What do I need to be successful?
Bachelor's degree in Computer Science, Electrical Engineering, or related field required. Master's degree preferred.
0-3 years product development experience
You have a basic understanding of computer science fundamentals, such as data structures, (trees, graphs, hash tables); basic understanding of functioning and implementation of basic algorithms, such as sorts, searching, and the capability to explain performance characteristics using Big-O Notations.
You have the capability to debug basic problems and analyze logs in production systems and to read basic existing code.
You understand various data storage options, such as relational, no-SQL, etc.
You have basic scripting skills in Shell, Python, or Ruby
You have basic skills in languages, such as C, C++, Java, Golang, .net Core
Knowledge of Requirement Management, Agile Development, Test Process, Code Management, and Deployment
Ability to be on call on a rotating basis for the services owned by the team.
You have experience in developing products in an Agile development environment
You have experience working in a CI/CD environment
You understand Git and development activities such as merge and conflict resolution of code
You understand and have experience in Docker, Kubernets, and AWS cloud services
Additional Frontdoor Total Rewards Information: We are passionate about empowering our people, and are creating an environment where associates are engaged and excited to be part of taking the hassle out of home ownership. Our approach to benefits is holistic, and includes health, wellbeing and financial components including: insurance for medical/pharmacy, dental, vision, life, and disability, weight loss and smoking cessation programs, matching 401(k) and ability to participate in our employee stock purchase plan. The incoming salary for this role is $80000 for the minimum level of experience outlined in the requirements for this role; however, the salary we ultimately offer will typically increase commensurate with experience.