Senior Java Software Engineer
Emdad Al Khebrat

Job Description:
The Senior Java Software Engineer is a pivotal role within our organization, responsible for designing, developing, and implementing complex software applications and systems. This position demands an individual with strong expertise in Java programming, object-oriented design principles, and software architecture. The successful candidate will demonstrate a comprehensive understanding of the software development lifecycle (SDLC) and possess the ability to lead projects from conception through production deployment. The Senior Java Software Engineer will be expected to mentor junior developers, conduct code reviews, and ensure the delivery of high-quality software that meets client specifications. Furthermore, this role requires proficiency in modern development tools and methodologies, including Agile, ensuring that the team is aligned with best practices in software engineering and project management. A Bachelor’s degree in Computer Science, Software Engineering, Information Technology, or a related field is essential, alongside a minimum of four years of relevant experience in the field.
Job Requirements:
- Bachelor’s degree in Computer Science, Software Engineering, Information Technology, or a related field.
- A minimum of 4 years of experience in software development with a primary focus on Java.
- Profound understanding of object-oriented programming concepts and design patterns.
- Proven experience with development frameworks such as Spring, Hibernate, or similar.
- Solid understanding of database design and experience with SQL and NoSQL databases.
- Familiarity with software development tools such as Git, Jenkins, Docker, and CI/CD pipelines.
- Experience in Agile methodologies and practices, with a focus on delivering iterative enhancements to applications.
- Proficient in writing unit and integration tests and an understanding of test-driven development (TDD).
- Ability to gather requirements from stakeholders and translate them into technical specifications.
- Strong problem-solving skills with the ability to diagnose and troubleshoot software issues.
- Excellent communication skills, both verbal and written, with the ability to work collaboratively in a team environment.
- Experience in cloud platforms (AWS, Azure, GCP) is a plus.
- Knowledge of front-end technologies such as HTML, CSS, JavaScript, and frameworks (React, Angular) is advantageous.
Job Responsibilities:
- Design, develop, and maintain high-performance Java applications that align with business objectives.
- Lead technical design and code review sessions to ensure high standards of code quality and performance.
- Collaborate with cross-functional teams, including product management and QA, to define project scope and deliverables.
- Participate in the entire software development lifecycle, from requirement gathering to deployment and maintenance.
- Mentor junior developers, providing guidance and sharing best practices in coding and project execution.
- Implement and maintain best practices for software development, including version control and code repository management.
- Develop automated unit tests and participate in test planning to ensure all software components meet quality standards.
- Analyze system performance and apply optimizations to enhance application efficiency and user experience.
- Stay up-to-date with the latest industry trends and technologies to continually improve skills and project outcomes.
- Document technical specifications and processes for development efforts and ensure knowledge transfer within the team.
Required Skills:
- Advanced proficiency in Java programming and familiarity with related languages (e.g., Kotlin, Scala).
- Strong understanding of software architecture principles and application design patterns.
- Experience with RESTful API design and development.
- Familiarity with software architecture tools and techniques (UML, design patterns).
- Ability to work effectively in an Agile development environment.
- Strong analytical and debugging skills to identify and resolve software issues efficiently.
- Excellent interpersonal skills with a collaborative approach to teamwork.
- Capacity to manage multiple tasks and projects in a fast-paced environment.
- Proficient with DevOps practices and concepts to improve deployment processes.
- Experience in system integration and a solid understanding of microservices architecture.
How to apply
To apply for this job you need to authorize on our website. If you don't have an account yet, please register.
Post a resumeSimilar jobs
Full Stack Net Developer

Training Officer

PMO Manager - 10-Month Engagement
