{"action":"created","comment":{"url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls/comments/62480037","id":62480037,"diff_hunk":"@@ -0,0 +1,43 @@\n+---\n+layout: post\n+title: Pairing is Caring\n+categories: Programming, Pair Programming, Remote Working\n+author: duncan_fenning\n+tags: Remote, Programming\n+comments: true\n+excerpt: Pair programming like never before.\n+---\n+\n+Pair Programming is a buzz word in our industry that is interpreted in various ways. It has many advantages but only when implemented in the correct way. I don't know anyone that has ever been trained on the 'best pair programming methods' or educated on how to make the most of pair programming. Most of us have tried it but usually we succumb to the common pitfalls of pair programing. Hopefully this post will encourage you to try pair programming and benefit as much as I do from implementing it in the best way possible.\n+\n+### My Pair Programming Struggle\n+\n+The biggest pitfall of Pair Programming would be not getting the balance of driving correct. Perhaps where one person does all the driving whilst the other passively sits and observes. Or maybe where one person doesn't want to get involved and contribute to the task at hand, forcing the driver to do the work on their own. I admit I have been guilty of both in the past and didn't benefit from the experiences.\n+\n+I have tried Pair Programming a number of times, both as driver and navigator, but it has only been recently that I felt I was benefitting personally from completing the work. I wanted to ensure that I wouldn't slip into old habits, sitting passively typing whilst being directed as to what I should be doing. I ended up reading a paper called [How Pair Programming Really Works](https://www.computer.org/cms/Computer.org/ComputingNow/homepage/mostread/MostRead-SW-PairProgrammingReallyWorks.pdf). It gave me a new insight into Pair Programming and made me question my previous attempts. Ever since, I have kept the ideas on my mind and applied them to new Pair Programming experiences.\n+\n+From then on I stayed more focused when pairing, swapped roles more frequently and ensured I was contributing to the work. I also made sure to ask questions whenever I didn't fully understand something, so that I wasn't just typing for my peer. This made my pair programming experiences more beneficial, both to myself and my peer.\n+\n+### Remote Pair Programming?\n+\n+One day I was introduced to a concept that I didn't even realise existed before; Remote Pair Programming. This sounds like a paradox, as how can you swap drivers whilst interacting and contributing to a single task when you're not sitting together? At least that was my first thought when the idea was proposed. This was when I was introduced to [Screenhero](https://screenhero.com/)\\*.\n+\n+I'm sure the majority of you have used Google Hangouts at some point in the past, whether to call someone for a meeting or a video conference. The principle behind [Screenhero](https://screenhero.com/) is very similar. You call a peer using voice chat with the option to 'share your screen' in a similar way Google Hangouts. However, this is where [Screenhero](https://screenhero.com/) really stands out. You and your peer both have access to a shared screen, each with your own cursor to interact as if the screen was your own. This mimics the behaviour of sitting next to your peer and in fact makes swapping drivers easier, as all you have to do is start typing. No chair swapping, screen adjusting necessary. Awesome right!?\n+\n+### My hero\n+\n+I won't go into the bells and whistles of [Screenhero](https://screenhero.com/) as I don't want to ruin the feeling you will get when you discover its magic, but I will give you the benefits I found from using it.\n+\n+First of all, I felt more focused than I do when Pair Programming in person. This is because I was not interrupted by anyone or anything around me. I was focussed on my screen and others didn't interrupt me as I looked busy. It is a lot easier to interrupt someone who is not having a conversation with someone else. I feel this is comparable to when you are texting someone against when you are on a phone call with them. You wouldn’t hesitate to talk to someone whilst they’re sending a text, but you would rarely interrupt someone whilst they’re mid-conversation.","path":"_posts/2016-02-10-remote-pair-programming.md","position":31,"original_position":31,"commit_id":"8ef58df922fe7aba1c53f88da8f6042cb638f62d","original_commit_id":"8ef58df922fe7aba1c53f88da8f6042cb638f62d","user":{"login":"carolinewoodhams","id":7790806,"avatar_url":"https://avatars.githubusercontent.com/u/7790806?v=3","gravatar_id":"","url":"https://api.github.com/users/carolinewoodhams","html_url":"https://github.com/carolinewoodhams","followers_url":"https://api.github.com/users/carolinewoodhams/followers","following_url":"https://api.github.com/users/carolinewoodhams/following{/other_user}","gists_url":"https://api.github.com/users/carolinewoodhams/gists{/gist_id}","starred_url":"https://api.github.com/users/carolinewoodhams/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/carolinewoodhams/subscriptions","organizations_url":"https://api.github.com/users/carolinewoodhams/orgs","repos_url":"https://api.github.com/users/carolinewoodhams/repos","events_url":"https://api.github.com/users/carolinewoodhams/events{/privacy}","received_events_url":"https://api.github.com/users/carolinewoodhams/received_events","type":"User","site_admin":false},"body":"Single 's' in focused please :)\r\n\r\n\"I was focussed on my screen and others didn't interrupt me as I looked busy.\"","created_at":"2016-05-09T10:47:14Z","updated_at":"2016-05-09T10:47:14Z","html_url":"https://github.com/holidayextras/holidayextras.github.com/pull/82#discussion_r62480037","pull_request_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls/82","_links":{"self":{"href":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls/comments/62480037"},"html":{"href":"https://github.com/holidayextras/holidayextras.github.com/pull/82#discussion_r62480037"},"pull_request":{"href":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls/82"}}},"pull_request":{"url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls/82","id":58895300,"html_url":"https://github.com/holidayextras/holidayextras.github.com/pull/82","diff_url":"https://github.com/holidayextras/holidayextras.github.com/pull/82.diff","patch_url":"https://github.com/holidayextras/holidayextras.github.com/pull/82.patch","issue_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/issues/82","number":82,"state":"open","locked":false,"title":"Remote Pair Programming","user":{"login":"DuncanFenning","id":4907461,"avatar_url":"https://avatars.githubusercontent.com/u/4907461?v=3","gravatar_id":"","url":"https://api.github.com/users/DuncanFenning","html_url":"https://github.com/DuncanFenning","followers_url":"https://api.github.com/users/DuncanFenning/followers","following_url":"https://api.github.com/users/DuncanFenning/following{/other_user}","gists_url":"https://api.github.com/users/DuncanFenning/gists{/gist_id}","starred_url":"https://api.github.com/users/DuncanFenning/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DuncanFenning/subscriptions","organizations_url":"https://api.github.com/users/DuncanFenning/orgs","repos_url":"https://api.github.com/users/DuncanFenning/repos","events_url":"https://api.github.com/users/DuncanFenning/events{/privacy}","received_events_url":"https://api.github.com/users/DuncanFenning/received_events","type":"User","site_admin":false},"body":"### Blog title\r\nRemote Pair Programming\r\n\r\n### Blog description\r\nLessons learnt from Pair Programming and Remote Pair Programming\r\n\r\n#### Author\r\n- [x] I have checked for grammatical errors\r\n- [x] I have checked for spelling errors\r\n- [x] All information (technical or otherwise) is correct to my knowledge\r\n\r\n#### Editor 1\r\n- [x] I have checked for grammatical errors\r\n- [x] I have checked for spelling errors\r\n- [x] All information (technical or otherwise) is correct to my knowledge\r\n\r\n#### Editor 2\r\n- [ ] I have checked for grammatical errors\r\n- [ ] I have checked for spelling errors\r\n- [ ] All information (technical or otherwise) is correct to my knowledge","created_at":"2016-02-10T14:13:46Z","updated_at":"2016-05-09T10:47:14Z","closed_at":null,"merged_at":null,"merge_commit_sha":"92b6d2f8204ea970f1e81ca1e98ceb3d979a57b2","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls/82/commits","review_comments_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls/82/comments","review_comment_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls/comments{/number}","comments_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/issues/82/comments","statuses_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/statuses/8ef58df922fe7aba1c53f88da8f6042cb638f62d","head":{"label":"holidayextras:pair-programming","ref":"pair-programming","sha":"8ef58df922fe7aba1c53f88da8f6042cb638f62d","user":{"login":"holidayextras","id":286993,"avatar_url":"https://avatars.githubusercontent.com/u/286993?v=3","gravatar_id":"","url":"https://api.github.com/users/holidayextras","html_url":"https://github.com/holidayextras","followers_url":"https://api.github.com/users/holidayextras/followers","following_url":"https://api.github.com/users/holidayextras/following{/other_user}","gists_url":"https://api.github.com/users/holidayextras/gists{/gist_id}","starred_url":"https://api.github.com/users/holidayextras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/holidayextras/subscriptions","organizations_url":"https://api.github.com/users/holidayextras/orgs","repos_url":"https://api.github.com/users/holidayextras/repos","events_url":"https://api.github.com/users/holidayextras/events{/privacy}","received_events_url":"https://api.github.com/users/holidayextras/received_events","type":"Organization","site_admin":false},"repo":{"id":3348394,"name":"holidayextras.github.com","full_name":"holidayextras/holidayextras.github.com","owner":{"login":"holidayextras","id":286993,"avatar_url":"https://avatars.githubusercontent.com/u/286993?v=3","gravatar_id":"","url":"https://api.github.com/users/holidayextras","html_url":"https://github.com/holidayextras","followers_url":"https://api.github.com/users/holidayextras/followers","following_url":"https://api.github.com/users/holidayextras/following{/other_user}","gists_url":"https://api.github.com/users/holidayextras/gists{/gist_id}","starred_url":"https://api.github.com/users/holidayextras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/holidayextras/subscriptions","organizations_url":"https://api.github.com/users/holidayextras/orgs","repos_url":"https://api.github.com/users/holidayextras/repos","events_url":"https://api.github.com/users/holidayextras/events{/privacy}","received_events_url":"https://api.github.com/users/holidayextras/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/holidayextras/holidayextras.github.com","description":"Hungry Geek","fork":false,"url":"https://api.github.com/repos/holidayextras/holidayextras.github.com","forks_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/forks","keys_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/keys{/key_id}","collaborators_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/teams","hooks_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/hooks","issue_events_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/issues/events{/number}","events_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/events","assignees_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/assignees{/user}","branches_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/branches{/branch}","tags_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/tags","blobs_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/git/refs{/sha}","trees_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/git/trees{/sha}","statuses_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/statuses/{sha}","languages_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/languages","stargazers_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/stargazers","contributors_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/contributors","subscribers_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/subscribers","subscription_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/subscription","commits_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/commits{/sha}","git_commits_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/git/commits{/sha}","comments_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/comments{/number}","issue_comment_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/issues/comments{/number}","contents_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/contents/{+path}","compare_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/compare/{base}...{head}","merges_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/merges","archive_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/downloads","issues_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/issues{/number}","pulls_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls{/number}","milestones_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/milestones{/number}","notifications_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/labels{/name}","releases_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/releases{/id}","deployments_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/deployments","created_at":"2012-02-03T21:17:14Z","updated_at":"2015-11-17T22:23:40Z","pushed_at":"2016-04-26T16:28:06Z","git_url":"git://github.com/holidayextras/holidayextras.github.com.git","ssh_url":"git@github.com:holidayextras/holidayextras.github.com.git","clone_url":"https://github.com/holidayextras/holidayextras.github.com.git","svn_url":"https://github.com/holidayextras/holidayextras.github.com","homepage":"http://hungrygeek.holidayextras.co.uk/","size":9904,"stargazers_count":3,"watchers_count":3,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":2,"mirror_url":null,"open_issues_count":6,"forks":2,"open_issues":6,"watchers":3,"default_branch":"master"}},"base":{"label":"holidayextras:master","ref":"master","sha":"8ce5729576a63eb73000cb781280be1a768759e6","user":{"login":"holidayextras","id":286993,"avatar_url":"https://avatars.githubusercontent.com/u/286993?v=3","gravatar_id":"","url":"https://api.github.com/users/holidayextras","html_url":"https://github.com/holidayextras","followers_url":"https://api.github.com/users/holidayextras/followers","following_url":"https://api.github.com/users/holidayextras/following{/other_user}","gists_url":"https://api.github.com/users/holidayextras/gists{/gist_id}","starred_url":"https://api.github.com/users/holidayextras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/holidayextras/subscriptions","organizations_url":"https://api.github.com/users/holidayextras/orgs","repos_url":"https://api.github.com/users/holidayextras/repos","events_url":"https://api.github.com/users/holidayextras/events{/privacy}","received_events_url":"https://api.github.com/users/holidayextras/received_events","type":"Organization","site_admin":false},"repo":{"id":3348394,"name":"holidayextras.github.com","full_name":"holidayextras/holidayextras.github.com","owner":{"login":"holidayextras","id":286993,"avatar_url":"https://avatars.githubusercontent.com/u/286993?v=3","gravatar_id":"","url":"https://api.github.com/users/holidayextras","html_url":"https://github.com/holidayextras","followers_url":"https://api.github.com/users/holidayextras/followers","following_url":"https://api.github.com/users/holidayextras/following{/other_user}","gists_url":"https://api.github.com/users/holidayextras/gists{/gist_id}","starred_url":"https://api.github.com/users/holidayextras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/holidayextras/subscriptions","organizations_url":"https://api.github.com/users/holidayextras/orgs","repos_url":"https://api.github.com/users/holidayextras/repos","events_url":"https://api.github.com/users/holidayextras/events{/privacy}","received_events_url":"https://api.github.com/users/holidayextras/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/holidayextras/holidayextras.github.com","description":"Hungry Geek","fork":false,"url":"https://api.github.com/repos/holidayextras/holidayextras.github.com","forks_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/forks","keys_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/keys{/key_id}","collaborators_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/teams","hooks_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/hooks","issue_events_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/issues/events{/number}","events_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/events","assignees_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/assignees{/user}","branches_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/branches{/branch}","tags_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/tags","blobs_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/git/refs{/sha}","trees_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/git/trees{/sha}","statuses_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/statuses/{sha}","languages_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/languages","stargazers_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/stargazers","contributors_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/contributors","subscribers_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/subscribers","subscription_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/subscription","commits_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/commits{/sha}","git_commits_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/git/commits{/sha}","comments_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/comments{/number}","issue_comment_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/issues/comments{/number}","contents_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/contents/{+path}","compare_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/compare/{base}...{head}","merges_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/merges","archive_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/downloads","issues_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/issues{/number}","pulls_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls{/number}","milestones_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/milestones{/number}","notifications_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/labels{/name}","releases_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/releases{/id}","deployments_url":"https://api.github.com/repos/holidayextras/holidayextras.github.com/deployments","created_at":"2012-02-03T21:17:14Z","updated_at":"2015-11-17T22:23:40Z","pushed_at":"2016-04-26T16:28:06Z","git_url":"git://github.com/holidayextras/holidayextras.github.com.git","ssh_url":"git@github.com:holidayextras/holidayextras.github.com.git","clone_url":"https://github.com/holidayextras/holidayextras.github.com.git","svn_url":"https://github.com/holidayextras/holidayextras.github.com","homepage":"http://hungrygeek.holidayextras.co.uk/","size":9904,"stargazers_count":3,"watchers_count":3,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":2,"mirror_url":null,"open_issues_count":6,"forks":2,"open_issues":6,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls/82"},"html":{"href":"https://github.com/holidayextras/holidayextras.github.com/pull/82"},"issue":{"href":"https://api.github.com/repos/holidayextras/holidayextras.github.com/issues/82"},"comments":{"href":"https://api.github.com/repos/holidayextras/holidayextras.github.com/issues/82/comments"},"review_comments":{"href":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls/82/comments"},"review_comment":{"href":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/holidayextras/holidayextras.github.com/pulls/82/commits"},"statuses":{"href":"https://api.github.com/repos/holidayextras/holidayextras.github.com/statuses/8ef58df922fe7aba1c53f88da8f6042cb638f62d"}}}}