
Software Engineer
Frontdoor, Inc. · United States
- Hybrid
- Full-time
- $95,000 / year
- United States
Job highlights
- Develop and optimize software features and performance.
- Debug production issues and implement solutions.
- Work with data structures, algorithms, and testing.
- Collaborate on product development in an Agile environment.
- Utilize scripting and programming languages.
About the role
Software Engineer
Frontdoor is reimagining how homeowners maintain and repair their most valuable asset – their home. As the parent company of two leading brands, we bring over 50 years of experience in providing our members with comprehensive options to protect their homes from costly and unexpected breakdowns through our extensive network of pre-qualified professional contractors. American Home Shield, the category leader in home service plans with approximately two million members, gives homeowners budget protection and convenience, covering up to 23 essential home systems and appliances. Frontdoor is a cutting edge, one-stop app for home repair and maintenance. Enabled by our Streem technology, the app empowers homeowners by connecting them in real time through video chat with pre-qualified experts to diagnose and solve their problems. The Frontdoor app also offers homeowners a range of other benefits including DIY tips, discounts and more. For more information about American Home Shield and Frontdoor, please visit frontdoorhome.com.
Responsibilities
Our Software Engineers are product-focused, giving them the opportunity to work on a product and understand the layers of the software stack. Work includes documentation, automated testing, debugging, working with algorithms and data structures, coding, design, system performance scaling, and problem-solving for basic software programs. Responsibilities also include contributing to the completion of projects under moderate supervision.
- Write documentation and automated tests for code to be written.
- Implement functionality for automated tests that will successfully pass and meet coding standards.
- Debug production issues and create subsequent mitigation plans.
- Optimize performance of existing implementations.
- Help debug multiple systems or layers through isolating issues in data structures with multiple factors, while understanding the reasons for memory leaks.
- Read and interpret logs.
- Simplify solutions in existing implementations.
- Assist with the optimization of code when given pointers, identify critical areas to inspect for performance optimization; and program independently.
- Identify and write documents that refer to design patterns providing clarity to readers.
- Write flowcharts and state-machines for small module implementations.
- Interpret basic UML/Sequence diagrams.
- Create test harness to drive performance test runs in both production and local setups.
- Break down problems that are well-defined and larger in scope.
- May include other duties as assigned.
Qualifications
Required Skills:
- Good understanding of computer science fundamentals, such as data structures (trees, graphs, hash tables); understanding of functioning and implementation of basic algorithms, such as sorts, searching, and the capability to explain performance characteristics using Big-O Notations.
- Capability to debug moderately complex problems and analyze logs in production systems and to read existing code.
- Understanding of various data storage options, such as relational, NoSQL, etc.
- Scripting skill in Shell, Python, or Ruby.
- Skills in languages, such as C, C++, Java, Golang, .net Core.
- Experience in following a defined process and understanding of how the process helps in day-to-day job.
- Ability to be on call on a rotating basis for the services owned by the team.
Preferred Skills:
- Experience in developing products in an Agile development environment.
- Experience working in a CI/CD environment.
- Understanding of Git and development activities such as merge and conflict resolution of code.
- Understanding and experience in Docker, Kubernetes, and AWS cloud services.
Physical Role Requirements: Be seated at a computer intermittently for up to eight hours a day. Move up to 10 pounds occasionally, by lifting, carrying, pushing, pulling, or otherwise repositioning objects. Sitting for long periods of time while using office equipment such as computers and phones. Repetitive motions using hands and digits, such as movement of wrists, hands and fingers while picking, pinching, and typing during your normal working environment.
Minimum Education, Licensure and Professional Certification requirements: High school diploma or equivalent required, Bachelor’s degree in Computer Science, Electrical Engineering, or related field preferred.
Minimum Experience required: 2+ years of product development experience required.
Other/State Specific: This role pays between $85k to $105k, and your actual base pay will depend on your skills, qualifications, responsibilities, experience, and location. At Frontdoor, certain roles are eligible for additional rewards and incentives. Speak directly to your recruiter to learn more. 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.
Key skills/competency
- Software Engineering
- Computer Science Fundamentals
- Data Structures
- Algorithms
- Debugging
- Performance Optimization
- Scripting (Shell, Python, Ruby)
- Programming Languages (C, C++, Java, Golang, .net Core)
- Agile Development
- CI/CD
Skills & topics
- Software Engineer
- Product Development
- Computer Science
- Data Structures
- Algorithms
- Debugging
- Performance Optimization
- Agile
- CI/CD
- Java
How to get hired
- Tailor your resume: Highlight experience with data structures, algorithms, debugging, and specific programming languages like Java, C++, or Python.
- Showcase relevant projects: Detail personal or professional projects demonstrating your ability to write automated tests, optimize performance, and understand computer science fundamentals.
- Emphasize Agile and CI/CD: If you have experience, explicitly mention your work in Agile development environments and CI/CD pipelines.
- Prepare for technical questions: Be ready to discuss Big-O notation, debug scenarios, and explain your problem-solving approach for complex issues.
- Demonstrate curiosity: Show interest in Frontdoor's mission and how your skills can contribute to their innovative home maintenance solutions.
Technical preparation
Behavioral questions
Frequently asked questions
- What is the salary range for a Software Engineer at Frontdoor?
- The estimated salary range for this Software Engineer position at Frontdoor is between $85,000 and $105,000 annually. Your actual base pay will be determined by factors such as your skills, experience, qualifications, responsibilities, and location.
- What are the minimum experience requirements for this Software Engineer role at Frontdoor?
- To be considered for this Software Engineer position at Frontdoor, you need at least 2 years of product development experience. A Bachelor's degree in Computer Science or a related field is preferred, but a high school diploma or equivalent is required.
- What programming languages and technologies are preferred for this Frontdoor Software Engineer job?
- While the role requires skills in languages like C, C++, Java, Golang, or .NET Core, preferred skills include experience with Agile development, CI/CD environments, Git, Docker, Kubernetes, and AWS cloud services.
- Does Frontdoor offer good benefits for Software Engineers?
- Yes, Frontdoor offers a holistic approach to benefits, including medical, pharmacy, dental, vision, life, and disability insurance. They also provide weight loss and smoking cessation programs, 401(k) matching, and an employee stock purchase plan.
- What are the core responsibilities of a Software Engineer at Frontdoor?
- As a Software Engineer at Frontdoor, you'll focus on product development, writing documentation and automated tests, debugging production issues, optimizing performance, working with data structures and algorithms, and contributing to system design and scaling.
- Is there an on-call rotation requirement for this Software Engineer position?
- Yes, this Software Engineer role includes an on-call requirement on a rotating basis for the services owned by the team.
- What are the essential computer science fundamentals for this Software Engineer role?
- The role requires a strong understanding of computer science fundamentals, including data structures (trees, graphs, hash tables), basic algorithms (sorting, searching), and the ability to explain performance characteristics using Big-O notation.