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 buildingstrong 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 3rdparty 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 andsoftware updates
Writing well-structured and maintainable code with a focus on codebasequality
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 includingJavascript, Python and C#.
Advanced working SQL knowledge and experience working with relational databases, query authoring (SQL)
Exposure to a diverse range ofengineering languages, tools and technologies including:
ReactJS
React Native
Nodejs
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 isa 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
