So You Got a Job At Mutt Data, Now What?
Welcome to Mutt Academy: Class Of 2022
Posted by Diego Calb
on April 27, 2022 · 7 mins read
So you got a job at Mutt Data, What now?
Congratulations and welcome to Mutt Data! If you’re reading this, chances are you made the team or are looking to join Mutt Data. Naturally, in either stage, you’ll have some questions regarding what working at Mutt looks like, specifically what happens when you get the job. Also known as the Onboarding Phase.
Maybe our references are slightly outdated, but traditionally many stories and most movies will have you imagining coffee runs, one-to-many meetings, a cut-throat environment, and of course, your very own personal nemesis.
Luckily things are quite different here at Mutt Data. So, let’s start at the beginning. How does your career kick off at Mutt?
Your First Day At Mutt Data
You’ll start your day meeting with our people team. This will be a relaxed meeting with a quick overview of some main topics which you will later read about in-depth during your formal onboarding. We will include information about your meetings for your first day and what the rest of the week will look like. You’ll touch on:
- Roles and areas in the company
- Our main tools for work: Slack, ClickUp and GDrive.
- The basics of asynchronous communication
- Useful links to read about benefits, vacation, policies and other formalities.
With your first meeting checked off your to-do list and lunch time around the corner. You might be anxious about meeting fellow employees, stress no more. Lunch is on us! Your second activity for the day is a lunch with two mutters selected at random to ease you into the team.
We like a personal touch, so once you’re done with lunch you will have two more meetings for the day, each with a different company founder. During your first meet you will get an overview of our culture, our vision and values. During the last meet for the day, a quick overview of ongoing Mutt Projects: in essence what we’re working on today.
So to answer the question, what should I do on my first day? The answer is simple: Enjoy, relax, listen, and of course, ask as many questions as you want to. We’re not judging, it’s your first day questions are to be expected!
The only thing left before starting your technical onboarding is some videos (pre-recorded by area leads and founders) and GitLab repositories where we cover the basics. Basically, what we might have missed on the initial call: who we are, what we do, our values, our communication tools and best practices, and some recommended reading material for context on the industry.
Remember this is a remote-first company so you will have gone through this whole first day from the comfort of your home, local coffee shop, or favourite co-working spot! All while meeting people from different countries working from different type of locations.
Congratulations On Joining The Mutt Academy Class of 22!
With first day jitters out of the way, during the rest of your first weeks you will begin your formal onboarding or as I like to call it your OWNboarding. Your onboarding lead will be there to assist and guide you through the process, but you will be doing a lot of reading on your own as well as practice exercises to get up to speed.
After your first day, you will officially become a Mutt Academy student. Welcome to the class of 2022! The main purpose of Mutt Academy? For you to become familiarized with the technologies we use, our workflows, best practices, and most importantly, our work culture. In case you were wondering, our whole team has gone through the academy!
Onboarding Excercises: Practice and Focusing On Your Needs
Once you start at the academy, you will be assigned an onboarding tutor. Essentially another mutter who will guide you in your learning process.
But first things first, you'll deal with your computer setup: installing an OS, and apps, getting comfortable with your Core Editor of choice, and creating your working environment. The good news is there are plenty of documents and resources at your disposal in the company's repository on Gitlab to help you navigate these tasks.
Aside from consulting the company's Gitlab, you will be working on your own GitLab repository where you are going to push all your exercises and test your git commands.
With your tools and repository set up, you will start practicing with different tools and attending your group onboarding meets. Two times a week you'll get together with your lead for these meets. The lead will explain some topics and you will be able to ask as many questions as you like as well as discuss current blockers. Other onboardees will also participate so you can also learn a lot from their blockers and questions.
Many of these questions will be regarding the tools you’ll be learning about:
Poetry: A tool for dependency management and packaging. Poetry solves dependency issues you may commonly have running Python scripts. You can read more on this tool from our Founder!
Docker: Docker is a containerization tool. Haven't used it before? No worries, everything is fine. You're learning, and trust me, you'll love this tool. Docker allows you to pull images, create containers and run your applications, avoiding incompatibility problems like different python or OS versions. And if you need multiple services, you have docker-compose to solve it.
Say you’re struggling with an exercise? For example, you have to run a docker-compose for an app that hits an API to get data from a stock market and save that information into a Postgres database. Remember you can ask your tutor for help! Between your weekly calls and available slack channels, no question is left unanswered.
Next on the curriculum is object-oriented programming and testing functions. For this part of the onboarding, you will read some great documents written by fellow Mutters'.
Finally, you will learn how to use Airflow and SQLalchemy. Airflow is a wonderful platform used to programmatically author, schedule, and monitor data pipelines. Onboardeess will create DAGs and manage the flow of tasks using this tool.
SQLalchemy is a tool used to design efficient database access with the flexibility of SQL and written in a Pythonic way.
Hopefully, this gives you a clear image of what we teach during our onboarding process.
P.S. If you’re worried about graduating or exams, we’ve got great news for you: there are no exams! This is a learning opportunity, our main concern is for you to learn as much as possible with our help.
We only have one graduating requirement, and it’s more of a cultural thing: We graduate by contributing new knowledge or improving upon current information and practices in our onboarding repository.
It's not the mirror, you are a different person
The duration of your onboarding process will depend on your seniority, but if all goes well after three or four weeks, you should be able to:
- Use git to create a MR and handle its comments/suggestions.
- Know how to use the shell.
- Have your own setup running Python3, and know how to use pipx and pyenv.
- Create a project using poetry.
- Know how to use code formatters and linters such as black using project configurations.
- Know how to setup a pre-commit hook.
- Be confident in your Code Editor of your choice.
- Create and manage Airflow’s DAGs.
- Spin up your own Airflow setup.
- Use Docker to build your own image, and docker-compose to spin up multiple services.
- Use at least one Machine Learning library to fit and predict a model.
- SSH into an instance.
- Know how to use SQL to spin up your own database and query its contents.
- Know how to create a CI/CD pipeline in Gitlab, and run it both with a local and remote runner.
You might even get some know-how on MLOps tools like MLFlow. We always recommend all our onboarded to picture onboarding as a learning opportunity: it’s the moment to ask questions, make mistakes and have fun learning new things.
New Opportunities: What's Next?
After your onboarding, you'll join one of our client-facing teams or internal facing teams (we are constantly working on our public libraries muttlib and SoaM, and there are even more to come!). But this isn't a goodbye from the Mutt Academy! We like to say that your Onboarding never actually ends.
We pride ourselves on being Data Nerds, and if you've joined, then I bet you are one too! A Data Nerd enjoys learning new things just because it's fun, and becoming better at our job is not too bad of a side-effect.
The Mutt Academy is there to help you grow in Data Engineering, Data Science, Machine Learning, DevOps, or even soft skills after you've finished your Onboarding. We are still working on this "post-onboarding" phase of the Mutt Academy, but if you've got a learning goal, we want to help you reach it.
Wrapping Up
Depending on your expertise, the onboarding might be less of or more of a challenging experience. We like to picture it as rafting. Some moments will be intense, and some will be calm. You will have to learn from some crashes, but you will be proud when you are done. The key is to remember you hold the oar here. You are in control of the boat. This learning experience is designed specifically to help you reach your potential and arm you with all the tools we know you will need.
We hope you’ve found this post useful, and at least mildly entertaining. If you like what you’ve read so far, got some mad dev skills and like applying machine-learning to solve tough business challenges, send us your resume here or visit our lever account for current job openings!
Find out more about our team and culture on our blog