Sr. Software Engineer - Communications
Description
- Build a deep understanding of our communications systems - enabling you and your team to build on top of and modify the existing architecture.
- Research and determine key architecture and design decisions to build a scalable, robust, yet simple Voice platform - this will involve some combination of leveraging our existing technology, refactoring existing systems, including off-the-shelf systems, or starting from scratch when it makes sense.
- Participate in customer research/discovery with Product to understand current problems, needs, and estimate technical feasibility of various potential solutions.
- 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.
- 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 communication methods that our infrastructure supports are tested with appropriate unit and integration tests to ensure the uptime of our systems.
- 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.
- Design and implement systems responsible for high concurrency and scale.
- Identify gaps, deficiencies and inefficiencies in the system. Propose and implement solutions.
- Experience with VoIP protocols such as SIP, WebRTC, RTP, etc
- Experience integrating with voice communication SaaS providers (e.g., Twilio, Sinch, Vonage etc.)
- Experience building features that integrate voice communication with the phone network as well as with web and mobile applications, preferably in an agile SaaS environment.
- Experience building real-time communication systems at scale.
- Experience working on platform teams or building 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 familiarity with REST APIs and web-based APIs
- Familiarity with public cloud, such as AWS, GCP, Azure
- Strong familiarity with Agile software development processes: Scrum or Kanban
- 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.
- Experience with SMS and email protocols as well as providers such at Twilio and Sendgrid.
- 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
About AppFolio
AppFolio is the technology leader powering the future of the real estate industry. Our innovative platform and trusted partnership enable our customers to connect communities, increase operational efficiency, and grow their business. For more information about AppFolio, visit appfolio.com.
Why AppFolio
Grow | We enable a culture of high performance, where delivering results is recognized by opportunities for growth and compelling total rewards. Our challenging and meaningful work drive the growth of our business, and ourselves.
Learn | 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.
Impact | We are creating a world where living in, investing in, managing, and supporting communities feels magical and effortless, freeing people to thrive. We do this by innovating with purpose while cultivating a culture of impact. We learn as much from each other as we do our customers and our communities.
Connect | 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.
Paddle as One.
Learn more at appfolio.com/company/careers
Statement of Equal Opportunity
At AppFolio, we value diversity in backgrounds and perspectives and depend on it to drive our innovative culture. That’s why we’re a proud Equal Opportunity Employer, and we believe that our products, our teams, and our business are stronger because of it. This means that no matter what race, color, religion, sex, sexual orientation, gender identification, national origin, age, marital status, ancestry, physical or mental disability, or veteran status, you’re always welcome at AppFolio.