Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ivonne-hernandez/c916412db6d936b80c4985644e0ea051 to your computer and use it in GitHub Desktop.
Save ivonne-hernandez/c916412db6d936b80c4985644e0ea051 to your computer and use it in GitHub Desktop.

CAREFULLY READ ALL THE INSTRUCTIONS BEFORE STARTING THESE EXERCISES!

To start this assignment:

  1. Click the button in the upper right-hand corner that says Fork. This is now your copy of the document.
  2. Click the Edit button when you're ready to start adding your answers.
  3. To save your work, click the green button in the bottom right-hand corner. You can always come back and re-edit your gist.

Purpose

You will be a contributor in several paired/group project throughout your Turing career working on complex technical challenges. You may be surprised to find out that < 1% of failing projects at Turing are due solely to technical definicines - in fact, the majority of failing projects are due to intrapersonal/team issues. In order to set yourself (and your teammates) up for success, it is critical to clearly communicate and set expectations with your teammates.

Before every project kickoff, we ask students to participate in a exercise known as Defining the Relationship (DTR), where you will work to set realistic expectations with your teammates around workflow, communication, etc.

However, prior starting Mod 1, it is crucial for you to reflect on what works for YOU! Obviously, this will change over the course of your Turing career as your learn more about your strengths and weaknesses, which is why this will be used as a living document.

Words of Wisdom

As you work through this document, avoid the following pitfalls:

  • "I'm flexible!" or "I'm down for whatever the group wants to do!"
    • This is typically where problems start. You actually DO have preferences and opinions - it's better to communicate these from the get-go rather than have trouble come up later.

Collaboration Styles

  • Pair Programming: This method involves working with your teammate(s) side-by-side/virtually on the same machine and writing code together. A common approach to this is to use a Driver-Navigator approach, where one person is giving direction on what to type and why (Navigator) and on person is actually typing the syntax (Driver).

    • Benefits: reduces opportunities for missed communication, allows all team members to contribute, great for when all members are learning a new concept, allows for more natural brainstorming/sandboxing
    • Considerations: more time consuming, more difficult to delegate tasks/features
  • Divide and Conquer: This method involves different team members each taking a small part of the feature/project to work on more independently and then rejoining at an agreed upon day/time to fit all the pieces together.

    • Benefits: faster workflow than Pair Programmimg, easier to delegate tasks/features
    • Considerations: requires excellent asynchronous communication, issues can arise when trying to combine features/work, more independent workflow (makes brainstorming/sandboxing more difficult)

Guiding Questions

For this initial exploration into what you bring to a team, try to avoid thinking about your TECHNICAL skills. Your answers to these questions should apply to any project/team that you work on:

  1. How would you describe your preferred working style?
  • I typically like to work on things on my own and reach out for help if needed. When working on group projects, I let others know what I'll be working on and delegate tasks so that we all understand what we're responsible for and reconvene as needed.
  1. What strengths do you bring to a team?
  • Structure and delegation of tasks as well as constant communication.
  1. How do you prefer to handle disagreements that come up? Trust me, they will come up!
  • I try to listen to the other person's side and understand their point of view. If they have unrealistic expectations or that person is underperforming, I try to let them know in the most professional way possible so that I don't get too behind on my project deadlines. I also ask them if there is anything that I can do to help them complete their task. So as disagreements come up I will try my best to keep the lines of communication open but I typically don't just go with what that person is recommending.
  1. How do you communicate best? What tools do you need to communicate well with your teammates?
  • I think it's easy to forget what is discussed verbally, so I think communication via Slack may be best during my time in Turing. That way, we can all hold each other accountable for any promises or statements that are made. Zoom is great, but again, people tend to forget what was discussed unless they specifically write it down.
  1. How do you prefer to make decisions as a team?
  • I prefer to discuss what the objective is, who completes what tasks and set realistic expectations for accomplishing those tasks as a team. Communication will be key.
  1. What do you need (resources, environment, communication) to do your best work?
  • I need a quiet environment in which I can play my music and work on my projects. Discussions are great if I feel like I need to reach out for help but if they veer off into an unrelated subject, I usually panic and feel like I'm wasting valuable productivity time. It's not a good habit to have so I'm working on that.
  1. What scheduling constraints do you have? What are your preferred work times outside of normal school hours?
  • The only scheduling constraints that I can think of is that I work out from 5-7ish in the morning. I'd prefer to start working on things as soon as class gets out.
  1. How do you prefer to receive feedback? How do you prefer to give feedback?
  • I prefer to receive feedback via Slack or some other form other than in person, that way I can really think about what was said and how I can put it into action.
  • I prefer to give feedback the same way, although if something needs to get addressed right away, I usually reach out via phone (or Zoom in this case).
  1. How do you want the group to solve problems when members run into blockers on the project?
  • I prefer to have someone message us about their problem on Slack so that we have time to look at it and then collectively comment on how to proceed. If needed after that, we could get together and work on it via Zoom.
  1. What are some potential life things that could affect your ability to focus, and what plan can you come up with to approach those moments?
  • Just overall stress affects my ability to focus. I plan on using the Pomodoro method so that I don't get too overwhelmed trying to hammer through assignments. I also plan on reaching out Jun if I'm really struggling to put things into perspective.
  1. Quarantine is tough, so it’s important to make note of our mental/emotional state when working with others. How can we make space to check in on each other’s well being, in addition to the work that needs to be done?
  • Just asking how that person is doing and how they're feeling about things overall. We're all human and going through stressful things together, so being able to talk about it helps us create a strong bond with each other and encourages us to keep going.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment