Programming and Development Skills
• Solid knowledge of modern programming languages, especially Kotlin, Java, JavaScript/TypeScript
• Development of backend and app applications with Spring Boot and Kotlin
• Experience in app development on Android with Kotlin & Jetpack Compose
• Experience in hybrid app development with Ionic on Android & iOS
Software Engineering Best Practices
• In-depth understanding of software architecture principles
• Confident use of design patterns and the avoidance of anti-patterns
• Applied principles of clean code and clean architecture
• Code documentation both inline and in external systems (e.g., Confluence)
Interfaces and Subsystems
• Design and implementation of clearly structured, maintainable interfaces (REST, RPC, possibly GraphQL)
• Responsible for entire subsystems (e.g., authentication including social login)
• Experience with API design, versioning, and interface testing
Domain Understanding
• High interest and deep Understanding of the respective technical domain
• Ability to understand business processes and implement them in software solutions
• Infrastructure knowledge:
• Understanding of deployment mechanisms, logging, monitoring, and performance tuning
• Very good knowledge of Google Cloud
Quality assurance and reviews
• Conducting code reviews, especially for complex tasks
• Focus on maintainability, testability, and code comprehensibility
• Supporting refactoring measures and technical development
Tools & methods
• IDE & tools: IntelliJ IDEA, Git, Maven
• Documentation & collaboration: Confluence, JIRA
• Processes & methods: Scrum, Kanban, CI/CD
• Test frameworks: JUnit, MockK, test containers
• DevOps/Build: Experience with pipelines, Docker, and possibly Kubernetes (advantageous)
Senior Software Engineer (Kotlin, Java, JavaScript/TypeScript, Spring Boot)
Location : Ernakulam
Employment Type : Full Time
Work Mode : Hybrid
Experience : 3-8 yrs
Job Code : BEO-2928
Posted Date : 09/07/2025
Job Description
Responsibilities
Desired Candidate Profile
• Development and maintenance of features and subsystems (e.g. Authentication system)
• Ensuring quality through code reviews and technical documentation
• Contributing to the design of architecture and technical roadmaps
• Supporting the selection of suitable technologies and tools