We are seeking a highly experienced and motivated Senior Software Engineer to join our team. The successful candidate will lead the design, development, and implementation of software applications using the Java programming language and related technologies. The Senior Software Engineer will collaborate with cross-functional teams, including product management, UX designers, and other developers, to ensure software applications meet business requirements and technical feasibility.
- Lead the design, development, and implementation of software applications using the Java programming language and related technologies.
- Collaborate with cross-functional teams to ensure software applications meet business requirements and technical feasibility.
- Mentor and coach other developers on software design principles, best practices, and the Java programming language.
- Participate in all phases of the software development lifecycle, including requirements gathering, design, development, testing, deployment, and maintenance.
- Write clean, efficient, and maintainable code using industry-standard coding practices.
- Troubleshoot and debug software issues to ensure applications are functioning correctly.
- Ensure applications are optimized for performance, including reducing load times and minimizing resource consumption.
- Stay up-to-date with the latest Java technologies, techniques, and tools to ensure software applications are modern, scalable, and maintainable.
- Create and maintain technical documentation to ensure knowledge transfer and consistency across projects.
- Collaborate with other developers on code reviews, testing, and contributing to the overall software development process to improve software quality.
- Contribute to the development and maintenance of software development best practices, including coding standards, testing methodologies, and software architecture.
Job Qualifications and Skill Sets:
- BE/B.Tech/MCA or equivalent degree with good academic records
- 6-8 years of relevant experience, including at least 2-3 years of experience working with modern architectural constructs like Microservices and Rest APIs
- Advanced knowledge of Java and all its products, from frameworks to libraries
- Knowledge and Experience with technology stacks like Spring, Spring boot, Java/J2EE, Database – MySQL/Postgres or any RDBMS, Apache Kafka, Elastic Search, NodeJS
- Exposure to integration with third-party applications, including wallets and payment gateways, etc, will be an advantage
- Analysis of all possible integrations and selection of the most optimal ones
- Exposure to testing at different levels, including Unit Testing frameworks, Performance testing, etc;
- Proficient in repository management tools like GitHub/Azure DevOps/etc. ;
- Experience with Agile Scrum/Kanban methodology
- Experience working with JIRA/Redmine or any other project management tool is an advantage
- Experience in cloud computing platforms like AZURE/GCP/AWS is a plus