1
00:00:00,000 --> 00:00:15,440
all right folks welcome back for another episode of the newly renamed tanzu talk or tanzu tack

2
00:00:15,440 --> 00:00:20,380
if you choose to pronounce it that way uh that might be a bit of a stretch we're going to go

3
00:00:20,380 --> 00:00:27,120
with tanzu talk for now this is dormaine draywitz and with me today i have a trio of guests all

4
00:00:27,120 --> 00:00:34,560
hailing from uh liberty mutual and they bring a uh a set of perspectives thrice perspectives i don't

5
00:00:34,560 --> 00:00:41,380
know i i'm committed to trying to use thrice at some point in this podcast in a grammatically

6
00:00:41,380 --> 00:00:47,360
correct way i don't think i hit the grammatically correct part so far um so let's do some quick

7
00:00:47,360 --> 00:00:52,260
interrupt introductions before we dive into the topic du jour uh kevin why don't you go ahead and

8
00:00:52,260 --> 00:00:57,840
kick us off sure um i am kevin ingvalson kind of as described i guess relative to this talk i have

9
00:00:57,840 --> 00:01:04,780
been playing platform operator for i think about the last half of a decade or so um before that i've

10
00:01:04,780 --> 00:01:10,960
also impersonated database administrators system administrators and uh overall application

11
00:01:10,960 --> 00:01:18,200
developer extraordinaire i'm a data modeler um i you know i i i'm the one that's usually on the team

12
00:01:18,200 --> 00:01:22,720
that's the the sucker that when everyone else takes a step backward i wasn't paying attention and there i

13
00:01:22,720 --> 00:01:30,400
am so here i am yes okay well we appreciate all of your past impersonations um and always interesting

14
00:01:30,400 --> 00:01:37,460
to see someone who who's got a database admin background uh showing up on our calls um next up

15
00:01:37,460 --> 00:01:45,980
we have miranda leblanc do you want to give us a quick intro sure so i started um with liberty back

16
00:01:45,980 --> 00:01:51,320
as an intern and then came in through a rotational program where i worked out on the business side

17
00:01:51,320 --> 00:01:58,740
doing all the training to be an insurance agent but came back to the it side and worked in a number of

18
00:01:58,740 --> 00:02:05,460
different roles like business analysis and eventually found my way into more software development and found

19
00:02:05,460 --> 00:02:13,760
my passion there uh worked as a developer for a number of years joined our secure devops platforms team

20
00:02:13,760 --> 00:02:22,160
and on that team have worked as a developer a product owner an engineering manager and now back to more

21
00:02:22,160 --> 00:02:29,780
of a developer role so run the gamut of different types of jobs within it yes indeed that's uh

22
00:02:29,780 --> 00:02:36,840
that's like i can imagine your linkedin resume is like where there's you know you have to expand that

23
00:02:36,840 --> 00:02:46,120
would you like to see more um and let's keep going just try things out yeah great well-rounded view to

24
00:02:46,120 --> 00:02:52,040
bring to tonsu talk all right last up we have matt rule um and correct me if i'm pronouncing

25
00:02:52,040 --> 00:03:00,320
your last name incorrectly no that's exactly right it's matt rule and um currently by title i'm a

26
00:03:00,320 --> 00:03:05,980
security architect i'm uh aligned with our with our developer experience teams have jumped around a

27
00:03:05,980 --> 00:03:11,060
bit at liberty in terms of roles but um the one common thread is that i'm always a developer always

28
00:03:11,060 --> 00:03:14,940
developer at heart i've been doing that for as long as i can remember so i've kind of made it my

29
00:03:14,940 --> 00:03:20,200
mission in life to uh sort of speak for the developers focus on developer advocacy and trying

30
00:03:20,200 --> 00:03:25,460
to make the best experience possible past few years i fell into a bit of a security niche just kind of

31
00:03:25,460 --> 00:03:31,440
uh i guess it started out being my biggest uh hindrance in life and it and i just kind of fell on it fell

32
00:03:31,440 --> 00:03:36,800
in love with solving all things around security and so sort of i wake up thinking about being you know

33
00:03:36,800 --> 00:03:43,460
combining this role of of developer advocate with um with being a security architect so that's kind of

34
00:03:43,460 --> 00:03:47,660
my mission in life at the moment and trying to make trying to make life easier for our development

35
00:03:47,660 --> 00:03:54,240
community and that that's a great way to kind of tee up our topic which is really around developer

36
00:03:54,240 --> 00:04:04,080
experience and and so you know matt you you you set up this mission that you've been on to make the

37
00:04:04,080 --> 00:04:10,900
developer lives better but maybe we can kind of hear from everyone about why does developer experience

38
00:04:10,900 --> 00:04:17,480
matter why is it important and you know both from a technical perspective and as well as maybe how you

39
00:04:17,480 --> 00:04:22,460
see this connect back to the business anyone can go ahead and jump in but i'm going to look at matt

40
00:04:22,460 --> 00:04:28,320
first because you kind of set that one up i think a lot of what we want to solve as a business is really

41
00:04:28,320 --> 00:04:34,460
around agility and getting value to production to our customers hands as quickly as possible and that

42
00:04:34,460 --> 00:04:40,840
really sits on top of i mean that really that really centers around our ability to improve our software

43
00:04:40,840 --> 00:04:46,240
delivery life cycles and get and produce software faster gets take something from idea all the way

44
00:04:46,240 --> 00:04:52,260
to a production environment as quickly as possible and obviously that revolves around providing an ultimate

45
00:04:52,260 --> 00:04:58,160
you know positive developer experience removing points of friction removing inhibitors and making it not

46
00:04:58,160 --> 00:05:03,680
only possible to get things to move at speed but also make it an enjoyable delightful experience for our

47
00:05:03,680 --> 00:05:09,620
developers to be able to do that so it really is sort of one of the the cornerstones of of being able to

48
00:05:09,620 --> 00:05:15,960
solve our the our objectives overall as a business miranda what would you add to that given you've spent a lot

49
00:05:15,960 --> 00:05:22,760
of time as a developer yourself yeah so my biggest passion right now is about developer education

