Lead Software Engineer
About the Opportunity
How often are you given the opportunity to build the next generation products from the ground up, with an abundance of resources at your disposal; to be part of a team of people accomplished in diverse scientific and engineering disciplines, focused on using the best of what lies at the forefront of technology to address complex, real-world problems that have a positive impact on potentially millions of peoples' lives? This is that kind of opportunity.
We are seeking a thoughtful, hands-on technology enthusiast with a strong aptitude for software development to join the rapidly growing Averroes.ai team. The Backend Team Lead will work very closely with our frontend developers, backend developers, data engineers, and data scientists. Our platform is fully cloud-based and is being built around modern tools and frameworks in an incredibly fast-moving agile environment.
Other than strong experience with backend engineering, experience working with Big Data, processing pipeline and imagery would be a big plus. You would be working closely with a team of data scientists, machine learning specialists and product teams to ensure the successful and timely development of their features.
Essential Functions
- Implement backend services and build reliable infrastructure.
- Write high quality, maintainable and human readable code and write tests to assure quality.
- Responsible for developing technical maintenance plans.
- Verify the quality of product; verify functionality and data output against requirements
- Participate in the entire application lifecycle, focusing on coding and debugging
- Helping support daily management of backend duties, including leading meetings, and assigning job duties.
- Guide team development efforts towards successful project delivery.
- Provide technical leadership to teammates through coaching and mentorship.
- Maintain high standards of software quality within the team by establishing good practices and habits.
- Identify and encourage areas for growth and improvement within the team.
Requirements
- Comprehensive knowledge of the fundamentals of computer science, especially in data structures, algorithms, software design, operating systems, and computer networks.
- 4+ years in Backend development – Golang, Microservices architecture
- 3+ years with on-premise architecture design and implementation.
- Comprehensive knowledge with the following languages and technologies: Golang, .NET with C#, Python, REST API, NoSQL (MongoDB) and Websocket is a must.
- Knowledge of Linux, shell scripting and networking protocols is preferred.
- Familiar with tools such as Git, CI/CD, Docker, AWS is a must.
- Extra points if you have experience in full text search (ElasticSearch) and caching.
- Strong communication skills with both internal team members and external business stakeholders