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.
● 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, RPC).
● Experience with concurrent development source control (Git).
● Test-driven implementation experience using unit testing frameworks and automated testing tools.
Specialist knowledge:
● Experience with Spring framework; Boot, Cloud, Data, JDBC, JPA, MVC, and Batch.
● Experience with Caching Frameworks (Redis, and Ignite).
● Experience with logging framework (Log4j, and slf4j).
● Excellent knowledge of Relational Databases, SQL, and ORM technologies (Hibernate, and MyBatis).
● Excellent knowledge of Microservice (Rest Template, Open Feign, CircuteBreaker, Resilience4j, ApiGateway, Distributed Tracing, and Loadbalancer).
● Experience in agile/iterative environment/scrum method/DevOps projects.
Nice to have:
● Hands-on experience in Elastic Search (Logstash, and Kibana).
● Hands-on experience in Message Brokers (RabbitMQ, Kafka/Zookeeper, ActiveMQ).
● Experience in streaming technologies like Apache Spark, Apache Flink, and Apache Nifi.
● Specialized in the Hadoop ecosystem (HDFS, Yarn, Hive).
● Familiar with monitoring systems (Grafana, Prometheus, Exporters).
Soft skills and personality traits:
● High skill in solving problems and providing optimal solutions.
● Teamwork spirit.
● Discipline and professional ethics.
● Strong attention to detail.