50
00:05:22,760 --> 00:05:30,160
and matt and i actually spoke about this at SpringOne platform um is that it's just as important to build

51
00:05:30,160 --> 00:05:37,540
out a unique and intuitive experience for your developers with your tools and platforms but it's also

52
00:05:37,540 --> 00:05:46,760
important that um developers understand the technology behind what they're using to build their business value

53
00:05:46,760 --> 00:05:53,940
so that's where a lot of my focus has been on partnering with different teams across our organization

54
00:05:53,940 --> 00:06:00,080
and doing different events to try to have immersive education experiences where people can actually

55
00:06:00,080 --> 00:06:06,740
go and try out our tools and platforms and get something up and running and deployed out into the cloud

56
00:06:06,740 --> 00:06:13,920
within a matter of minutes and then be able to see it it makes it real for those teams and then they can start

57
00:06:13,920 --> 00:06:20,360
to think okay how can i start using these tools and how can i start um solving these business problems faster

58
00:06:20,360 --> 00:06:25,520
yeah i think solving solving business problems faster is really kind of what it comes down to if

59
00:06:25,520 --> 00:06:31,060
if you're on the business side trying to understand like why would we invest in developer experience

60
00:06:31,060 --> 00:06:37,360
hopefully that that gets you an answer kevin like let's just take a slightly different tack on this question

61
00:06:37,360 --> 00:06:44,760
um because something that i i sometimes notice um for folks who you know as a someone in platform ops and

62
00:06:44,760 --> 00:06:55,120
platform engineering um there's sort of this emerging uh kind of class of folks uh that are you know you

63
00:06:55,120 --> 00:07:01,260
might call them cloud architects and they may have more of a systems admin background such as yourself

64
00:07:01,260 --> 00:07:07,420
um but but sometimes i'll hear them talking about how it's like yeah i want to go i don't want to use

65
00:07:07,420 --> 00:07:15,460
some commercial storage offering i want to write my own storage thing and it just it just is one of those

66
00:07:15,460 --> 00:07:21,540
things where it's like okay i get it you're you're sort of you have um a lot of like strong infrastructure

67
00:07:21,540 --> 00:07:27,940
chops but you also kind of twitch a little bit like i want to write a script for that i want to i want to use

68
00:07:27,940 --> 00:07:33,780
the apis and i want to i want to build stuff but sometimes i see it aimed towards something like

69
00:07:33,780 --> 00:07:41,720
i'm going to reinvent the wheel on uh you know storage interface sort of feels like you're you're

70
00:07:41,720 --> 00:07:47,060
taking your great talents and not really applying them to the right problem so just curious from your

71
00:07:47,060 --> 00:07:54,020
perspective as someone who's um kind of in that that type of role with that kind of background why do you

72
00:07:54,020 --> 00:08:02,100
see developer experience as important and and maybe how it would compare to you know being able to use

73
00:08:02,100 --> 00:08:10,100
kind of your your skills to redesign some clever way of using infrastructure well that's more more a lot

74
00:08:10,100 --> 00:08:17,940
of words in one question um yeah i mean it's i guess it does have to i mean kind of like man said i am i am

75
00:08:17,940 --> 00:08:24,900
still a developer at heart and soul out of all of those things that i've done before but i'm also one

76
00:08:24,900 --> 00:08:33,220
other thing i i am lazy um so like what you had described uh when you have the ability to use some

77
00:08:33,220 --> 00:08:39,620
sort of socialized system um you know whether it's a i need to store a file i don't need to write a file

78
00:08:39,620 --> 00:08:45,620
storage system um there's a couple obvious ones that come to mind nfs is not one of them um so

79
00:08:45,620 --> 00:08:51,220
hooking things in there it just kind of makes it makes sense i mean the the stuff that we do day in

80
00:08:51,220 --> 00:08:56,180
and day out there's there's stuff you hide in the back room but the better you use um something that's

81
00:08:56,180 --> 00:09:01,700
been socialized something that shared something that makes sense less time you spend diagnosing

82
00:09:01,700 --> 00:09:07,060
and working in those kind of things the stuff i love because my i guess the part where i still get

83
00:09:07,060 --> 00:09:12,580
to play developer the most is because we also are the intake for issues um so what will happen is you

84
00:09:12,580 --> 00:09:17,780
know i'll get fun things like i'll get a person that worked with that you know she's now here's the

85
00:09:17,780 --> 00:09:22,660
same title that we're working on diagnosing pool connections inside of an application because you

86
00:09:22,660 --> 00:09:28,020
take the beauty and power of spring and then the way it does the http calls and all that other stuff and

87
00:09:28,020 --> 00:09:31,780
then you put that in an enterprise and you get something that's closing off your connections

88
00:09:31,780 --> 00:09:37,700
you get to have a fun deep conversation on how do i find which library is actually has the bad pool

89
00:09:37,700 --> 00:09:41,940
connections that some of my connections aren't closing correctly so the retry isn't working inside

90
00:09:41,940 --> 00:09:47,700
of my application because you get these discoveries of where teams have used the stuff they've used

91
00:09:47,700 --> 00:09:53,460
bringing the other stuff to its power where they they use simple code but then you take the enterprise

92
00:09:53,460 --> 00:09:56,900
stuff that adds potentially different layers and it's like how do you help how do you help to find

93
00:09:56,900 --> 00:10:00,740
them and then the bigger challenge kind of what we're talking about here today how do we take

94
00:10:00,740 --> 00:10:06,100
it when we learn that how do we make that available to everyone else because i'd rather talk about that

95
00:10:06,100 --> 00:10:10,580
stuff on something like this as opposed to have to have that same conversation again with the next

96
00:10:10,580 --> 00:10:14,660
person who ran into that same problem i don't have a real good answer that one but i think that's why

97
00:10:14,660 --> 00:10:18,660
we're here today is it's you talk about this stuff you share it you try to figure out how to get to

98
00:10:19,620 --> 00:10:26,020
people those experiences yeah there's there's a common theme there i guess of not wanting to have to

99
00:10:26,660 --> 00:10:32,340
redo something right and that includes not needing to reinvent the wheel if there's a file storage

