Define, Build and maintain REST and gRPC APIs for internal and external use.
Design, develop, and maintain scalable backend services using Kotlin and the Kotlin ecosystem for JVM development (Exposed, Ktor, Serialization, …)
Design and Implement Relational Data Stores, in particular using Postgres from a JVM application (currently using Kotlin Exposed). Incorporate in the design non-functional characteristics like reliability, performance, and data integrity.
Document your designs, when appropriate using markdown and UML to share and review with other team members.
Write clean, efficient, and well-documented code with a focus on maintainability and testability.
Create well documented, clear pull requests (GitHub) to be reviewed and respond to reviews in a timely way.
Review Pull Requests and designs by other members of the team in a proactive and timely manner.
Packaging and Deployment
Develop and deploy:
µ-services using containers (Docker)
Helm and Kubernetes deployment descriptors
Jar Libraries
Gradle Build Configurations and Scripts
Work together with DevOps and cloud engineering teams to define, implement and maintain infrastructure services on AWS with CloudFormation and CDK.
Maintenance
Troubleshoot, debug, and resolve production issues.
Monitor the alert channels from the system (together with the rest of the team) to detect potential issues early and apply remedies before there is customer impact if possible.
Software Engineering
Participate and contribute to daily standups (daily) and backlog grooming, sprint reviews (weekly)
Manage your personal backlog of tickets in Github, maintain a clean structure of branches, commits and pull-requests for your work.
Contribute ideas and solutions to help improve our architecture, processes, and team culture.
Requirements
3+ years of professional backend development experience (Kotlin strongly preferred, or Java/Spring Boot).
Hands-on experience with Postgres or other relational databases.
Solid understanding of RESTful API design principles and gRPC.
Experience with containerization (Docker) and Kubernetes orchestration.
Familiarity with System and Software design methodologies (UML, C4) to be able to read, understand and produce documentation of designs when necessary.
Familiarity with modern Configuration Control (Github) CI/CD pipelines (Github Actions, Gradle, Helm) and modern DevOps practices.
Strong verbal and written communication skills and ability to work collaboratively in a distributed team. Particular emphasis on the ability to clearly define and communicate issues, difficulties and obstacles to the team.
Proven track record as a self-starter who delivers reliable, high-quality work without constant supervision.
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard skills
KotlinJavaSpring BootRESTful API designgRPCPostgresDockerKubernetesAWSGradle