Position Summary
We are looking for a skilled and motivated Software Developer II with strong proficiency in Java to join our engineering team. You will be responsible for designing, developing, and maintaining robust, scalable, and high-performance server-side applications that power our platforms. You'll work closely with front-end developers, DevOps, and product managers to build and enhance services that serve thousands of users.
Essential Functions
- Develop and maintain scalable and performant Java-based backend services and APIs.
- Collaborate with cross-functional teams to define, design, and ship new features.
- Write clean, maintainable, and testable code using modern design patterns.
- Optimize application performance, reliability, and scalability.
- Participate in code reviews and contribute to the continuous improvement of engineering practices.
- Debug and resolve technical issues and production incidents.
- Contribute to system design discussions and architecture decisions.
- Maintain documentation of systems and processes.
Required Qualifications
- 4+ years of professional experience in back-end development with Java.
- Strong understanding of object-oriented programming principles.
- Experience with Spring/Spring Boot and RESTful API development.
- Familiarity with relational databases (e.g., MySQL, PostgreSQL,) and ORM frameworks (e.g., Hibernate, JPA).
- Knowledge of version control tools such as Git.
- Understanding of software development lifecycle (SDLC), CI/CD, and Agile methodologies.
- Familiarity with unit testing frameworks (JUnit, Mockito).
Preferred Qualifications
- Experience with message brokers (Kafka, RabbitMQ) and microservice architectures.
- Exposure to containerization tools (Docker, Kubernetes).
- Familiarity with cloud services (AWS or Azure).
- Experience with Query Optimization
- Experience with Multithreaded implementations
- Experience with Clustered applications
- Exposure to front-end integration (e.g., understanding of APIs consumed by Angular/React apps).
Other Skills
- Strong problem-solving and analytical skills.
- Good communication and teamwork abilities.
- Proactive attitude with attention to detail.
- Ability to work independently with minimal supervision.
Other Duties
In addition to performing the essential functions of the job, this position may require other duties as assigned. Duties, responsibilities, and activities may change at any time with or without notice.