100
00:10:32,340 --> 00:10:37,220
system that already exists that'll solve it but also you know once you've solved a problem and and

101
00:10:37,220 --> 00:10:42,740
dug it and understand it how do you make that repeatable for um everyone else you don't have to repeat

102
00:10:42,740 --> 00:10:51,940
yourself so um let's kind of then then dive in a little bit more to you know now that we understand

103
00:10:51,940 --> 00:10:59,140
why the developer experience matters what what are some things that you've each seen from your your

104
00:10:59,140 --> 00:11:06,020
respective perspectives that actually move the needle because there's a lot of things that you know

105
00:11:06,020 --> 00:11:12,580
probably sound like oh that'd be cool and developers would be happier more productive and um you know

106
00:11:12,580 --> 00:11:18,980
we'd get things out faster somehow but what in your experience if you had to kind of pick what was the top

107
00:11:18,980 --> 00:11:23,860
thing that you said wow this is what really moved the needle for our developers and we'll we'll rotate

108
00:11:23,860 --> 00:11:29,940
back around so kevin let's start with you okay um i'll i guess i'll start with something quite simple

109
00:11:29,940 --> 00:11:38,020
start with working um don't don't start with um oh i have hello world when you check your code out of

110
00:11:38,020 --> 00:11:44,660
your repository um you better be able to fire it up and have functioning code if you didn't commit it to

111
00:11:44,660 --> 00:11:49,620
your source repository in that state and you can't actually deploy it to your environments in that state

112
00:11:49,620 --> 00:11:55,620
fix that because that no developer wants to have to start off with oh crap i don't even know if this is

113
00:11:55,620 --> 00:12:00,500
the right code that seems like a good place to start yeah because once you have something working

114
00:12:00,500 --> 00:12:04,100
then we can talk about all the other great things like you know we can argue do you start with the

115
00:12:04,100 --> 00:12:07,860
test first you start with the code first as long as you walk along the beach that's great but if you

116
00:12:07,860 --> 00:12:13,700
didn't start from working you're standing and not doing much of anything all right how about you

117
00:12:13,700 --> 00:12:18,980
miranda um so the biggest thing for me or that i've seen moving the needle is just putting

118
00:12:19,700 --> 00:12:28,180
the power into developers hands through self-service so whatever you know going through and mapping that

119
00:12:28,180 --> 00:12:34,980
value stream of what does it take to go from an idea to working software and mapping along that

120
00:12:34,980 --> 00:12:41,940
stream and just trying to find what are the manual handoffs where developers need to ask someone else

121
00:12:41,940 --> 00:12:48,980
to do the work and what can we do to automate those um so that's kind of just a huge theme i've seen

122
00:12:48,980 --> 00:12:55,620
over the years the more that we can get into our customers hands and our customers are the developers

123
00:12:55,620 --> 00:13:02,820
and the faster we've seen adoption the faster we've seen growth um the more we've seen people really

124
00:13:02,820 --> 00:13:07,300
understanding the tools because they're getting in and diving in and kind of doing it themselves and

125
00:13:07,300 --> 00:13:14,900
taking that ownership and is that something like that value stream mapping process is that kind of a one

126
00:13:14,900 --> 00:13:23,300
and done or do you have to continuously come back to reassess what the current value stream is for your

127
00:13:23,300 --> 00:13:32,260
developers yeah that's a continual reassessment and matt actually is phenomenal at doing that and he does

128
00:13:32,260 --> 00:13:38,100
that every day with customers um i kind of come in at more of the problems and helping customers troubleshoot

129
00:13:38,100 --> 00:13:43,300
their issues once they're in our platform he's out there trying to find what are the next blockers to

130
00:13:43,300 --> 00:13:50,100
solve so all right so matt uh you've been teed up as the expert in the value stream mapping

131
00:13:50,100 --> 00:13:57,220
process but if you were to step back how would you what would you look at as um you've clearly done this

132
00:13:57,220 --> 00:14:02,900
a number of times are there any patterns that have emerged for you in terms of what's what moves the

133
00:14:02,900 --> 00:14:07,940
needle the most yeah well i was going to talk all about value stream mapping and automation and

134
00:14:07,940 --> 00:14:12,660
developer empowerment but you know miranda kind of beat me to the punch there since you went in reverse

135
00:14:12,660 --> 00:14:19,060
order yeah you know there's i can build off of that though right so we we talk about i i remember days

136
00:14:19,060 --> 00:14:24,420
when we had a lot of stuff automated and that we we'd still run into tickets and and that would take

137
00:14:24,420 --> 00:14:29,620
one two three weeks a month to get done and we were told plan ahead do a better job planning

138
00:14:29,620 --> 00:14:34,820
and that shows a severe lack of understanding of what it's like to be a member of an agile product

139
00:14:34,820 --> 00:14:39,220
team here where we make mistakes we're fallible you know humans are fallible and not everything is

140
00:14:39,220 --> 00:14:45,300
perfect as planned um you know we've we've learned that for decades now right so to kind of get away

141
00:14:45,300 --> 00:14:50,180
from some of those traditional mindsets and realize that we need to pivot we need to make changes

142
00:14:50,180 --> 00:14:54,660
and we need to automate everything everything so you know as we're doing that value stream mapping we

143
00:14:54,660 --> 00:15:00,180
we pinpoint those those uh hindrances those points of friction in the process and we and we target those

144
00:15:00,180 --> 00:15:04,980
ones that are causing the most amount of pain so we shift left right we start to automate those things

145
00:15:04,980 --> 00:15:10,420
and put more power into the hands of the developers but it doesn't stop there um at this point you know

146
00:15:10,420 --> 00:15:15,380
we've shifted left and now developers have more responsibility responsibilities they have all the tools

147
00:15:15,380 --> 00:15:20,980
to deliver software faster but they also have a much greater responsibility so let's look at you know

148
00:15:20,980 --> 00:15:25,220
specifically around the area of security you can't just shift left and say you're done all right

149
00:15:25,220 --> 00:15:30,340
all the security all the um secure code is in your hands now it's up to you guys right so you have

