Job Title
Software Data Engineer - Java
Location
Boston, MA
Salary
$90,000 - $140,000 + benefits
The Company
A financial services and insurance company providing a range of financial products and services, including life insurance, retirement planning, investment management, and other financial solutions. Their primary focus is on life insurance and related financial products, helping individuals and families with protection and planning for their financial futures.
Job Details
Our ideal candidate is someone who enjoys designing, building and delivering complex systems. You love coding and revel in finding elegant solutions to difficult problems. You understand the challenges of handling data at scale and are always looking for opportunities to leverage open-source tools to accelerate development. You are passionate about learning new technologies, are team oriented and a strong communicator.
Objectives of the role
- 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.
- Interact closely with data users, including data engineers and data scientists to understand & refine requirements.
- Develop code, unit tests and conduct code reviews.
- Debug and troubleshoot problems in code and data pipelines.
- 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
- Java: 4+ years development.
- Strong foundation in algorithms, design patterns and how to write performant code.
- Data: Good understanding of data & data processing tools (e.g. Spark, Kafka, SQL), of relational database technologies and of analytics databases (e.g. Redshift, Vertica, Snowflake).
- CI/CD: Experienced with source control and with using CI/CD tools.
- Testing: Proficient in writing unit, integration and load tests.
- Communication: Excellent communication, problem solving, organizational and analytical skills.
- Able to work independently and also to provide leadership to small teams of developers.
- Bachelor's degree or equivalent work experience.
Preferred Qualifications
- Cloud: Experience building with and deploying to cloud platforms such as AWS and leveraging serverless architectures (e.g. Lambda, Glue).
- Big Data & Streaming: 2+ years using big data and/or streaming technologies (e.g. Apache Spark, Apache Kafka, Apache Flink).