Job Summary
Job Title: Senior Java Developer (Java Enterprise, Apache Streaming)
Job Summary: As a Senior Java Developer with expertise in Java Enterprise and Apache Streaming,
you will be responsible for designing, developing, and implementing complex software solutions
using Java and relevant open-source technologies. You will play a key role in architecting scalable
and high-performance applications, integrating Apache Streaming technologies, and leveraging
other open-source tools to meet business requirements. Your experience in Java Enterprise Edition
(EE), Spring Framework, and related technologies will be essential in driving innovation and
delivering cutting-edge solutions.
Key Responsibilities:
1. Software Development: Design, develop, and implement Java-based software solutions,
including web applications, microservices, and enterprise systems, using Java EE, Spring
Framework, and other relevant open-source technologies.
2. Architecture Design: Architect scalable and resilient software architectures, considering
factors such as performance, scalability, security, and maintainability. Define design
patterns, best practices, and coding standards for Java development projects.
3. Apache Streaming Integration: Integrate Apache Streaming technologies, such as Apache
Kafka, Apache Flink, or Apache Spark, into software solutions to enable real-time data
processing, event-driven architectures, and stream analytics.
4. Microservices Development: Design and implement microservices architectures using Java
and Spring Boot, leveraging containerization technologies like Docker and orchestration
platforms like Kubernetes for deployment and management.
5. Database Integration: Integrate Java applications with relational databases (e.g., MySQL,
PostgreSQL) and NoSQL databases (e.g., MongoDB, Cassandra) using ORM frameworks like
Hibernate or JPA for data persistence and retrieval.
6. RESTful API Development: Develop RESTful APIs using Java frameworks like Spring MVC or
JAX-RS, and implement API documentation, versioning, and authentication/authorization
mechanisms to enable seamless integration with other systems.
7. Testing and Quality Assurance: Write unit tests, integration tests, and end-to-end tests for
Java applications using testing frameworks like JUnit, Mockito, or TestNG. Perform code
reviews and ensure adherence to quality standards and best practices.
8. Continuous Integration/Continuous Deployment (CI/CD): Implement CI/CD pipelines using
tools like Jenkins, GitLab CI, or Travis CI to automate build, test, and deployment processes.
Ensure smooth and reliable deployment of Java applications across development, staging,
and production environments.
9. Performance Optimization: Identify performance bottlenecks and optimize Java applications
for improved efficiency, throughput, and response times. Profile code, analyze JVM metrics,
and implement caching strategies to enhance application performance.
10. Documentation and Knowledge Sharing: Document technical designs, architecture
diagrams, and implementation details for Java development projects. Share knowledge and
best practices with team members through code reviews, technical presentations, and
knowledge-sharing sessions.
Qualifications and Skills:
• Bachelor's degree in Computer Science, Engineering, or related field; Master's degree
preferred.
• Proven experience as a Senior Java Developer, with at least 5 years of hands-on experience
in Java development.
• Expertise in Java Enterprise Edition (EE) technologies, including Servlets, JSP, JPA, EJB, JMS,
and Java EE containers (e.g., Apache Tomcat, WildFly).
• Strong proficiency in Spring Framework, including Spring Boot, Spring MVC, Spring Data, and
Spring Security.
• Experience with Apache Streaming technologies such as Apache Kafka, Apache Flink, or
Apache Spark for real-time data processing and stream analytics.
• Proficiency in database technologies, SQL, and ORM frameworks (e.g., Hibernate) for data
persistence and retrieval.
• Experience with RESTful API development using frameworks like Spring MVC or JAX-RS, and
API documentation tools like Swagger or OpenAPI.
• Familiarity with containerization technologies (e.g., Docker, Kubernetes), cloud platforms
(e.g., AWS, Azure, Google Cloud), and DevOps practices.
• Excellent problem-solving skills, analytical thinking, and attention to detail.
• Strong communication and collaboration skills, with the ability to work effectively in a team
environment and interact with stakeholders at all levels.
This job profile outlines the key responsibilities, qualifications, and skills required for a Senior Java
Developer with experience in Java Enterprise and Apache Streaming technologies. Successful
candidates will play a crucial role in architecting, developing, and implementing Java-based
solutions that leverage open-source technologies to meet business objectives and drive
innovation