150
00:15:30,340 --> 00:15:34,820
to build in you have to you have to revisit that you have to look at empowering teams not through not just

151
00:15:34,820 --> 00:15:40,740
through tools but providing access to expertise you know people who understand application

152
00:15:40,740 --> 00:15:45,860
security not just these centralized teams that lay all the groundwork and then hand the tools over to

153
00:15:45,860 --> 00:15:51,060
developers so for me it's a lot about building a support system building all of the um all the

154
00:15:51,060 --> 00:15:56,020
things that a developer needs to be able to deliver software not just the tools but providing educational

155
00:15:56,020 --> 00:16:00,580
opportunities access to other expertise one of the big things i've been focusing on lately is really

156
00:16:00,580 --> 00:16:06,500
around inner sourcing and taking the best of breed ideas and making them more reusable so taking these

157
00:16:06,500 --> 00:16:10,660
things that developers are building and make sure that we don't we're not building it time and time again

158
00:16:10,660 --> 00:16:16,020
in the same way on different teams so the long answer a lot of different things piled within there but

159
00:16:16,020 --> 00:16:21,380
it's about shifting left and it's about providing the structure that developers need to be able to

160
00:16:21,380 --> 00:16:25,380
you know provide an environment where developers can be successful at delivering software not just

161
00:16:25,380 --> 00:16:34,260
giving them all the right tools yeah so what's some of the um when you think about creating access to

162
00:16:34,260 --> 00:16:37,700
expertise that's a really interesting uh

163
00:16:39,940 --> 00:16:49,460
concept and i can imagine when you have a lot of developers how do you manage access to expertise

164
00:16:49,460 --> 00:16:57,540
in a scalable way it's definitely been a challenge i mean it's there's still a tendency to fall back into

165
00:16:58,260 --> 00:17:04,420
tickets and service desks and you know structured means of communication across teams a big part of

166
00:17:04,420 --> 00:17:09,460
where i see that we're being successful is really the more of the informal types of stuff you know we're

167
00:17:09,460 --> 00:17:14,900
out there and in slack and we're making ourselves ourselves available to talk to each other across

168
00:17:14,900 --> 00:17:20,900
teams kind of breaking down some of those traditional boundaries so it's definitely easier said than done

169
00:17:21,700 --> 00:17:26,580
but you find the people that are really proving to be successful to show the people that are really

170
00:17:26,580 --> 00:17:33,860
demonstrating both the expertise and the um willingness the appetite to help across teams and you put them

171
00:17:33,860 --> 00:17:41,540
in a position where they're able to do that um allow them to um get involved where applications are

172
00:17:41,540 --> 00:17:45,140
experiencing that pain and where application teams are experiencing that pain and where they need

173
00:17:45,700 --> 00:17:51,460
some additional support so it's a little bit about just uh breaking down some of the barriers

174
00:17:51,460 --> 00:17:55,620
and identifying you know people who are who are best fit to be able to do that we're still you know

175
00:17:55,620 --> 00:17:58,660
still something that we struggle with to this day so we don't have it completely solved

176
00:17:59,700 --> 00:18:06,580
when you find someone who has some useful experience that you think would be wow this this person really

177
00:18:06,580 --> 00:18:13,620
needs to get in front of more of our developers and anyone feel free to chime in but um what do you do

178
00:18:13,620 --> 00:18:18,820
next does that person do you have to talk to their manager and say listen we we want this person to be

179
00:18:18,820 --> 00:18:26,020
able to spend some of their time uh being available to other teams kind of make it part of their job or

180
00:18:26,740 --> 00:18:32,660
you know what what's the next step when you sort of identify those those experts out there personally

181
00:18:32,660 --> 00:18:37,460
for me i try to get them more engaged and more involved we've seen people with a good idea something

182
00:18:37,460 --> 00:18:43,060
that they're building out um that i think others other people could benefit from and i ask them to uh

183
00:18:43,060 --> 00:18:47,300
you know contribute something to our inner source library let's make this let's package this up and

184
00:18:47,300 --> 00:18:53,780
make it um make it reusable or or um or i might start a i might ask them to do a blog post on

185
00:18:53,780 --> 00:18:58,180
the topic and then i'll try to get some more i'll leverage that and try to get some more return on

186
00:18:58,180 --> 00:19:03,060
the investment so to speak to make sure that we're taking that that skill set and getting getting the

187
00:19:03,060 --> 00:19:07,380
most mileage from it whether it's through direct involvement across teams or just having them

188
00:19:07,380 --> 00:19:12,500
commit in ways that we can uh benefit from more broadly without without asking for a bunch of time

189
00:19:12,500 --> 00:19:16,260
or a large commitment so it's really just trying to give them a voice and get them out there in the

190
00:19:16,260 --> 00:19:21,540
community and get them engaged to where they feel recognized and they feel value in what they're doing it

191
00:19:21,540 --> 00:19:27,540
it doesn't feel like just another job assignment yeah yeah that recognition can be a really a great

192
00:19:27,540 --> 00:19:38,980
motivator for you know humans and stuff um okay so coming back to um you know developer experience

193
00:19:38,980 --> 00:19:45,060
there's there's something that recently i've seen come up a lot that i'm curious what y'all's perspective

194
00:19:45,860 --> 00:19:53,860
i don't know if that's an appropriate use of y'all but uh we're just gonna we're just gonna go okay

195
00:19:53,860 --> 00:20:01,780
oh okay great um wait twice or thrice we had to bring in thrice so you know thank you no that was

196
00:20:01,780 --> 00:20:07,060
like we're on like a volleyball team i don't know if you're goose and i'm maverick but someone just set

197
00:20:07,060 --> 00:20:14,500
and someone just spike it's something like that it's great um team work so this this kind of notion

198
00:20:14,500 --> 00:20:21,220
coming up we're trying to connect the dots between some you know some technologies out there stuff like

199
00:20:21,220 --> 00:20:28,020
kubernetes and then developer experience and helping people understand what's the connective tissue

200
00:20:28,020 --> 00:20:34,500
between these two things what needs to happen between them and one thing that i i'd love to get

