Job Summary:
We are looking for an enthusiastic and skilled Engineer II - Software Development with expertise in Java Full Stack development to join our innovative engineering team. As a Software Engineer, you will be responsible for developing, maintaining, and enhancing web-based applications and services. You will contribute to both the front-end and back-end development of systems, using your strong technical skills to build high-quality, scalable, and efficient solutions that meet the needs of our clients and business. You will work in a fast-paced, collaborative environment where you will have the opportunity to take ownership of projects and deliver features end-to-end, from design to deployment. The ideal candidate will be comfortable working with modern frameworks, possess a strong understanding of Java technologies, and be passionate about writing clean, efficient, and maintainable code.
Key Responsibilities:
Full-Stack Development: Design, develop, and maintain both front-end and back-end components of web applications using Java, Spring Boot, and modern JavaScript frameworks (such as React, Angular, or Vue.js).
Backend API Development: Create and maintain RESTful APIs and microservices. Design and implement data models and business logic in a manner that supports scalability, reliability, and high performance.
Front-End Development: Build intuitive, responsive, and user-friendly web interfaces using front-end technologies such as React, Angular, or Vue.js. Work closely with UI/UX designers to ensure excellent user experiences.
Database Management: Develop and optimize database queries, manage database schemas, and work with relational (e.g., MySQL, PostgreSQL) and NoSQL (e.g., MongoDB) databases.
Code Quality & Best Practices: Write clean, maintainable, and efficient code with proper documentation. Conduct unit testing, integration testing, and code reviews. Follow software engineering best practices, including version control (using Git), continuous integration, and deployment.
Performance Optimization: Identify bottlenecks and optimize both the front-end and back-end of applications for performance, scalability, and security.
Collaborative Development: Participate in collaborative discussions and contribute to design and architecture decisions. Work in Agile teams, participate in sprint planning, and work closely with other developers, product managers, and stakeholders.
Continuous Improvement: Stay up to date with emerging technologies and industry trends. Contribute ideas for continuous improvement of processes, tools, and best practices.
Troubleshooting & Debugging: Identify issues and bugs and resolve them efficiently. Provide solutions to technical challenges that arise during the development process.
Education:
Bachelor s degree in computer science, Software Engineering, or a related field, or equivalent practical experience.
Skills:
Proficient in HTML, CSS, and JavaScript for front-end development.
Experience with CI/CD tools (e.g., Jenkins, GitLab CI, CircleCI).
Understanding of Agile methodologies (Scrum, Kanban) and experience working in an Agile environment.
Strong understanding of web technologies such as HTTP, WebSockets, and REST APIs.
Familiarity with modern front-end development concepts such as responsive design, single-page applications (SPA), and state management.
Experience with cloud platforms (e.g., AWS, Azure, or Google Cloud Platform) and containerization tools such as Docker is a plus.
Experience:
Minimum 3 years of professional software development experience.
Strong proficiency in Java, Java 8+, and Spring Boot for backend development.
Experience with front-end JavaScript frameworks such as React, Angular, or Vue.js.
Hands-on experience with RESTful APIs, microservices architecture, and API integration.
Proficiency in working with relational databases (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB).
Solid understanding of version control using Git and collaboration tools (GitHub, GitLab, etc.)
Preferred Qualifications:
Frameworks & Tools: Familiarity with Spring Security and implementing authentication/authorization mechanisms. Experience with containerization and orchestration tools (e.g., Docker, Kubernetes). Exposure to front-end build tools like Webpack, Babel, or npm/yarn. Knowledge of DevOps principles, infrastructure as code (e.g., Terraform, CloudFormation).
Testing Frameworks: Experience with unit testing frameworks like JUnit, Mockito, or TestNG. Familiarity with front-end testing frameworks like Jest, Mocha, or Selenium.
Soft Skills: Strong communication and interpersonal skills, with the ability to work effectively in a team. Excellent analytical skills, attention to detail, and a proactive approach to problem-solving. Ability to work in a fast-paced environment, handle multiple tasks simultaneously, and meet deadlines.