Software Engineer, Data Job Description

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.