Software Engineer
Role details
Job location
Tech stack
Job description
We are looking for a motivated Java Developer to join our engineering team. In this role, you will be responsible for developing, testing, and maintaining Java-based applications while working under the guidance of senior developers. This is an excellent opportunity for an entry-level professional to sharpen their backend skills and grow within a collaborative, agile environment.
Your primary focus will be to write clean, efficient code and participate in the full software development life cycle (SDLC). You will assist in troubleshooting issues, conducting unit tests, and integrating front-end elements with server-side logic. We value curiosity, a strong foundation in Object-Oriented Programming (OOP), and a passion for building scalable software solutions.
Core Responsibilities:
- Design and implement Java applications using best practices and coding standards.
- Write well-designed, testable, and efficient code.
- Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review.
- Collaborate with the team to define, design, and ship new features.
- Perform debugging and fix software defects identified during testing.
- Contribute to technical documentation for software functionality.
Requirements
- Solid understanding of Java (specifically Core Java features like Collections, Generics, and Multi-threading).
- Knowledge of Object-Oriented Programming (OOP) concepts and design patterns.
- Experience with relational databases (MySQL, PostgreSQL) and writing basic SQL queries.
- Familiarity with Java frameworks such as Spring or Hibernate is a plus.
- Basic understanding of web technologies like HTML, CSS, and JavaScript.
- Experience with version control tools, preferably Git.
Professional Skills:
- Strong analytical and problem-solving abilities.
- Ability to work effectively in a team-oriented environment.
- Eagerness to learn new technologies and adapt to changing project requirements.
- Good communication skills for explaining technical concepts to teammates., * Bachelor's degree in Computer Science, Information Technology, or a related field (or equivalent practical experience).
- 0-2 years of experience in software development (internships and academic projects count).
"The ideal candidate doesn't need to know everything on day one, but they must possess the 'logic-first' mindset required to break down complex problems into manageable Java components."