00:00:15.560
someone is wrong The Blood starts to boil thank you
00:00:21.279
um the vein starts to throb and emotion totally overwhelms you and you end up screaming and shouting or
00:00:28.279
typing ferociously on the keyboard cuz some annoying person on the internet somewhere is
00:00:34.399
wrong this talk is the real uh name of this talk is rhetoric for programmers
00:00:41.079
but I've already had to sell this talk to the conference organizers and to all you guys who have come here so I needed
00:00:47.120
something more emotive something that kind of triggered something with everyone and made people think maybe of xcd comics what is rhetoric well
00:00:55.879
rhetoric really consists of two aspects um there's different definitions of like big rhetoric and little rhetoric it's
00:01:01.640
actually a bit of a overly kind of generalized word but for the purpose of this we're going to talk about big
00:01:07.080
rhetoric and this covers discourse and persuasion and that can be over writing
00:01:13.600
that can be speech any different type of medium you could think of writing a letter and the motivation for this talk
00:01:20.200
came about um I was working for a company that was moving from PHP to Ruby
00:01:25.600
and I used to get these panicked emails from the founder of the company where someone who wrote a blog post I think
00:01:31.040
saying like why after like a year or two of using rails I switched back to PHP and I kind of got these things thrown at
00:01:37.280
me aggressively and I was like ah and I had to kind of take that blog post and go okay like let me read through that quickly let me identify like what
00:01:43.560
actually are is core points kind of build up you know some logical argument that I could bring then to my boss and
00:01:48.799
say like don't worry this he's he's got some good points but he's not thought about this he's not thought about that and I kind of realized this is really
00:01:55.560
what a lot of rhetoric is about about having to convince someone and I really feel that that's kind of key we'll see
00:02:01.320
throughout this talk of software development and how rhetoric to me is fundamental to writing good
00:02:07.840
software I don't want to give you the impression you know rhetoric has been fairly abused by
00:02:13.400
politicians and yeah so you take a turd and you add rhetoric it is still a
00:02:19.280
turd there's no snakes skin here or snakes skin oil so let's let's start
00:02:25.200
where I'm sitting here now the rhetorical situation where where I sit trying to talk talk to you about
00:02:30.560
something and as I said this is about persuasion and discourse so I have something I have an agenda I have
00:02:37.239
something I believe that is good for you guys I think rhetoric is something you should know but that's probably a little
00:02:43.959
negative way of phrasing it I'm implying something you don't have and negative emotions are much less persuasive than
00:02:49.599
positive ones so maybe if I reframe that I think knowing rhetoric will help make you a better programmer now who would
00:02:56.680
not want to be a better programmer we're all here to kind of grow and learn it's something we all want so maybe rhetoric
00:03:02.080
can help you do that this also kind of um sparked off
00:03:08.120
something I noticed um in a lot of companies I'd worked in where I saw a lot of really smart developers with
00:03:14.200
really great ideas and kind of come to this Collision of discussion of people
00:03:19.400
arguing or trying to persuade each other about which way this architect should be designed which system should be here
00:03:24.879
over there and I kind of sort quite frequently quite scarily frequently these very smart people who had spoken
00:03:31.000
to like individually had these great ideas and they had the great ideas but they didn't have the right words they
00:03:36.760
couldn't have the convincing words and this kind of loudest voice tended to win these discussions and this scared the
00:03:42.879
crap out of me it was like I can see these really smart people not getting the chance to have have their I guess
00:03:48.519
their inputs their opinion their ideas come through so really almost of my agender is to try and help at least give
00:03:55.400
some insight into how rhetoric can play a part of this and know when it's being used against you and how to use it
00:04:04.079
yourself so all good stories start with the Greeks I want to focus on one very
00:04:10.000
specific aspect I'm not going to get too deep into Greek mythology uh the Greeks um had this wonderful thing they used to
00:04:16.280
do um so you can imagine a Greek Library when anyone read a book in this Library
00:04:23.320
the Greeks believed you should read out loud you can kind of imagine the absolute chaos there must have been in
00:04:28.520
that Library but they did this because they were scared of losing their ability to talk discuss persuade they felt if
00:04:35.680
they read in their head they wouldn't be able to have as much kind of much skill in discourse and the Greeks really
00:04:42.440
believed along with the whole athleticism this the rhetoric that being able to talk about your ideas and discuss and be persuasive was kind of
00:04:48.840
the ideals of like the perfect Greek kind of role model I
00:04:55.280
guess and I find this interesting looking at software development I can
00:05:01.160
well you know when I first started coding I could quite happily spend an entire day and not talk to a single person I would sit there in my own head
00:05:07.919
and I'd be thinking through my code and I'd be quite happy listening to my music and I would go through and I would hack out code after code and then I kind of
00:05:15.759
going back to this idea of like practicing speaking is actually a useful way of developing our skills for
00:05:21.039
discourse and also in fact for actually thinking about things it helps to actually verbalize things it's kind of part of a thought process and we look at
00:05:28.319
something like pair programming which came along it's like okay maybe if I have to explain to a pair what I'm doing
00:05:34.319
as I'm going through I'm practicing my discourse skills there's also an aspect of persuasion there I'm like maybe we
00:05:39.720
should use a mock there I no I don't think there's a mock there maybe you should use a stub and there's lots of little discussions and discourses it's a
00:05:45.199
way of developing and practicing speech and retrospectives rather than ignoring the past everyone comes together and
00:05:51.639
discusses it talks about the things they've learned the things they could do better conferences if you just go over
00:05:57.720
to um kind of the sponsor rooms or just have a look around this place there is lots and lots of things trying to
00:06:03.360
persuade you there's lots of advertising trying to persuade you there's lots of talks you know I have an agenda I've
00:06:08.440
already told you I think rhetoric is something useful for you I have I have an agenda in this conference um it's
00:06:13.880
very very rare that you kind of get one of those absolute pure technical ones which doesn't have any level of personal
00:06:19.720
input or personal slant about you know our company did this even if that person is projecting that as this is just one
00:06:25.759
example of how a company did it they have a level of authority because they're standing on a stage in front of you telling you this so you go away and
00:06:32.240
say well they did that maybe we should do that it goes even further with um open source is a fun one I do a lot of
00:06:38.880
um open source projects and it's funny how rhetoric comes into play in just submitting a ticket for a feature so I I
00:06:45.599
do a lot of work on cucumber and um you know when someone submits a feature to me it's often like this would be really
00:06:51.680
cool if it could do this and I'm like well like why like could you explain to me that like persuade me why this is a
00:06:57.440
good feature and in fact like submitting tickets making feature requests there's aspects of code there as well to help
00:07:03.400
provide persuasion but there was a lot about trying to persuade someone this is a good feature for your
00:07:08.680
tool and the kind of tech choices all the various Tech choices you face all have aspects of rhetoric all have nice
00:07:14.520
shiny websites to trying to persuade you that they are the right
00:07:20.039
tool talking about rhetoric I have to address um something Facebook released in their um when they went release their
00:07:26.879
IPO they had this kind of big long document and one of the things they talked about was that kind of as
00:07:32.039
Engineers rather than spend days and days kind of debating things it should be the code that wins the argument and
00:07:39.520
this is a great idea like I completely um I'm on board with it I think code is a form of rhetoric it's a form of
00:07:44.879
persuading people about a specific way of solving a problem is the right way to solve it but it it it misses some of the
00:07:51.120
aspects I think it's naive to assume that code can solve all arguments in our work one specific example I had two
00:07:58.280
developers um kind of managing their own little teams and each of them had a very
00:08:03.879
um opinionated view about how the system should be designed and this was around the time that Facebook did this and I'm
00:08:09.479
like okay I'll fool for the fact that Facebook is an authority and just try and see what happens and do what they do
00:08:15.639
and so these teams went off they spent a couple of days hacking away they came back together kind of sat in front of
00:08:20.720
each other's code and then continued to argue about the fact no that's not the right way to do that you you shouldn't do that and again the code did not
00:08:27.479
capture everything that each person was was trying to express that's because code doesn't necessarily capture all the
00:08:33.159
swearing all the raising your head in the air all the like Beauty moments you're like that's amazing sort of thing
00:08:38.479
code isn't exactly a method of capturing everything that goes into into actually producing the code and the fact that
00:08:45.480
there are things that are just you know complicated like should we use a service or take architecture here how should we do this often it kind of comes down to
00:08:52.000
someone just strongly saying yes I think this is right and not necessarily having kind of the right argument to actually
00:08:57.519
make that decision more the fact it's better to take action than do nothing so I think it's it's wrong to say code wins
00:09:03.279
arguments it's communication wins arguments and code is a form of communication a form of rhetoric so in
00:09:09.880
Facebook in many ways is right but misses out kind of the aspect of somehow we can remove communication from our
00:09:18.399
process as like I was kind of saying code excuse me code is a form of rhetoric um Alistair cockburn who's um
00:09:25.399
written a whole bunch of um things on the early days of agile and XP and extreme programming had this nice
00:09:31.880
definition of something called a rhetorical programming language and it was this exact thing I just mentioned he
00:09:37.760
felt programming languages just didn't capture kind of everything that was going on in the programmer's brain as
00:09:43.200
they were writing that code and kind of as someone new coming to a piece of code it's like the code is actually
00:09:48.279
persuading me that was the right way to approach the problem am I just going to refactor it am I going to say yeah they they solve that way and effective so his
00:09:55.160
idea again was kind of you know you should be able to shout you should be able to like have emot cons and if you
00:10:00.839
look at GitHub and look at some of the comments on various open source projects like the most common thing is someone
00:10:05.880
having a line and just having a little Smiley saying yep that's great that's brilliant it's another way of capturing some of the um ideas and communication
00:10:12.640
that go into writing code hello world is my favorite example
00:10:17.680
as cod as rhetoric so everyone knows the hello world program the first one you ever right that proves the computer can
00:10:23.680
print standard out or some wonderful graphical user interface but it actually took a while for hell world to come
00:10:30.120
about if you look at the very first programming languages that published um 1945 Fortran list basic basic from 1957
00:10:39.399
to 1972 the first examples of these programming languages were like solving
00:10:44.560
differential equations solving mathematical problems it's because the code was functioning as a as a form of
00:10:50.880
rhetoric but it was about saying this programming language is actually useful you can solve real problems in the early
00:10:56.720
days of programming it wasn't just saying like here it is go do your thing it was like yes this is a real it's not a toy you can actually solve things and
00:11:03.920
in fact took actually quite a long time for this hello world to come about it was in this great book called my computer likes me when I speak in basic
00:11:12.000
and the very first example in fact wasn't the hello world it was a my human understands
00:11:17.880
me the kind of key again like a a transition here is it's stating
00:11:23.519
something very different the code is actually again trying to persuade us but it's now rather than trying to say this code is actually really useful it's
00:11:30.480
saying this language is really intuitive for a human to write you will find this very easy to write look how easy it is I
00:11:36.839
can understand what that means your computer can understand what that means so again it's like a transition in um in our progression of programming languages
00:11:43.160
at this new example and then we look at like lots of other Frameworks like um nodejs and some of the testing
00:11:49.600
Frameworks now it's very common to have a little kind of you know three or four line snippet of an example of you know
00:11:55.240
say sinatro look how amazingly simple it is to create this framework create a little web app it's saying look not not
00:12:01.880
how easy it is to express but look how concise it is look how simple it is look how little you have to
00:12:08.160
write talking about Ruby it's kind of hard not to look at rails in that rails was definitely a an aspect of persuading
00:12:15.720
people to use Ruby at this time um I was looking
00:12:21.279
between working with python and working with Ruby and to me um both programming
00:12:26.760
languages I actually really liked I thought they were both fairly equal both different nuances but I really like them
00:12:31.800
both so what made me kind of decide that yeah this team should probably go away and use Ruby and rails was actually
00:12:38.079
sitting through watching some of the blog posts that dhh did of like look how easy it is look how simple it is to write a blog again that blog kind of
00:12:45.399
like screencast was actually a form of rhetoric convincing us not just that Ruby was useful but look how kind of
00:12:50.839
concise and simple and elegant it was so I think a large aspect in programming language and technology that kind of
00:12:57.639
give this promotion is not just necessar the technical aspects but also the ability to promote it and persuade
00:13:02.720
people it's a good tool to use I mean this is kind of like full of so much rhetoric web development that doesn't
00:13:07.959
hurt would anyone want to do web development that hurt no that that's ridiculous right you know get excited
00:13:14.199
get started get better these are all positive emotions more likely to convince us that this is a good idea oh
00:13:20.760
sorry so Aristotle wrote a great book on well great um written in Greek so it's
00:13:26.680
very long and tedious but it is very interesting on the art of rhetoric and we're just going to go into some of the ideas he
00:13:32.959
had because there's a lot of useful things in there he categorized this into three different types of um rhetoric an
00:13:40.440
argument by character this is completely in your guys domain how you judge me
00:13:46.320
what sort of character do I come across am I convincing am I trustworthy argument by Logic kind of
00:13:52.360
the logic of your reasoning your evidence sort of thing that actually programmers quite good at humans aren't
00:13:58.680
good at it so there's a subset there of issues and argument by emotion probably the most
00:14:05.160
um I'd say the most evil potentially but actually I'm going to show you a bunch of examples that are being used in
00:14:11.320
programming for the greater good the Greeks gave these funny little names like Pathos Logos and Ethos but we'll
00:14:17.839
stick with emotion logic and character as I said logic I think is something we're quite good at it kind of
00:14:24.720
comes down to like how clear your evidence is the logic of your reasoning it can be very considered mathematical
00:14:31.519
what I really want to focus on because each of these topics is a vast book in itself and hours and hours of
00:14:37.320
presentations is the thing that we're really bad at the logical fallacies the mistakes
00:14:43.199
that we make false log logical conclusions there's a great list of all these various
00:14:48.440
fallacies and lots of people have taken you know political blog posts programming blog posts and picked out
00:14:53.839
and actually analyzed it and identified each of the fallacies this is one of uh myor
00:14:59.040
favorites this was an article about how nodejs is a cancer it was quite a vitriolic um blog post and in one of his
00:15:06.240
examples his reason for why node is a terrible idea is this JavaScript example
00:15:12.040
he created worst thing he could ever be written in JavaScript so he picks this horrible hideous example he's showing
00:15:18.040
that in any programming language you can create something that is so horrific and horrible it's very easy to attack so
00:15:23.519
this is the the example of the straw man phosy where you have you know you have
00:15:29.040
an issue like nodejs and that's a vast thing right we can't all discuss and process that so we have to kind of break
00:15:34.600
that down to some smaller aspect but then the danger is actually reducing it to some stupid example in JavaScript
00:15:40.880
which I could take any programming language and write something that was absolutely hideous and would be very easy to attack I've created a straw
00:15:47.920
man it's also an example of misleading vividness um this is used a lot by
00:15:53.000
politicians when they're talking about the kind of the negative aspects of some um I guess some policy or something they
00:15:59.519
describe in Vivid detail exactly what's going to happen in this horrible Bad Case irrelevant of the fact that it's
00:16:05.040
going to be a tiny tiny percentage of you know every I don't think anyone would actually ever write that JavaScript it's an example that's kind
00:16:12.000
of very Vivid but actually doesn't represent percentage wise how many people would write
00:16:17.720
it everyone should recognize the wonderful farewell um so I forget how
00:16:24.040
long ago this was now probably a couple of years back where there was some some I I guess sounds in the community that
00:16:30.279
Twitter was having problems scaling rails and this kind of really led to a
00:16:35.639
lot of the spotlight fallacy of saying well Twitter which I'm kind of has it a
00:16:41.600
kind of guess is probably in terms of traffic is unlike anything anyone else will experience by someone like Google
00:16:47.600
or Facebook so this is a huge huge kind of edge case sitting on our graph but lots of people took this and
00:16:53.759
extrapolated because Twitter can't handle a massive amount of scale hence
00:16:59.000
no rails does not scale right I mean taking it into a generalization which actually misses the nuances of the
00:17:04.480
problem the fact was is that rails does can and does scale it's just in that specific example there are
00:17:12.640
problems this is probably the um most dangerous form of rhetoric and it's it's a really hard one to kind of deal with
00:17:20.520
um so the fact is you can't consume all information and GA all the research yourself so you need to listen to people
00:17:27.319
who are more experienced people who consider themselves experts explain to you about ideas but if your rationale
00:17:34.480
for why you should do something is because you know X dhh said that you should not use cucumber hence no one
00:17:39.919
should ever use cucumber that misses the kind of understanding you should be able
00:17:44.960
to say you should not use cucumber because and you should be able to list those reasons why that's bad not the
00:17:50.760
fact that just someone in Authority told you it was a bad idea so I'm kind of sitting in front of you here telling you
00:17:57.320
rhetoric is useful um but in fact I don't want you to believe me just because I'm on the stage talking to you
00:18:03.880
in fact what I'd rather have is each of you kind of come up to me afterwards and persuade me using rhetoric that rhetoric
00:18:10.240
is a bad idea and you know that that's good for me I'm happy yeah so it's called appeal to
00:18:19.320
Authority this is a very common one that I'm I'm kind of Reon a lot of people have experienced this this idea you've
00:18:26.000
invested so much in a project it's too late to go back it's too expensive it's too hard to go this actually comes from
00:18:32.559
economics as well this idea of the sunk cost fallacy it um relies on the fact that humans um have this thing called
00:18:38.600
loss aversion we actually value loss far higher than we do any positive gain and
00:18:44.480
I this exact example I was trying to convert these people from PHP to Ruby and it was kind of like we've sunk so much time and effort and expertise into
00:18:51.120
this language we shouldn't consider this option that actually will be a better solution for us and will actually enable
00:18:56.159
us to move faster because we're so stuck in this problem I think this is something that's fairly common in programming as well like uh
00:19:02.480
it's always kind of fun seeing um very experienced programmers where they just do a get reset hard and throw away the
00:19:08.360
last hour of work and you're like whoa what what did you just do that was like an hours of work it's that loss aversion
00:19:13.840
again is the fact that actually throwing away the code can be a very useful thing to do to start
00:19:20.720
fresh so logic is great but if you want to have a discussion around any topic
00:19:26.480
around mocks or something or rails or scaling it's important and it's the common mistake of kind of assuming you
00:19:32.720
could just go to a meeting a discussion with people and just expect to be able to reel out all the great ideas if you
00:19:38.400
want to kind of argue why mocks are a bad idea you should know all the reasons why mocks are a good idea and you should
00:19:44.000
understand those knowing both those arguments which I think is where often kind of expertise comes from and having
00:19:49.039
all experience and having sit on the fence we think mocks are good then they're bad then they're good then they're bad kind of gives you a good
00:19:55.000
perspective on being able to discuss why they might be a good example or why might be good in some
00:20:01.120
example emotion is uh my one of my favorite aspects of rhetoric it's a metaphor metaphors is
00:20:09.039
used to try and create some sort of shared connection between us metaphors can create something we can visualize um
00:20:15.880
kind of if we can kind of create that thing and we can both have that shared Vision then that connects us as a group me it's me the sorry me the presenter
00:20:22.520
and you as the audience and I want you all to feel I'm one of you because you're more likely to listen to me more likely to be convinced by me if you
00:20:29.240
consider me one of you if you think about this presentation um in terms of Storytelling I've explicitly um I think
00:20:36.200
list two or three stories now these stories haven't just been there for random chance these stories have been specifically there to try and create
00:20:43.200
some shared connection between us I'm kind of hoping someone somewhere has gone like oh man that PHP project sort
00:20:48.559
of thing and by having that shared emotion again you're more likely to listen to me you're more likely to be persuaded by me and passion in delivery
00:20:55.640
I hope despite terrible jet lag and being slightly ill that I'm demonstrating a tiny bit of
00:21:01.159
passion so one of the really great research papers that I think is a great example of this emotional aspect of
00:21:07.760
rhetoric is this paper called the big ball of uh the big ball of mud and at
00:21:12.799
the time I was working on a really horrible Legacy code base and this this kind of paper is full of all these anti
00:21:19.799
patterns of design and they kind of you know they described them in great example they gave bits of code to show you and you
00:21:26.679
know they really kind of kind of caught me I was like yeah that's exactly the problem I'm facing but before each of
00:21:31.840
these patterns they pick these little pictures to try and kind of Express a level of kind of emotional aspect M of
00:21:37.960
Storytelling to this pattern and like this pattern perfectly summed up what I
00:21:43.840
was feeling about my architecture this ginormous shovel of like of um yeah I don't even know what that is just lumped
00:21:50.039
into another hideous pile of stuff you know like feeling like gulli travels being tied down and everyone roped you
00:21:56.480
down these patterns as they written were you know they were great in themselves
00:22:01.880
but using this kind of emotional aspect really triggered something in my mind it made me remember these things it really
00:22:07.159
kind of touched something that it wasn't just a written description it was exactly how I felt about this specific code
00:22:14.039
base Jim wck um did his in his talk polite programmer um this came up from
00:22:19.880
an ilc conversation I think where someone said that every time you test the private method you kill a
00:22:26.520
unicorn now this is perfect right you take like an animal which doesn't exist
00:22:31.640
and for some reason there's one of them like who in this room would willingly want to kill that unicorn right there's
00:22:37.520
an emotional POS oh thank you there was someone who wanted to actually kill the Unicorn I admire
00:22:42.960
you so it it again it's using emotions to try and convince you that that testing private methods is a bad idea
00:22:50.360
we'll see this all over the place every time you break the bill God kills a kitten who would want to kill kittens
00:22:55.840
again an emotional argument who would want Darth Vader staring down at them looking at their lack of
00:23:04.039
tests this one came up and um you know by using swearing in um any sort of
00:23:09.679
statement we convey more emotion more passion it's not just about testing it's about much more kind of emphasis on it's
00:23:15.559
really really massively about testing and this kind of kicked off in the Ruby community at least lots of people saying
00:23:21.520
like yeah you know I'm going to do this I'm going to test all the time this is great kind of using emotion into this it's not like people hadn't talked about
00:23:27.880
tdd before um you looked at um Cunningham's sort of stuff where he was testing TVs and doing loads of crazy
00:23:34.679
stuff he was testing absolutely everything and it was very scary but cool so I really feel this is actually
00:23:39.720
kind of like actually a negative thing for the community and this kind of emotional persuasion of like yeah this
00:23:45.080
is so great we should test absolutely everything this is very passionate miss the kind of concept of actually thinking
00:23:50.600
all the time and not being blindly kind of cargo culted into doing something just because you feel like it's convincing because of the emotional
00:23:56.919
aspect this comes from uh a really interesting website I recommend you check out called
00:24:03.120
um quotes of contempt um don't worry about all the text here I read a little bit out this came up in a discussion
00:24:09.640
about XML where someone was saying basically XML is just another way of writing s expressions or trees or
00:24:15.799
whatever you want to call it and Eric nagam wrote this um incredibly uh I
00:24:21.000
guess emotionally loaded response and this is a perfect example of using emotion in your argument so he goes on
00:24:26.520
to say that you know XML and are not not identical robbery is not just another
00:24:31.600
way of making a living rape is not just another way of satisfying basic human needs torture is not just another way of
00:24:38.360
interrogation and XML is not just another way of writing s Expressions I mean like ouch right
00:24:45.120
that's I just like the guy just never responded you couldn't right I think he's just again it's an interesting
00:24:51.480
example I think it's perhaps an extreme example but it is using emotion to try and convince to try and express an idea
00:24:59.520
I often think the phrase code smells is not the right kind of it doesn't quite fit for me you know I think about smells
00:25:05.919
and I don't think about going near smells smells make me go away from them if you look at this code just kind of
00:25:11.200
see what emotion is hiding in there how they make you feel this history backported changes we're not in CSV
00:25:17.039
please somebody shoot us and put us out of our misery right like that conveys like a lot of as I was saying this whole
00:25:22.399
like rhetorical language there's a lot of like emotion in there in the comments about expressing how hideous this code
00:25:27.720
is this public method which is for class internal use only that just makes me feel very sad and this little bit of
00:25:35.360
Ruby these are all from open source projects like I how does that code make you
00:25:40.840
feel I I still don't really understand what it is or what it does it's it's just oh it's
00:25:49.840
horrible yeah so we're talking about emotions so we should also talk about going too far
00:25:56.720
I guess um so the uh kind of the emotional part of the brain can actually
00:26:02.640
override the logical part and you can kind of get into this dangerous thing um it's very interesting seeing little
00:26:08.960
children do this children are the master of emotional persuasion of seeing them saying like you know if you love me
00:26:14.279
you'd buy me that ice cream it's a great example but there's this kind of aspect where emotion overrides and even if you
00:26:20.960
know you're having a logical discussion you kind of it's that seeing red I guess there are kind of two points with this I
00:26:26.440
kind of want to bring um there's a lot of research suggesting that if we can
00:26:33.000
learn and understand better our emotions that's the sort of thing that once you've learned sticks with you for your
00:26:39.240
life if you can kind of get better at identifying when you're starting to go into that red you know this is not possible for everyone this is very very
00:26:46.000
hard to do but that Journey towards that is a valuable journey of being able to understand and better recognize your own
00:26:51.919
emotions and also knowing when to step away from a discussion when you're trying to persuade someone this is just
00:26:57.159
not going to go anywhere produ Ely you're stuck in this kind of emotional
00:27:04.120
enragement character is the final um I guess a topic of rhetoric so Aristotle
00:27:11.120
again decide these themes of credibility and Authority that you the audience have
00:27:16.200
again complete control over this like how much credibility in what in what I'm saying do you have and Authority it's
00:27:22.600
like you know I'm no expert in rhetoric I've gone and done a bunch of research I hope that implies some authority of the
00:27:28.440
stuff that I've learned that I'm conveying to you he further went to subdivide these into kind of three I
00:27:34.399
guess characteristics the virtue of the speaker we're more likely pers persuaded by someone we consider virtuous
00:27:41.640
selflessness or disinterest excuse me this is um interesting if you think about how many presentations you see
00:27:48.080
with giant company logos in the corner or like their first slide is the ginormous logo you'll notice I have not
00:27:53.720
mentioned whatsoever who I work for anything because that has absolutely no relevance to what I'm talking to you
00:27:58.919
about again that level of like being selflessness and kind of just really not
00:28:04.159
caring about all the politics and actually just trying to convey stuff to you is very persuasive practical wisdom is kind of a
00:28:10.640
fun one um this is often actually about breaking the rules about having the experience to know when you can bend
00:28:16.519
those rules and again that's very very persuasive when I think of these three characteristics I kind of feel they're
00:28:23.159
best summed up perhaps by Matts you know Matt's um I've I've heard him speak a
00:28:28.399
couple of times now and you know it it's not always that easy sometimes cuz I know he has a bit of struggle sometimes
00:28:34.120
with English but his kind of genuiness his selflessness of like you know just wanting to make our lives fun is very
00:28:41.039
convincing and this is not to say that I've walked away blindly from his presentation saying like he was absolutely right but I'm more likely to
00:28:47.880
consider his ideas they stick in my head longer I go away and I'm still thinking an hour or two later about some of the things he said because I find him very
00:28:56.360
persuasive codeg groming is a fun one that you will see a guarantee you will see this in a large percentage of
00:29:03.159
presentations this is akin to monkeys picking fleas off each other we use
00:29:08.399
these common images if I was to show this to someone non-technical had no Ruby experience they would probably have
00:29:14.360
absolutely no idea what any of those pictures meant maybe than cat maybe that's a little generic so this idea of
00:29:21.480
by throwing these things into your presentation having some common uh picture some common theme meme again it
00:29:27.559
connects us it shows you that I'm one of you it shows you that we share something in common again it's about sometimes humor
00:29:34.200
about kind of making you laugh because again in a positive State you're more likely to pay attention you're more likely to listen to what someone is
00:29:39.240
saying but it's also again about persuasion about you're more likely to listen to me if I'm one of
00:29:45.200
you the final um three things I want to talk about is a very simple idea but a
00:29:50.640
very powerful way of how you can be better at persuading in discussions so Aristotle divided these
00:29:57.760
um three types of argument forensic epidepicsound.com
00:30:28.120
interesting these three different tenses have very different outcomes and effects of a conversation if we're talking about
00:30:35.279
the past we're often talking about blame why did you break that thing in the present we're usually talking about
00:30:41.440
values this is often in kind of the politics of you know what are your values what do you feel about this issue
00:30:47.480
and the future is where choices are made so topics or kind of conversations
00:30:53.919
that tend to stick in the past tend to exit in some form of punishment again this is why um he was kind of
00:31:00.600
Aristotle talked about this about the judicial system and how this very much fits with like a crime talk about the past talk about the facts talk about
00:31:06.919
what happened and then decide someone did something wrong there some type of punishment the present talking about
00:31:12.760
either bonding or separating you either agree with my ideals or you don't and we leave the future where the payoff
00:31:21.480
is these three very simple um tenses are a very effective way of help helping
00:31:28.639
make a conversation more productive controlling the conversation so often using the past and the present tense is
00:31:35.679
about building up evidence about talking about things that you feel can happen things that have happened and switching
00:31:41.440
to the future is where you have choices where you make things happen so it's
00:31:46.919
often a case of if you know you're stuck in the past everyone's arguing about how bad the system was switching to the
00:31:52.880
future tense of okay that that was bad but what can we do next switching to the Future tense enables us to actually talk
00:31:59.360
about options to make positive outcomes from this discussion a really good example of this
00:32:05.679
um again I said like I do quite a bit of work on cucumber and someone wrote a big blog post kind of saying how terrible
00:32:12.279
cucumber was and no one should ever use it and I kind of rolled up my sleeves and I've been reading all this rhetoric stuff and I was like okay I'm going to
00:32:18.679
identify all the fallacies and just analyze it and I think I spent like an entire afternoon writing like a massive
00:32:24.720
essay and then one of my um colleagues and Friends wrote uh kind of a post after that and he
00:32:30.880
absolutely nailed it he got this idea of tenses and also some powerful aspects of rhetoric so he started in the past he
00:32:38.320
conceded on a small issue like yeah you're right sometimes this tool can be quite hard to use so again that's
00:32:44.159
positive positive emotions more likely to lead to a kind of persuasion and having a I guess a good discussion and
00:32:51.760
then making his point moving to the present of saying like actually yeah but I do think you're wrong I think this could be the case and then moving to the
00:32:58.720
future why why don't you go and check out this open source project they've got a really good thing here and why don't you check out this and why don't you
00:33:03.960
check out that kind of giving someone Escape Roots again this this is a a slight side issue but when you're having
00:33:10.679
a discussion with someone and you have a disagreement you always need to provide Escape rootes for the other person or
00:33:16.440
for yourself so providing kind of evidence of why don't you go look at that why don't you think about that why don't you look at that maybe maybe you
00:33:22.039
should look at that sort of thing it's a very effective way of controlling tents and using little aspects of rhetoric to
00:33:27.399
produce a much more constructive response to someone's blog post and it was 10 times the comment in about four
00:33:32.919
or five lines so it was very effective
00:33:38.120
communication the medium is um a difficult one because I know we do a lot of remote working um especially in the
00:33:44.480
US is I know is more common we have all these kind of mediums you know Twitter base camp Facebook pivotal GitHub so
00:33:51.880
many different ways of communicating and to me this is the root cause of most communication problems I've seen so the
00:33:59.639
human face is supposedly capable of around 5,000 Expressions but more importantly than that you can
00:34:07.119
instinctively tell something about a person's expression you can instantly feel that they're angry they're happy
00:34:12.839
and you can also see what's coming next in this example you can see I'm not very happy you can kind of see the emotions
00:34:18.760
going to go into me screaming and it will continue this is um some research from The Thinking Fast thinking uh
00:34:24.240
Thinking Fast thinking slow I think where he actually looked into how instinctively we can tell and respond to
00:34:30.040
people when we can see their faces being able to see someone's face is a very powerful aspect of communicating
00:34:35.480
effectively and if we're stuck using Skype I am I've seen some hideous arguments over Skype and you're always
00:34:42.280
stuck in this problem of the words you express when someone reads them it's only the way they hear them in their
00:34:47.320
head and that is just open for miscommunication you know it's it's such a common problem and I know there's a
00:34:53.440
lot of issues with having to do remote work and balancing these things and you can do it effectively but it's just
00:34:58.520
bearing in mind that not underestimating how powerful it is just to see someone's face and have a face t- face discussion
00:35:03.680
even if it's over Skype so just to sum up some of the ideas I've talked about
00:35:10.000
here think about the goals that you want from a discussion think about what you want to get out of it as I said like if
00:35:16.200
you really want to be persuasive you actually need to plan and think about what you want out of this think about
00:35:21.359
the argument tense think about using the past and the present to build evidence and trying to switch to the Future for
00:35:27.280
the off you have emotion character and logic all forms that can be used in a
00:35:33.440
persuasive argument being able to identify when someone is using them being able to identify fallacies is a
00:35:38.800
very important part of having a good discussion time and medium we look to medium time I haven't really had much to
00:35:46.359
cover but time is fascinating one there's examples of um melini used to
00:35:52.079
never speak in an entire meeting until the very end of the meeting so it got to the point where everyone would have the
00:35:57.680
these big discussions and then they would all turn and look at him and he would say like no sort of thing and this was before he was like the powerful
00:36:03.440
figure and was actually in charge it was just speaking at the end often kind of there was a lot of um arguments a lot of
00:36:09.280
discussions kind of coming in as a fresh voice is actually a very powerful way of having a discussion and ending it um
00:36:15.560
what is it Hitler used to hold his meetings very very late in the evening so everyone would be very very tired and
00:36:21.400
hence much more likely to be persuaded these are all evil things you should never do by the way that don't imply I'm
00:36:27.280
telling you them um so I've I've given this talk a couple of times and something um really cool that I've seen
00:36:32.920
a couple of companies do there's this great um list of logical fallacies um it's called um I I'll tweet that as well
00:36:39.119
it's called your logical fallacy is.com and it's this great poster you can just stick up in like your office in the
00:36:44.680
kitchen and somewhere and it's this kind of fun thing that actually rhetoric has kind of died in our education systems
00:36:51.079
especially in Europe no one really teaches rhetoric very much and some of these things are quite obvious but actually just having them you know
00:36:56.920
people can scan through them in fact where I used to work people kind of started to actually create exemptions
00:37:02.359
when there was a pub night like a pub night everyone's allowed to do this certain fallacy just for the fun of
00:37:07.800
it so be persuasive in everything you do the code you write should be persuasive about the design you're choosing about
00:37:14.640
why you're choosing this design remember that there's very important aspects of emotion that are getting missed when you're writing your
00:37:21.400
code being wrong is very easy but being wrong is another word for learning
00:37:27.160
learning is actually quite useful there's nothing wrong with being wrong wrong being wrong that's slightly cyclic
00:37:33.839
but I think one key thing to bear in mind is don't be wrong because you're using some fallacies because you're you
00:37:40.440
know overloading various things be wrong because your argument has some kind of your idea has some fundamental problem
00:37:46.280
with it some issue that isn't working you know don't let it be all these other things we've discussed all these kind of
00:37:51.599
fallacies all these kind of getting caught up in emotional kind of over emotional side kind of focus on exactly
00:37:59.160
trying to be as clear as possible in your idea and being H you know being okay when it fails when you're wrong but be wrong in a constructive