201
00:20:35,060 --> 00:20:42,260
y'all's perspective on there we go that was at least twice maybe thrice um is what's the what's the

202
00:20:42,260 --> 00:20:49,700
the connection what what is it about containerizing applications uh and then getting them on some kind of

203
00:20:49,700 --> 00:20:56,740
platform that enhances the developer experience that helps it um and on the flip side where are some

204
00:20:56,740 --> 00:21:01,300
things that where it maybe creates some challenges as well like different challenges that didn't exist

205
00:21:01,300 --> 00:21:08,900
before but can can we help connect the dots for folks between okay containerizing apps it's been

206
00:21:08,900 --> 00:21:16,180
something that's happened for a long time um how does that help how is that better than what folks did

207
00:21:16,180 --> 00:21:20,900
before i'll look at you kevin because i know you're you work on the platform side of things

208
00:21:21,540 --> 00:21:27,860
absolutely so in kind of like you're describing with essentially all the talk about kubernetes now and

209
00:21:27,860 --> 00:21:34,100
especially in context of cloud foundry comparing that to the diego runtime um one of the things that

210
00:21:34,100 --> 00:21:40,260
i guess it's kind of hit me somewhere along the way is the whole spirit of a pause is that

211
00:21:40,260 --> 00:21:45,700
that's not a part of the equation and good or bad i believe that delivery has happened

212
00:21:45,700 --> 00:21:50,900
in such a way that the developers that you know are essentially working on the applications that are

213
00:21:50,900 --> 00:21:57,460
great fix fit for a you know platform as a service don't even realize that they're taking advantage of

214
00:21:57,460 --> 00:22:04,500
it because it's just it's a run detail um i i have yet to actually find um actually probably anyone that

215
00:22:04,500 --> 00:22:10,660
would call themselves a developer that actually enjoys networking you know so kind of in that same spirit

216
00:22:11,620 --> 00:22:17,380
creating your your your your you know your code that's running to to actually do that you don't

217
00:22:17,380 --> 00:22:21,140
really know or care necessarily that it's in a container the beauty of the container is exactly

218
00:22:21,140 --> 00:22:26,180
the same thing you started with your manifest you declared exactly what version of stuff you want in

219
00:22:26,180 --> 00:22:30,340
there um we have a little bit of abstractions in there that kind of help us out from the security

220
00:22:30,340 --> 00:22:35,380
space where hopefully you know the apis are compliant and the stuff runs you just you create your code and

221
00:22:35,380 --> 00:22:40,340
you put it out there and runs and then you put it in this native environment where you have multiple

222
00:22:40,340 --> 00:22:44,340
instances so you care about the fact that your app is up and running and to a certain degree you don't

223
00:22:44,340 --> 00:22:49,780
care if there's one running two running or 200 running as long as your app sustaining your workload

224
00:22:49,780 --> 00:22:55,220
and as long as you don't have an outage you're happy you're delivering what that application is supposed

225
00:22:55,220 --> 00:23:00,180
to do containers at the back end allow us to do a lot of those things i teased in there it allows us

226
00:23:00,180 --> 00:23:05,780
to potentially swap out security layers you never even knew or never even cared um it allows you to

227
00:23:05,780 --> 00:23:10,980
keep isolation in the sense that like when the rolling platform upgrades are rolling um the actual

228
00:23:10,980 --> 00:23:15,220
virtual machines themselves successfully shut down because they're in a container you don't have

229
00:23:15,220 --> 00:23:20,580
the hung processes that used to exist in the past we're now pushing where we want to have ross is

230
00:23:20,580 --> 00:23:27,220
running hopefully closer to hours at a time where um you know a couple of decades ago i almost made

231
00:23:27,220 --> 00:23:31,460
an uptime of over a year and i actually almost saw that on one of my running servers but that's like

232
00:23:31,460 --> 00:23:36,180
two decades ago now i'd rather see that thing destroyed in a matter of a couple hours because

233
00:23:36,180 --> 00:23:41,940
you know the spirit is to get it to zero so the the part of the beauty of the containerization to me

234
00:23:41,940 --> 00:23:46,820
is all of that stuff is it is a backroom detail of which i've kind of been a backroom guy

235
00:23:47,460 --> 00:23:52,740
and even there me personally i don't really it doesn't matter to me that much what matters to me

236
00:23:52,740 --> 00:23:59,860
is the haiku give me your code i will run it and you don't need to know how so the container is the

237
00:23:59,860 --> 00:24:05,540
answer in that today and if that container happens to be purple great if it happens to be yellow awesome

238
00:24:05,540 --> 00:24:12,580
if it's multi-color make it a rainbow put a unicorn in it i see what you're doing there but i'm not

239
00:24:12,580 --> 00:24:20,340
taking the bait yet um okay so so matt any perspective on from the the security architecture

240
00:24:20,340 --> 00:24:27,300
side kevin alluded to the fact that you know while it's it's really kind of a an implementation detail

241
00:24:27,300 --> 00:24:33,940
that ideally developers don't have to worry about don't have to know about but it does allow for some

242
00:24:33,940 --> 00:24:40,100
interesting things to happen behind the scenes um some isolation and uh the ability to make some

243
00:24:40,100 --> 00:24:48,500
security changes so from that perspective does it help the developer experience

244
00:24:49,700 --> 00:24:52,580
because it allows you to create an environment where they don't know about it

245
00:24:53,380 --> 00:24:59,140
yeah i mean absolutely helps with um you know taking some of that away from the developer's

246
00:24:59,140 --> 00:25:03,780
responsibility but there's been a little bit of a cultural shift there as well you i mean when we

247
00:25:03,780 --> 00:25:08,340
started moving more towards these disposable containers developers wanted to keep control wait a

248
00:25:08,340 --> 00:25:11,940
minute why are you why are you applying the latest build pack why are you doing these upgrades this is

249
00:25:11,940 --> 00:25:16,340
going to break my system when i when i don't expect it right well that you're trying to take away one of

250
00:25:16,340 --> 00:25:21,300
the main advantage of shifting towards these containers is it allows us to do these ongoing upgrades

251
00:25:21,300 --> 00:25:24,580
every time you deploy your app you're going to get the latest security patches and we're going to make

