Engineer onboarding timeline and expectations
This is the general timeline and expectations for new engineers starting at Mattermost. It is meant to guide new engineers, help them focus on the right tasks, and set expectations to help them be successful at Mattermost. It is not a hard timeline in any sense and circumstances may shorten, lengthen, or re-order the timeline.
Week 1: Focus on environment setup and introductions
Set up equipment and environment (e.g. complete the day 1 checklist)
Get laptop, set up developer environment
Clone Enterprise repo
Log in to all accounts (Gmail, GitHub, JIRA, Okta, Community, Community Daily)
Expense equipment
HR set up (benefits, health insurance, etc.)
Meet the team
Meet with a different team member for 30 minutes each day
Meet with your dev lead
Meet for at least 10 - 15 minutes each day
Attend weekly team/company meetings to get the feeling for them
Sprint Planning
Company All Hands
Developer Meeting
R&D Meeting
Developer Hangouts
Video Game Hour
Join important channels
Read and understand Mattermost's core values and Leadership Priciples
Review video calling etiquette
Work on 1 - 3 small tickets to get used to dev processes
Introduction at the R&D Meeting
Week 2: Focus on digesting information dump
Continue getting used to processes and workflows
Sit in on some spec/design/technical meetings - your dev lead should send you invites to these meetings
Do some code reviews - your dev lead should assign you to some
Introduction meetings
Meet with a different team member for 30 minutes each day
Mentor for the week is a senior teammate
Meet for at least 10 - 15 minutes each day
Meet with dev lead
Meet 2 - 3 times in the week
Go over core values and Leadership Principles with dev lead
Work on 1 - 3 small tickets
Introduction at the Customer Obsession Meeting
Weeks 3 - 4: Focus on solidifying role in the team
Start taking a more active role as a member of your dev team
Begin to participate in some spec/design/technical meetings
Provide feedback/ask questions, have an active role in the meetings
Mentor for each week is a different teammate
Meet for at least 10 - 15 minutes each day
Meet with dev lead
Meet once a week and start regular weekly 1-1s
Work on some medium size tickets
Review the Engineering Titles/Levels sheet to understand expectations and responsibilities for your level
Weeks 5 - 8 (Month 2): Work on your first project as dev owner
Begin work on your first relatively large task (40 mana) and be the dev owner of it
Act as the dev owner in the spec/design/technical meetings
Write up a brief technical specification if necessary
Work on small/medium tickets each sprint alongside the larger task
Note: It's expected that your first project takes longer to complete than usual
Weeks 9 - 11 (Month 3): Work on more and/or larger projects as dev owner
Take what you learned being dev owner on your first project and improve upon it
Act as dev owner and write technical specs for more and larger projects
Work on small/medium tickets to fill in gaps
Complete deliverables in a more timely fashion
Attend a "Tech Moonshots" developer meeting
Week 12: Informal performance evaluation
Dev lead will give you your performance evaluation
A self-survey will be sent to you
Surveys will be sent out to your peers and you are:
Evaluated on what's being done well, what could be improved
Evaluated on core values and Leadership Principles
The goal is to let you know how you’re performing and to help you improve and be a better engineer
Weeks 13 - 16 (Month 4): Act on your performance evaluation and focus on community
Continue to improve on fulfilling engineering responsibilities and completing quality deliverables in a timely fashion
Begin acting on any feedback given during the performance evaluation
Start taking a more active role in the open source community
Proactively answer questions in channels
Create Help Wanted tickets and mentor contributors working on them
Find a community buddy (a contributor you interact with fairly often)
Start helping to answer customer support questions
Weeks 17 - 20 (Month 5): Become an authority
Start to become an authority on some part of the product/codebase
Begin thinking about what part of the code you want to “own” - what do you want to be known for at Mattermost
Could be something you built on a past project
Be the “go to” person for that area
Tends to happen naturally if you take true ownership of the projects you’ve worked on
Create some Help Wanted tickets/campaigns to get the community involved in your area of authority
Focus on high impact tasks
Think about what you would work on if there were three of you, and use the community to help you as your clones
Complete engineering responsibilities and deliverables on pace with fellow teammates
Weeks 21+ (Month 6+): Continue to grow as an engineer, be a leader in the community, and be an integral part of the Mattermost engineering org
Last updated