Technical Lead (Streaming Delivery Team)
* all languages are compulsory
Reporting to: Head of Data Integration Platforms
Department name: Data Integration & Corporate Enterprise Tools
Location: Bucharest, Ro / Cluj, Ro
Who We Are – MassMutual
For nearly 170 years, MassMutual has put our customers at the heart of what we do by providing holistic financial solutions, guidance, and education on their terms. Our long-term strategy helps ensure that our policyowners and their loved ones can rely on us to be there when they need us most.
Positioning MassMutual for its next 20 million customers and remaining innovative in a digital-first world led to the creation of MassMutual Romania in 2020. With offices in Bucharest and Cluj, MassMutual Romania was established to build an in-house team with expertise in application development and support, quality assurance and data science.
MassMutual Romania – in partnership with MassMutual in the United States – will help shape a culture of innovation and work together to create the digital products and technology solutions that help people secure their future and protect the ones they love.
Do you want to be part of a team that encourages your growth, supports your ambitions and makes it a priority for you to reach your goals? Is helping people part of who you are? At MassMutual, we help millions of people find financial freedom, offer financial protection and plan for the future. We do this by building trust with our customers by being knowledgeable problem solvers and prioritize their needs above all else. We Live Mutual.
If this sounds like a fit, we’re looking to hire a Technical Lead to join our Data Engineering team.
The Technical Lead will work from our Bucharest / Cluj office while collaborating with the Global MassMutual teams and provide support in the cloud operations area. The person who will join this role will report to a local manager based in Bucharest.
MassMutual’s Customer Experience organization is looking for a highly motivated Technical Lead to join a growing team. In this role, you will help implement enhancements to the company's digital and data infrastructure, supporting internal customer's operational needs.
This is a role for a senior engineer (developer) that brings experience in standard event driven backend architecture. The lead will be accountable for technical delivery, engineering excellence and quality design for a sub-team within Streaming Delivery Organization. Our initial role and responsibility will be to work with Architecture, BA’s and other Technical teams to build out an “assessment” and high-level requirements and design for Event Driven messages and schema design.
Execution and Delivery:
- Delivery is a critical success factor for this role. You will need to lead multiple (one or two) scrum teams, multiple developers in the United States and potentially others in remote offshore locations. The role ensures timely completion of assigned work and helping the team to be successful.
- Lead the team through technical roadblocks, contributing technical development and design skills to the team.
- Partner with Project Managers / Scrum Leads and Delivery Lead in understanding the level of agility and adoption of delivery methodology; coaching other team members in doing so
- Working within project planning constraints, communicating any identified project risks and issues to the project manager accordingly
- Effectively lead the team to translate and breakdown business and design requirements into engineering tasks, partnering closely with the PO.
- Lead the team to build efficiencies in “developer on call” process to support maintenance and issue remediation of the APIs: Debugging existing software and correcting defects
- Guarantees the delivery. Overcomes obstacles. - Raise any risks identified/impediments/roadblocks and work through the mitigation/resolution in consultation/assistance/direction with/from leadership.
- Leads by example. Assists the teams he/she works with to make sure all individuals working on a build understand the goal, design and deliverables. Willing to be challenged and work through those differences.
- Ask critical questions of the team to ensure some research has been done.
- Event driven architecture
Technical design & Development:
- Provide technical expertise and leadership to design, development, implementation, testing, documentation, and operation of systems and/or applications that support Mass mutual applications/platforms & integrations.
- Build complex system components integrating appropriate technologies as needed (. creation, processing and consumption of events (Kafka preferred)
- Lead the design of event schema, topic design and production and consumption patterns
- Expertise in understanding of algorithms and data structures (core SE concepts such as sorting, inserting sort, merge sort etc.)
- Provide ongoing product support and maintenance to systems, with proven ability to think critically and componentize issues. Support other team members when they are stuck in debugging.
- Help others problem solve in team to resolve complex issues
- Analyze performance requirements & performance of current streaming producers and consumers and actively remediate tech debt with those.
- Assist in production setup, monitoring and roll out to partners
- Keep current with technology by spending at least 20% of time programming.
Software Engineering Excellence:
- Accountable for enforcing use of SE Excellence principles in the two scrum teams being managed.
- Writing or reviewing software system documentation and ability to share knowledge is a must
- Produce high quality work, that can be used to guide the work of other engineers, in order to lead by example.
- Guide the enhancements of our code libraries through code reviews that conveys a strategic vision.
- Focused on quality of the code and guide the team to use those principles- leveraging unit testing frameworks, reusable code design, clear documentation, pair programming, code reviews.
- Shift Left mentality - work side by side with Software Testers to ensure speed of delivery & quality of the final product
- Leverage unit testing frameworks, reusable code design, clear documentation, and code reviews.
- Build mindset of building excellence - avoid developing one person silos on the code (share knowledge)
- Contribute to the creation of content used to train other engineers on the use and organization of our libraries and frameworks in order to encourage reuse and consistency.
- Lead appropriate documentation, following SE principles to ensure knowledge is transitioned. If you are building a component or adding on to a component the readme for the project should be updated so that any other developer could pull down the code and leverage it.
- Mentor and guide the development efforts of other team members (around 7 developers including the team in Romania)
- Develop collaborative partnerships with internal partners
- Presenting to leadership and stakeholders and supporting coordination of technical decisions.
- Onboarding new team members to ensure they can get up to speed.
- Mentoring junior developers:
- Performing Code reviews (prior to QA)
- Conducting Training session
- Documentation of standards / best practices
- Providing Fabric On call training.
- 8 or more years of experience with designing and implementing complex solutions
- Bachelor’s Degree in engineering field
- Leadership - We need a leader with team spirit and someone who can coach others to be better.
- Quality Mindset – shift left mentality. A leader who has experience partnering with SDETs and automation of testing, believing in the fact that quality is accountability of the team and not just QA.
- Critical Thinking - Open to support current APIs & guide teams if needed when they are on call
- Agile Delivery - Comfortable with agile delivery/methodology (grooming, story pointing, acceptance criteria, definition of done).
- Experience in developing producers and consumers to queue based technologies
- Experience with Java web applications
- Experience in REST services using Java, , Python or Go
- Kafka knowledge and experience
- Spring Framework knowledge and experience
- Able to implement processes and troubleshoot to continue to improve operational stability
- DevOps experience a plus
- Experience and understanding of Kubernetes (preferred)
- Experience with generating technical documentation.