We spend more than 90% of our time indoors, an environment that can be up to 10x more polluted than outdoors. Today, air pollution represents the leading cause of environmental mortality in the world. According to the World Health Organization, more than 8 million people die each year because of unhealthy air quality, including 4,2 million due to bad indoor air quality. Sensilla helps companies increase the safety and wellbeing of their teams, by monitoring and improving air quality whilst offering energy reduction strategies.
We are seeking a dynamic individual who has proven experience as a full-stack software developer. You will play a key role in implementing the user interfaces for the Sensilla system. You will contribute to the system architecture, virtual infrastructure and software development environment. You will work closely with the product management team to build new components and interfaces that will extend the functionality of the Sensilla system.
If you love building software solutions and thrive in a dynamic environment, continuously improving the functionality of the Sensilla service, and at the same time developing your own skills, this is the position for you!
Objectives of the role
- Guarantee the high availability and scalability of the existing staging and production environments. You are also responsible for DevOps.
- Assuming the role of full stack engineer in the software development team. The team lead will rely on your proposals to define the system architecture and count on you to implement the chosen solutions in a timely manner.
- Propose pragmatic solutions to rapidly implement new features. Evaluate the possibility of integrating third-party solutions into the existing architecture.
- Manage the software development process by applying an agile methodology such as SCRUM or Kanban, and implementing a continuous integration process to build, test and deploy new features.
- Collaborate with the customer support team to solve issues reported by users. Provide level 3 customer support when necessary.
- Produce user documentation for the customer-facing APIs and other integration points.
- Produce technical documentation for the complete Sensilla system, to facilitate knowledge sharing within the team, and onboarding of new team members.
- Propose customer-specific solutions for deployment of the Sensilla service (deploy to customer's private cloud, or on-site servers instead of in the Sensilla cloud).
- Develop and share best practices with team members to continually improve the quality, effectiveness, and efficiency of the software development processes.
- Process feedback received from product management, sales team, and customer support teams about issues related to the service, software bugs, new features requested by the customers. Capture bug reports, proposed enhancements, and new feature requests in a product backlog management tool.
- Manage end-to-end functional testing: define test plans, develop/implement needed tools, execute tests, produce test reports. The head of technology will rely on your input to decide to release new features.
Expected skills and qualifications
- Bachelor’s degree, Master's degree or equivalent experience in software engineering.
- 4+ years of experience as a senior software developer.
- Proven experience with at least some of the languages, frameworks or technology listed below is a must:
- developing web applications (front- and back-end) with Python and Django
- developing mobile applications, preferably with Dart and Flutter
- developing responsive web applications using frameworks such as Vue.js, React or AngularJS
- Google Cloud components such as Core IoT and Pub/Sub
- Time Series Database, OpenTSDB, Google BigTable, InfluxDB
- Experience with any of the following tools is an advantage:
- Artificial Intelligence (AI) and Machine Learning (ML) (Vertex AI, TensorFlow, PyTorch)
- ThingsBoard, ChirpStack, The Things Network or other IoT software packages
- Auth0 or another Central Authentication Service (OAuth, SAML, JWT)
- Hands on knowledge about IT security is a must.
- Experience working in agile teams with methodologies such as SCRUM or Kanban. Experience with feature tracking tools such as JIRA or YouTrack.
- Ability to collaborate with remote software development teams. Excellent verbal and written communication skills.
- Demonstrated ability to work in a fast-paced environment. A desire to learn new technologies and continuously develop new skills.
- Excellent multitasking and management skills.
- Ability to work autonomously and go beyond your comfort zone.
- Confident, high energy, self-motivated and a true team player.
- Well-organized, proactive, with high attention to detail and ability to prioritize.
- Fluent English and French or German required, additional languages are an advantage.