Produce high-quality, performant, and testable code that directly contributes to company-wide initiatives.
Develop using JVM (Java, Kotlin), Elixir, Ruby, React, TypeScript, GraphQL, Kafka, AWS/Lambda, PostgreSQL, DynamoDB; handle data per policy.
Have input into technical decisions that will shape the future of our software systems.
Learn something new, whether it's a new software design pattern or a new initiative to push the company forward.
Review pull requests and provide constructive feedback to your peers.
Pair up with a team member to work together on features; support onboarding where needed.
Deploy user-facing code to production responsibly.
Act as a strong partner to product, engineering management, and stakeholders.
Observability and reliability: learn from metrics and incidents; keep systems maintainable.
Requirements
3-5+ years of software engineering experience
Strong communication skills with product, stakeholders, and engineering peers
Understanding of reusable components / building component libraries when the role includes UI
Understanding of building production-ready web applications and systems; reliability
and security-minded engineering
Passionate about testing practices and continuous improvement; observability-minded delivery
Experience influencing technical direction (architecture, standards, delivery), not only predefined tasks
Experience with Java, Kotlin, Elixir, Erlang, Ruby, JavaScript, Next.js, or another programming language; ready to work on JVM services (Java, Kotlin) when assignments require it
Familiarity with common programming tools such as IDEs, RESTful APIs, Git repositories, TypeScript, version control software, and remote deployment tools
Bachelor of Computer Science degree or equivalent experience
Familiarity with event-based architectures, event streaming (for example Kafka), database fundamentals, and GraphQL or comparable APIs
Enthusiasm for solving problems for our users with technology; uses data and business context where it helps.