Data Engineer

Data Engineer
This role requires strong software engineering know-how to build, maintain, and continuously improve fault-tolerant applications in a distributed cloud environment.
Job description
We're currently hiring a Data Engineer to contribute to our cloud-based IoT technology stack. The work involves the development and maintenance of code that runs on cloud infrastructure that ingests and processes data in real time from live field instruments, as well as internal tools and services, and integration of 3rd party data. This role requires strong software engineering know-how to build, maintain, and continuously improve fault-tolerant applications in a distributed cloud environment. The Data Engineer is adept at writing clear, efficient, and robust data processing code, and reducing or eliminating work through automation and replication.
Responsibilities
- Write code for the real-time data pipeline, batch processing, ETL, and analytics utilities, in collaboration with other software developers, data scientists, and DevOps personnel
- Develop new elements of cloud infrastructure / microservices as needed for the data pipeline and 3rd party integrations
- Write unit tests and functional tests
- Identify, design, and implement internal process improvements
- Create data tools for analytics and data science team members
- Troubleshoot system failures and alerts, sometimes in real time
- Research and evaluate new software technologies and tools according to organization needs
- Document code, designs, deployment, configuration, maintenance work and troubleshooting procedures
The ideal candidate will have:
- Strong Python programming skills and object-oriented design
- Strong Linux/UNIX command line tools and bash scripting skills
- Experience in high performance computing, parallelization, batch processing, signal processing
- Experience with the HTTP request/response cycle, RESTful APIs / microservices
- Experience with the software development life cycle, Agile methodology, and skill with distributed revision control systems such as git
- Experience with test-driven development and CI/CD tools
- Strong work ethic, high attention to detail, dedication to quality, and excellent verbal and written communication skills
- Strong desire to learn, ability to follow clear instructions, and not afraid to ask questions
Knowledge/experience in the following areas would be an asset:
- Amazon Web Services (AWS) technologies such as ECS/ECR, Lambda, S3, RDS
SQL, noSQL, time series databases
- Containerization technologies such as Docker
- Working with environmental time series data / modeling / forecasting
- Working with noisy data from sensors or imagers
- Marine environment and/or technologies
- Machine learning / AI technologies
Qualifications
- Undergraduate degree in Software Engineering, Computer Science or equivalent
- 3+ years experience in a similar role in a professional setting
The position is full time and offers flexibility in working locations (hybrid remote from home & office downtown Victoria). We offer a competitive compensation package including health benefits and vacation programs. We’d love to hear from candidates of all backgrounds, orientation and abilities.
If this position sounds exciting to you, please send your resume and cover-letter to careers@marinelabs.io
Learn more about MarineLabs and our mission to revolutionize marine safety and climate adaptation at https://marinelabs.io and https://www.linkedin.com/company/marinelabsdata/
Images

Additional Info
Job Type : Full-Time
Location : Victoria, BC
Experience Level : Intermediate Level, Senior Level
Salary range : 90,000 - 120,000