Role Summary
Software Engineers are responsible for the design, development, maintenance, testing and evaluation of a new or modified software product. They are responsible for the entire application lifecycle from research and design to implementation, training and support. Senior Software Engineers are often given more complex tasks and aid with research and design on difficult or time sensitive projects or issues. They are also tasked with mentoring new Software Development Engineers. Hands on experience working with data platform at enterprise level is desired and eager to learn new technologies as per the need.
A Senior Software Engineer will work tightly with their leadership in understanding requirement and project timelines. Working with Software Engineers to ensure best practices, adherence to software standards and sound technical decisions are made and implemented while ensuring that software designs adhere to the architecture design and department standards.
Duties & Responsibilities
- Design, develop, and maintain high-performance, scalable, and secure Java applications.
- Collaborate with cross-functional teams to define, design, and ship new features.
- Mentor junior developers, fostering a collaborative and knowledge-sharing culture.
- Work with scrum team, product management, Architects, program managers, QA and others to develop enterprise-level software products adhering to best practices and established standards and practices.
- Analyze and troubleshoot complex system issues in a timely manner.
- Design and develop efficient, reusable, and reliable code.
- Stay abreast of industry trends and best practices to continually enhance our development processes.
Skills Required
- 6 to 9 years experience with software development post BE/B.Tech, ME/M.Tech or MCA
- Excellent time management, resource organization and priority establishment skills, and ability to multi-task in a fast-paced environment
- Ability to work independently and as part of a team
- Can work quickly and efficiently with moderate supervision
- Demonstrated skills and abilities needed to coordinate, facilitate, and participate in a collaborative approach to the completion of tasks or assignments
- Robust understanding of SOLID design principles Strong Object-Oriented design and implementation skills
- Strong expertise in Java development, including proficiency in core Java concepts and design patterns.
- Experienced in web technologies like HTML, CSS, JavaScript and Angular
- Solid understanding of microservices architecture, RESTful APIs.
- Strong understanding of relational database design concepts
- Proficiency in database design and management, specifically SQL.
- Excellent problem-solving and debugging skills.
- Strong communication skills and the ability to collaborate effectively with cross-functional teams.
Nice To Have
Experience with cloud platforms such as AWS, Azure, or Google Cloud and IaC technologies.
Familiarity with CI/CD pipelines and automated testing.
Familiarity with containerization technologies such as Docker and orchestration tools like Kubernetes.
Knowledge of security best practices in software development.
Experience with frontend technologies, ideally Angular, for full-stack development.