Job Description
We are actively seeking a proactive and results-driven Software Engineer to join our esteemed product development team. In this role, you will play a pivotal part in crafting high-quality software that enhances the daily experiences of millions of users across the globe. Our software ecosystem is vast, providing you with the opportunity to contribute to a complex suite of products serving over 350 companies in 32 countries.
Our software is designed to handle substantial data volumes and robust server loads, encompassing a cluster-safe persistence layer, an inter-application messaging architecture, an MVC Web layer, and more. As a member of our team, you will collaborate closely with exceptionally talented colleagues who prioritize teamwork and collective success over individual accolades. We value engineers who are not only eager to share their expertise but also attentive to details and dedicated to maintaining high-quality standards. Together, we tackle intricate challenges and find innovative solutions.
Your journey with us will begin with comprehensive training from day one. This includes gaining insights into our solutions and delving into the business aspects of our work. Each day promises a unique set of tasks, ranging from development to deployment, quarterly planning sessions, and daily standup meetings. You will have the opportunity to work with a very diverse team, not only from various parts of India but also from different continents, providing a rich experience of multiple cultures, food, travel, and fun.
If you're eager to make an impact, thrive in a collaborative environment, and relish the opportunity to work on complex problems, we encourage you to explore this exciting role further. Join us in delivering top-notch software solutions that shape the experiences of users worldwide
Key Responsibilities:
- Lead design and architecture discussions for complex software systems, making informed decisions that align with the company’s technical vision.
- Collaborate with product managers, UX/UI designers, and other engineers to translate business requirements into technical specifications and actionable tasks.
- Write efficient, maintainable, and robust code using Java and related technologies.
- Conduct code reviews, provide constructive feedback, and ensure adherence to coding standards and best practices.
- Mentor and guide junior engineers by sharing your deep understanding of Java, software design principles, and industry best practices.
- Identify and address performance bottlenecks, security vulnerabilities, and other technical challenges within the software applications.
- Stay up-to-date with the latest advancements in Java technologies and industry trends to ensure our products remain competitive and innovative.
- Participate in agile development processes, including sprint planning, daily stand-ups, and retrospectives
Qualifications and Skills:
- Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field.
- 6+ years of professional experience in software development using Java/J2EE
- Proven track record in designing and implementing complex, scalable software systems.
- Solid understanding of software architecture patterns, object-oriented design, and design patterns.
- Proficiency in working with frameworks such as Spring, Hibernate, or similar technologies.
- Experience in Front end Stacks like Javascript, Angular/React or any UI Framework.
- Experience with web services, RESTful APIs, and microservices architecture.
- Knowledge of Cloud Services (e.g., AWS/GCP/Azure).
- Familiarity with CI/CD concepts and tools like TeamCity, Jenkins, etc.
- Strong problem-solving skills and the ability to troubleshoot complex technical issues.
- Excellent collaboration and communication skills, both written and verbal.
- Previous experience mentoring junior engineers and leading technical discussions.
- Familiarity with Agile/Scrum methodologies and tools (e.g., Jira, Confluence).