What you'll do As a Lead, Software Engineering, you will leverage your experience to implement and refine technical solutions for a wide range of industries. Working with a diverse team, you will engage in the entire engineering life cycle, focusing on designing, developing, optimizing, and deploying sophisticated software engineering solutions and infrastructure at a production scale suitable for the world’s largest companies. This is an individual contributor role, with some responsibility for mentoring junior team members.
Key Responsibilities - Collaborate closely with and influence general consulting teams to identify software solutions to client business problems, to prioritize and execute those solutions.
- Serve as a technical lead in delivering end-to-end solutions for client cases (from solution architecture to hands‑on development work).
- Participate in the software development life cycle including designing distributed systems, reviewing documentation, and conducting code reviews.
- Participate in expert client advisory services that require expertise in software engineering with distributed systems, AI and application architecture.
- Collaborate on the development of reusable common frameworks, models, and components to efficiently address common software engineering challenges across various industries and business functions.
- Champion best‑demonstrated practices in software engineering, and share learnings with team members in AIS about theoretical and technical developments in software engineering.
- Lead industry‑leading innovations that translate into great impact for our clients in case work.
- Influence, educate and directly support the software engineering capabilities of our clients.
- Stay current with emerging trends and technologies in cloud computing, data analysis, and software engineering, and proactively identify opportunities to enhance the capabilities of the software platform.
- This role requires a minimum of three days per week working together in person, either at a client location or at your Bain home office.
- Travel is required. This position requires regional travel away from your home office/primary working location. Travel frequency and destinations will vary based on project needs.
About you Education & Experience - Master's degree in Computer Science, Engineering, or a related technical field.
- 5 years minimum experience.
- 3+ years at Senior or Staff level, or equivalent.
- Professional fluency in English and Italian.
Technical Skills and Knowledge - Working knowledge (4+ years) of Python .
- Experience with server‑side frameworks and technologies such as FastAPI, Node.js, Flask.
- Experience with Cloud platforms and services (AWS, Azure, GCP, etc.).
- Experience with data architecture, database schema design, database scalability and SQL .
- Experience with implementation of large‑scale structured or unstructured databases, orchestration and container technologies such as Docker, Kubernetes, Jenkins or Terraform.
- Strong computer science fundamentals in data structures, algorithms, automated testing, object‑oriented programming, performance complexity, and implications of computer architecture on software performance.
- Ideally, experience with client‑side technologies such as React, Angular, Vue.js, HTML and CSS.
- Knowledge of agile development methodologies and principles.
Interpersonal Skills - Strong interpersonal and communication skills, including the ability to explain and discuss technicalities of solutions, algorithms and techniques with colleagues and clients from other disciplines.
- Curiosity, proactivity and critical thinking.
- Ability to collaborate with people at all levels and with multi‑office/region teams.
Other Experience - Relevant professional hands‑on experience in web development, programming languages, version control, software design pattern, infrastructure and deployment, integration and unit testing implementation.
#J-18808-Ljbffr