-
Notifications
You must be signed in to change notification settings - Fork 0
1. Responsibilities
Please review the list of responsibilities below. It is up to you to ensure you understand your responsibilities and you follow them. If you have any questions, any concerns, or you find you are not able to fulfill your responsibilities please speak to a staff member and we will work things out together!
If you are a Lead Mentor it is your responsibility to be aware of the responsibilities of your Assistant Mentor (if you have one) and of the Hatchlings on your team.
Note: Sometimes we may have projects which are advanced or have tight deadlines which will be staffed by only mentors / experienced developers. In these cases responsibilities will not include mentoring.
Lead Mentor Responsibilities
Assistant Mentor Responsibilities
Developer Responsibilities
Hatchling Responsibilities
In Progress Tickets must be updated WEEKLY. Even if the update is "no progress made this week". This is very very very important. The reason this is important is because if you do not update the ticket we do not know if you have worked on it, if you have forgotten it, if you are busy, or if you have gone MIA. We do not have time to track people down asking them to update their tickets.
Volunteers who continually do not update their tickets may be removed from their project. Please ensure if you are going to be away for an extended period of time that you update your ticket with that information: "Will be away until ____". We will not remove you for missing a week, do not panic. But if you continue to skip weeks, and we have to talk to you about it many times, you will be removed from the project. The reason for this is because you are not adhering to one of our guiding principles: Strict procedures ensure efficient use of volunteer time.
By not following our outlined procedures you cause more work for everyone else which means our volunteer time is not efficiently used. You can join another project again in the future when you have indicated to us that you have more time and will be able to adhere to our guiding principles.
- Weekly update on status of project
- Team management including dispute resolution (which may include actually working through issues with the developers on your team or referring the issue to staff)
- Hatchlings Review: At end of project
- Project management and project flow: This includes approving pull requests / conducting code reviews and ensuring the project follows our process and procedures including style and architecture guidelines. You do not have to fix everything but rather identify issues and create tickets for the responsible Hatchlings and Developers to correct.
While it is not your responsibility to assign tickets, we do expect you to watch your developers and intervene if you believe they have taken a ticket above their abilities, or another ticket should be completed first. As the Lead Mentor you are the experienced developer and some Hatchlings may need guidance when picking tickets as they do not yet understand how everything fits together and may not be able to understand the size of a ticket.
- Provide mentorship in the form of feedback on code, answering questions in an open and encouraging way, provide referrals / help hatchlings learn to find their own answers, and help them learn to estimate.
- Mentor Assistant Mentors who may be in this role for the first time. If you notice an Assistant Mentor could have provided feedback in a better, gentler, more compassionate way we expect you to talk to them privately and coach them. They are here to learn also and part of the Dev Hatchery is to train up great mentors. Help them learn how to talk to new learners, help them learn how to intervene in sticky situations. Be their ally and be a safe place for all the developers on your team to turn to.
- Time management: We attempt to staff projects such that they are estimated to be a commitment of 5 hours per week for each Lead and Assistant Mentor's required duties. If you need help tell us and we will assign another mentor to the project to help out. If you don’t tell us we don’t know. On projects with a lead mentor and one or more assistant mentors, the lead mentor must complete weekly status updates and end of project developer reviews but may delegate additional duties to the assistant mentors.
- Code review: Regularly inspect work done by Hatchlings looking for conformance to our process, policies, and style guides as well as look for mistakes and provide feedback on other solutions they could have used. If you feel a solution implemented by a Hatchling will cause technical debt it is up to you to explain what your concerns are about their solution, teach them a better solution, and create a ticket for them to make the changes.
- Professionalism: As a mentor we expect you to hold yourself to a professional level and treat these projects as you would treat any client or work project. Commitments matter and lead mentors who are not able to meet these required expectations will be removed as leads, however they may continue as Assistant Mentors depending on the reasons for removal as lead.
- Identify shortfalls in talent: If a Lead Mentor has no Assistant Mentors on a project, and also does not have time to build features themselves where a required feature which is above the ability of their Hatchlings, someone else will be assigned either to the project either : 1) permanently to help or 2) temporarily to complete the feature.
We request you first attempt to find assistance by posting in the @general-leadership channel and if you are unable to find a volunteer (or if you believe you need an Assistant Mentor assigned permanently) please the volunteer coordinator.
- Be available on Slack: We do require that you are a member of your platform channel, the leadership channel, and the dev hatchery channel even if you are not actively responding to posts.
- Optionally Lead Mentors may take tickets and do development
- Answer questions in your platform channel (#dev-android, #dev-ios, & #dev-web) when you have time and be present in the #general-devhatchery.
- Provide mentorship: Your main responsibility. Many Assistant Mentors will be in this role for the first. Your Lead Mentor is there to help you learn how to talk to new learners, how to give feedback, what to look for. It’s up to you as an Assistant Mentor to be open to learning and not take any of this teaching personally. We are all allies here, our primary goals are to learn, to teach, to support, and more importantly to do all of this with an open heart and a confident mind. If you are feeling you are being attacked, or you feel you are bad at being a mentor or developer after receiving feedback hop into our support channel, message a peer supporter, or contact a staff member. These feelings are natural and part of our job as Lead Mentors and staff is to help you get through these feelings.
- Review Hatching code to: a) make sure it meets our professional standards and b) provide feedback to Hatching code authors. Regularly inspect work done by Hatchlings looking for conformance to our process, policies, and style guides as well as look for mistakes and provide feedback on other solutions they could have used. If you feel a solution implemented by a Hatchling will cause technical debt it is up to you to explain what your concerns are about their solution, teach them a better solution, and create a ticket for them to make the changes.
- Help the Lead Mentor, when asked. If you are not able to commit the time to do something a Lead Mentor has asked you to do it is your responsibility to tell them this so they are aware of what is happening on their project (as that is their main responsibility) and then one of you will have to find another mentor to assist. If the project requires an additional Assistant Mentor be added permanently please leave the coordination of that to the Lead Mentor.
- Manage your own time effectively on your project. We attempt to staff projects such that they are estimated to be a commitment of 5 hours per week for each Lead and Assistant Mentor's required duties. If you feel overwhelmed or are spending too much time it is your responsibility to talk to your Lead Mentor who will request an additional Lead Mentor.
- Optionally Assistant Mentors may take tickets and do development
- Answer questions in your platform channel (#dev-android, #dev-ios, & #dev-web) when you have time and be present in the #general-devhatchery.
Sometimes an experienced developer will join us who prefers not to take on a mentoring role. In these situations the developer has the same responsibilities as a Hatchling minus peer support. Developers will not be mentored by Lead or Assistant Mentors however their code is still subject to code review and they will still receive code review feedback. While feedback will be primarily based on the integrity of the project this is a learning environment so be prepared to still receive mentorship and code suggestions. Attitude is incredibly important -- even if you are not mentoring the Hatchlings on your team will be looking up to you. Please act accordingly.
- Optionally developers may take tickets and do development
- Answer questions in your platform channel (#dev-android, #dev-ios, & #dev-web) when you have time and be present in the #general-devhatchery.
- Attitude Your most important requirement involves your attitude. You are learning, you will most likely have times when you feel like you can’t do it, you will never be a good developer, everything you do is wrong, and you have no idea what anyone is talking about when people give you feedback or answer your questions. — TOTALLY NORMAL! :) Not only is it normal but 99% of developers you look up to have not only gone through this but still experience it from time to time. It is up to you however to accept that these feelings are normal and not let them hold you back from asking for help. In fact asking for help rather than getting stuck is one of the requirements of Hatchling Level 5. It is very important to be able to ask for help. You are expected to ask for help rather than getting stuck and we encourage you to ask questions about things that you are curious about even if they are not related directly to your current ticket. If you truly want to learn the best way is to be curious because curiosity promotes exploration, play, thoughtfulness, interesting discussion, and knowledge growth.
- Communication You are additionally required to keep your Lead Mentor informed of your status by updating your tickets (generally speaking you will not need to message your Lead Mentor with this information). When you take a ticket you will be asked to estimate it. There is a good chance all of your estimates on your first or even first few projects will be wrong. Once again — TOTALLY NORMAL. This is part of learning. When you make an estimate, it is an estimate, not a deadline. There is no need to stress about not finishing in time because there is no “in time”. The work will be done when it is done. However, it is your responsibility to give new estimates when you realize your estimate is wrong. Hatchlings that routinely do not update their tickets with notifications of delays and do not make new estimates may be removed from the Dev Hatchery altogether. While this is a training ground and we want it to be as low stress as possible, if you are not able to keep your team informed the entire project will suffer and we feel if that is the case you are not ready to work on a team yet. If you are removed from the Dev Hatchery for this reason you may apply again in the future, this is not a black mark against you but simply a label of “not yet ready”.
- Peer support. We expect you to be courteous to the rest of your team and support other Hatchlings either on your team or not. You are all going through the same experience. Not only emotionally but often Hatchlings will find explanations from mentors are difficult to understand because they are still learning to think like a developer and an explanation from another Hatchling can make more sense.
For more information about what is expected of a Hatchling at various levels of the Dev Hatchery training process please see Hatchling Levels (How to Graduate the Dev Hatchery)