Description du poste:
Marketing and digital experience teams at thousands of the world's most admired companies rely on (COMPANY NAME)'s Customer Engagement Platform to create deeper connections with customers by delivering incredibly relevant, orchestrated messages on any channel.
Founded in 2009 as a pioneer in push notifications, (COMPANY NAME) now gives brands the user-level data, engagement channels, AI orchestration and services they need to deliver push notifications, emails, SMS, in-app messages, mobile wallet cards and more to exactly the right person in exactly the right moment - building trust, boosting engagement, driving action and growing value.
Learn more about our Customer Engagement Platform or read our blog.
You possess strong software engineering and Java development fundamentals. You value delivering products that delight and you are unafraid to dig into unknown codebases to unravel unexpected behaviors. You value reliability, testability, and maintainability. You're proud of the code you write, but you're also pragmatic and believe in iteration. You know when it is time to refactor, and when it's time to ship.
About the Position
The job of a Backend Java /Node.js engineer at (COMPANY NAME) is to focused on distributed system design, development, and support. We provide low latency services that process a stream of events from both apps/web/mobile wallet/email/sms and internal services.
* Our backend infrastructure is built on the Google Cloud Platform and AWS.
* Our platform uses microservices that talk to NoSQL databases and handle immense load.
* You'll be involved in schema design, ownership of data semantics, and a lot of squinting at server metrics trying to puzzle out why database write latency spiked in the 99th percentile and moved the emphasis in "near-real-time" from "real" to "near."
* Our API are both developed on Java and Node.js and we are dealing with billions of API per days
You'll be in charge of:
* Maintaining and improving our API developed in Node.js
* Attached to the Backend Java Team, work on projects such as segmentation, API, backend structure...
Experience and Skills:
* Relevant experience of 3 to 5+ years with software engineering best practices: unit testing, code reviews, documentation, and version control.
* Relevant experience working on Java and Node.js
* Experience with distributed systems
* Willingness to work as part of a team to achieve shared commitments
* Calmly work in a fast-paced environment to ensure continuous delivery
* Provide mentorship and guidance for less experienced engineers
* Strong verbal and written communication skills
Bonus points for:
* Solid fundamentals with Linux
* Experience with the Google Cloud Platform or AWS
* Practiced Git workflows
* Experience with distributed NoSQL systems or key-value stores
* Know how to troubleshoot and fine tune JVM performance