BASIC FUNCTIONS: This position performs complex research, design, and software development assignments within a software functional area or product line, and provides direct input to project plans, schedules, and methodology in the development of cross-functional software products. This position performs software design — typically across multiple systems; mentors more-junior members of the team; and talks to users/customers and translates their requests into solutions.
• 5+ years of Software Engineering experience
• BS Engineering/Computer Science or equivalent experience required
• Advanced knowledge of software development methodologies (e.g., Agile, Waterfall).
• Strong proficiency with data manipulation language including optimization techniques.
• Strong understanding of normalized/dimensional data modeling principles.
• Strong knowledge of multiple data storage subsystems.
• Strong research skills.
• Strong knowledge in industry best practices in development.
• Knowledge in using and developing applicable tool sets.
• Ability to interface competently with other technical personnel or team members to finalize requirements.
• Ability to work well with internal and external technology resources.
• Knowledge of test-driven development.
• Ability to write and review portions of detailed specifications for the development of complex system components.
• Ability to complete complex bug fixes.
• Good oral and written communications skills.
- Be able to own specific set or group of datasets, which includes writing and managing code to validate, ingest, and query data coming in from different vendors and sources, both internal and external.
- Interface with other technical personnel or team members to document, interpret, and finalize requirements.
- Produce code that is efficient, repeatable, without defects, and adherent to best practices such as naming conventions, encapsulation, etc.
- Write and review portions of detailed specifications for the development of data components.
- Complete data engineering bug fixes and issues, researching and identifying root causes as appropriate.
- Identify opportunities to apply automation or other tools to improve effectiveness or efficiency.
- Work closely with other development team members to understand product requirements and translate them into data engineering and/or data management designs.
- Innovate process improvements that enable efficient delivery and maintenance.
- Participate in the development processes, coding best practices, and code reviews.
- Utilize various data workflow management and analysis tools.
- Participate in process improvement and compliance to successfully and consistently deliver high quality services on time, and to specification, resulting in flexibility to react quickly to changes in priorities or circumstances to meet business needs.
- Work closely with other engineering team members to understand data and translate requirements.
- Operate in various development environments (Agile, Waterfall, etc.) while collaborating with key stakeholders.
- Participate in project reviews.