About Sinch
Sinch is pioneering the way the world communicates. More than 150,000 businesses — including Google, Uber, PayPal, Visa, Tinder, and many others — rely on Sinch’s Customer Communications Cloud to power engaging customer experiences through mobile messaging, voice, and email.
Whether you need to verify users or craft omnichannel campaigns, Sinch makes it easy. Our AI-infused Super Network, APIs, and applications ensure you can connect with your customers reliably and securely, at every step of their journey.
At Sinch we “Dream Big”, “Win Together”, “Keep it simple”, and “Make it Happen”. These values are our foundation!
About the role
As a Software Engineer in our Developer Experience (DX) organization, you will play a key role in how Sinch APIs are consumed across multiple programming languages.
Your primary focus will be the development and maintenance of Sinch’s Java SDK, one of our most widely used SDKs. Through this work, you will gain deep familiarity with Sinch APIs, products, and developer expectations.
In addition, you will be a core contributor to our SDK generation tooling, which is used to generate Java, Node.js, Python, and .NET SDKs from OpenAPI specifications. In this role, you will help scale SDK development across languages by implementing shared generation logic, templates, and conventions that other members in the SDK team rely on.
This is a developer-facing platform role with strong impact across the entire DX organization.
This role is open to candidates based in Spain, from our offices in Madrid.
What you will do
As a Software Engineer, you will:
Java SDK
- Design, develop, and maintain Sinch’s Java SDK, ensuring high quality, consistency, and usability.
- Translate OpenAPI specifications into idiomatic, well-designed Java APIs.
- Improve developer ergonomics through clear abstractions, documentation, and examples.
- Ensure strong test coverage, reliability, and backward compatibility.
- Collaborate with SDK engineers working on other languages to align on SDK design and behavior.
- Participate in defining SDK standards, conventions, and best practices.
- Review and iterate on OpenAPI specifications from an SDK consumer perspective.
- Collaborate with Product Management and documentation teams to ensure a cohesive developer experience.
SDK generator & code generation
- Contribute to and extend our SDK generator, based on the open-source OpenAPI Generator.
- Implement Java code, supporting libraries, and Mustache templates to generate SDKs from OpenAPI specifications.
- Work closely with other SDK engineers, who define the expected SDK design and behavior, and translate those requirements into generator logic.
- Help reduce language-specific silos by centralizing shared SDK behavior in the generator.
- Improve maintainability, readability, and extensibility of generated code across languages.
Requirements
- 5+ years of professional software development experience, with strong proficiency in Java.
- Experience designing and maintaining SDKs, libraries, or developer-facing APIs.
- Solid understanding of REST APIs, API contracts, and schema-driven development.
- Experience working with build systems, dependency management, and publishing workflows in the Java ecosystem.
- Ability to read, understand, and extend code generation tools or frameworks.
- Experience with testing strategies, CI/CD pipelines, and production-grade systems.
- Comfort working in a role where developer experience, usability and API design quality are key success metrics.
- Fluent English, both written and spoken.
Nice to have
- Experience with OpenAPI Generator or other code generation frameworks.
- Familiarity with Mustache, Handlebars, or similar templating systems.
- Experience developing or maintaining SDKs, libraries, or developer tooling.
- Experience working across multiple languages or SDK ecosystems (e.g. Node.js, Python, .NET).
- Strong written communication skills, especially in technical documentation or design proposals.
- Excellent problem-solving skills and attention to detail.
- Experience contributing to or maintaining open-source projects.
How you work
- You have opinions about what makes a good API and a good developer experience, but you’re open to discussion and feedback.
- You care about long-term maintainability and standards, not quick fixes.
- You are comfortable acting as a bridge between high-level design and concrete implementation.
- You value collaboration and clarity over ownership silos.
- You are pragmatic: you know when to improve abstractions and when to keep things simple.
What we don’t expect
We don’t expect you to:
- Be an expert in every SDK language we support.
- Design SDK behavior in isolation: SDK design is a collaborative effort.
- Rewrite the generator alone or own every architectural decision: you will be supported by the Tech Lead.
- Write quick hacks or language-specific shortcuts that harm cross-language consistency.
- Produce the perfect generator abstractions from day one: iteration and improvement are part of the job.
Why this role matters
This role has a multiplier effect across Sinch’s developer ecosystem. Your work will:
- Directly impact the quality and adoption of Sinch’s Java SDK
- Enable faster, more consistent SDK development across all supported languages
- Help scale SDK innovation without duplicating effort across teams
- Shape how developers experience Sinch APIs, regardless of their language of choice
You will be helping define how Sinch builds SDKs, not just one SDK.
Our Hiring Process
We are committed to ensuring a recruitment process that is fair, objective, consistent, and inclusive. Our approach includes structured, competency-based interviews designed to evaluate your skills, experience, and qualifications relevant to the role. At times, we may include a data-driven assessment to enhance our hiring success and identify candidates likely to excel.
We believe in a two-way process and encourage you to ask questions throughout the journey. If this role isn't what you're looking for, please explore the other opportunities listed on our career page: https://www.sinch.com/careers/. No matter who you are, we hope you find an exciting path forward - hopefully with us!
Please send your CV in English language.