We are seeking an experienced and visionary Senior Java Developer who will play a key role in our software development initiatives. As a key member of our technical leadership team, you will take a part in the architectural design, take an active part in the opportunities processing and the start of new projects, mentor developers, and contribute to the strategic direction of our software solutions.
As an individual, you need to take ownership, drive initiatives forward, suggest and incorporate improvements in all areas.
- Master’s or Ph.D. in Computer Science or a related field
- Proven track record with at least 5 years of experience in Java development (Java Core, Spring Boot, RabbitMQ, Kafka, Kotlin) including significant time in senior roles
- Deep understanding of software architecture principles, design patterns, and architectural best practices
- Strong leadership and interpersonal skills, with the ability to inspire and lead technical teams
- Demonstrated ability to introduce innovative solutions and stay abreast of industry trends
- Excellent communication skills with the ability to convey complex technical concepts to both technical and non-technical stakeholders
- At least an Upper-intermediate level of English
WOULD BE A PLUS
- Hands-on experience with cloud platforms such as AWS, Azure, or Google Cloud
- Experience designing and implementing systems using a microservices architecture
- Familiarity with DevOps practices, including CI/CD pipelines and infrastructure as code
- Knowledge of big data technologies and their application in enterprise solutions
- Strong understanding of application security best practices
- Provide day-to-day communication with the stakeholders and the team to achieve a common goal
- Design separate components, modules, classes, database tables, etc.
- Code, debug, document, and maintain portions of software
- Investigate manager requests, suggest solutions, and engage other team members when required
- Clarify requirements, split tasks into the sub-tasks, and estimate them
- Create technical specifications
- Perform unit and integration testing
- Take full responsibility for the results of your work, and be ready to solve issues when they occur
- Take full responsibility for the results of your work, be ready to solve issues as they arise