25-01-2022
Today's Foci
Focus 1
- Bud Forms!! get them done
- have 3 done by today
Meet at the Heart Space
When I met my tutor often, I would sometimes travel to uni to see them. I would try to turn up with coffee for us both. I would try not to be late.
Later, I would travel 6 hours to meet them.
Why?
When necessary, we would go to the heart space.
T, your project of 12 months still isn't ready. I know you want to move on. It isn't time.
T, is this really, truly what you want from life?
T, how do we improve your situation?
Maybe that is what makes a fantastic mentor, or fantastic leader.
They will meet you at the heart space.
Empathy Workshop
Empathy
- putting yourself in another persons shoes
- attempting to understand how someone else feels
- self regulation
- social skills
My morning group are have freat empathy
vicariously emote - feel with one another
how do we distinguish empathy as a reaction vs empathy as a skill
room 1 - why is empathy important; why might it show up as a software developer
room 2 - when empathy is missing, what might be the pitfalls? what can go wrong; how can it manifest
we are
room1
if another dev is struggling, you can help them, they help you everyone wins
why
why is it important? in pairing, if their is a disparity in knowledge, empathy can bring both parties together
during the interviews, important to know fellow coders, code and how they think
beyond coders - sat in meeting with clients, and we need to compromise - meet halfway
think of the user and the accessibility of a web page
good leaders are high in empathy - they care
people dont leave bad jobs - they leave places without empathy, and low social skills
"EQ" & "IQ" are both fundamental skillsets
Room2
People feel isolated within a team: Unsupported, misunderstood Issues unresolved Affects productivity - especially in pairing sessions Effort is not made to write readable code for others to understand Solipsistic world view is incompatible with team-playing
look for talk "code with love"
look for talk "The 5 dysfunctions of a team"
-
Undertanding empathy
-
Common hindrances
inattention to results => focus on outcomes
avoidance of accountability => confront difficult issues
lack of commitment => focus on clarity anf closure
fear of conflict => demand debate
absence of trust => be human
- Types of empathy
Affective empathy - feeling emotionally with someone else but not driven to directly aid
Empathetic - consciously understanf and internalise the emotions of another person- driven to help or respond approppriately
Cognitive empathy - consciously imagining how someone is feeling without internalising
try to be resilient - breathe
- What prevents empathy
Anger
- numb to another's pain
- instead of warmth we feel contempt; we scold
Protection
- feeling as though another's pain is a virus
- a supporter can catch the pain of others
Identifying
- Another's painful feelings can be too close to home, bringing up an issue with the subject
- Try to rationalize/talk them out of/"fix" their feelings in an attempt to avoid your own
Fear of intamacy
- Being emotionally distant seems easier that the risk of vulnerability and closeness
MEET AT THE HEART SPACE
Remember that this kind of personal development is a privilege that few attain
Sometimes, well meaning adults didn't get the manual
Training Empathy
"just like me"
- seeing yourself in another
- we are all closer to one another than we perhaps realise
- have we academicized and busniessized
Metta Bhavana
Empathetic active listening
Active listening
- Reflect back what they say to you
- Ask questoins instead of giving answers
- Validate emotions, even when you disagree with their logic
- Don't offer insolicited advice
- Be present - 80/20 listening
Listener and talker how makers has been for you thus far
practice active listening
Empathy exercise
raise your hand if -
"who like working well with others?"
"who needs to get more sleep?"
"the who here has cried at a movie?"
...
"who was picked on as child?"
unexpected. sets the expectation of ( not-the-heart-space )
then -
straight to the heart-space.
I have had three "workshops" with this coach at the Apprenticeship Provider. They have consistently reached toward this level of material - the fundamental stuff. Tomorrow, provided you're willing and ready - how can you actionably be a better human being?
Oystercards as a group of 4
I feel we were all pulling in different directions. This hadn't occured previously. It was the first time I had experienced a team pulling in different ways. Great effort from individuals; and as a team we made progress!
But, and I could be mistaken, perhaps we didn't leave on the same page. Which means as a team; we lost. It's okay. You can't win everyday. How do we improve this in the future? How can I contribute to the teams success?
Usually I try to plan and bring everyone in on the plan. I am a thorough planner - but I am not a fast planner. The team is eager and wants results. This creates disparity.
I need to test new methodology and process. Perhaps plan in broader strokes, and then spiral inward, instead of working methodically, and procedurally through a problem. The procedural approach takes time - useful in scenarios - but not a scrum like fashion where the goal is progress only? I am uncertain.
The methodical / procedural approach is great. But I must think differently, that the teams better succeed. No T is an island.
Maybe the following?...
-
Scan for the Focus ~45 secs
- Scan the material for THE focus at hand.
- Report on focus
- Agree with others what the focus is.
- How do we want the focus to act? (within the system?)
-
Best test the focus? ~5 mins max?
- what behaviour is expected? what is start-state, what is end-state?
- what is an appropriate test? what are we really testing?
-
Implement the test
-
Best implementation? ~10 mins max?
- How can we build this feature in a robust, concise way?
- What classes / methods / objects / messages should we use?
- Build it
-
Test green
- look for the expect and got statements in RSpec
- if error - why? read the error
-
Refactor
- How can we give this feature clarity AND concision for any future programmer, whilst maintaining usability AND functionality?
Useful Tactics
use doubles in RSpec, perhaps to instantiate complex objects in a test without having to build classes for them? i think?
remember to manually test things in REPL
private methods are at the bottom of the class
expect{OBJECT}.to change{OBJECT.METHOD}.by this_much
expect{card50}.to change{card.deduct(15)}.by -15
RSpec predicate method - 'be'
- expect(OBJECT.METHOD).to be SOMETHING
- where the SOMETHING is either true or false
- perhaps be careful with this? this could be vague