Senior Java Developer

وصف الوظيفة

1. Software Development: Design, code, test, and debug Java applications using best practices and industry standards. Develop high-quality, reusable, and efficient code to meet project requirements.

2. Technical Leadership: Provide technical guidance and mentorship to junior developers. Lead code reviews, offer constructive feedback, and promote adherence to coding standards and best practices.

3. System Design: Participate in architectural discussions and contribute to the design and implementation of software systems. Collaborate with cross-functional teams to define technical requirements and create scalable and efficient solutions. 4. Problem Solving: Analyze complex technical problems and propose innovative solutions. Troubleshoot and resolve software defects and performance issues. Conduct root cause analysis and implement corrective measures.

5. Collaboration: Work closely with product managers, business analysts, and stakeholders to understand project requirements and translate them into technical designs. Collaborate with cross-functional teams to ensure seamless integration of software components.

6. Performance Optimization: Identify and implement performance optimizations to enhance the efficiency and scalability of Java applications. Conduct profiling and tuning activities to improve application responsiveness and throughput.

7. Documentation: Create and maintain technical documentation, including design documents, code comments, and user guides. Ensure documentation is up-to-date and accessible to the development team.

8. Emerging Technologies: Stay updated with the latest trends and advancements in Java development. Evaluate and recommend new tools, frameworks, and technologies to improve development processes and enhance product quality.

متطلبات الوظيفة

- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.

- Extensive experience in Java development, including proficiency in core Java concepts, multithreading, and object-oriented programming.

- Strong knowledge of Java frameworks such as Spring, Hibernate, or JavaEE.

- Experience with web application development using technologies like Servlets, JSP, HTML, CSS, and JavaScript.

- Proficiency in database design and SQL programming.

- Familiarity with build tools like Maven or Gradle and version control systems like Git.

- Experience with Agile development methodologies and tools (e.g., Scrum, JIRA).

- Excellent problem-solving skills and the ability to analyze and debug complex software issues.

- Strong interpersonal and communication skills, both written and verbal.

- Leadership qualities and the ability to lead a team effectively