(these are somewhat improvised and can vary)
Taylor - Dear progress tracker,
Working with Raz today was great! We made a lot of progress and learned a lot about recursion! We didn't use the timer very much, but we felt like it wasn't really necessary because we had a good workflow and were on the same page throughout the day.
Sincerely, Taylor
Raz - Dear progress tracker,
I had a terrible experience working with Taylor today. He was extremely negative and condescending. He did not listen to any of my ideas, he typed in our live-share while I was driver, ignored the timer and pairing role conventions. I felt disrespected and hope to never pair with Taylor again.
Sincerely, Raz
- These reports may resonate with some of you.
- We read the reports every night and it may surprise you how common this type of situation is.
- People see experiences differently
- Paired for a few days, you should have an idea of what it's like
- App academy is NOT a competition
- After the class is over, nobody will care how far you got on w1d4
- All that matters is - do people want to work with you
- It's as important as how well you master the material
- Not only important for success in the course, but success getting a job
- Half of app academy is coding skills, other half is working collaboratively on a team
- Pairing teaches you:
- how to teach/ communicate
- be taught by someone else
- Goal of lecture: to help us all become better pairs and give effective feedback
Now, we are going to have a code demo
Note: We pair programmed merge sort and switched halfway through; tried to demo all of the bad behaviors below:
Navigating
- Sending code snippets that you wrote to the driver
- talking over other person
- ignore timer
- say what to type without explaining
- ignore/dismiss partners request for clarification
Driving
- ignoring other person's ideas when driving
- "don't you think we should do X instead"
- deleting code when switching roles
- typing without navigation
- being negative / making other person uncomfortable "This problem is stupid why do we learn this"
[Raz]
- Sometimes pair is great, harmony etc.
- Tough situations will happen, pairing is messy.
- Sometimes too slow, too fast. Communication breakdown.
- Collaboration is a huge part of engineering and this is why learning to pair/collaborate now is going to help you outside of a/A. Learning how to pair well is an essential skill that App Academy is teaching you.
- Many times you will work on projects with groups of 2-8 people that will span years.
- You have to learn how to get the most out of these partnerships.
- For your own benefit (learning, etc)
- The benefit of the group as a whole (the product)
- Allow each person to contribute fully and share the load.
- And just like people come in with different levels of technical experience, people will be coming in with different levels of experience with pairing too.
- Pair score is the strongest indicator of job search success.
- We have had many individuals apply for jobs that they are underqualified for, but they get an offer for position because the people at the company saw that person would be good to collaborate with.
- Sometimes you will understand the material better: that is all part of the course.
- Your Job: be a patient teacher
- View days where you are stronger as training for teaching and communication skills.
- Effective communication of technical topics is at least half of the interview process.
- Talk through your ideas
- Explain them fully
- Then check in with your pair: does that make sense?
- Let them answer fully and give them time to think about what you just said.
- Listen to their answer. Give them time to explain
- DON'T:
- talk over them
- grab keyboard
- Observe their body language. That can tell you if they understand what you're saying
- Rule of thumb: If you can't explain it clearly enough for your partner to understand it, you don't understand it well enough yourself
- It's ok to ask for clarification
- Let them know you are happy to explain yourself again if needed
- Have empathy for how much more difficult it is to learn this material in a foreign language
- It's ok, don't feel bad.
- It's ok to slow down and ask to slow down
- Don't feel discouraged, you belong here, we chose you to be here because we believe that you will succeed here.
- Everyone learns differently and some topics won't click with you as well as others. This is totally normal.
- Don't fake it
- Be honest if you don't understand something
- Speak up:
- I don't get it
- I still don't get it
- I know this is frustrating but I really want to understand
- We've all had times where we had no idea what's going on
- If you sit in confusion you miss out on learning.
- It will be hard to catch up if you don't pause at the moment of confusion
- It's okay to ask for time to think about a problem
- It's okay to pause the timer and discuss your approach to a problem
- Your feelings are valid
- If you feeling like you aren't able to contribute, ideas aren't being respected or you are being interrupted.
- This isn't ok.
- You must tell your partner.
- It's totally normal to worry about doing so because it will be awkward at best and they might get mad.
- You're doing a disservice to them too
- But this confrontation is their greatest opportunity for growth.
- So addressing it will not only improve your pairing experience today, it will also improve your partners ability to collaborate with others for their entire career.
- If it doesn't get better, you can always find a TA and we can help you work through it.
- If pair is bad, you still must be able to communicate.
- If something bothers you, tell your partner. This is ok because I say it’s ok.
Example:
Hey, Taylor Swift, I feel like we’re moving too fast and I’m having
trouble understanding the material. Would you be okay if we slowed down
and refactored this part so I can understand it?
- Always start by saying:
I feel
, no one can dispute that. - Everyone is going to let you take the time you need to learn because I'm telling them to right now.
- Disagreements will happen.
- Differences in how you want to proceed, this is normal and will usually resolve itself.
- Sometimes not though.
- Normally the goal is to advocate your side.
- That’s normal and good: we want you to get good at making strong reasoned engineering arguments about how or why to do something.
- Sometimes that will still leave you deadlocked. I want you to concede. Being able to compromise and work other peoples’ ideas is much more important than being right.Not only concede, do the shit out of their idea, to 100% of your abilities.
- Independently, you might have quickly come to an answer that works, but by hearing how another brain solved the problem you gain more tactics and strategies for solving problems farther down the line.
- Their feelings are not up to you
- If someone tells you that you are being an asshole, you have to accept their critique.
- It is NOT UP TO YOU, it's up to everyone else.
- You have to take them seriously.
- Getting personal feedback is really hard.
- To prevent yourself from being defensive, you must recognize their perspective is valid.
- Natural instinct is to blame them, or rationalize (they are being too sensitive, they should have practiced more).
- Accept that your behavior caused them to feel this way
- Believe them and adapt
- If you feel yourself being defensive, pull back, separate, take a break, and think about it rationally.
- Go to the bathroom, get some water.
- Then learn from what you have been told and use it to improve.
- We're used to struggling to learn challenging material but this kind of learning and growth might be unfamiliar. It's something else that we'll have to learn.
- At end of every day with an open mind, reflect on how pairing went:
- What was your partner’s body language?
- What did I do to make them feel that way?
- How was I as a pair?
- What can I learn from the experience to improve?
- Sometimes things will be painful and you will feel embarrassed, regretful, guilty
- Rather than punish yourself for mistakes, focus on improvement
- This is hard, but improving these skills is way harder than the technical topics we're learning every day
- Use the
how good of a pair was I
to reflect on your pairing, put thought into that. - And whether it was good or bad, come in fresh the next day optimistic to use the lessons learned.
- Don’t beat yourself up, just learn and come the next day ready to do better.
- What I think I could improve on as a pair
- What I think the other person does well as a pair
- What I think the other person could improve on as a pair
- tell them to do it right now!
- If you are driving and navigator seems stuck: ask ‘what do you think about this’?
- Give them ideas but ultimately let them make the decisions!