Sr. Software Engineer
Job Description
We are seeking a skilled Java Engineer to join our development team. As a Sr. Software Engineer, you will be responsible for designing, developing, and maintaining high-quality software applications using Java technologies. You will collaborate with cross-functional teams, including product managers, designers, and other software engineers, to deliver innovative and scalable solutions.
Experience: 6+ years
Responsibilities:
- Design, develop, and maintain robust and scalable software applications using Java technologies.
- Collaborate with cross-functional teams to gather and analyze requirements, and translate them into technical specifications.
- Write clean, efficient, and maintainable code following coding best practices and standards.
- Conduct unit testing and debugging of applications to ensure software quality and reliability.
- Participate in code reviews to provide and receive constructive feedback.
- Troubleshoot and resolve software defects and issues, ensuring timely resolution.
- Collaborate with team members to continuously improve software development processes and practices.
- Contribute to the documentation of software designs, technical specifications, and user guides.
- Provide technical support and guidance to other team members when required.
Requirements:
- Bachelor’s degree in Computer Science, Software Engineering, or a related field. Equivalent practical experience will also be considered.
- Excellent problem-solving and analytical skills.
- Solid understanding of object-oriented programming principles and design patterns.
- Strong proficiency in Java programming language and related frameworks (e.g., Spring, Hibernate, Spring MVC, Spring boot).
- Strong knowledge of Rest API, JMS, etc.
- Experience with web application development using Java-based frameworks (e.g Spring MVC, Java Servlets, JSP).
- Proficiency in database concepts and MySQL.
- Experience with version control systems (e.g., Git) and build tools (e.g., Maven, Gradle).
- Knowledge of software development methodologies and practices (e.g., Agile, Scrum).
- Strong communication and collaboration abilities, with the ability to work effectively in a team environment.
- Knowledge of cloud computing platforms (e.g., AWS, Azure) and related services will be an added advantage.