Software Build Engineer
Job Description
Since 1851, MassMutual's commitment has always been to help people protect their families, support their communities, and help one another. This is why we want to inspire people to Live Mutual.? We are people helping people.
A career with us means you will work alongside exceptional people and be empowered to reach your professional and personal goals. ?Our employees are the foundation of what makes MassMutual a strong, stable and ethical business. ?We seek and value unique and varied perspectives and experiences because we believe we are stronger when all voices are heard.? We invite you to bring your bright, innovative ideas to MassMutual as we continue to help millions of Americans rely on each other.
Together, we are stronger
What great looks like in this role
Our ideal candidate is someone who enjoys the challenge of designing and improving build systems. You are constantly looking at ways to automate and speed up development processes and you are passionate about software standards. You are also equally comfortable developing complex applications and take pride in producing enterprise software.
You work well in a team, mentoring and leading others as needed, and you love to keep up to date with new technologies.
Objectives of the role
- Design, develop and improve standards around the use of CI/CD, orchestration and scheduling tools
- Define version control best practices and automate enforcement where appropriate?
- Contribute to ongoing improvements to platform monitoring, leveraging logging and monitoring solutions such as Splunk and New Relic.
- Design, develop and deliver scalable, robust and highly re-usable components using technologies such as Python, Java, AWS serverless (Lambda, Glue), Apache Spark, Apache Kafka and REST
- Participate in all aspects of development from design to delivery, acting as both developer and component lead?
- Debug and troubleshoots problems in code and data pipelines
- Trouble shoot problems with serverless infrastructure?
- Evaluate and recommend tools, technologies, processes and reference architectures?
- Identify areas for process improvement, automation and simplification (e.g. use of existing open source technologies)
- Collaborate closely with other developers and provide mentorship as appropriate
- Collaborate with other peer organizations (e.g., Business Analyst, Data Modeler, QA, technical support, etc.) to prevent and resolve technical issues
- Work in Agile development environment, attending daily stand-up meetings and delivering incremental improvements.
Basic Qualifications
- Linux/Bash: Familiar with major Linux distributions and proficient in shell scripting.
- Orchestration: Good knowledge of orchestration and scheduling tools (e.g. Airflow) and how to efficiently manage and version pipelines
- CI/CD: Excellent understanding of continuous integration and deployment tools (e.g. Jenkins), configuration management and version management.
- Build and Packaging: Good understanding of build and packaging tools such as pypi, Maven and Artifactory.
- Infrastructure as code: Accomplished at using technologies such as Terraform to provision self-healing, scalable infrastructure (e.g. EMR, Spark, Kafka)
- Automation: Desire to automate and improve processes
- Software Development: Expertise building complex backend systems using modern technologies
- Git: Expertise with workflow steps, including branching, merging, rebasing, pull requests; working knowledge of reversion and alternative git flows
- Communication: Excellent communication, problem solving, organizational and analytical skills
- Able to work independently and also to provide leadership to small teams of developers
Preferred Qualifications
- CI/CD: 3+ years as build engineer or equivalent?
- Development: 5+ years Python development, 3+ years Java development
- Serverless Technologies: Good working knowledge of serverless technologies such as AWS Lambda and Glue
- Documentation: Proficiency in writing wiki pages for technical documentation including troubleshooting, tutorials, and reference material
- Containerization: Experience building/maintaining containerized applications using Docker/Kubernetes
- Data: 2+ years using sql, big data and or streamlining technologies beneficial (e.g. data warehouse, Apache Spark, Apache Flink, Apache Kakfa)