Staff Engineer I, Software Engineering
Description & Requirements
WHAT MAKES US A GREAT PLACE TO WORK
We are proud to be consistently recognized as one of the world’s best places to work. We are currently the #1 ranked consulting firm on Glassdoor’s Best Places to Work list and have maintained a spot in the top four on Glassdoor’s list since its founding in 2009. Extraordinary teams are at the heart of our business strategy, but these don’t happen by chance. They require intentional focus on bringing together a broad set of backgrounds, cultures, experiences, perspectives, and skills in a supportive and inclusive work environment. We hire people with exceptional talent and create an environment in which every individual can thrive professionally and personally.
WHO YOU'LL WORK WITH
This team considers the full spectrum of people, tech, and process to help others at Bain achieve their goals. We aim to understand our partners in the business so well that our proposed architectures, apps, and automations really do improve their work lives. If you’re the sort of person who embraces change, who has an entrepreneurial spirit, and who friends and family still call for tech advice, this might be a great team for you.
WHERE YOU'LL FIT WITHIN THE TEAM
The Staff Engineer I is a senior role who can independently handle a software module/ function which includes technical delivery, stakeholder management and communication. The role is also responsible for aligning the technical delivery goals with product vision. The individual is also responsible for coaching and mentoring of the team from technical delivery standpoint. This position works as a member of an Agile/scrum software development team focused exclusively on building and supporting Bain’s most strategic internal software systems.
Team members work collaboratively to design, build and implement new features and functionality in their systems aimed at delivering the most value to Bain’s global users and supporting key business initiatives. Systems developed are primarily enterprise-scale browser based or mobile applications developed with current Microsoft development languages and technologies, with a global user base and integration points with one or more other internal Bain systems.
WHAT YOU'LL DO
Technical Delivery
- Provide module-level technical leadership on teams developing and updating enterprise scale applications at Bain.
- Work as a member of an agile software development team with full participation in all Agile team events and activities.
- Take lead for the development of more complex components or functions with special requirements within a sprint. Understand the links between stories and desired outcomes and support the Engineering Manager and Product Owner with product strategy.
- Demonstrate strong knowledge of business and domain. Support Product Owner and Engineering Manager in defining product roadmap and backlog by providing technical input.
- Work in collaboration with other team members on an agile team to analyze user stories, perform task breakdown and define technical approach and complete committed tasks as per sprint schedule. Support junior team members in analyzing requirements and completion of technical tasks.
- Demonstrate strong understanding of using the underlying application development infrastructure.
- Help improve the infrastructure to optimize the application development
- Contribute in the design, architecting and prototyping of applications and significant application upgrades primarily working with Engineering Managers Architects and Project/Product Managers.
- Prepare work estimates for committed components and support/review other team members’ estimates. Actively make recommendations to the other team members for their task allocations to promote skill diversity and growth.
- Write unit test plans for committed components. Execute and confirm successful completion of unit tests as part of the criteria for completion. In addition, review and support unit testing completed by other team members.
- Contribute to planning and participate in the testing and release of application releases.
- 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.
- Help ensure adherence to Bain development project process and standards within the agile team as well as actively participating in the continual evolution of processes and standards.
- Write and review technical documentation prepared by the team.
Research
- Contribute to evaluating and employing new and/or supplemental technologies necessary to deliver functionality for a given software application.
- Actively promote the research and evaluation of new tools and technologies beyond current product requirements that are likely to be used in future initiatives. Lead the presentation of findings and recommendations to the full Software Development team.
Communication
- Clearly communicate and exchange ideas across multiple fronts e.g., design, technical solutions.
- Demonstrate assertion in communication while working with team and stakeholders during crucial conversations.
- Has strong listening skills to recognize needs of a team-member, and acts to deliver a great team experience.
- Participate in internal skill development by sharing concepts and technologies with the full Software Development team.
- Provide feedback to Scrum Master, Engineering Manager and Product Owner to improve team performance. Shares best practices across software group.
Mentoring
- Provide day to day technical guidance and mentoring to 1-3 less experienced engineers on the agile team.
ABOUT YOU
- Bachelor's or equivalent degree
- Experience developing enterprise scale applications
- 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
- Demonstrated record of T shape behavior to expedite delivery by managing conflicts/ contingencies
- Experience in managing a group of developers from technical leadership standpoint.
- Demonstrated knowledge of agile software development methodologies and processes
- Understanding of core architecture of the product and ability to suggest new technologies and approaches as per the product vision.
- Ability to deliver the assigned work independently with Zero D.
- Demonstrated record of strong performance in prior software development positions,
- Strong communication and customer service skills
- Strong analytic and problem-solving skills
Software Engineering - technical skills:
- Frameworks: .NET & .NET Core
- Languages: C#, T-SQL
- Web frameworks/ Lib: Angular, JavaScript, HTML, CSS, Bootstrap, etc.
- RDBMS: Microsoft SQL Server
- Cloud: Microsoft Azure Services
- Unit testing: XUnit, Jasmine, etc.
- DevOps: GitActions
- Web frameworks/ Lib: React
- Search engine: Elasticsearch, Coveo, etc.
- NoSQL databases: MongoDB, Cosmos, etc.
- Caching: Redis, MemCache
Data Engineering - key technical skills:
- Languages: T-SQL
- Data Storage & Analytics: Microsoft SQL Server, Azure SQL, Azure Data Lake, Blob Storage, Azure Synapse, Analysis Services, etc.
- ETL Tools: Talend, Azure Data Factory
- NoSQL databases: MongoDB, Cosmos, etc.
- Data warehouse using Azure
- Cloud: Microsoft Azure Services
- DevOps: GitActions
- NoSQL databases: MongoDB, Cosmos, etc.
- Visualization Tools: Tableau, Power BI, etc.
Automation/Low Code - technical skills:
- Experience in software development using one or more languages (C#, Java, Python, JavaScript etc.)
- Solid understanding of relational databases and experience working with at least one RDMS (SQL Server, Oracle Database, MySQL, PostgreSQL, MS Dataverse) and/or Web Services/APIs (such as REST or SOAP)
- Knowledge and exposure to IT Infrastructure, Network technologies (TCP/IP etc.) and access management within enterprises
- Experience in one or more of the below areas:
- Leading RPA platforms (e.g. Automation Anywhere, BluePrism, MS Power Automate, UiPath
- Leading Low-Code platforms (e.g. MS Power Apps, Appian, OutSystem)
- Leading Workflow automation tools (e.g. MS Power Automate, Nintex)
- PowerApps/Power Automate/Automation Anywhere 360 experience/certifications
- Front-end frameworks: HTML, CSS, React, Bootstrap, Angular
- Agile Ceremonies and Artifacts experience/certification is a distinct advantage
- .NET Framework experience is an advantage
- Visualization Tools: Tableau, Power BI, etc.
- DevOps: GitActions
- Experience coding securely, including storing and retrieving secrets from key vaults (Hashicorp Vault, Azure Key Vault, etc.)
- Familiarity with various authentication mechanisms such as OAUTH2, JWT, Azure Managed Identities, etc.
U.S. COMPENSATION INFORMATION
Compensation for this role includes base salary, annual discretionary performance bonus, 401(k) plan with an annual employer contribution based on years of service and Bain’s best in class benefits package (details listed below).
Some local governments in the United States require a good-faith, reasonable salary range be included in job postings for open roles. For all other locations, the good-faith, reasonable annualized full-time salary range for this role is commensurate with competitive geographic market rates for this role and will vary based on several factors including, but not limited to experience, education, licensure/certifications, training and skill level
In Illinois, the good-faith, reasonable annualized full-time salary range for this role is between $138,500 - $165,500 placement within this range will vary based on several factors including, but not limited to experience, education, licensure/certifications, training and skill level
In Massachusetts, the good-faith, reasonable annualized full-time salary range for this role is between $145,000 - $173,000 placement within this range will vary based on several factors including, but not limited to experience, education, licensure/certifications, training and skill level
Annual discretionary performance bonus
- This role may also be eligible for other elements of discretionary compensation
- 4.5% 401(k) company contribution, which increases after 3 years of service and is 100% vested upon start date
Bain & Company's comprehensive benefits and wellness program is designed to help employees achieve personal independence, protection and stability in the areas most important to you and your family.
Bain pays 100% individual employee premiums for medical, dental and vision programs, offering one of the most comprehensive medical plans for employees without impacting your paycheck
- Generous paid time off, including parental leave, sick leave and paid holidays
- Fully vested 401(k) company contribution
- Paid Life and Long-Term Disability insurance
- Annual fitness reimbursements