I just had the opportunity to mentor and manage 5 interns and things have been going well. The following are just informal points that I have noted down during my interactions with them.
Learn your editor well. Most of them chose vscode and one chose pycharm. The important thing is to know many shortcuts and how to customize your editor to make you productive. (This is something I learnt from emacs)
I created a group chat on teams and sent out polls using polly from time to time. I started out with MCQs helping me understand what they know or don’t know and how to structure their learning and development. Some questions which I asked are
- python packaging
- some other python f/w
- some f/w in another language
- push, pull, commit, create branches
- handle merge conflicts
- database access using a programming language
This helped me gauge their starting points. Each of them had different skill sets which can be learnt from each other.
- python packaging
First day was spent setting up the editor and environment.
Then I asked them to go through the fastapi docs and tutorial. The point I stressed was to type each example and learn from it.
Avoid using the ❗ important tag. Your chat will be read by others eventually.
Respond to yes/no questions with 👍 or 😟 emojis. Sadly only these two are available in Teams chat.
Surprisingly, this reduced a lot of noise in the chat and the conversations were of high quality.
General things I expect here on the group chat is to avoid unnecessary banter. one word replies are not needed, if it’s a yes/agree, click on that thumbs up emoji for the msg, if it’s a no/disagree then click on sad emoji. If you have to add more to the context then feel free to do so.
Avoid just saying “Hi Kishore/Name” when conversing with anyone.
Hey just fyi for everyone. A good etiquette when messaging someone is to give context on why you’re messaging them and what your question is. A good thing to avoid is to just say Hi/Hello/etc and wait for the person to reply to you before you give the context. You can read more about this below, although all links say almost the same thing.
Encourage disussions, ideas, questions. Questions are highly encouraged after at least a basic google search.
doubts and discussions are encouraged, but only after you have done your research through google. help is encouraged by sharing the entire traceback or error and following up with what have you tried so far, what did you expect, what happened. That would help me help you better.
Maintain both collaborative and separate repos and documents which can track what you have learnt and what you can learn from each other.
Maintain work life balance. You don’t get bonus points for working longer hours. You are at a stage where your responsibilities are minimal, use that to your advantage to maximize your learning in a focussed manner.
Encourage collaboration and team work.
A note to everyone, this isn’t a competition. if you don’t get the chance to work on something you’ll be assigned with some task eventually. The goal for everyone is to learn from everyone else’s code and reviews. I expect all of you can work collaboratively with each other and not hog every feature development to a single person. If you cannot work as a team, that definitely counts against you, and I dont want that to happen to any one of you.
This has worked exceedingly well. I have created group chat exclusively for calls. I can monitor who/when someone is in the call and I can join them as well time to time to help them out if they are stuck on something. I have noticed at least a few of them on call throughout the day pair programming and learning from each other. 😃
I hope they continue to work as a team and learn and grow as much as possible. 😇