What are the responsibilities and job description for the Mid-Level Data Engineer position at Experis?
Job Description
**Mid-Level**
Job Summary:
The Software/Data Engineer works in an Agile team in a multi-technology environment and contributes to the development, maintenance, and enhancement of business applications. Under the guidance of a Senior Software Engineer or Manager, collaborates with Business Analysts, key stakeholders, and other IT professionals to define technical specifications (based on business requirements) and system interfaces to develop and present business solutions. Software knowledge base will vary based on the applications being built.
Job Responsibilities
- Undertakes design of software applications or components applying agreed standards, patterns and tools. Assists as part of a team in the design of components of larger software systems. Collaborates in reviews of work with others as appropriate.
- Designs, codes, verifies, tests, documents, amends and refactors moderately complex programs/scripts. Applies agreed standards and tools, to achieve a well-engineered result.
- Applies data analysis, design, modelling, and quality assurance techniques, based upon a detailed understanding of business processes, to establish, modify or maintain data structures and associated components (entity descriptions, relationship descriptions, attribute definitions). Advises database designers and other application development team members on the details of data structures and associated components.
- Defines the software modules needed for an integration build and produces a build definition for each generation of the software. Produces integration test specifications, conducts tests and records and reports on outcomes. Diagnoses faults and records and reports on the results of tests. Produces system integration reports.
- Installs or removes hardware and/or software, using supplied installation instructions and tools including, where appropriate, handover to the client. Conducts tests, corrects malfunctions, and documents results in accordance with agreed procedures.
- Reviews requirements and specifications, and defines test conditions. Designs test cases and test scripts under own direction, mapping back to pre-determined criteria, recording and reporting outcomes. Analyses and reports test activities and results. Identifies and reports issues and risks associated with own work.
- Maintains professional and technical knowledge by attending educational workshops; reviewing professional publications; establishing personal networks; benchmarking state-of-the-art practices; participating in professional societies.
- Identifies and resolves issues with applications.
- Occasionally required to work late evening and weekends as needed.
- Occasional travel as needed
Work Experience
- Experience assembling solutions using custom development, off the shelf systems, and 3rd party integrations
- Experience creating modern web applications and designing Web APIs with REST/JSON
- 3 years coding in multiple programming languages such as Java, Python, C#
- Hands-on experience with modern data tools such as Spark, ADFS, Databricks, Azure Data Factory, Kafka, Redis, Elastic
- Experience with OOP concepts
- 3 years of experience with relational databases and SQL design, development, and tuning - MS SQL Server preferred
- Experience with Dimensional database design and SCD concepts
- Experience with Agile project delivery methods
- DevOps, CI/CD, test automation and cloud deployment
- Experience making rapid prototypes to deliver new innovations to market
- Familiarity with design thinking and customer centric design
- Experience with Microsoft Azure Cloud computing, Serverless tools (Logic Apps and Function Apps), and Azure DevOps is a plus
Education
- Bachelor's degree in Computer Science, Information Systems, other related field or military experience preferred
Must be authorized to work in the U.S., and not require sponsorship now or in the future