closed vacancyLead Software Engineer - remote
The Role:
As Lead Software Engineer, you have deep and diverse technical knowledge with hands on programming skills. You’re able to establish vision and technical direction in teams for the business as well as our clients’businesses, products and systems. With your entrepreneurial spirit, you keep your mind on the big picture but you’re pragmatic, questioning assumptions, while remaining inclusive. You’re not attached to tools and technologies but rather, you focus on solving problems neutrally, building high quality, user-friendly, technical solutions.
In this new role, you will lead a team of developers on complex software engineering projects from building digital products to serverless data platforms, working closely with the lead tech consultant and delivery lead. You'll also be involved in building strong technical teams for our clients in a range of industries.
The role includes producing and implementing a roadmap that instils best practice software design principles across our work ensuring attention to best practice software design, engineering, testing and CI/CD.
In return, we promise to choose projects that deepen our knowledge and keep us on the steep learning curve, while having fun. As a technical leader, your decisions will be substantial in the whole team’s growth.
Responsibilities:
You will be responsible for:
- Leading teams to build complex, robust &highly scalable technical solutions, including:
- Architecture of frontend web applications and/or React Native mobile applications
- Development of responsive user interfaces using modern frontend frameworks including ReactJS and React Native
- Backend systems and infrastructure
- Integration of frontend systems with client platforms and 3rd party APIs
- Serverless data platforms and pipelines
- Hiring, developing and scaling the engineering team (mostly remote), including QAs and designers
- Working collectively to identify the best tech stack for products and systems
- Leading on the design, development and shipping of MVPs and software updates
- Writing well-structured and maintainable code with a focus on codebase quality
- Working within a dynamic &international environment with an agile working culture using methodologies such as SCRUM or Kanban
Required experience:
- At least 7 -10 years of software engineering experience, with team management desirable
- Strong engineering instinct and a deep understanding of computer science fundamentals combined with flawless coding skills in a variety of languages including Javascript, Python and C#.
- Advanced working SQL knowledge and experience working with relational databases, query authoring (SQL)
- Exposure to a diverse range of engineering languages, tools and technologies including:
- ReactJS
- React Native
- Node.js
- TypeScript
- Python
- Frontend and data testing frameworks (e.g. jest, enzyme, unittest, PyTest)
- Frontend UI testing tools (e.g. Selenium, Cypress, Appium, Detox)
- CI / CD tools including CircleCI / Bitrise
- Experience developing complex web applications;
- Working with a wide variety of web technologies and frameworks;and
- Implementing resilient integration of frontend and backend systems.
- Development best practice CI/CD pipelines
- Experience with the following would be highly beneficial:
- Cloud computing (AWS and/or GCP)
- Serverless frameworks including Cloud Formation, Terraform
- Designing and architecture of microservices and distributed systems
- Experience with test driven development and BDD is a plus
Other skills &competencies:
- Deep understanding of software architecture and infrastructure setups in the cloud
- Comfortable managing a technical team in a fast-paced environment
- Great interpersonal skills and ability to clearly express analytical thoughts
- Readiness to set technical direction and promote engineering principles
Desirable experience:
- Experience designing, building and optimising big data data architectures and pipelines
- A demonstrated record of achievement as key member in large technical projects