Iterable is the leading AI-powered customer engagement platform that helps brands create dynamic, individualized experiences at scale. As a Software Engineer II, you'll independently develop and maintain projects, collaborating with various teams to deliver timely and relevant customer experiences.
Responsibilities:
- Execute on core work with minimal guidance in a way that increases team velocity while maintaining high quality
- Break down projects into milestones, provide accurate cost estimates, and proactively keep stakeholders informed
- Architect and develop solutions on a complex platform that reaches millions of users
- Collaborate with frontend, backend, product, and design to conceptualize and build new product features
- Write well-structured, maintainable, documented, and tested code with an eye toward future reuse and modularization
- Diagnose and fix tricky bugs, prevent incidents through appropriate testing, and maintain a track record of drama-free deploys
- Provide in-depth code reviews and contribute to design reviews with respectful, effective communication
- Recognize potential scalability issues, bring them to the Architecture Support Group (ASG), and participate in remediation
- Collaborate actively to unblock teammates, give and receive hard feedback with respect and empathy, and solicit input from people of diverse backgrounds
- Participate in recruiting and develop effective interviewing skills
Requirements:
- 3+ years of relevant software development experience
- Proficiency in at least one modern programming language (ideally Scala and/or Java)
- Experience building production-ready, scalable web applications
- Experience with Elasticsearch and/or other relevant technologies such as Postgres and data pipeline systems
- Strong interpersonal skills and the ability to collaborate in a highly remote/distributed environment
- Ability to facilitate discussions within your team and cross-functionally
- A desire to be part of a values-driven Engineering team
- Passion for learning — always improving yourself and the team around you
- Willingness to take on-call responsibilities
- Fluency in English (verbal and written)
- Experience with end-to-end, integration, and performance testing
- Exposure to enterprise systems