Organisation:
Okra

Location:
Portugal

Experience:
7+ years

Deadline:
ASAP

30 August, 2024

Software Technical Lead



Job description

The ideal candidate for this role will have a deep interest in cutting-edge web technologies and a passion for delivering top-quality software. To excel in this role, you must be detail-oriented and committed to producing high-quality and high-performance code. As Typescript is our most common language, a love for strongly typed data structures is a must.

The ideal candidate will possess the expertise necessary to help steer the direction of our tech stack, particularly in overcoming difficult scalability challenges, as we continue to expand and grow as a company. Finally, excellent communication and collaboration skills, particularly in a remote team environment, are essential for success in this role.

Okra’s Software Products

Okra’s innovation started with the development of the Okra Pod, which was the first of its kind solar charge controller that could send/receive power to other interconnected Pods, providing numerous market and commercial benefits that established Mesh Grids one of the most viable technologies to be rolled out for remote energy access across the globe.

Okra’s software was born as a remote monitoring platform to deploy and manage Mesh Grids successfully, and has over time expanded to become one of the most comprehensive offgrid infrastructure management tools, all while boasting simple and intuitive UX that is carefully designed for our users whether they are local maintenance agents in a remote village in Nigeria or the CEO of a international energy utility like Engie. In addition to CRM, inventory, remote monitoring, and revenue tracking features, our suite of software tools includes an innovative network design tool to automatically map, design, and cost projects for our customers; advanced issue-detection to streamline operations; and integrated appliance leasing to increase impact in communities and generate more revenue for projects.

The software team tackles challenges across a broad range of tools, services, apps, and infrastructure – optimising our IoT infrastructure to support rapidly growing deployed Mesh Grids, innovating on new automation and services to continue unlocking value for customers as they scale, collaborating with the product team to reimagine the platform UX as customers go from 50 households to 50,000, and achieving the maturity and reliability required to keep our customers scaling successfully.

As Okra scales, so does the range of possibilities within our software. We’ve only just scratched the surface with where Okra’s software tools can grow to.

Responsibilities

  • Lead the development of scalable solutions to accommodate growing demands.
  • Architect robust, modular, and maintainable systems that align with strategic business objectives.
  • Champion comprehensive testing methodologies, including unit, integration, and performance tests, to ensure software reliability and user satisfaction.
  • Collaborate with departments like product and engineering to ensure technical requirements meet business needs and customer expectations.
  • Develop and maintain a clear, strategic technical roadmap, communicating it across teams to align with the company’s long-term goals.
  • Integrate advanced security practices and protocols to protect against emerging threats.
  • Design and implement robust disaster recovery plans and business continuity strategies to minimise downtime.
  • Stay updated with emerging trends and encourage exploration of new technologies to keep the company at the cutting edge.
  • Foster a positive, inclusive, and collaborative team environment that encourages innovation and continuous improvement.
  • Conduct regular one-on-one meetings to provide technical guidance, address concerns, and support professional growth.
  • Oversee a rigorous peer code review process to enhance code quality and foster a culture of mutual learning.
  • Provide clear pathways for career advancement and personal development, offering feedback and resources to help team members achieve their goals.
  • Establish and maintain high standards for coding and operational practices to ensure consistency and quality.
  • Support recruitment efforts by engaging in candidate interviews and working closely with HR to ensure that hiring strategies are in sync with the company’s technical requirements and cultural values.

Hard Skills

  • Experience in designing overall software architecture, considering scale, performance & security while appreciating business trade offs  & resource constraints
  • Proven experience with statically typed languages including experience with Typescript.
  • Proven experience with SOLID design principles & OO programming.
  • Proven experience with Python.
  • Proficient in back-end technologies such as the Node.js ecosystem, SQL & ORMs, Message Queues, Docker & Docker Compose.
  • Experience managing cloud infrastructure in AWS (or equivalent).
  • Rest API design and 3rd party integrations.

Soft Skills

  • Okra is a global team with a beautiful palette of people from different cultures, countries and time zones – tolerance, compassion and flexibility is at the core of our working ethos
  • Problem-solver mindset – what you don’t know, you will seek and find out (we’re here to help)
  • Good documentation skills and discipline – you document systematically and methodically
  • Planning and organisation skills – you manage your time efficiently and, as an expert, you’re able to estimate work effort to a fine degree
  • Thorough and detail-oriented, capable of reviewing your peers’ work and documentation
  • Ability to work with a remote team and self-organise according to the time zones of other colleagues

Required Experience

  • Graduate in computer science, engineering, or a related field
  • 7+ years of industry experience as a software developer.
  • Leadership and management experience in the context of small squads/teams
  • Experience scaling up software systems

Nice to Have

  • Experience in a startup environment
  • A keen interest in IoT, solar technology and social impact
  • A passion for Domain Driven Design
  • Experience with our specific technologies & frameworks:
    • Typescript
    • Python with mypy
    • AWS (ECS, EC2, Lambda, RDS)
    • AWS CDK (infra as code)
    • MQTT & AMQP (RabbitMQ)
    • MySQL & InfluxDB
    • Modern React with Redux
    • Offline first PWAs
    • OAuth2
    • Gitlab Pipelines
    • Docker

Apply here