Job Description:
Title: Senior ETL Software Engineer
Experience:
- Around 3-5+ years of Talend Software experience
- Experience developing ETL and/or ELT for mapping vendor data sets to proprietary data models
- Strong SQL background for ELT workflows.
- Experience with Snowflake.
- Experience with Java (optional, but preferred)
- Experience with Azure Infrastructure like Azure Key Vault, Blob Storage and other Azure Services (optional, but preferred)
- 2 to 5 years of experience in financial services (optional, but preferred)
- Experience with advanced SQL concepts like aggregation, grouping, views, indexing along with query tuning for performance is preferred
- Demonstrated experience with object-oriented programming, compiler or interpreter technologies, operating systems, relational databases (RDBMS), scripting and new/advanced programming languages
- Able to contribute to design specs with some assistance from senior staff
- Able to work on small to medium projects with little to no supervision and on more complex tasks with moderate oversight
- Very good written and verbal communication skills
- Able to work well with peers in a collaborative team environment
- A minimum of 3 years working with an Agile development methodology strongly desired
Responsibilities:
- Work under minimal supervision to analyze, design, develop, test, and debug small to medium software enhancements and solutions within Charles River’s business and technical problem domains
- Collaborate with Business Analysts and Product Managers to turn business requirements of moderate complexity into working and sustainable software
- Participate in the design of product architecture within the team’s scope of responsibility pertaining to new development.
- Develop, test, debug, and implement software programs, applications and projects using Talend Software, Java, SQL or other related software engineering languages
- Provide thoughtful insight and suggestions in code reviews
- Write unit and automation tests to ensure a high-quality product
- Conduct manual tests (if necessary) to ensure a high-quality product
- Contribute to written design and documentation, and participate in customer documentation process
- Actively participate in the agile software development process by adhering to the CRD scrum methodology including attending all daily standups, sprint planning, backlog grooming, and retrospectives
- Participate in cross-team group activities to complete assignments