As Lead Architect, your primary responsibility will be to take Ekkono's new Federated Learning product Synthesis, and transform it from a rough blueprint into a fully-functional product. Synthesis will enable Federated Learning, as well as comparing, clustering, versioning, and visualizing edge-trained machine learning models in the cloud. You will be given a set of algorithms as building blocks for this functionality, which you will need to assemble, orchestrate, and load balance using a cloud platform. Since our many industrial customers are using different cloud platforms, you will also need to consider the best way to package the solution for easy deployment.
As the Lead Architect, you will have the responsibility of choosing the architecture and technologies to be used in Ekkono's new cloud-based product, Synthesis. You will work collaboratively with Developers and Data Scientists and have the technical expertise required to understand how to build the product. Your role as the key decision-maker in determining technical solutions will be crucial to the success of this project. The ultimate objective is to bring this product to the cloud, utilizing the best technologies available, and making it compatible with a distributed environment of IoT devices. Ekkono's current Core product is built in C, C++, and has Python bindings.
Your work tasks will include:
- Investigating and deciding upon which existing techniques can be leveraged and which should be developed. Decisions that need to be made include how to communicate between edge and cloud, how to store and version models, and how to orchestrate and load balance machine learning components.
- Designing a robust and flexible software architecture.
- Making decisions regarding the application such as software design, middle layers, design patterns, architecture, and cloud solutions.
- Steering product development and guiding colleagues working in the product team
- Hands-on software development and prototyping. As we are still a small company, you can expect to be hands-on and develop both prototypes and core functionality.