Java Software Engineer
About the Role:
- We are seeking a talented and passionate Java Software Engineer to join our growing team.
- In this role, you will be responsible for designing, developing, and maintaining high-performance Java applications.
- You will work closely with other engineers and stakeholders to deliver innovative and scalable solutions that meet our business needs.
Responsibilities:
- Design, develop, and test Java applications using object-oriented principles and design patterns.
- Utilize Java Stream API for efficient data processing and manipulation.
- Implement multithreading and concurrency solutions to optimize application performance.
- Debug and troubleshoot complex software issues.
- Identify and implement performance optimization strategies.
- Design and develop event-driven architectures using message queues or streaming platforms.
- Interact with PostgreSQL databases using SQL and JDBC.
- Write clean, well-documented, and testable code.
- Collaborate effectively with other engineers, testers, and product managers.
- Stay up-to-date with the latest Java technologies and trends.
Qualifications:
- Bachelor's degree in Computer Science or related field.
- Strong understanding of Java core concepts, including object-oriented programming, data structures, and algorithms.
- Proficiency in Java Stream API.
- Experience with multithreading and concurrency in Java.
- Excellent debugging and troubleshooting skills.
- Knowledge of performance optimization techniques.
- Familiarity with event-driven architectures and message queues (e.g., Kafka, RabbitMQ).
- Experience with PostgreSQL and SQL.
- Strong problem-solving and analytical skills.
- Excellent communication and teamwork skills.
Bonus Points:
- Experience with Spring framework.
- Knowledge of cloud platforms (e.g., AWS, Azure, GCP).
- Experience with containerization technologies (e.g., Docker, Kubernetes).
- Contributions to open-source projects.