Job Description: As an Experienced Software Engineer, you will play a vital role as part of a product engineering team to deliver high-quality software solutions and will be responsible of designing, implementing, and maintaining our digital products considering the best practices in software and quality engineering. Your technical expertise and product understanding will be crucial in ensuring the successful delivery of technical solutions to our customers, meeting deadlines, and fostering a collaborative and inclusive work environment.
Roles & Responsibilities
Design and build solutions across several new and existing software domains following best practices like SOLID principles, Clean Code, DDD, BDD, etc. Keep the code and delivered solutions in good health. Contribute and follow our code review process to promote collaboration, knowledge sharing and bug reduction. Debug and resolve software defects and issues in a timely manner. Integrate our applications with external systems and third-party libraries. Perform unit testing and support automation, integration and system testing effort to ensure the quality and performance of our deliveries. Collaborate with the team to identify and implement software improvements and optimizations. Understands the customer and product needs to bring the best solutions considering necessary trade-offs and its corresponding technical debt. Stay up to date with emerging technologies and industry trends and apply them to current projects. Collaborate with the team to identify bugs, implement software improvements and optimizations. Document development phases and ensure all JIRA ticket and collaboration materials are up to date.
Skills Solid understanding of software development lifecycle, best practices, and Agile methodologies. 4+ years of relevant professional experience in software development, with a demonstrated progression of responsibilities and accomplishments. Familiarity with version control systems (e.g., Git) and build tools (e.g., Maven, Gradle). Proven experience in developing Java applications using frameworks such as Spring, Spring boot. Strong knowledge of Java and Kotlin programming language and object-oriented design principles. Strong knowledge of React programming language and front-end design principles. Experience with cloud platforms such as AWS, Azure, or Google Cloud Platform. Knowledge of microservices architecture. Familiarity with DevOps practices and tools for continuous integration and deployment. Experience with containerization technologies like Docker and orchestration frameworks like Kubernetes. Proficient in database technologies like MongoDB and MySQL Excellent problem-solving and analytical skills. Strong communication and collaboration abilities. Ability to work both independently and as part of a distributed team.