Slide 1

Slide 1 text

How to do effective pair programming with junior engineers Bunta Fujikawa English Night vol.5 ~Forget Japanese~

Slide 2

Slide 2 text

Introduction • Name: Bunta Fujikawa • Job: web engineer using Laravel, Vue.js, etc. • English: studied abroad in Cebu for 3 months • Github (@buntafujikawa) , Twitter (@BuntaFujikawa ), Qiita (@buntafujikawa)

Slide 3

Slide 3 text

Agenda • What is par programming • My experiences • How to make it smooth • How to make it effective • How to do remotely • The good thing doing pair programming • Summary

Slide 4

Slide 4 text

What is pair programming IN MY CASE • Do pair programming with junior engineers at work or after work.

Slide 5

Slide 5 text

My experiences

Slide 6

Slide 6 text

1.How to make it smooth

Slide 7

Slide 7 text

1.1 How to get started with work ✔ Get used to it first. ✔ Do it while drinking after work. ✔ Do it with colleagues who talk often. 1.HOW TO MAKE IT SMOOTH

Slide 8

Slide 8 text

1.2 How to choose a task ✔ To choose tasks that are a little more difficult for your partner. ✔ Don't try to do all tasks in pair programming. ✔ Share the documentation with your partner beforehand. 1.HOW TO MAKE IT SMOOTH

Slide 9

Slide 9 text

1.3 How to share information smoothly ✖ The driver makes a note and cannot write code. ✔ The driver should keep writing code. 1.HOW TO MAKE IT SMOOTH

Slide 10

Slide 10 text

1.3 How to share information smoothly ✖ The driver makes a note and cannot write the code. ✔ The driver should keep writing code. • I make a note about shortcuts or other operations that I advised my partner. • Share after pair programming. IN MY CASE 1.HOW TO MAKE IT SMOOTH

Slide 11

Slide 11 text

2. How to make it effective

Slide 12

Slide 12 text

2.1 Set a goal QUESTIONS • Why do you do pair programming with junior engineers? • Do you want to continue to read articles about pair programming? 2.HOW TO MAKE IT EFFECTIVE

Slide 13

Slide 13 text

2.1 Set a goal QUESTIONS • Why do you do pair programming with junior engineers? • Do you want to continue to read articles about pair programming? "To be able to write code efficiently and solve problems on their own, even when they're not doing it in pairs." IN MY CASE 2.HOW TO MAKE IT EFFECTIVE

Slide 14

Slide 14 text

2.2 How to make it improve according to the goal 2.HOW TO MAKE IT EFFECTIVE

Slide 15

Slide 15 text

2.2 How to make it improve according to the goal (IN MY CASE) HOW TO SEARCH ✖ Search and solve it all by myself. ✔ Tell your partner how to search. • search words, search settings, chrome extensions, and other tips, etc. 2.HOW TO MAKE IT EFFECTIVE

Slide 16

Slide 16 text

2.2 How to make it improve according to the goal (IN MY CASE) HOW TO SEARCH ✖ Search and solve it all by myself. ✔ Tell your partner how to search. • search words, search settings, chrome extensions, and other tips, etc. ✖ Solve errors by my self. ✔ Try not to solve too much. ✔ Ask some questions • What is the problem? • How you might be able to solve it? ✔ Let your partner check the logs (IN MY CASE) HOW TO SOLVE ERRORS 2.HOW TO MAKE IT EFFECTIVE

Slide 17

Slide 17 text

What do you think is the best thing about pair programming?

Slide 18

Slide 18 text

Being able to share the process of writing code.

Slide 19

Slide 19 text

Being able to share the process of writing code. ✔ WHAT KIND OF ORDER YOU WRITE CODE, ✔ WHAT KIND OF THINKING YOU WRITE CODE.

Slide 20

Slide 20 text

2.3 How to tell your thoughts and the process • How to break down a task into smaller units. • Share the overview. • Share what I've considered and stopped doing. 2.HOW TO MAKE IT EFFECTIVE THE IMAGE IN MY HEAD IS LIKE THIS. ※ This example is too simple.

Slide 21

Slide 21 text

2.3 How to tell your thoughts and the process • How to break down a task into smaller units. • Share the overview. • Share what I've considered and stopped doing. 2.HOW TO MAKE IT EFFECTIVE THE IMAGE IN MY HEAD IS LIKE THIS. ※ This example is too simple. Break down

Slide 22

Slide 22 text

2.3 How to tell your thoughts and the process • How to break down a task into smaller units. • Share the overview. • Share what I've considered and stopped doing. 2.HOW TO MAKE IT EFFECTIVE THE IMAGE IN MY HEAD IS LIKE THIS. ※ This example is too simple. Show the overview

Slide 23

Slide 23 text

2.3 How to tell your thoughts and the process • How to break down a task into smaller units. • Share the overview. • Share what I've considered and stopped doing. 2.HOW TO MAKE IT EFFECTIVE THE IMAGE IN MY HEAD IS LIKE THIS. ※ This example is too simple. Adapt to the level of the partner

Slide 24

Slide 24 text

3. How to do remotely

Slide 25

Slide 25 text

3.1 About remote work • Few problems specific to pair programming in remote work. • Don't try to resolve the problems with just pair programming time. 3.HOW TO DO REMOTELY

Slide 26

Slide 26 text

3.1 About remote work • Few problems specific to pair programming in remote work. • Don't try to resolve the problems with just pair programming time. • Unable to see the partner's operation. • Unable to show your operation. REMOTE WORK SPECIFIC PROBLEMS 3.HOW TO DO REMOTELY

Slide 27

Slide 27 text

3.2 Make it a good atmosphere • Chat first. • Quick review. • Frequency of breaks, Difficulty of the task, other problems, etc. • Make it a good atmosphere in pair.

Slide 28

Slide 28 text

The good thing about doing pair programming

Slide 29

Slide 29 text

The good thing doing pair programming • Teaching is learning. • More communication with team members. • Get a pair programming skill • I can let my team members catch up faster.

Slide 30

Slide 30 text

Summary • It was easier to start with a drink. • Online and offline are basically the same. • It's important to set goals for why you do pair programming. • I have a lot to learn from pair programming.

Slide 31

Slide 31 text

Thank you for listening.