Requirements
● Bachelor's or Master's degree in Computer Engineering, Computer Science, or related experience
● 3 to 6 years of development experience with Java, Spring Framework, and Hibernate.
● Hands-on experience in designing and developing applications using Java EE platforms
● Profound insight Object-Oriented Analysis and Design using common design patterns.
● Profound insight into Java and Java EE internals (Class Loading, Memory Management, Transaction Management, etc).
● Expertise in developing enterprise-level web applications and RESTful APIs using Microservices, with demonstrable production-scale experience.
● Good knowledge of Web-Based Software Concepts.
● Good knowledge of developing Web-Services.
● Familiarity with architecture styles/APIs (REST, and RPC).
● Experience with concurrent development source control (Git).
● Test-driven implementation experience using unit testing frameworks and automated testing tools.
Specialized knowledge:
● Experience with Spring framework; Boot, Cloud, Data, JDBC, JPA, MVC, Batch.
● Experience with Caching Framework (Redis, Ignite).
● Experience with logging framework (Log4j, slf4j).
● Excellent knowledge of Relational Databases, SQL, and ORM technologies (Hibernate, MyBatis).
● Excellent knowledge of Microservices (Rest Template, Open Feign, CircuteBreaker, Resilience4j, ApiGateway, Distributed Tracing, Load Balancer).
● Experience in Agile/Iterative Environment/Scrum methods or DevOps projects.
Nice to haves:
● Hands-on experience in Elasticsearch (Logstash, and Kibana).
● Hands-on experience in Message Brokers (RabbitMQ, Kafka, Zookeeper, and ActiveMQ).
● Experience in streaming technologies like Apache Spark, Apache Flink, and Apache Nifi.
● Specialized in the Hadoop ecosystem (HDFS, Yarn, and Hive).
● Familiar with monitoring systems (Grafana, Prometheus, and Exporters).
Soft skills and personality traits:
● High skills in solving problems and providing optimal solutions.
● Teamwork spirit.
● Discipline and professional ethics.
● Strong attention to detail.