Hi, We’re AppFolio.
We’re innovators, changemakers, and collaborators. We’re more than just a software company; we’re a cloud-based powerhouse that creates products to make our customers’ lives easier. We are an AI-first engineering organization, revolutionizing how people do business. We want your ideas, enthusiasm, and passion to help us keep innovating at the speed of the modern market.
Who we are looking for:
We are hiring a Full Stack Senior Software Engineer to join a young, high-growth, cross-functional product development team, and to help drive the engineering growth and evolution of our Investor segment. You will help us design and build best-in-class app experiences, preparing our systems for a potential 10x increase in traffic and engagement. The ideal candidate will thrive in a highly collaborative environment, applying the latest in generative AI-assisted techniques to build an innovative product for our customers, has a passion for building leading-edge software and is driven to help build a successful SaaS product used by our large and growing audience of property managers and owners, and who wants to hold themselves to the highest standard of technical excellence while mentoring others in a high-stakes, high-scale environment.
Responsibilities:
Build a deep understanding of the Investor Owner segment, enabling you and your team to truly own the domain.
Become a master of your software engineering craft, and work with other software engineers who are smart enough to teach you, and humble enough to learn from you.
Develop scalable, robust, and simple web-based solutions to solve complex business problems for our customers.
Help mentor and guide other software engineers.
Implement new features and optimize existing ones to drive maximum performance.
Use test-driven development, code reviews, and continuous integration to deliver Work closely with and incorporate feedback from other engineering team members, QA, product owners, and designers. Enthusiastically participate in a high-performing, empowered team with high levels of mutual trust and respect. Along with the team, you will take ownership of your problem space, reflecting on and growing from our failures and celebrating our successes.
Work in a truly agile fashion to turn a massive, unruly problem into thinly sliced deliverables and execute quickly against them while limiting work in progress.
Research, share, and recommend new technologies and trends.
Hold a high bar of engineering excellence and always look for ways to raise it. Adopt our engineering best practices, provide and receive in-depth code reviews, and participate in healthy debate as a team. Evangelize your own expertise and experience among your teammates and the rest of the organization.
Prioritize quality. Thoughtful test coverage is a given and any escalations from external stakeholders like our onboarding or customer care teams are handled and resolved swiftly. Use test-driven development, code reviews, and continuous integration to deliver high-quality software and rapidly fix bugs as they come up.
You know you’re the right fit if…
You have 5+ years of experience developing and scaling web-based applications, preferably in a SaaS environment.
Proven experience working across all levels of the development stack.
Strong familiarity with the technologies we use like Ruby on Rails, React, MySQL, AWS, SOA
Strong familiarity with Agile software development processes: Scrum or Kanban
Strong familiarity with Test-Driven-Development
Creativity and proactivity - an ability to solve complex problems without a roadmap
You love to learn about and use new tech, but understand the value of continuing to leverage existing technology when it gets the job done.
You care about the long-term maintainability of the codebase and advocate for refactoring and code cleanliness.
You can identify and resolve code-smells through sensible refactoring.
You care about the long-term maintainability of the codebase and will learn to advocate for refactoring and clean-ups where appropriate.
You care about work-life balance and want your company to care about it, too; you'll put in the extra hour when needed but won't let it become a habit.
Additional Skills and Knowledge:
Bachelor’s or Master’s in Computer Science or related technical discipline
Comfortable working with remote team members
Ability to think pragmatically and effectively balance business outcomes with technical goals
Ability to establish strong working relationships with peers across other platform development team
#LI-SS2