Overview: We are seeking a talented and experienced Java Software Engineer to join our dynamic team.
In this role, you will be responsible for designing, developing, and maintaining high-performance Java applications.
You will work closely with cross-functional teams to create software solutions that meet the evolving needs of our business and clients.
The ideal candidate has a passion for technology, strong problem-solving skills, and an eye for detail.
Key Responsibilities: Design, develop, and maintain Java applications: Collaborate with team members to build scalable, reliable, and secure applications using Java technologies.
Implement software solutions: Develop high-quality, well-documented code following best practices, design patterns, and coding standards.
Participate in the full software development life cycle (SDLC): Contribute to all phases including requirements gathering, design, implementation, testing, deployment, and support.
Troubleshoot and debug: Diagnose and resolve performance and scalability issues, ensuring optimal functionality.
Collaborate with cross-functional teams: Work closely with front-end developers, QA engineers, product managers, and stakeholders to ensure seamless integration and functionality.
Stay updated with the latest technologies: Continuously research and adopt new tools, frameworks, and methodologies to improve efficiency and innovation in software development.
Optimize application performance: Use profiling tools to ensure applications perform optimally, are secure, and have low latency.
Unit testing and code reviews: Write automated tests and perform peer reviews to maintain code quality.
Document development processes and solutions: Maintain comprehensive documentation to ensure knowledge transfer and project continuity.
Requirements: Bachelor's degree in Computer Science, Engineering, or related field (or equivalent experience).
3+ years of experience in Java development (experience with frameworks like Spring, Hibernate, or similar is a plus).
Strong knowledge of object-oriented programming (OOP) principles and design patterns.
Experience with web services and APIs: Familiarity with RESTful and/or SOAP services.
Database knowledge: Proficiency with relational databases like MySQL, PostgreSQL, or NoSQL databases such as MongoDB.
Version control systems: Experience with Git, SVN, or other version control tools.
Experience with build tools: Familiarity with Maven, Gradle, or similar.
Familiarity with cloud platforms: Experience with AWS, Azure, or Google Cloud is a plus.
Experience with microservices architecture is a plus.
Familiarity with containerization technologies: Docker, Kubernetes is a plus.
Excellent problem-solving skills: Ability to work independently or within a team environment.
Good communication skills: Strong ability to explain complex technical issues to both technical and non-technical stakeholders.