4 months ago
Responsibilities
- Transcribe complex technical requirements into programming languages for software solutions.
- Help others solve complex technical problems and coach on best practices.
- Design, code, and implement software and systems for functionality and scalability.
- Implement performant software using documented algorithms and optimization methods.
- Develop quality software applications of medium-high complexity without clear requirements.
- Demonstrate programming language expertise in Java and other ecosystem languages.
- Maintain deep knowledge of engineering and architectural principles.
- Own the entire software development lifecycle from design to implementation.
- Enhance knowledge of emerging technologies.
- Advocate for Agile delivery methodologies.
- Practice TDD/BDD using tools like Cucumber and Postman.
Requirements
- Excellent understanding of Java 8+.
- Strong knowledge of OOP and design patterns.
- Solid understanding of data structures, algorithms, and performance analysis.
- Proficient in Spring and Spring Boot.
- Experience in designing architecture and selecting tech stacks.
- Familiarity with git or similar version control systems.
- Experience building RESTful APIs.
- Knowledge of relational and non-relational databases.
- Experience with distributed architecture principles.
- Familiarity with Microservices.
- Experience with cloud deployments and CI/CD.
- Knowledge of containers (Docker) and orchestration (Kubernetes).
- Experience with Maven/Gradle/Ant.
- Experience working in Agile/Scrum environments.
- Good communication and analytical skills.
Benefits
- Flexibility with remote and hybrid work options.
- Career advancement opportunities with international mobility.
- Access to cutting-edge tools, training, and industry experts.
