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.