My multi-year span in the old-fashioned insurance industry has proven to be surprisingly versatile and interesting. Even in centuries-old industries you can get to work with very modern tech stack, as long as you are lucky to work under innovative managers and aim to use new technologies for the benefit of others, especially less tech-savvy users. The fact that the industry did not yet transition to the cloud was a blessing in disguise - many of these interesting and varied tasks would have been outsourced to major cloud providers.
So in my Data Scientist / ML Engineer hat I contribute to our custom python ML functions library and to fully automated modeling pipelines (Papermill, Scrapbook, MLflow), from data munging, feature engineering (inc. maintaining offline Feature Store db) and feature selection (e.g. varimp, SHAP-GPU), training, distributed hyperparameters tuning (Optuna, Ray), model reproducibility and automated validation (MLflow) to automated monitoring of post-production model performance (Papermill, MLflow, CronJobs). I've contributed to building and productionalizing most of our first machine learning models in major areas of the business (such as demand and risk models) and a paradigm shift away from the decades-old (generalized) linear models that still dominate in the insurance industry.
In my MLOps hat I develop in-house docker containers (allowing for self-service package installations and automated updates and security scans) for data scientists working on analyses and ML models development (GPU-enabled, Python, R, H2O) with familiar interfaces such as Jupyter Notebook/Lab, RStudio Server, and VS Code, specialized ML Ops frameworks such as MLFlow or generic data and file management tools / in-house data lakes (such as MinIO/S3), and open-source databases, incl. No-SQL ones (MariaDB, Redis, and Cassandra). I also develop and maintain in production and staging clusters custom apps with RESTful APIs for production deployment of ML models and their features (using Python, Java, Flask/FastAPI, gunicorn, Redis, MinIO, git, and bash).
In my DevOps hat I orchestrate two types of ML containers (stateful for ML models development and stateless for their production deployment) in several on-prem k8s/OKD clusters, I automate multi-layer container builds, packages/libraries/extensions updates, security scans, and staging/production deployments using Jenkins pipelines, OKD builders, bash, python, and Groovy scripts, build and deployment configs or templates, integrated using webhooks.
I also perform linux sysadmin role for CI/CD build servers (CentOS/Ubuntu, docker/compose, MicroK8s, Jenkins, NGINX, Postgres, Clair) and fulfill an k8s/OKD business admin roles for multiple clusters (using k8s/OCP/OKD CLIs, YAML configs and bash) in both the data science development and in ML models staging and production clusters for hundreds of data scientists and ML models hosted in production.