Description

Job Summary:

The Staff Software Developer position offers an opportunity to thrive in a dynamic, Agile (Scrum) development environment. With a focus on Java and Python development, the role entails translating business requirements into robust software solutions. Key responsibilities include collaborating with Architects to design technical solutions, independently implementing solutions or leading team efforts, ensuring code quality and performance, and mentoring junior engineers. Additionally, the role involves contributing to production support activities, integrating products seamlessly, and staying updated on emerging technologies like AI/ML. Candidates should possess strong problem-solving skills, expertise in RESTful APIs, object-oriented development, and familiarity with cloud-based architectures like AWS/Azure. Effective communication, proactive approach, and ability to work autonomously are essential for success in this role.
Job Responsibilities
Work in a fast-paced environment as a Staff Software Developer in an Agile (Scrum) development team.
Take complete ownership of work items and deliverables and translate business requirements into intuitive software solutions.
Work closely with the Architects during all technical design discussions and finalize the solution approach while keeping quality, performance, and design best practices in mind.
Be able to implement the hands-on solution independently or as a part of team and drive them to closure.
Keep a critical eye on solutions being implemented and identify quality, performance, or architectural concerns.
Document technical issues and resolutions identified during implementation of user story(s), configuration changes and deployment issues and share them with the team.
Resolve technical issues for the team and coach junior engineers to scale-up on technology, design, and implementation approaches.
Contribute to Production Support activities as required by the project.
Collaborate with fellow software developers across geographic locations.
Mentor other developers with a constructive, results oriented technical approach.
Solve complex yet interesting software problems involving distributed systems and extremely large volumes of unstructured data.
Interact with cross-product teams, implement solutions to integrate various products to operate seamlessly and at scale.
Build knowledge and understanding of at least two or more products in the Epiq’s portfolio.


Required Skills

B. Tech or B.E degree in Computer Science or related engineering streams/ M.S. in Computer Science
8 - 10 years of Software development experience
Proficient with front end skills- React JS
Should be well-versed with RESTful APIs. Experience with Django is a plus.
Should have a thorough understanding of object-oriented development.
Should be well versed with S.O.L.I.D principles and design patterns.
Should be well versed with RDBMS, such as MySQL, Oracle, or SQL Server.
Working knowledge on Cloud based architecture with AWS/Azure and related services is a must.
Experience on Elasticsearch/OpenSearch (or similar technologies) is a Plus
Experience working with source control management software such as Git and TFS
Experience working with ALM tools such as Azure DevOps (formerly VSTS) or Jira
Experience on Enterprise-grade SaaS product delivery and knowledge on related Architectural, Security best practices would be a good to have.
Experience on AI/ML is a big plus.
High energy, proactive and approachable personality who enjoys solving diverse problems.
Proven problem-solving abilities and creative thinking.
Ability to positively interact with all members of development team, cross-functional teams, and product teams.
Self-starter capable of delivering tasks with close to zero supervision.
Knowledge of concurrent programming challenges: multi-threading, race conditions, deadlocks etc.
Should have a good understanding of multithreading and asynchronous methods of code execution

Education

Any Graduate