252
00:25:24,580 --> 00:25:28,420
sure that you're running in a safe and secure environment so there's a little it took a little

253
00:25:28,420 --> 00:25:34,660
bit of uh of adjustment to get used to but we're at that point now where we're really benefiting from

254
00:25:34,660 --> 00:25:38,980
that when you you know making sure that we're applying all the latest security patches keeping um

255
00:25:38,980 --> 00:25:43,780
applications isolated um upgrading certificates and there's really a lot that's handled by the underlying

256
00:25:43,780 --> 00:25:48,340
platform and building out those containers that we can take care of on the fly like kevin said

257
00:25:48,340 --> 00:25:53,940
earlier you know he's he's lazy i can i can uh i can relate to that i think we all are on some level

258
00:25:53,940 --> 00:25:57,860
right so we don't want to have to do all those things ourselves every month we don't want to have

259
00:25:57,860 --> 00:26:02,260
to deal with that the life cycle updates just to keep our applications up to date we just want to

260
00:26:02,260 --> 00:26:06,740
deliver value and so the containers really help us get to that point i remember going back a few years

261
00:26:06,740 --> 00:26:12,020
when we're teaching people what's a blue green deployment what does that mean to be able to deliver with

262
00:26:12,020 --> 00:26:17,060
zero downtime and we're past that now we're talking about sort of that next level some of the next level

263
00:26:17,060 --> 00:26:24,340
challenges and um i'm able to deliver software at speed and a large part of that is really our ability

264
00:26:24,340 --> 00:26:31,940
to take advantage of containers okay um yeah that's okay that's starting to connect the dots and i think

265
00:26:31,940 --> 00:26:38,100
you're you're touching on what that real value of developer experience in the first place right if we

266
00:26:38,100 --> 00:26:44,180
always come back to that that's our north star which is we're we're delivering value to our end users

267
00:26:44,180 --> 00:26:52,820
right we're getting that value to production if this helps us get there um then great it's uh it's

268
00:26:52,820 --> 00:26:59,620
supporting that that goal um i wanted to sort of poke a little bit more also on the security side

269
00:26:59,620 --> 00:27:04,020
because there's another aspect to the developer experience that comes up a lot which is sort of

270
00:27:04,020 --> 00:27:09,620
thinking about talking about getting value to production right and it's like that's very

271
00:27:10,420 --> 00:27:17,060
deliberate um that like just building the code and getting it working right to kevin's point of

272
00:27:18,180 --> 00:27:24,660
like let's start with working um yeah that's important that allows us to then you know do things more

273
00:27:24,660 --> 00:27:32,580
repeatedly right if we if we have a working state but getting it to production has a higher bar

274
00:27:33,540 --> 00:27:37,700
and i know that one of the things that's in that uh that raises the bar is certainly a lot of

275
00:27:37,700 --> 00:27:45,620
security requirements so when you think about okay what's helping us deliver that value to customers

276
00:27:45,620 --> 00:27:50,420
we have to get all the way to production what are some of the things that you see help improve the

277
00:27:50,420 --> 00:27:57,620
developer experience um by looking at that path to production and maybe matt you can comment on the

278
00:27:57,620 --> 00:28:02,900
security side and miranda and kevin can comment on some of the other aspects yeah for me it's like i

279
00:28:02,900 --> 00:28:07,380
always make the assumption that developers want to do the right thing they always have the the right

280
00:28:07,380 --> 00:28:12,900
intentions i mean it's certainly not true 100 of the time but um it helps to think of it that way

281
00:28:12,900 --> 00:28:18,340
in in terms of like we have to make it easy to do the right thing and developers will do it they want

282
00:28:18,340 --> 00:28:21,940
to do what's right but they'll take the path of least resistance to get there so when it comes to

283
00:28:21,940 --> 00:28:26,580
getting an application to production and this process gets me there in a in a month and this other

284
00:28:26,580 --> 00:28:33,940
process gets me there in six months you know which path we're going to take right um so to me it's a

285
00:28:33,940 --> 00:28:38,660
lot about um you know looking at that at the points of friction and trying to and looking at the path of

286
00:28:38,660 --> 00:28:43,700
least resistance and trying to make it make it easy to do what's right and it ties back to a lot to

287
00:28:43,700 --> 00:28:48,260
developer empowerment and automation of all the capabilities that we need people to be you know

288
00:28:48,260 --> 00:28:51,940
need to be following and a lot of the practices that we want people to be following and making it easy

289
00:28:51,940 --> 00:28:57,780
to build that into applications yeah and that that also makes the case for that value stream mapping

290
00:28:57,780 --> 00:29:05,460
process that it helps to know how long it takes to get to production some other way um because then then

291
00:29:05,460 --> 00:29:11,540
now you have your target it's like i've got to be less than that less friction less time uh fewer

292
00:29:11,540 --> 00:29:15,860
tickets whatever whatever the the measure of friction you want to have but it's got to it's got to be

293
00:29:15,860 --> 00:29:23,620
easier than that and then that's how that's how i'm going to shift developer behavior Miranda how about

294
00:29:23,620 --> 00:29:29,620
you uh what do you see in terms of the the distinction of getting to production and what is how does that

295
00:29:29,620 --> 00:29:37,700
change the the developer experience bar yeah so i think um something that i've noticed about getting

296
00:29:37,700 --> 00:29:43,860
to production that's interesting is kind of each summer when we bring in our new interns or our new

297
00:29:43,860 --> 00:29:49,620
hires um at least for the interns the challenge i have whenever i'm entering an intern is within their

298
00:29:49,620 --> 00:29:56,660
first day they release something out to production and it's like years ago you know everyone would be

299
00:29:56,660 --> 00:30:00,900
so excited like oh i got some code running in production today that's amazing and now the

300
00:30:00,900 --> 00:30:07,780
interns are like okay that's great you know next what's next so it's funny to like have that changing

301
00:30:07,780 --> 00:30:15,460
perspective every year of seeing the shift of um new people coming in because they haven't felt that pain

302
00:30:15,460 --> 00:30:21,540
of waiting weeks or months to get something up and running into production so it's like i'm over

