We believe that engineers work best with plentiful resources and enough time to thoroughly develop and test code. Hence, we highly value pre-emptive software development in contrast to constant fire fighting. In fact, the very first code Robert, our CTO, ever committed to the alcemy repository was a template CI/CD pipeline. We strive for a clean code base, regularly refactor, and reduce technical debt. Likewise we try to automate as much as possible, so engineers can focus on developing core features. For example, tasks like hyperparameter optimization, model re-training, and regular cross-validation are all fully automated.
At alcemy every engineer is able to formulate, develop, and test novel hypotheses and ideas without limitations. With a single command line call, everyone can clone the entire production stack – creating a personal copy of all running systems ranging from frontend, database, machine learning pipelines, to our real-time data ingest.
Moreover, bringing machine learning into production and enabling humans to interact with these systems is one of the most demanding endeavors engineers can tackle. We are aware of the risks and challenges involved: Machine learning systems introduce novel hidden technical debt stemming from dependency on external data, feedback loops, and complex system configurations. Thus, we not only aim for constant optimization of our machine learning models, but also value development of infrastructure. We strive to guarantee uptime, seamless deployment, monitoring, and provenance management of deployed machine learning models.
Every member of our team is friendly, smart, and highly talented. All of us come from diverse academic backgrounds like physics, neuroscience, software and industrial engineering, or business. We regularly hold presentations, workshops, and whiteboard sessions about a variety of topics like statistics, machine learning, software engineering practices or frontend frameworks. We really enjoy discussions about new ideas like improvements to our tech-stack or scientific publications. Yet, we never ever argue about code formatting and style because all of us bow to the mighty and uncompromising code formatter black.
Most of our systems rely on battle-tested open source libraries like sklearn or numpy. In addition, important parts of our Python code base are type-checked using mypy. Nonetheless, we are not afraid to try (and deploy) novel frameworks like Plotly Dash, for instance. We value full ownership and responsibility of code and corresponding systems.
Moreover, no one is shy to talk to our customers directly or even visit them at their plants to experience our solutions in action. For example, Heiner, one of our Software Engineers, spent days together with mill operators at one of our customer’s control room. He learned firsthand what challenges operators face grinding thousands of tons of cement daily and how we can substantially support them.