Sr. Software Engineer - Property & Programs
About the role
We are hiring a Full Stack Senior Software Engineer to join our newly formed Mixed Portfolio Foundation team. The team's mission is to own the foundational architecture and data models that are common to multiple property types, crafting a strong foundation for our Affordable Housing and Student Housing teams to build upon. In addition to driving new capabilities, the team will play a key role in strengthening and evolving existing solutions for our Community Association, Commercial, and NYC business segments. This will be an engineering-driven team where engineers will have the agency to identify and advocate for the changes needed to support other teams. Engineers will play a key role in setting the technical direction and driving best practices to ensure scalability and flexibility.
This is an ideal opportunity for someone who has a passion for building leading-edge software and solving problems with long-term solutions in order to build a scalable, successful SaaS product used by thousands of happy businesses. We foster an environment that empowers small teams to set the technical direction of our solutions collaboratively.
Responsibilities
- Build a deep understanding of our existing mixed portfolio segments, including affordable housing and student housing, enabling you and your team to truly own the foundations of these segments.
- Maintain our ongoing business segments, including Community Association, Commercial, NYC, and others.
- Develop scalable, robust, and simple web-based solutions to solve complex business problems—this will involve leveraging our existing technology, refactoring, integrating with partners, or starting from scratch when it makes sense.
- Help mentor and guide other software engineers. Implement new features and optimize existing ones to drive maximum performance.
- 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, take ownership of your problem space, reflecting on and growing from failures and celebrating 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.
Requirements
- 5+ years of experience developing web-based applications, preferably in a SaaS environment.
- Extensive experience designing complex data models that fit into business and compliance requirements.
- Extensive experience developing web applications, preferably in an agile SaaS environment.
- Successfully driven architectural improvements to enhance scalability, flexibility, or performance—and know how to advocate for technical changes that benefit the broader platform.
- 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.
Additional Skills
- 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 teams.
Nice to Have
- Experience working across all levels of the development stack.
- Experience with some areas of our tech like Ruby on Rails, React, MySQL, AWS, SOA.
- Familiarity with Agile software development processes: Scrum or Kanban.
- Familiarity with Test-Driven Development.
Pay
The base salary that we reasonably expect to pay for this role is $138,400 - $173,000. The actual base salary will be determined by a variety of factors, including but not limited to the candidate’s skills, education, and experience.
Benefits
Regular full-time employees are eligible for benefits. The base pay range indicated here does not include any additional benefits or bonuses/commissions that you may be eligible for based on your role and/or employment type. For more details, see here.
AppFolio enables a culture of high performance, where delivering results is recognized by opportunities for growth and compelling total rewards. We invest in your development from the start through coaching, mentorship, and skill-building tools. Our hybrid work environment fosters flexibility, connection, and innovation, while celebrating collaboration and success.