303
00:30:21,540 --> 00:30:28,180
here having a party and you know they're not quite as excited so trying to yeah try to find like okay

304
00:30:28,180 --> 00:30:34,420
what's that next bar that we have to measure to and what's that it's almost like a continuous journey of

305
00:30:34,420 --> 00:30:44,020
how can we improve dev experience because people coming in have totally different perspectives on what

306
00:30:44,020 --> 00:30:49,620
developer experience is like compared to you know those of us who have been working in this field for a

307
00:30:49,620 --> 00:30:56,500
little while yeah that's an interesting perspective on our you know like some i'm sure you could ascribe

308
00:30:56,500 --> 00:31:05,380
some generational commentary on uh on that we won't quite go there but um who needs labels uh but but

309
00:31:05,380 --> 00:31:11,860
yeah that's true where you know over time like this kind of amounts to just a completely different set of

310
00:31:11,860 --> 00:31:18,420
expectations where folks uh don't remember the olden days when you used to have to get in a horse and

311
00:31:18,420 --> 00:31:24,740
buggy to get your code to production um but all right so kevin how about you what do you what do you

312
00:31:24,740 --> 00:31:30,980
think in terms of uh thinking all the way through to production what does that mean for the developer

313
00:31:30,980 --> 00:31:37,060
experience for you it's going to be basically a lot of the sentiment the way matt described it but i think

314
00:31:37,060 --> 00:31:44,100
one of the best ways i've heard it secure by default i'm going to make it hard for you to actually remove

315
00:31:44,100 --> 00:31:49,780
the security control that was already there for you in place you know like one simple thing feel free to

316
00:31:49,780 --> 00:31:57,540
hit our um services with an http call it's not going to work everything's encrypted it's just easier you

317
00:31:57,540 --> 00:32:02,900
you don't just do you know there's a couple of key simple things like that um how about we sign our

318
00:32:02,900 --> 00:32:07,460
certificates with a public signer that's already in all of these other common trust stores you know

319
00:32:07,460 --> 00:32:12,420
how much work that eliminates it's kind of awesome secure by default it's already part of an existing

320
00:32:12,420 --> 00:32:16,980
trust state little simple things like that all the way through you know same like in spring security

321
00:32:16,980 --> 00:32:23,220
if you just add it to your spring boot app in the palm you have security turned on awesome you know

322
00:32:23,220 --> 00:32:28,020
to me that's the best way to describe all of that stuff figure out how to embed it in from your your

323
00:32:28,020 --> 00:32:33,140
your working starting point and make it hard to actually remove it because we're all lazy and i'm

324
00:32:33,140 --> 00:32:36,900
not going to remove it because it doesn't actually have any value for me to remove security and if you

325
00:32:36,900 --> 00:32:42,100
make it hard you know you deliver from that obviously those words a lot easier to say than it is to

326
00:32:42,100 --> 00:32:46,820
actually execute on um but that's you know the spirit of how we approach everything kind of in the

327
00:32:46,820 --> 00:32:51,780
makes a ton of sense and and some the way that you're kind of describing this of like

328
00:32:52,900 --> 00:33:02,020
okay if i i have to make it harder to like turn off the secure by default um features or attributes

329
00:33:02,020 --> 00:33:09,700
right uh that it triggered something for me thinking about like how do you stay in touch with what

330
00:33:10,900 --> 00:33:16,180
what are developers thinking what are some of the practices you use kevin to just kind of stay in

331
00:33:16,180 --> 00:33:22,500
touch with that like do you sit by side side by side with developers how do you kind of stay

332
00:33:23,300 --> 00:33:29,860
in their their head and build empathy for what they're doing the i guess when you say it that way

333
00:33:29,860 --> 00:33:34,580
i guess it's really shoulder to shoulder so okay i said i'm i'm kind of the on the back side of that

334
00:33:34,580 --> 00:33:39,700
equation if you will so i don't get to do as much of the hey i'm starting a fresh project with

335
00:33:39,700 --> 00:33:44,100
from the developer perspective you know here's my fresh new spring boot app um we use that a lot

336
00:33:44,100 --> 00:33:48,660
for ourselves for testing out the foundations and all the work that we do but what comes down to most

337
00:33:48,660 --> 00:33:53,300
of my interactions with developers it's on that other side of the equation so i don't get that nearly

338
00:33:53,300 --> 00:33:58,340
as much but quite simply that what comes down to is when a problem comes it's exactly that we just sit

339
00:33:58,340 --> 00:34:02,580
shoulder to shoulder and we start pounding at that code and you know for those that happen to be the

340
00:34:02,580 --> 00:34:08,820
same offices to me shoulder to shoulder is awesome obviously literally but virtually um you know we we

341
00:34:08,820 --> 00:34:13,140
we have at least three different failing types of video technology that we could fall back

342
00:34:13,140 --> 00:34:17,140
over to the other one when one of them's not working you know so we just get together and

343
00:34:17,140 --> 00:34:23,940
throw some code figure it out yeah no single point of video conferencing failure that's uh that's a good

344
00:34:23,940 --> 00:34:30,740
takeaway um and it's redundancy or other great terms of yes yeah when uh when physical shoulder to

345
00:34:30,740 --> 00:34:38,100
shoulder doesn't work um miranda matt what what else would you add in terms of how do you maintain or or

346
00:34:38,100 --> 00:34:43,540
build empathy for developers i know you you're both everyone's sort of described as a developer at

347
00:34:43,540 --> 00:34:51,060
heart but you know but people sometimes think different do different if for me for me personally i do spend

348
00:34:51,060 --> 00:34:56,500
a portion of my time in the trenches so to speak shoulder to shoulder with our developers in our

349
00:34:56,500 --> 00:35:01,860
our community our customer base and it's not uncommon for me to go to cavins and have you ever seen

350
00:35:01,860 --> 00:35:07,940
somebody try to use this right let's look at this experience but i i try to um i i guess i make a personal

351
00:35:07,940 --> 00:35:12,020
sacrifice to spend a lot of time keeping a wide open door and having people bring me bring me

