[Remote] Sr Software Engineer - Platform Data Query
Note: The job is a remote job and is open to candidates in USA. AppFolio is the technology leader powering the future of the real estate industry. They are seeking a Senior Software Engineer in their Platform Data Query team to operate, maintain, scale, and enhance data streaming and access systems, ensuring robust and efficient data solutions for their customers. This role is crucial for optimizing data access and supporting a variety of applications that enhance the operations of property managers.
Responsibilities
- Build a deep understanding of our data structure and systems - enabling you and your team to maintain, scale, and add on to the existing architecture
- Maintain, optimize, and scale our robust data access layer on top of our Iceberg data lake, taking ownership of under-the-hood optimizations like data compaction for performance and storage efficiency
- Design, build, and operate a robust API on top of our data tech stack, ensuring secure data access and seamless integration for downstream applications and platform services
- Collaborate with Product to understand current operational needs, troubleshoot issues, and design technical add-ons or enhancements to our existing solutions
- Work in a truly agile fashion to turn scaling challenges and feature enhancements into thinly sliced deliverables and execute quickly against them while limiting work in progress
- 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
- Together with your team, you ensure the data flowing through our data pipelines is tested with appropriate unit and integration tests to ensure the correct data makes it to our customers
- Together with your team, your deliverables are always well-instrumented. Queries and dashboards are easily accessible and regularly used to drive decisions as well as measure progress
- 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 and growing from our failures and celebrating our successes
- Operate, optimize, and scale systems responsible for high concurrency access to large data sets, requiring hands-on execution and deep knowledge of data access and query optimization with distributed query engines like Trino and AWS Athena. Identify gaps, deficiencies, and inefficiencies in the system. Propose and implement solutions
Skills
- Must have experience operating, scaling, and enhancing data pipelines at a company with large data sets using Apache Flink and Kafka, especially with multi-tenant data in an agile SaaS environment
- Must have foundational experience operating, tuning, and maintaining Iceberg data lakes, including deep knowledge of table maintenance and data compaction strategies
- Experience working on platform teams or maintaining platform services, whose customers are other internal teams
- Proven experience working across all levels of the development stack
- Proven experience with object-oriented languages (Python, Ruby, JS, Java, C#, etc.)
- Strong SQL proficiency and deep knowledge of data access/query optimization, requiring the ability to optimize query performance and cost efficiency at scale using distributed engines like Trino and AWS Athena
- Familiarity with core architecture principles of at-scale systems
- Must have strong familiarity with public cloud infrastructure, particularly AWS (including native tools like AWS Glue, AWS S3, and AWS Athena)
- Strong familiarity with Agile software development processes: Scrum or Kanban
- Creativity and proactivity - an ability to solve complex scaling and operational problems. You love to learn about and use new tech, but understand the value of continuing to leverage and optimize 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
- 5+ years of experience working in software engineering teams
- 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
Benefits
- Regular full-time employees are eligible for benefits - [see here](https://www.appfolioinc.com/careers/life-at-appfolio)
- We enable a culture of high performance, where delivering results is recognized by opportunities for growth and compelling total rewards.
- We partner with you to realize your potential by investing in you from the start.
- We're cultivating a team of big thinkers through coaching and mentorship with our best-in-class leaders, and giving you the time and tools to develop your skills.
- We excel at hybrid work by fostering an environment that feels flexible, personal and connected, no matter where we are.
- We create space to fuel innovation and collaboration, and we come together to celebrate, connect, and succeed.
Company Overview
Company H1B Sponsorship