Lead Software Engineer (m/f/d)
Posted on Apr 12, 2019 by Envio
Envio is a technology service provider for building automation and agriculture. Our customers are some of the largest utilities, property portfolio managers, and public/government entities on Earth. As Lead Software Engineer you will provide direction to an international team of developers and engineers while seamlessly balancing the needs of the business.
We expect you to have experience defining product strategy, architecting software solutions, and leading a team of developers and engineers. Overseeing product specifications, and ensuring delivery will be a major focus of your role.
We expect you to leverage the freedom and agency we provide to make calculated high level decisions, all while ensuring the quality and efficiency of the product, by reviewing code and mentoring your team.
At envio we are:
Collaborative - We believe teams solve big problems together
Resourceful - Workable solutions exist for every problem
Resilient - Try a dozen things a hundred different ways if that is what it takes
Disruptors - We invent things people didn't know they needed but can't live without
Pioneers - We take on complex challenges using new tools
Each one of our values is a part of our everyday interactions.
- Bachelor's or Master's in Computer Science, Engineering or relevant field.
- 5+ years' experience as a Software Engineer or Web Services Developer.
- 2+ years experience leading teams with a minimum of 3-5 people.
- Expertise with Python-based software architecture, and relational databases.
- Experience deploying backend services in the cloud with Amazon Web Services, Heroku, Google Cloud Platform, or a similar service.
- Experience working with data intensive applications, time-series database experience is a plus.
- Speak fluent business English
- Strong understanding of Docker-based container, Kubernetes or other container schedulers.
- Experience managing infrastructure and software security.
- Extensive understanding of project management processes, principles and methodologies.
- Analyze existing system specifications and suggest modifications to improve functionality and efficiency.
- Assist the product owner with the translation of business requirements to specifications for team implementation.
- Design software products and architect new software systems.
- Manage data storage and integration from both internal and external sources, including data gathered from hardware and generated from machine learning models.
- Document code consistently throughout the development process, and convey requirements, expectations, and deliverables to other envio teams.
- Assist developers with best-practices, troubleshooting, and acceptance of pull-requests.
- Contribute to and oversee several projects.
- Assist with the build-out of core infrastructure, tooling, and software development processes.
- Manage security requirements and recommendations, including encryption, data integrity, access controls, and employee security guidelines.
- Own projects end-to end, including working with non-technical stakeholders to define requirements and seek feedback.
Choco Communications GmbH
Choco Communications GmbH