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