About the Role
Halla is a technology-driven organization. As such, there is a wide array of software engineering needs across the organization.
The Software Engineer – Data Specialist will be responsible for development, testing, and maintenance of Halla’s data, knowledge, and analytics processing and flows.
We operate with a small nimble team structure that allows for ample opportunities across engineering sub-disciplines. This is a multifaceted role with an opportunity to work across product microservice development, data engineering, solutions engineering, DevOps, tool building, third-party integrations, AI model development, and front-end app creation.
You will iteratively work with stakeholders to define workable stories, priorities, tools, infrastructure, and constraints. You will design and document software components, communications, data flows, dependencies, interfaces, tests, and more.
Responsibilities
General:
-
Participate as a member of an agile project team
-
Analyze and capture stakeholder needs
-
Design all the parts required to solve the needs, including the tests
-
Research and prototype any portion of the design not well understood
-
Evaluate libraries, tools, infrastructure, services, research, etc. that may provide off the shelf solutions or alternative approaches
-
Develop, integrate, test, gather feedback, adjust design, repeat until stakeholders are satisfied
-
Ensure all software is available, is secure, is accurate, is scalable, is robust, is traceable, and is responsive
-
Create and maintain technical specifications as required
-
Become a domain expert in the tech and the industry
-
Continually update domain knowledge and technical skills
Role Specific:
-
Design, develop and test microservices and supporting communications and data flows
-
Design, develop and test Big Data streaming pipelines and messaging systems
-
Design data and knowledge interfaces for a variety of application features including demos, client customizations/configuration control, and client analytics
-
Design, develop and test internal tools for developing and deploying models, managing data and knowledge, analyzing data quality, and integrating internal systems
Qualifications
-
2+ years of experience in developing robust, scalable, performant cloud-hosted software in an agile environment; the more experience the more senior the title and breadth of responsibility
-
Additionally, 2+ years of education and/or experience in one or more of the following disciplines:
-
Software or systems engineering and architecture
-
Information technology or security architecture
-
Computer science, especially in an AI field
-
Computational science or informatics
-
Mathematics or statistical analysis
-
A hard or soft science
-
Electrical or other mathematics heavy engineering
-
Grocery retail experience
-
Solid knowledge of design patterns, test-driven development, agile methods
-
Design for testability, maintainability, usability, and scalability
-
Ability to communicate effectively (verbal and written) with clients and colleagues, to gather information and to clearly explain ideas
-
Business acumen and awareness of the industry domains
-
Ability to work independently as well as collaboratively across teams
-
Must be legally authorized to work in the United States
We’re looking for engineers who have deep knowledge in at least 50% of the below technologies:
-
UNIX or Linux based systems including shell scripting
-
Java, Python
-
Microservice development on a Public Cloud (e.g. GCP, Azure, AWS)
-
RESTful interface design
-
Container management systems (e.g. Kubernetes, Docker Swarm)
-
Big Data systems (e.g. Hadoop, Spark, Hive)
-
Data streaming (e.g. Flink, Beam)
-
Databases – RDBMS (SQL) and NoSQL (e.g. document stores, columnar stores, graph databases)
-
Messaging systems (e.g. Kafka, RabbitMQ)
-
Logging, alerting, monitoring, and control systems (e.g. Prometheus, Beats, Grafana, Kibana)
-
Code and artifact repositories, CI/CD systems