A curated list of delightful Machine Learning Engineering resources.
The resources are structured as follows: Title - Description (Reading time)
The descriptions are written so that they complete the sentence "After reading this article you will have learned to ...".
- BLUF: The Military Standard - Make your emails and communication more powerful. (5 min)
- The XY problem - Focus on explaining your end goal when asking for help. (5 min)
- MECE lists - Write structured lists for documents, slides, and Slack. (10 min)
- Nonviolent communication - Deliver constructive feedback in difficult situations. (10 min)
- SMART goals - Define goals in a structured way. (5 min)
- The Halo effect - Account for the cognitive bias that might influence the way you view others. (10 min)
- SCQA/SCoRE stories and NOSE/SPIN sales pitches - Structure presentations, proposals and sales interactions. (5 min)
- E-mail like a boss - Write useful e-mail phrases. (1 min)
- FastAPI docs - Build RESTful APIs that correspond one-to-one with the OpenAPI spec. (1 hour)
- Zalando's RESTful API guidelines
- Microsoft's REST API guidelines
- gRPC compared to REST - Compare the two leading solutions for communication between services. (5 min)
- Terrifically Simple JSON - Represent data using JSON. (10 min)
- HTTP response headers for the responsible developer - Improve user experience using HTTP headers. (2 min)
- Falsehoods programmers believe about time - Avoid most of the assumptions made about time. (2 min)
- Falsehoods programmers believe about names - Avoid most of the assumptions made about personal names. (5 min)
- Semantic versioning - Assign and increment version numbers of projects. (10 min)
- Learn Git Branching - Work on your version control skills at beginner or advanced level. (10 min and more)
- The seven rules of a great Git commit message - Write concise and consistent Git commit messages. (10 min)
- Google's "How to do a code review" - How to form code reviews your colleages will love. (20 min)
- Respectful refiews - Resolve code review comments respectfully. (5 min)
- The Definitive Guide to Python import Statements - Resolve common importing problems. (15 min)
- PEP20 "The Zen of Python" - Get to know the guiding principles for Python's design. (1 min)
- PEP8, and why it is important - Write consistent code with high readability. (5 min)
- Python patterns
- Python anti-patterns
- TODO: Raymond Hettinger
- Logging best practices and gotchas - Understand the
logging
module. (10 min)
- Flake8 - Enforce code style consistency in a Python project. (10 min)
- Flake8 extensions - Pick the right Flake8 extensions.
- Pylint
- pydocstyle - Check compliance with Python docstring conventions. (5 min)
- hypothesis-auto - Write fully automatic unit tests based on type annotations. (30 min)
- Getting started with Mypy
- The state of type hints in Python
- Leveraging type system to avoid mistakes
- Mypy protocols
- Facebook's type checker Pyre
- TODO: Mypy strict mode.
While, in theory, you can just download Tensorflow and start making deep neural networks, it doesnβt hurt to know some of the theory and philosophy that lies behind the algorithms that so many of us know and love today.
- Learning Machine Learning: An online comic from Google AI - Understand the basics of supervised and unsupervised learning. (15 min)
- Rules of Machine Learning by Google
- Bias and variance - Distinguish between different types of prediction error. (5 min)
- Bias and variance and the .632 rule - Balance bias and variance when bootstrapping. (10 min)
- Generalization performance & model selection, nested cross-validation - Use best practices for cross-validation. (10 min)
- Stacking strategies with and without leaks - Choose the right cross-validation strategy when stacking. (15 min)
- Backpropagation is the chain rule to compute the gradient - Make the connection between backpropagation and the chain rule. (20 min)
- Backprop is not just the chain rule - Make the connection between backpropagation and Lagrange multipliers. (20 min)
- Custom Estimators - Create your own custom estimator (20 min)
- Pipelines - Combine transformers and estimators into pipelines (15 min)
- Pipelines and custom Estimators
- Tuning hyperparameters - Implement grid search and randomized search for parameter optimization. (10 min)
- TODO: Gridsearch vs random search vs Bayesian hyperparam optimization (gaussian processes)
- TODO: Comparison of bayesian hyperparam optimizers (PyGPGO)
- Understanding Conda and Pip - Know the advantages of Conda over Pip. (5 min)
- Conda tutorial - Manage packages and reproducible environments using one tool. (15 min)
- Conda package index - Search for packages in Anaconda Cloud. (1 min)
- Conda myths - Debunk some common myths and misconceptions about Conda. (5 min)
- Conda in-depth
- TODO: conda vs virtualenv, pyenv, pipenv.
- TODO: explain how conda-forge works.
- TODO: explain environment.yml + interactions with Docker.
- Docker getting started
- Dockerfile best practices - Build efficient images (30 min)
- Dockerizing python is hard
- TODO: explain registries (Docker Hub, ECR, GitLab)
- Terraform best practices
- TODO: Linting built-in to Terraform with
-check
.
- TODO: CVE scans (frontend and backend)
- TODO: OSS license scan
- TODO: mutual TLS, IP whitelisting, (VPN)
- TODO: S3
- TODO: DynamoDB
- TODO: MongoDB
- ZeroMQ: a socket library with message queue primitives
- Redis: a key-value store with optional persistence
- RabbitMQ: a message queue library with persistance
- Kafka is the opposite of RabbitMQ with "smart consumers" and a "dumb broker"
- TODO: Kinesis streams
Radix is a Belgium-based Machine Learning company.
We invent, design and develop AI-powered software. Together with our clients, we identify which problems within organizations can be solved with AI, demonstrating the value of Artificial Intelligence for each problem.
Our team is constantly looking for novel and better-performing solutions and we challenge each other to come up with the best ideas for our clients and our company.
Here are some examples of what we do with Machine Learning, the technology behind AI:
- Help job seekers find great jobs that match their expectations. On the Belgian Public Employment Service website, you can find our job recommendations based on your CV alone.
- Help hospitals save time. We extract diagnosis from patient discharge letters.
- Help publishers estimate their impact by detecting copycat articles.
We work hard and we have fun together. We foster a culture of collaboration, where each team member feels supported when taking on a challenge, and trusted when taking on responsibility.