Bain & Company is the management consulting firm that the world’s business leaders come to when they want results. Bain advises clients on strategy, operations, information technology, organization, private equity, digital transformation and strategy, and mergers and acquisition, developing practical insights that clients act on and transferring skills that make change stick. The firm aligns its incentives with clients by linking its fees to their results. Bain clients have outperformed the stock market 4 to 1. Founded in 1973, Bain has 58 offices in 37 countries, and its deep expertise and client roster cross every industry and economic sector.
This position works as part of Application Development teams to design, build, deploy and support internal applications. The primary responsibilities include developing and unit testing components of software applications based on specifications from the project team and using the architecture defined by the Development Manager/Lead. The primary technologies used are Microsoft SQL Server, C#.Net and ASP.Net. This position is located in Gurgaon.
Good understanding of Object Oriented Design principles, MVC architecture, web-services, RESTFul APIs and design patterns.
Strong knowledge of T-SQL. Experience in writing complex stored procedures, functions and views.
Experience with unit testing frameworks like xUnit, NUnit, MSTest, etc.
Work as a member of an agile software development team with full participation in all Agile team events and activities.
Demonstrate ability to identify all technical steps required to complete a story. Work with the senior team members to evaluate product backlog items and functional specifications and determine the appropriate approach to developing the required functionality in the software application.
Demonstrate high-level business and domain knowledge and ability to understand and achieve business outcomes.
Work in collaboration with other team members on an agile team to analyze user stories and perform task breakdown and complete committed tasks as per sprint schedule.
Demonstrate good understanding of using the underlying infrastructure to develop his/her features.
Follow the standard application design and architecture to develop his/her features and work with senior team members to ensure non-functional metrics (e.g. scalability, performance) are met.
Prepare work estimates for committed tasks and components with support from senior team members.
Contribute to evaluating and employing new and/or supplemental technologies necessary to deliver functionality for a given software application.
Contribute to the research and evaluation of new tools and technologies beyond current product requirements that are likely to be used in future initiatives. Help in the presentation of findings and recommendations to the full Software Development team.
Write unit test plans for committed components. Execute and confirm successful completion of unit tests as part of the criteria for completion.
Participate in the testing and implementation of applications releases.
Clearly communicates impediments to completing a story and ensures clear understanding of definition of ‘done’.
Provide ongoing support for applications already in use. This includes problem diagnosis and resolution, ad hoc reporting support and database administration.
Demonstrate ability to acquire new skills e.g. creating automation tests using selenium, creating UX designs, DevOps, performing functional/ load testing etc. through internal/ external trainings to be a T-Shaped team member helping the team in achieving sprint goals.
Participate in internal skill development by sharing concepts and technologies with the full Software Development team.
Provide input during sprint retrospective to improve team experience.
Follow Bain development project process and standards in completing committed tasks and modules and contribute to the continual evolution of processes and standards.
With guidance, write technical documentation as required.
Bachelor's degree in Computer Science, IT, MIS or a related field
Demonstrated knowledge of agile software development methodologies and processes
Demonstrated record of strong performance in prior software development positions
Strong communication and customer service skills
Strong analytic and problem solving skills
High performance and standards as demonstrated by academic or previous job experience