Software Engineer, Data Job Description Template
Our company is looking for a Software Engineer, Data to join our team.
Responsibilities:
- Provide production and operational support, as needed, to ensure deployed software meets functional and non-functional requirements;
- Collaborate with a variety of teams throughout the design, implementation and deployment phases of the development lifecycle;
- Develop automated unit and integration tests that can be incorporated into CI/CD pipeline;
- Work with the system engineering team to understand customer business needs and priorities;
- Develop software solutions to support ETL activities between data stores (Transactional Database, Data Warehouse, Data Mart, etc.);
- Contribute to the building, testing, and deployment of annotation, data, and model APIs for machine learning and data science purposes;
- Develop software solutions using batch processing and streaming data strategies;
- Define the software design using a model-based engineering strategy (UML);
- Develop software solutions for data storage, including persistence of structured and unstructured data;
- Support software testing activities, including IV&V, and provide timely software defect resolutions;
- Define software requirements, both functional and non-functional, as high level epics, features and user stories to support SAFe Agile methodology;
- Develop prototypes to support product and/or technology evaluations.
Requirements:
- A demonstrated track record of taking initiative and acting as a leader;
- Practical experience writing Map/Reduce, Spark or Hive/Presto or using a machine learning frameworks;
- Experience working with product owners to understand and implement business requirements;
- Experienced with stream processing technology for handling of real-time data feeds (e.g.: Kafka, Hadoop or Spark);
- Bachelor’s degree in Engineering, Sciences, Mathematics or a related field (or equivalent relevant work experience);
- Experienced in big-data as well as batch processing pipelines;
- Develop Continuous Integration (CI) pipelines for automating systems development, testing and verification;
- B.S., M.S., or Ph.D. in Computer Science or similar technical field of study (or equivalent practical experience.);
- Experience in developing data storage solutions for unstructured data (MongoDB, Apache Cassandra, Azure Cosmos DB, AWS Dynamo DB, etc.);
- 3+ years’ experience as a professional software engineer and experience with any object-oriented programming language;
- Excellent communication skills, both verbally and in writing Preferred Qualifications;
- Must be proficient with Python – knowledge in Pandas, NumPy and Excel Libraries;
- Experience in cloud based environments including the development of software that supports architectures that involve public/hybrid clouds;
- Experience in enterprise software system modernization efforts.