352
00:35:12,020 --> 00:35:17,220
problems um a lot of times you discover things that you don't know uh customers are doing just to work

353
00:35:17,220 --> 00:35:22,500
around the things that we put in place we don't even they don't even you know i guess until you spend

354
00:35:22,500 --> 00:35:26,660
time in in their shoes you don't understand what it's like to work with some of the experiences that

355
00:35:26,660 --> 00:35:31,220
we put in place so i i personally try to help them actually solve their problems not just talk to them

356
00:35:31,220 --> 00:35:37,220
and ask them via surveys what are the biggest pain points but rather sit down with them and try to solve

357
00:35:37,220 --> 00:35:40,500
the problem together and that way you can kind of experience what they're going through why they're

358
00:35:40,500 --> 00:35:44,900
doing it the way they are um and that sort of stuff so i spend a lot of time doing that that's

359
00:35:44,900 --> 00:35:49,300
the only way that i'm i think i'm successful able successfully able to advocate for the needs of

360
00:35:49,300 --> 00:35:53,540
our developers is by actually spending time in their shoes and trying to work with our tools that we put

361
00:35:53,540 --> 00:36:02,740
in place yeah that makes a lot of sense mirenda how about you yeah so i spend pretty much all day

362
00:36:02,740 --> 00:36:11,220
every day with developers customers across the organization um so my part of our department is our what we call

363
00:36:11,220 --> 00:36:19,700
customer success so we're handling all the um support tickets that are coming in so we're seeing all that

364
00:36:19,700 --> 00:36:27,380
we're working with customers every day through that but then also my personal passion is with education so

365
00:36:27,380 --> 00:36:32,980
i'm working with a lot of our training department helping develop curriculums helping

366
00:36:33,540 --> 00:36:40,260
run hackathons run workshops so i sit in on a lot of that training just to see you know how people are

367
00:36:40,900 --> 00:36:46,020
experiencing our platform for the first time so in that way i do a lot of shoulder to shoulder

368
00:36:46,820 --> 00:36:52,820
kind of getting those first impressions yeah those are really valuable because like once someone gets used

369
00:36:52,820 --> 00:37:01,380
to uh a way of doing things the you know human brains just start to cluster together sets of uh

370
00:37:02,340 --> 00:37:11,220
behaviors and uh tasks into a meta task like you know brush my teeth as opposed to get out toothbrush

371
00:37:11,220 --> 00:37:19,140
get out toothpaste remove cap blah blah blah so um you know that those those first time experiences

372
00:37:19,140 --> 00:37:24,260
that's that's a great point of how you get you know imagine someone brushing their teeth for the first

373
00:37:24,260 --> 00:37:29,300
time like you're gonna see all the things they're like why do i have to do this how much toothpaste do

374
00:37:29,300 --> 00:37:35,620
i put on so um that's great all right my last question is something that came up in our prep call

375
00:37:35,620 --> 00:37:46,180
um that that got my attention uh matt you described having some unicorn stickers that are uh sort of

376
00:37:46,180 --> 00:37:54,100
coveted awards and recognition speaking of recognizing and humans to tell us about these unicorn stickers

377
00:37:55,220 --> 00:38:02,740
yeah um interesting question the uh the uh we talked about this a little bit earlier actually my my desire to

378
00:38:02,740 --> 00:38:09,060
kind of combine this um this uh developer advocacy with security architecture and try to recognize

379
00:38:09,060 --> 00:38:15,380
those people with that expertise to help out help break down some of those boundaries and uh helping

380
00:38:15,380 --> 00:38:20,580
across teams and i've noticed that it's pretty hard to find people that are skilled in both

381
00:38:20,580 --> 00:38:24,580
development and security in fact when i was going after my current position i remember

382
00:38:25,460 --> 00:38:29,620
coming across some naysayers and it seemed like they were there was going to be a desire to find

383
00:38:29,620 --> 00:38:35,460
somebody with some deep textbook security expertise and instead of being afraid of that i kind of embraced

384
00:38:35,460 --> 00:38:39,780
it and i said this is this is what i bring to the table this is what our organization needs right now

385
00:38:40,340 --> 00:38:44,980
to kind of shift left and start to put that support system in place to be able to help

386
00:38:44,980 --> 00:38:51,460
our application teams deliver secure code and when i ended up kind of landing the job and and taking that

387
00:38:51,460 --> 00:38:56,660
taking on that role my wife actually got me a pack of unicorn stickers unicorns with with computers

388
00:38:57,460 --> 00:39:02,580
because um you know this was like uh i guess everybody told me that it was a that the someone

389
00:39:02,580 --> 00:39:08,260
who knows development and security is a bit of a unicorn in our industry so i got this pack of uh

390
00:39:08,260 --> 00:39:14,180
unicorn stickers to give out and the way i chose to use that was you know when somebody does something

391
00:39:14,180 --> 00:39:19,540
chose demonstrates some secure coding practices um i give them a little unicorn sticker to put on their

392
00:39:19,540 --> 00:39:26,180
laptop so it's uh just a little form of recognition that somebody's um doing the right thing and um

393
00:39:26,180 --> 00:39:32,260
learning something new at the same time yeah that's that's quite a a club to gain membership

394
00:39:32,260 --> 00:39:39,540
into is the uh the unicorn sticker club so i imagine there's lots of folks at liberty mutual

395
00:39:39,540 --> 00:39:47,220
proudly displaying their unicorn uh computer stickers i've given out a few but they're not they're not

396
00:39:47,220 --> 00:39:53,140
easy to come by so yeah well that's what i hear about unicorns you know i keep looking but i found a

397
00:39:53,140 --> 00:40:01,140
lot of rhinos uh instead um all right well thank you everyone for for joining us today it's been a

398
00:40:01,140 --> 00:40:06,980
an enlightening discussion about developer experience and content connecting a bunch of dots across

399
00:40:06,980 --> 00:40:14,500
uh what that means from technology and practices and people and teams uh and and automating all the

400
00:40:14,500 --> 00:40:22,740
processes in between so thank you and uh talk to you again soon

401
00:40:36,980 --> 00:41:06,960
Thank you.
