Software Engineer
Primary Responsibilities
- Contribute to the development of high-quality, scalable software as part of a dynamic and innovative team.
- Design and draft comprehensive technical specifications for software development tasks.
- Provide technical leadership and guidance to a team of developers to meet project objectives.
- Write clean, efficient, and maintainable code in alignment with defined specifications.
- Conduct unit testing to ensure software quality, performance, and reliability.
- Troubleshoot and resolve technical issues encountered during development.
- Support software and product implementation as needed.
- Participate in system integration testing to ensure seamless performance across modules.
- Maintain detailed documentation for software projects and development processes.
- Collaborate cross-functionally with teams to continuously enhance software products and solutions.
- Coordinate release planning and deployment activities with relevant stakeholders.
- Translate business and user requirements into robust functional and technical specifications.
- Lead or contribute to design validation, debugging, and testing efforts.
- Conduct peer reviews of designs and code to ensure adherence to best practices.
- Manage data and application migration activities where applicable.
- Take on additional responsibilities as required by project demands.
Job Requirements:
- Bachelor’s degree in computer science, Information Technology, or a related field.
- 2 to 5 years of hands-on experience in software development, preferably in enterprise environments.
- Strong proficiency in Java and Object-Oriented Programming principles.
- Experience with Spring, Hibernate, and web frameworks using MVC architecture.
- Familiarity with Spring Boot, RESTful services, and business rules engines like Drools is a plus.
- Working knowledge of front-end technologies such as HTML5.
- Experience with relational databases, especially Postgres, is desirable.
- Demonstrated ability to lead and mentor technical teams.
- Excellent problem-solving, analytical, and debugging skills.
- Strong verbal and written communication skills.
- Self-motivated with a passion for continuous learning and improvement.
- Ability to manage multiplepriorities in a fast-paced environment and meet deadlines.