1
00:00:00,100 --> 00:00:03,200
Before we start today's episode.
I'd like to announce our lucky 

2
00:00:03,200 --> 00:00:06,000
winners of the jetbrains 
giveaway contest that ended a 

3
00:00:06,008 --> 00:00:08,800
few days ago. 
Thank you so much for all of you

4
00:00:08,800 --> 00:00:11,300
who have participated and 
sharing your feedback your 

5
00:00:11,300 --> 00:00:14,200
learnings and your kind support 
either on LinkedIn or even 

6
00:00:14,200 --> 00:00:16,900
directly to me. 
I really, really appreciate all 

7
00:00:16,900 --> 00:00:18,700
of that. 
And I do hope to grow this 

8
00:00:18,700 --> 00:00:20,800
community, even bigger going 
forward. 

9
00:00:21,200 --> 00:00:24,000
And I need your help to share 
this podcast to your friends 

10
00:00:24,000 --> 00:00:26,900
colleagues and others who you 
think would benefit from it. 

11
00:00:27,100 --> 00:00:31,100
So, the three lucky winners of 
the contest are Our Prime sunde 

12
00:00:31,200 --> 00:00:34,600
Eliza and Jerome. 
Congratulations for winning the 

13
00:00:34,600 --> 00:00:36,400
jetbrains. 
All products pack, personal 

14
00:00:36,400 --> 00:00:38,900
license, and thank you again for
participating. 

15
00:00:39,500 --> 00:00:43,500
So continuous integration, when 
you are integrating the day over

16
00:00:43,500 --> 00:00:47,000
there, developers on that code 
base, you may or may not have 

17
00:00:47,000 --> 00:00:50,400
branches. 
But the larger objective is you 

18
00:00:50,400 --> 00:00:54,600
integrate with each other as 
soon as possible continuous 

19
00:00:54,600 --> 00:00:58,200
delivery is when your code, 
isn't a Deployable State and 

20
00:00:58,200 --> 00:01:04,800
functionally, correct. 
Hey everyone. 

21
00:01:05,300 --> 00:01:10,200
My name is Henry sura, one. 
And you're listening to the 

22
00:01:10,200 --> 00:01:13,500
tekhelet journal. 
The show will be bringing you 

23
00:01:13,500 --> 00:01:17,100
the greatest technical leaders 
practitioners and thought 

24
00:01:17,100 --> 00:01:20,400
leaders in the industry to 
discuss about their Journey 

25
00:01:20,700 --> 00:01:25,100
ideas and practices that we all 
can learn and apply to build a 

26
00:01:25,100 --> 00:01:28,800
highly performing technical team
and to make an impact in your 

27
00:01:28,800 --> 00:01:32,400
personal work. 
So let's dive into our Journal. 

28
00:01:37,800 --> 00:01:41,100
Hey everyone, welcome to a new 
episode of the tekhelet journal 

29
00:01:41,100 --> 00:01:43,100
with me Ojos Henry Surya with 
Robin. 

30
00:01:43,600 --> 00:01:46,100
Do you know that tekhelet 
journal provide comprehensive 

31
00:01:46,200 --> 00:01:49,700
episode show notes on its 
website at technology on o.f 

32
00:01:50,100 --> 00:01:52,800
unlike majority of podcasts 
available out there. 

33
00:01:53,200 --> 00:01:55,900
Pecola Journal provides full 
transcript that you can use to 

34
00:01:55,900 --> 00:01:58,800
follow the discussion or even 
such favorite parts of the 

35
00:01:58,800 --> 00:02:01,800
conversation that you would like
to go back to for deeper 

36
00:02:01,800 --> 00:02:04,400
understanding the show notes 
page also provides. 

37
00:02:04,500 --> 00:02:06,100
Ides. 
Interesting quotes that are 

38
00:02:06,100 --> 00:02:08,600
personally. 
Curate, and also the list of 

39
00:02:08,600 --> 00:02:11,100
links and resources that are 
mentioned throughout the 

40
00:02:11,100 --> 00:02:13,900
conversation. 
And if you are like me, who 

41
00:02:13,900 --> 00:02:17,400
listen to podcast when doing 
exercise or other activities and

42
00:02:17,400 --> 00:02:20,300
frequently find it challenging 
to remember the important parts 

43
00:02:20,300 --> 00:02:24,000
of the conversation, do check 
out the episode show notes page 

44
00:02:24,100 --> 00:02:26,700
on the technology on our website
at technique Journal. 

45
00:02:27,000 --> 00:02:29,400
Deaf. 
It is my mission to provide the 

46
00:02:29,400 --> 00:02:32,900
best possible medium for all of 
you to consume the podcast 

47
00:02:32,900 --> 00:02:35,300
content. 
And I would To hear from you. 

48
00:02:35,300 --> 00:02:38,300
If you have a good story on how 
you're benefiting from the show 

49
00:02:38,300 --> 00:02:42,700
notes page for today's episode. 
And this is so far the longest 

50
00:02:42,700 --> 00:02:44,700
episode that I have on the 
podcast. 

51
00:02:45,000 --> 00:02:48,500
I'm very, very happy to share my
conversation with Shri Ram, 

52
00:02:48,500 --> 00:02:52,500
Narayan on or RAM for short. 
I consider Ram as one of my 

53
00:02:52,500 --> 00:02:55,900
go-to mentors and I always love 
hearing him talking and sharing 

54
00:02:55,900 --> 00:02:59,200
his insights on many things that
he has interest in. 

55
00:02:59,900 --> 00:03:03,400
ROM is a principal consultant at
thoughtworks Singapore, helping 

56
00:03:03,400 --> 00:03:06,200
customers on their Ernie to 
continuous delivery. 

57
00:03:06,800 --> 00:03:09,700
Ram, likes to explain things in 
a deep way touching the 

58
00:03:09,700 --> 00:03:13,300
fundamental principles of the 
topic and utilizing interesting 

59
00:03:13,300 --> 00:03:15,200
anecdotes from his vast 
experience. 

60
00:03:15,700 --> 00:03:18,400
And you can find those a lot 
throughout this conversation. 

61
00:03:19,000 --> 00:03:21,400
Every time I have this kind of 
conversation with him. 

62
00:03:21,400 --> 00:03:24,400
I always learn a lot and I hope 
all of you can learn a lot from 

63
00:03:24,400 --> 00:03:27,800
this as well. 
In this episode, we discussed in

64
00:03:27,800 --> 00:03:30,800
depth about what continuous 
delivery is, including several 

65
00:03:30,800 --> 00:03:34,000
important Concepts in the devops
world such as testing pyramid. 

66
00:03:34,500 --> 00:03:37,500
History map and segregation of 
Duty Ram. 

67
00:03:37,500 --> 00:03:40,500
Also gave his valuable tips on 
how to become a successful 

68
00:03:40,500 --> 00:03:43,300
consultant and how to manage 
client stakeholders. 

69
00:03:43,300 --> 00:03:47,600
Well, we also touch on a few fun
discussions on how one should 

70
00:03:47,600 --> 00:03:51,100
keep up with the rapid changes 
in technology and also deal with

71
00:03:51,100 --> 00:03:55,800
a plethora of industry buzzwords
and you do not want to miss the 

72
00:03:55,800 --> 00:03:59,800
insightful, archery analogy 
anecdote in our conversation. 

73
00:04:00,600 --> 00:04:03,200
And before you start listening, 
I would suggest you to find a 

74
00:04:03,200 --> 00:04:04,300
quiet place. 
Clear. 

75
00:04:04,500 --> 00:04:07,800
Mine in, probably get some 
coffee to enjoy this episode. 

76
00:04:08,300 --> 00:04:11,500
Let me know how you like the 
conversation and don't forget to

77
00:04:11,508 --> 00:04:14,700
subscribe to technology. 
You know, if you have an eye you

78
00:04:14,700 --> 00:04:17,700
start up in software development
Which is less than five years 

79
00:04:17,700 --> 00:04:20,700
old. 
If yes our sponsor at jetbrains 

80
00:04:20,700 --> 00:04:24,700
have a 50% startup discount 
offer, which allows startups to 

81
00:04:24,700 --> 00:04:28,200
purchase multiple products and 
subscriptions for up to 10 

82
00:04:28,200 --> 00:04:31,800
unique licenses, over a period 
of months to find out more 

83
00:04:32,000 --> 00:04:34,300
search for jetbrains startup 
discount off. 

84
00:04:35,000 --> 00:04:37,800
Are you can check out the link 
mention in the show notes? 

85
00:04:40,100 --> 00:04:41,200
Hey, everyone. 
Today. 

86
00:04:41,200 --> 00:04:45,400
I'm very excited to meet one of 
my mentors in my career. 

87
00:04:45,500 --> 00:04:49,700
So I met three Ram, Narayan in 
thoughtworks Ram is one of the 

88
00:04:49,700 --> 00:04:53,400
thought leaders in the industry 
around continuous delivery, a 

89
00:04:53,400 --> 00:04:55,600
gel devops. 
And today. 

90
00:04:55,600 --> 00:04:58,700
I'm excited again, to be able to
be speaking with him. 

91
00:04:58,700 --> 00:05:01,500
Discussing about things that 
he's passionate about and also 

92
00:05:01,500 --> 00:05:04,300
hopefully he can leave some of 
the wisdoms. 

93
00:05:04,400 --> 00:05:08,000
And Jesus of his career that we 
all can learn and apply for our 

94
00:05:08,000 --> 00:05:10,800
career as well. 
So without further Ado, welcome 

95
00:05:10,800 --> 00:05:16,800
rum, thank you very much. 
So from looking at your career, 

96
00:05:16,800 --> 00:05:20,100
I must say that I'm pretty stun 
in terms of your progression 

97
00:05:20,100 --> 00:05:24,900
from your 14 15 years journey in
part works, you gradually shift 

98
00:05:24,900 --> 00:05:27,900
from like being a junior 
developer up to a principal 

99
00:05:27,900 --> 00:05:30,400
consultant up to. 
Now consider one of the thought 

100
00:05:30,400 --> 00:05:33,600
leaders within the region. 
Can you probably share with us? 

101
00:05:33,600 --> 00:05:37,000
What's your You like and what 
are the major turning points in 

102
00:05:37,000 --> 00:05:39,200
your career? 
That could be shared with all of

103
00:05:39,200 --> 00:05:41,000
us here. 
Thank you, Henry, for their 

104
00:05:41,000 --> 00:05:41,900
generous. 
Praise. 

105
00:05:42,100 --> 00:05:44,300
The truth is I've been really 
fortunate. 

106
00:05:44,400 --> 00:05:46,900
I have been very fortunate to 
have had the right kind of 

107
00:05:46,900 --> 00:05:49,600
mentors and support in my 
journey at what works. 

108
00:05:49,600 --> 00:05:51,500
And you tell you even before 
that. 

109
00:05:51,700 --> 00:05:54,300
I have come to realize that 
there is always something to 

110
00:05:54,300 --> 00:05:58,100
learn from everybody around us 
and I can tell you often am the 

111
00:05:58,100 --> 00:06:01,000
stupidest person in the room. 
I've not gone through all that 

112
00:06:01,000 --> 00:06:04,500
much of formal education for 
family reasons and you know, I 

113
00:06:04,500 --> 00:06:07,900
started to work rather early in 
life, maybe in retrospect. 

114
00:06:07,900 --> 00:06:10,700
I would say like Steve Jobs 
said, connect the dots in my 

115
00:06:10,700 --> 00:06:14,000
case that helped a lot, you 
know, at an early age around 

116
00:06:14,000 --> 00:06:17,500
fifteen and a half to 16. 
I had to go start partly my own 

117
00:06:17,500 --> 00:06:19,600
businesses, partly work for the 
people. 

118
00:06:19,800 --> 00:06:22,500
And when you just kind of finish
school and you start doing 

119
00:06:22,500 --> 00:06:25,800
things like that, it changes 
your exposure to the world. 

120
00:06:26,000 --> 00:06:28,900
You don't really get the chance 
to grow up with other teenagers 

121
00:06:28,900 --> 00:06:32,400
as they go through college, but 
life becomes way more serious. 

122
00:06:32,400 --> 00:06:36,000
Where it's a revenue earning. 
Woman on a day-to-day basis, you

123
00:06:36,000 --> 00:06:38,400
know, especially when you're 
that young, you are not going to

124
00:06:38,400 --> 00:06:41,300
be a high-flying consultant with
a fixed guaranteed, minimum 

125
00:06:41,300 --> 00:06:44,400
salary or month, right? 
These are all the small jobs or 

126
00:06:44,400 --> 00:06:47,200
jobs that you get to do and what
you have to do for survival. 

127
00:06:47,400 --> 00:06:50,100
I would say in many ways the 
mentoring that I received at 

128
00:06:50,100 --> 00:06:53,800
that time, just general life 
skills, the opportunity and 

129
00:06:53,800 --> 00:06:56,700
exposure to businessmen who 
would freely share with me what 

130
00:06:56,700 --> 00:07:00,400
our strategy is and then make me
be part of it as they executed 

131
00:07:00,400 --> 00:07:02,400
make money. 
When you're really young people.

132
00:07:02,400 --> 00:07:04,300
Don't mind sharing a lot of 
things with you. 

133
00:07:04,400 --> 00:07:05,800
You right. 
Because to them, you're not 

134
00:07:05,800 --> 00:07:08,700
really a threat, but then you 
get very good insights into how 

135
00:07:08,700 --> 00:07:11,300
people make money. 
And then that motivated me to 

136
00:07:11,300 --> 00:07:14,800
starting my own businesses, due 
to the economic downturn in the,

137
00:07:14,800 --> 00:07:19,100
very late 1999. 
I stopped my various business is

138
00:07:19,100 --> 00:07:21,500
run computer, training 
institutes and in mice, to 

139
00:07:21,500 --> 00:07:24,800
assemble, and sell PCS. 
I even had my own aquarium fish 

140
00:07:24,800 --> 00:07:27,000
business. 
I have done a variety of things 

141
00:07:27,000 --> 00:07:29,200
like that, you know, some things
related to IP something, it's 

142
00:07:29,200 --> 00:07:33,200
not, I have to shut it all down,
and go and become an employee 

143
00:07:33,200 --> 00:07:35,900
full-time employee at it. 
The term I got the chance to 

144
00:07:35,900 --> 00:07:37,900
work with very good. 
Small stalkers. 

145
00:07:38,200 --> 00:07:41,200
It's to my regret that I do not 
become very, very good at small 

146
00:07:41,200 --> 00:07:42,900
talk. 
But I got to learn 

147
00:07:43,000 --> 00:07:45,700
object-oriented design from some
of the best mole tacos in the 

148
00:07:45,700 --> 00:07:47,300
world. 
We are talking about people who 

149
00:07:47,300 --> 00:07:50,600
are architects of things, like 
visual aid, Small Talk, amazing 

150
00:07:50,600 --> 00:07:52,800
object-oriented design 
principles for you. 

151
00:07:52,800 --> 00:07:56,300
I the only really good people, 
so that got me through 

152
00:07:56,300 --> 00:07:58,500
understanding. 
What is it take to deliver. 

153
00:07:58,900 --> 00:08:01,700
Then, I had to, you know, again,
economic downturn, yet, again, 

154
00:08:01,900 --> 00:08:03,600
they have to cater to the India 
market still. 

155
00:08:03,600 --> 00:08:06,300
There are fewer catering to the 
Global markets and I had to 

156
00:08:06,300 --> 00:08:09,400
again, you know learn what is it
mean to go make a call to a 

157
00:08:09,400 --> 00:08:12,000
customer and tell them we are 
very good skill software 

158
00:08:12,000 --> 00:08:14,100
professionals. 
Is there some problem for you 

159
00:08:14,108 --> 00:08:18,000
that we can solve that one 
sentence which is identifying, 

160
00:08:18,000 --> 00:08:21,100
what is a problem that the 
customer has and can I fulfill 

161
00:08:21,100 --> 00:08:24,100
that that lesson? 
It took me a few weeks to get 

162
00:08:24,100 --> 00:08:27,900
to, but when I did my life has 
changed since then, again, life 

163
00:08:27,900 --> 00:08:31,400
happened and I got a chance to 
start working at what works. 

164
00:08:31,500 --> 00:08:34,200
My interview was good. 
It was an interesting interview 

165
00:08:34,200 --> 00:08:37,600
at That time I felt it up with 
not so great because I came from

166
00:08:37,600 --> 00:08:39,600
a very small town, very small 
company. 

167
00:08:39,600 --> 00:08:42,200
And these were people who were 
used to working with the global 

168
00:08:42,200 --> 00:08:45,200
pool of very, very skilled 
developers with a frame thought,

169
00:08:45,200 --> 00:08:47,500
work software development 
Network and they have full 

170
00:08:47,500 --> 00:08:49,900
International exposure. 
So the kind of problems that I 

171
00:08:49,900 --> 00:08:52,100
used to solid leads to Stronger 
very different. 

172
00:08:52,100 --> 00:08:54,100
So, for example, in my 
interview, there was a mild 

173
00:08:54,100 --> 00:08:56,200
amount of hostility at one point
even wear. 

174
00:08:56,200 --> 00:08:58,600
One of the guys said, hey, you 
know, we don't believe in just 

175
00:08:58,600 --> 00:09:01,200
sit in creating all these 
Frameworks, these solve actual 

176
00:09:01,200 --> 00:09:04,500
problems, which was correct. 
Because at that time, they would

177
00:09:04,600 --> 00:09:07,900
These large muscle framework 
accompanies who just keep 

178
00:09:07,900 --> 00:09:10,700
churning coat after coat after 
coat and not only shown in 

179
00:09:10,700 --> 00:09:13,700
value, but thought was being 
very agile, was all about 

180
00:09:13,700 --> 00:09:15,300
showing value right from day 
one. 

181
00:09:15,500 --> 00:09:17,400
I have not really understood 
that that is what they are 

182
00:09:17,400 --> 00:09:19,900
doing, which is what I was also 
doing because when you're a 

183
00:09:19,900 --> 00:09:22,900
really small company, you don't 
have the luxury of resting on 

184
00:09:22,900 --> 00:09:24,300
your brand but I did understand 
it. 

185
00:09:24,300 --> 00:09:27,800
Then my immaturity so I wrote 
out it back to them that they 

186
00:09:27,800 --> 00:09:30,700
have you written some. 
Let's have you use spring when 

187
00:09:30,700 --> 00:09:32,200
they said, yeah. 
I said, yeah, people like me 

188
00:09:32,200 --> 00:09:34,400
right stuff. 
Which people like you use? 

189
00:09:34,700 --> 00:09:38,000
It was very arrogant and you 
know a slap back from me to 

190
00:09:38,000 --> 00:09:40,000
them. 
I'm sharing this just to say 

191
00:09:40,000 --> 00:09:43,200
that when one is immature or one
has not really understood the 

192
00:09:43,200 --> 00:09:45,500
other person's position from 
both the sides. 

193
00:09:45,500 --> 00:09:47,800
When you don't understand each 
other's positions, think and go 

194
00:09:47,800 --> 00:09:51,200
very bad, very, very rapidly. 
However, they did take to their 

195
00:09:51,200 --> 00:09:54,200
credit to, you know, both my 
colleagues Deb later became my 

196
00:09:54,200 --> 00:09:56,500
colleagues. 
I became the contrary to their 

197
00:09:56,500 --> 00:09:58,400
credit. 
They actually prove the bit 

198
00:09:58,400 --> 00:10:01,400
saying, what do you mean? 
And I went on to talk a lot of 

199
00:10:01,400 --> 00:10:03,900
energy of Tomcat and House of 
let's work. 

200
00:10:03,900 --> 00:10:06,800
And what is Peekaboo, JSP 
generation and whatnot. 

201
00:10:06,900 --> 00:10:10,700
And we dove into a bit of deeper
technical or stuff over there. 

202
00:10:10,900 --> 00:10:13,800
It actually went well. 
My final interview was also 

203
00:10:13,800 --> 00:10:17,200
really, really good RJ RJ Guru, 
you know, IG have. 

204
00:10:17,200 --> 00:10:19,800
And another colleague called 
wishing for my final interview 

205
00:10:19,800 --> 00:10:23,600
was very, very pragmatic 
business questions RJ. 

206
00:10:23,600 --> 00:10:26,800
When he heard that I enjoy cam 
programming with Visual Basic. 

207
00:10:27,000 --> 00:10:29,900
Whoa, he Deep dive into it. 
And I really enjoyed those 

208
00:10:29,900 --> 00:10:32,900
things with a discussing tlps 
and interfaces. 

209
00:10:32,900 --> 00:10:34,400
And what is it? 
Take to align. 

210
00:10:34,500 --> 00:10:37,100
Code in memory. 
Wow, that's when I said, oh 

211
00:10:37,100 --> 00:10:39,200
right. 
If I have very good Tech 

212
00:10:39,200 --> 00:10:41,700
colleagues like these, this is a
place I wanna work at. 

213
00:10:41,900 --> 00:10:43,900
So I joined thought works that 
way. 

214
00:10:44,000 --> 00:10:46,200
Yeah, that's around Fourteen and
fifteen years ago by. 

215
00:10:46,200 --> 00:10:48,300
Now, Henry. 
There's a very interesting 

216
00:10:48,300 --> 00:10:50,200
thing. 
You asked right about my journey

217
00:10:50,200 --> 00:10:53,400
from being a developer, all the 
way to principal consultant is 

218
00:10:53,400 --> 00:10:55,400
another very good. 
Colleague of ours are thought 

219
00:10:55,400 --> 00:10:57,000
work. 
You know, him Henry, SRI Ram, 

220
00:10:57,000 --> 00:10:59,900
Narayan, right? 
The same name as me and a very 

221
00:10:59,900 --> 00:11:03,400
similar surname to mine, and he 
tells me that then it's just a 

222
00:11:03,400 --> 00:11:05,500
clerical error because of It 
just different places. 

223
00:11:05,500 --> 00:11:06,900
We actually have the same 
surname. 

224
00:11:07,100 --> 00:11:10,100
So this Freedom who only, he was
my mentor. 

225
00:11:10,100 --> 00:11:12,600
Then he still is my mentor and 
party and all of it. 

226
00:11:12,600 --> 00:11:15,700
He identified very soon enough 
that I come from a small 

227
00:11:15,700 --> 00:11:18,600
company, and I do not understand
all these large company setups 

228
00:11:18,900 --> 00:11:22,200
but was uses. 120 people at that
time, but for me, it was large 

229
00:11:22,200 --> 00:11:25,100
coming from a six-person group. 
So he taught me that a 

230
00:11:25,108 --> 00:11:28,000
consultant can influence the 
story card when they're pairing 

231
00:11:28,000 --> 00:11:30,800
with another person. 
A senior consultant is usually 

232
00:11:30,800 --> 00:11:33,600
one who can influence their team
in terms of feature or story 

233
00:11:33,600 --> 00:11:35,700
directions. 
Without needing the supervision 

234
00:11:35,700 --> 00:11:37,900
of a technique, right? 
The end up becoming defacto 

235
00:11:37,900 --> 00:11:41,000
techniques and Lead consultant, 
which is the next hierarchy of 

236
00:11:41,000 --> 00:11:43,800
thought works is a person who 
should be able to influence the 

237
00:11:43,800 --> 00:11:47,000
client and very often the whole 
delivery hinges on the lead 

238
00:11:47,000 --> 00:11:49,200
consultant. 
They also end up becoming the 

239
00:11:49,200 --> 00:11:51,200
the officially appointed 
techies. 

240
00:11:51,300 --> 00:11:54,300
It gives a client requires such 
a Tessellation and principal. 

241
00:11:54,300 --> 00:11:57,000
Consultants, of course should be
able to influence Gaeta program 

242
00:11:57,000 --> 00:12:00,800
and ideally the entire industry.
So he explained this to me and 

243
00:12:00,800 --> 00:12:03,900
it gave me a very nice set of 
things to you know, look forward

244
00:12:03,900 --> 00:12:06,300
to it. 
Please to build as far as to 

245
00:12:06,308 --> 00:12:09,900
even engage myself. 
Does the company of me a 

246
00:12:09,900 --> 00:12:13,800
promotion just because I've 
spent certain tenure here does 

247
00:12:13,800 --> 00:12:16,900
the company only or promotion 
just because I've helped, you 

248
00:12:16,900 --> 00:12:20,700
know, in certain engagements, or
am I already performing at that 

249
00:12:20,700 --> 00:12:24,400
level where it's just very 
naturally said, here you go run.

250
00:12:24,600 --> 00:12:26,600
Here's your promotion. 
You are now here by. 

251
00:12:26,600 --> 00:12:29,700
So, and so very, very very 
insightful thing. 

252
00:12:29,700 --> 00:12:33,000
And it really set the direction.
I would also say that in the 

253
00:12:33,000 --> 00:12:35,800
middle of all this briefly about
As we can between and you know, 

254
00:12:35,800 --> 00:12:38,400
I had a two-year campaign to ask
him a company. 

255
00:12:38,700 --> 00:12:41,200
Why am I not yet? 
A principal consultant have I 

256
00:12:41,200 --> 00:12:44,600
not influence this have a 
mountain that and then I decided

257
00:12:44,600 --> 00:12:47,500
I will just drop it because it 
was eating into my mental 

258
00:12:47,500 --> 00:12:50,700
bandwidth and I was actually 
getting to learn a whole lot 

259
00:12:50,700 --> 00:12:53,200
more directly working the 
clients and indeed. 

260
00:12:53,200 --> 00:12:56,600
This is what now when jr. 
Thought workers asked me. 

261
00:12:56,800 --> 00:12:58,900
Hey Ranma, how do I get 
promoted? 

262
00:12:58,900 --> 00:13:01,900
What should I do this? 
That I'll be very candid and 

263
00:13:01,900 --> 00:13:04,400
say, half the time they asking, 
is there any system to game? 

264
00:13:04,800 --> 00:13:07,700
Honestly, there might be, I 
don't know because I have not 

265
00:13:07,700 --> 00:13:10,300
wasted, my time trying to see if
there's a system to game. 

266
00:13:10,500 --> 00:13:13,100
I can tell you that the 
influencing activities and this 

267
00:13:13,100 --> 00:13:15,400
and that it will help you get 
promoted. 

268
00:13:15,600 --> 00:13:18,800
Okay, you may know all the right
people to, you know, suck up to 

269
00:13:18,900 --> 00:13:21,900
and appease and all of it, but 
that will take you only. 

270
00:13:21,900 --> 00:13:24,000
So far, your reputation becomes 
Hollow. 

271
00:13:24,000 --> 00:13:26,300
When you have to hit the ground 
running, you won't be able to 

272
00:13:26,600 --> 00:13:28,900
because you never were of that 
caliber. 

273
00:13:29,100 --> 00:13:32,900
So I just gave up on all these 
designations and hierarchies 

274
00:13:32,900 --> 00:13:34,500
because I had got a chance to 
work. 

275
00:13:34,800 --> 00:13:37,300
With Rackspace in the US. 
And then there was this other 

276
00:13:37,300 --> 00:13:39,600
insurance company, certain 
Banks. 

277
00:13:39,800 --> 00:13:42,500
I got exposure to work with them
and do a whole lot of stuff 

278
00:13:42,500 --> 00:13:45,700
right there, entrusted with 
millions of dollars of Revenue 

279
00:13:45,700 --> 00:13:49,000
and even calendars of months at 
stake when time is money. 

280
00:13:49,200 --> 00:13:52,600
So that exposure already took me
to quite some level. 

281
00:13:52,600 --> 00:13:54,600
I no longer run after 
designations. 

282
00:13:54,600 --> 00:13:57,500
Like I said, I was weak in 
between I did none of do it then

283
00:13:57,500 --> 00:14:00,300
I gave up and then I was just 
promoted to the so-called 

284
00:14:00,300 --> 00:14:04,000
principal consultant. 
What I would say is the larger 

285
00:14:04,000 --> 00:14:06,200
reward. 
For me, is not a designation. 

286
00:14:06,400 --> 00:14:08,000
I tell you. 
It means nothing after a 

287
00:14:08,000 --> 00:14:09,700
particular Point. 
People think, oh, you are a 

288
00:14:09,700 --> 00:14:11,600
prank on. 
You know, I'm sure you must be 

289
00:14:11,600 --> 00:14:14,500
some great demigod. 
What, what really happens is 

290
00:14:14,700 --> 00:14:16,600
there are a whole lot of 
responsibilities. 

291
00:14:16,600 --> 00:14:20,000
You should be able to shoulder 
and pull off if you can do that,

292
00:14:20,000 --> 00:14:22,000
that's much more than any 
designation. 

293
00:14:22,200 --> 00:14:25,200
Because tomorrow when you go to 
the next place where they do not

294
00:14:25,200 --> 00:14:28,400
have the same kind of, you know,
levels and hierarchy mopping, 

295
00:14:28,400 --> 00:14:32,700
and not II know that the Fang of
kind of somehow naturally or why

296
00:14:32,700 --> 00:14:35,800
coordination figured out come up
with Drop it levels. 

297
00:14:36,000 --> 00:14:39,400
So someone from Netflix of goes 
to Amazon and then to Google and

298
00:14:39,400 --> 00:14:41,400
they get promoted. 
They already know what to 

299
00:14:41,400 --> 00:14:43,000
expect. 
But what if you do go to a 

300
00:14:43,000 --> 00:14:45,900
startup, what if you go to 
someone who's really small or 

301
00:14:45,900 --> 00:14:48,400
you go to a bank or an insurance
company that they don't have 

302
00:14:48,400 --> 00:14:51,800
these levels where they only 
have Tech at core and their 

303
00:14:51,800 --> 00:14:54,800
business is not technology. 
Then what is the point of all 

304
00:14:54,800 --> 00:14:56,700
these designations? 
It means nothing. 

305
00:14:56,900 --> 00:14:59,700
What's more important is, can 
you hit the ground running? 

306
00:14:59,800 --> 00:15:01,700
Can you identify the customers 
needs? 

307
00:15:01,800 --> 00:15:04,500
Can you made sure that you 
identify and eliminate? 

308
00:15:04,600 --> 00:15:08,200
Good quality issues and 
completely reduce the turnaround

309
00:15:08,200 --> 00:15:10,400
time from requirements to go 
life. 

310
00:15:10,800 --> 00:15:13,600
These are the capabilities that 
people really need. 

311
00:15:13,700 --> 00:15:18,000
So hierarchy matters to some 
extent and often in many places.

312
00:15:18,100 --> 00:15:19,800
Your salary is linked to your 
hierarchy. 

313
00:15:20,100 --> 00:15:23,000
Sure, but I would urge everyone 
to let go of that. 

314
00:15:23,000 --> 00:15:26,300
Build up your competency, you 
know, money will follow, hmm. 

315
00:15:26,300 --> 00:15:28,200
Thank you. 
I mean, it's very insightful, 

316
00:15:28,200 --> 00:15:30,800
obviously. 
So one thing I also realize your

317
00:15:30,800 --> 00:15:34,000
progression is not just linear 
in terms of row, right? 

318
00:15:34,200 --> 00:15:37,400
You basically, Really, I think 
started from like a sysadmin row

319
00:15:37,500 --> 00:15:40,700
and then gradually move on to 
become a developer and gradually

320
00:15:40,700 --> 00:15:42,500
move on to become more like a 
gel. 

321
00:15:42,500 --> 00:15:45,500
Devops consultant. 
All these are very interesting, 

322
00:15:45,600 --> 00:15:48,200
very very amusing. 
You bring it up Henry. 

323
00:15:48,500 --> 00:15:52,000
The thing is, I actually joined 
what works as a developer in the

324
00:15:52,000 --> 00:15:53,600
company. 
I also had earlier, I was a 

325
00:15:53,608 --> 00:15:57,000
developer for about six years 
and then I joined what works. 

326
00:15:57,000 --> 00:16:01,400
Also as a developer for about a 
year of full-time for the next 

327
00:16:01,400 --> 00:16:03,900
six months. 
I became what we now call 

328
00:16:03,900 --> 00:16:05,700
devops. 
These are used to take care of 

329
00:16:05,700 --> 00:16:09,400
build and release engineering 
first year as deaf second year 

330
00:16:09,400 --> 00:16:12,100
as build and release 
engineering, and then a giant 

331
00:16:12,100 --> 00:16:15,400
tap me and he pulled me out of 
all of this and got me to his 

332
00:16:15,400 --> 00:16:17,900
assignment team. 
So I worked there for about five

333
00:16:17,900 --> 00:16:20,300
and a half years. 
As one of the sustainment 

334
00:16:20,300 --> 00:16:22,800
support works. 
I Was Made It manager and 

335
00:16:22,800 --> 00:16:26,000
everything but I tell you when 
you're working with sysadmins of

336
00:16:26,000 --> 00:16:29,100
a particular caliber who I used 
to sing hierarchy and they get 

337
00:16:29,100 --> 00:16:31,000
scared. 
You don't call yourself a 

338
00:16:31,000 --> 00:16:33,500
manager in front of them. 
And that's what I did. 

339
00:16:33,700 --> 00:16:37,200
I had this Tricky situation. 
Once when I HR lady, she came 

340
00:16:37,200 --> 00:16:40,000
and gave me a letter and said, 
congratulations Ram. 

341
00:16:40,000 --> 00:16:43,500
You are now a lead consultant. 
We are mocking or it manager and

342
00:16:43,500 --> 00:16:46,000
I just told her, hey, don't 
joke, you know, let's talk later

343
00:16:46,000 --> 00:16:48,700
and she understood I'm doing 
something here, you know, meant 

344
00:16:48,700 --> 00:16:50,900
it would have never called me. 
A manager in front of these 

345
00:16:50,900 --> 00:16:53,000
folks. 
They will all just stop talking 

346
00:16:53,000 --> 00:16:54,900
to me. 
And and, you know, I will never 

347
00:16:54,900 --> 00:16:58,000
learn what I actually need to 
learn, which is a very important

348
00:16:58,000 --> 00:17:00,400
point when you're working in the
Ops World. 

349
00:17:00,400 --> 00:17:02,800
And this is something that most 
people, you know, they just 

350
00:17:02,800 --> 00:17:04,400
think they learn a bit of 
terraform. 

351
00:17:04,500 --> 00:17:07,099
And some cloud formation and 
something and, you know, hey, 

352
00:17:07,099 --> 00:17:10,000
I'm a divorced guy, you know, 
Jenkins, pipelines, or whatever.

353
00:17:10,400 --> 00:17:13,300
Sorry, that's not the real 
obstacles that you just learn to

354
00:17:13,300 --> 00:17:17,000
use certain apis, but actually 
working with Ops people 

355
00:17:17,000 --> 00:17:21,000
understanding, what Ops means 
requires you to work with them, 

356
00:17:21,000 --> 00:17:23,700
get into their mindset and make 
sure that they trust you. 

357
00:17:24,000 --> 00:17:26,599
But Henry, I'm not surprised 
that you thought I started off 

358
00:17:26,599 --> 00:17:30,100
snss admin because many people 
have seen me talk. 

359
00:17:30,100 --> 00:17:33,600
A lot of sysadmin ish things. 
In fact, I used to be known as I

360
00:17:33,600 --> 00:17:36,100
as ROM. 
Means information system strong 

361
00:17:36,200 --> 00:17:39,500
right now that used to be my 
nickname Henry now, in Southeast

362
00:17:39,500 --> 00:17:42,800
Asia, you know this in India, if
that's what everyone called me. 

363
00:17:43,000 --> 00:17:44,900
And there are entire 
Generations. 

364
00:17:44,900 --> 00:17:46,900
Who don't know that actually 
write code. 

365
00:17:47,200 --> 00:17:49,000
By the way. 
I was also known as Solaris, ROM

366
00:17:49,000 --> 00:17:51,200
because there's a lot of stuff I
used to do that. 

367
00:17:52,000 --> 00:17:55,200
So anyway, yeah, Henry, like I 
said, at the start, right, I 

368
00:17:55,200 --> 00:17:58,800
have been very fortunate, the 
exposure that I have got, which 

369
00:17:58,800 --> 00:18:02,500
is I got to run my own business 
has non-id and ID. 

370
00:18:03,100 --> 00:18:06,100
I got to work in a very small. 
All company with, you know, 

371
00:18:06,100 --> 00:18:09,300
Swiss and German banks. 
Then I go to work in Port works,

372
00:18:09,300 --> 00:18:12,400
are said there for a year where 
I had some of the best 

373
00:18:12,400 --> 00:18:16,200
experiences at sriram, who took 
all these hierarchy things, out 

374
00:18:16,200 --> 00:18:19,000
of my head. 
I had our colleague sukhna, 

375
00:18:19,000 --> 00:18:23,000
maheshwari, who taught me what 
it means to test drive and I 

376
00:18:23,008 --> 00:18:25,900
tell you till date, I use that 
same lesson with everyone. 

377
00:18:26,200 --> 00:18:29,100
Then I had Mahadev Nike who 
Henry, you know, asthma he's 

378
00:18:29,100 --> 00:18:31,200
still in. 
Talk about Singapore and Maher. 

379
00:18:31,200 --> 00:18:34,900
Taught me in about 10 minutes. 
What it means make If you have 

380
00:18:34,900 --> 00:18:38,200
continuous integration and 
place, these people taught me 

381
00:18:38,200 --> 00:18:40,800
really, really good things. 
And I learned that in my first 

382
00:18:40,800 --> 00:18:44,500
year, I was able to apply a lot 
of that in my last six months, 

383
00:18:44,500 --> 00:18:48,100
in Professional Services. 
Then I went to do it operations,

384
00:18:48,300 --> 00:18:51,100
where again, thanks to our 
agenda, kind of autonomy that he

385
00:18:51,100 --> 00:18:54,200
gave all of us. 
I got to become the it manager. 

386
00:18:54,200 --> 00:18:57,900
I learn to set up a data center.
I learn to it was my inspiration

387
00:18:57,900 --> 00:19:00,800
at that time that I should be 
able to place purchase orders of

388
00:19:00,800 --> 00:19:04,000
a ten thousand US Dollars. 
Talking about ten thousand 

389
00:19:04,000 --> 00:19:06,000
dollars. 
As a month is a very big deal 

390
00:19:06,700 --> 00:19:10,900
but to his credit RJ, trusted me
and one or two other colleagues 

391
00:19:10,900 --> 00:19:14,000
to set up entire data centers. 
The company, backed us. 

392
00:19:14,000 --> 00:19:17,300
They putted 300,000 dollars, 
worked out with the finance team

393
00:19:17,300 --> 00:19:19,800
that we already recovered within
the first six months. 

394
00:19:20,100 --> 00:19:22,900
So that's the kind of amazing 
growth that I had. 

395
00:19:23,000 --> 00:19:26,400
I would also say I was fortunate
because now in all these large 

396
00:19:26,400 --> 00:19:31,400
setups, you have a network team,
a firewall team, Santiam of 

397
00:19:31,400 --> 00:19:34,400
virtualization team, you know, 
you have people then who will be

398
00:19:34,600 --> 00:19:36,700
Operating system Specialists, 
right? 

399
00:19:36,700 --> 00:19:39,900
They'll be a whole separate 
security team out there Venice 

400
00:19:39,900 --> 00:19:42,600
when we were at that time. 
At what works are is team was 

401
00:19:42,600 --> 00:19:46,400
just 12 or 14 of us around the 
world because I was in Bangalore

402
00:19:46,400 --> 00:19:49,700
and it's a major Del V Center 
for a lot of our projects are 

403
00:19:49,700 --> 00:19:51,700
used to get onto the call with 
customers. 

404
00:19:52,100 --> 00:19:54,300
So they would say I'm from 
Saint. 

405
00:19:54,300 --> 00:19:56,300
I'm from hypervisor am from 
switching. 

406
00:19:56,300 --> 00:19:59,400
I'm from Network. 
I'm from security this that and 

407
00:19:59,400 --> 00:20:01,900
then I would say, I am wrong. 
I represent all these roles at 

408
00:20:01,900 --> 00:20:04,700
thoughtworks. 
Let's discuss when you get To 

409
00:20:04,700 --> 00:20:07,800
talk that way when you are able 
to talk in a cross domain 

410
00:20:07,800 --> 00:20:09,800
proficiency that I can tell you 
in the eye. 

411
00:20:09,800 --> 00:20:12,400
Tirol, what people generally 
call it as Ops. 

412
00:20:12,600 --> 00:20:15,700
Each of these is a huge separate
proficiency by itself. 

413
00:20:16,000 --> 00:20:18,900
So that kind of my God, that 
kind of exposure. 

414
00:20:18,900 --> 00:20:22,400
I can tell you with a little bit
of a mode SD, or on whatever. 

415
00:20:22,400 --> 00:20:24,600
Very few people. 
Get that kind of luck. 

416
00:20:24,900 --> 00:20:26,700
I got it. 
That's why I keep saying. 

417
00:20:26,900 --> 00:20:30,500
I'm very fortunate and Henry, 
I've exchanged with you worked 

418
00:20:30,600 --> 00:20:33,900
my sleep and everything, right? 
So I can just share if Esther 

419
00:20:33,900 --> 00:20:37,400
Dyson. 
Woke up at four am very grateful

420
00:20:37,600 --> 00:20:41,200
for how my life has been so far 
for my good health, and my 

421
00:20:41,200 --> 00:20:44,500
income and my pains and, of 
course, all these learning 

422
00:20:44,500 --> 00:20:46,900
opportunities. 
So, yeah, Henry, that's how it 

423
00:20:46,900 --> 00:20:48,600
is beam. 
And I can tell you, I'm very, 

424
00:20:48,600 --> 00:20:51,100
very, very fortunate, very 
fortunate really. 

425
00:20:51,400 --> 00:20:54,100
So you mentioned something about
one of your colleagues. 

426
00:20:54,100 --> 00:20:56,000
Mahara, right? 
Who explains your continuous 

427
00:20:56,000 --> 00:20:59,300
delivery in 5-10 minutes, right?
Maybe you can share with us as 

428
00:20:59,300 --> 00:21:01,300
well. 
What is actually continuous 

429
00:21:01,300 --> 00:21:05,000
delivery sounds good Henry, so 
just to clarify At that time, he

430
00:21:05,000 --> 00:21:07,200
had not had the buzzword of 
continuous delivery. 

431
00:21:07,200 --> 00:21:08,900
Yet. 
My I actually had explained to 

432
00:21:08,908 --> 00:21:13,000
me about continuous integration.
So to tell you very quickly, 

433
00:21:13,200 --> 00:21:15,800
there's continuous delivery and 
we touch continuous integration 

434
00:21:15,900 --> 00:21:18,400
as with the word a child. 
And it means so many things that

435
00:21:18,400 --> 00:21:20,400
are people who think that. 
If you have jira conference on 

436
00:21:20,400 --> 00:21:22,500
that last rinse week, they 
called a child. 

437
00:21:22,500 --> 00:21:25,400
There are others who say, if 
they do that 3,000 on the scrum 

438
00:21:25,400 --> 00:21:27,100
certification. 
I don't know how much it cost 

439
00:21:27,300 --> 00:21:29,500
that you become a giant or 
whatever. 

440
00:21:29,900 --> 00:21:32,100
You have an agile transformation
officer. 

441
00:21:32,100 --> 00:21:34,600
So same way, right? 
And the way it has always Or 

442
00:21:34,600 --> 00:21:37,300
diluted and with your 
interpretations that develops. 

443
00:21:37,300 --> 00:21:41,200
Also the same thing as happened 
with the acronym CD in V. 

444
00:21:41,500 --> 00:21:45,700
So CD in cic D, right, the CI 
over there is continuous 

445
00:21:45,700 --> 00:21:48,800
integration. 
The CD, honestly, depending on 

446
00:21:48,800 --> 00:21:51,100
who you talk to can be, 
continuous, deployment, or 

447
00:21:51,100 --> 00:21:52,500
continuous, data field. 
There. 

448
00:21:52,500 --> 00:21:54,700
Are those who say that? 
Oh, I'm sorry. 

449
00:21:54,700 --> 00:21:56,700
We have CD. 
That is confused deployment. 

450
00:21:56,700 --> 00:21:58,200
Therefore. 
We must go live. 

451
00:21:58,400 --> 00:22:01,000
There are those who say, oh, you
know, because we ought to have a

452
00:22:01,000 --> 00:22:04,500
bunch of gatekeeping checks. 
We can't have CD that is Is 

453
00:22:04,500 --> 00:22:06,800
continuous deployment. 
Therefore, I'm not going to let 

454
00:22:06,800 --> 00:22:10,200
you do any of the rest either. 
So all of this becomes a bit of 

455
00:22:10,200 --> 00:22:13,000
a mess Henry in the adoption of 
all these practices. 

456
00:22:13,300 --> 00:22:17,800
So continuous integration. 
When you are integrating the day

457
00:22:17,800 --> 00:22:21,500
of other developers on that code
base, you may or may not have 

458
00:22:21,500 --> 00:22:24,900
branches. 
But the larger objective is you 

459
00:22:24,900 --> 00:22:28,200
integrate with each other, as 
soon as possible. 

460
00:22:28,600 --> 00:22:31,100
So this usually gets you into 
disputes of, you know, should 

461
00:22:31,100 --> 00:22:32,800
you have a branch? 
Should I be a branch for a 

462
00:22:32,808 --> 00:22:35,400
feature or a story? 
Should every individual have 

463
00:22:35,400 --> 00:22:38,100
your own Branch. 
The truth is in a subversion 

464
00:22:38,100 --> 00:22:40,000
days, right? 
These were all a little bit of 

465
00:22:40,000 --> 00:22:40,600
an issue. 
Yes. 

466
00:22:40,600 --> 00:22:43,700
It's abortion also copies 
achieved but with get it is 

467
00:22:43,700 --> 00:22:46,400
cheaper. 
The thing that get is When you 

468
00:22:46,400 --> 00:22:48,400
have a local copy, what an 
entire separate? 

469
00:22:48,400 --> 00:22:50,300
Repository, never mind having to
subtract. 

470
00:22:50,300 --> 00:22:52,700
You got ahold repository of your
own local, right? 

471
00:22:52,800 --> 00:22:55,400
So essentially or integrating 
with various repositories. 

472
00:22:55,600 --> 00:22:59,500
That's what Master means. 
So continuous, integration is, 

473
00:22:59,500 --> 00:23:02,400
when all the deaths, they do 
whatever they have to do branch,

474
00:23:02,400 --> 00:23:05,100
no Branch, whatever, but they 
have to integrate with each 

475
00:23:05,200 --> 00:23:07,300
other. 
That means onto the development 

476
00:23:07,300 --> 00:23:11,200
Branch, not into just a feature 
Branch, definitely not into just

477
00:23:11,200 --> 00:23:14,000
a story punch. 
That is continuous integration 

478
00:23:14,100 --> 00:23:18,200
and if you do it with Best of 
efficiency you can reach trunk 

479
00:23:18,200 --> 00:23:21,000
based development. 
Eventually continuous delivery 

480
00:23:21,000 --> 00:23:24,000
is when your code isn't a 
Deployable State and 

481
00:23:24,000 --> 00:23:26,500
functionally, correct, right. 
That is continuous. 

482
00:23:26,500 --> 00:23:29,600
Delivery. 
Continuous deployment is, when 

483
00:23:29,600 --> 00:23:32,500
you realize, hey, look about all
these gatekeeping checks. 

484
00:23:32,700 --> 00:23:35,600
They are all automated. 
Everyone is happy with their 

485
00:23:35,600 --> 00:23:38,900
respective gatekeeping checks 
and we all feel that, you know, 

486
00:23:39,300 --> 00:23:43,200
if the the gatekeeping checks 
have passed, we agree with this 

487
00:23:43,200 --> 00:23:45,100
artifact being good enough for 
us. 

488
00:23:45,300 --> 00:23:49,100
That's Go live with it. 
So if you have that, then you 

489
00:23:49,100 --> 00:23:52,300
have continuous deployment. 
Actually, the owner of the 

490
00:23:52,300 --> 00:23:55,900
environment, the product owner, 
the system Zona, they have to 

491
00:23:55,900 --> 00:23:59,800
first be comfortable with the 
artifact being ready in terms of

492
00:23:59,800 --> 00:24:02,500
gatekeeping checks. 
All The Gatekeepers also have to

493
00:24:02,500 --> 00:24:05,800
stand by the automated gate, 
keeping checks, then go for it. 

494
00:24:06,000 --> 00:24:08,700
Otherwise don't just push 
continuous deployment and then, 

495
00:24:08,700 --> 00:24:10,700
you know, sabotage yourself. 
Hmm. 

496
00:24:10,900 --> 00:24:14,600
So I can see their love 
important things that you should

497
00:24:14,600 --> 00:24:16,600
have in a continuous delivery. 
Very right. 

498
00:24:16,600 --> 00:24:19,100
So things like for example, 
first of all, continuous 

499
00:24:19,100 --> 00:24:23,000
integration continuously merging
with each other and then you 

500
00:24:23,000 --> 00:24:26,200
have the gatekeeping checks and 
I believe you also need to have 

501
00:24:26,200 --> 00:24:30,000
Automation in place. 
So what do you think we should 

502
00:24:30,000 --> 00:24:32,200
do? 
To get started with all these 

503
00:24:32,200 --> 00:24:35,200
practices? 
Wonderful, wonderful can be, so 

504
00:24:35,900 --> 00:24:38,200
just instantly Henry. 
I'm actually working on a book 

505
00:24:38,200 --> 00:24:41,400
called The Journey to continuous
delivery, which is actually 

506
00:24:41,400 --> 00:24:44,100
literally covering this. 
Where do you get started? 

507
00:24:44,700 --> 00:24:47,500
So, I'll just tell you the end. 
Goals, okay, the end goal should

508
00:24:47,500 --> 00:24:50,200
be that. 
Your code should be Deployable 

509
00:24:50,300 --> 00:24:53,300
and functionally, correct, Now, 
jazz humble. 

510
00:24:53,300 --> 00:24:56,900
Dr. Nichols Force, grin and Gene
Kim, right? 

511
00:24:56,900 --> 00:25:00,600
They all work on the dura 
metrics develops, research 

512
00:25:00,600 --> 00:25:02,300
agency, right? 
They came up with the Torah 

513
00:25:02,300 --> 00:25:06,600
Matrix where the expert level 
and Adora Matrix is you should 

514
00:25:06,600 --> 00:25:10,100
be able to from commit to go 
live in less than an hour. 

515
00:25:10,400 --> 00:25:14,000
This is where you should aim for
so where you get started is 

516
00:25:14,000 --> 00:25:17,600
literally that do you know? 
Is working and what action do, 

517
00:25:17,600 --> 00:25:19,700
you know the versions of your 
artifacts that are in 

518
00:25:19,700 --> 00:25:21,300
production? 
And you know, the version of 

519
00:25:21,300 --> 00:25:24,000
code that they are tied up to? 
Okay, let's split this in two 

520
00:25:24,000 --> 00:25:27,500
parts where you get started and 
how do you know that you have 

521
00:25:27,500 --> 00:25:29,300
the good continuous delivery in 
place? 

522
00:25:29,300 --> 00:25:32,100
Right? 
So when customers call as in and

523
00:25:32,100 --> 00:25:35,000
they say, look we've invested in
all the rights, eicd tools. 

524
00:25:35,300 --> 00:25:37,700
We have done this and that in 
everything in my head. 

525
00:25:37,700 --> 00:25:40,900
I grown-up it. 
Because when I hear CI CI, I 

526
00:25:40,900 --> 00:25:43,600
unfortunately already know what 
to expect, right? 

527
00:25:43,700 --> 00:25:45,700
I keep an open mind, but usually
I'm proven. 

528
00:25:45,800 --> 00:25:47,400
Correct. 
Unfortunately, they would have 

529
00:25:47,400 --> 00:25:50,300
invested in some Jenkins or a 
cheetah, you know, they'd of 

530
00:25:50,300 --> 00:25:53,700
forced a bunch of divs to write 
a few tests and all of it, and 

531
00:25:53,700 --> 00:25:56,300
they will say that we will have 
ABCD environments. 

532
00:25:56,500 --> 00:25:58,900
And with this, we're going to go
life and nowadays. 

533
00:25:58,900 --> 00:26:01,600
The new thing is, if you want to
do all this you better have 

534
00:26:01,600 --> 00:26:06,100
microservices and kubernetes. 
Okay, too many things get mixed 

535
00:26:06,100 --> 00:26:08,600
up over here. 
My questions to such customers 

536
00:26:08,600 --> 00:26:10,100
are. 
Do you have defects in 

537
00:26:10,100 --> 00:26:12,300
production? 
Okay, I literally start with 

538
00:26:12,300 --> 00:26:13,900
that question. 
Yes. 

539
00:26:13,900 --> 00:26:17,200
Okay, most of the time they do 
have defects a Okay, my second 

540
00:26:17,200 --> 00:26:19,200
question. 
Do you have an automated test 

541
00:26:19,200 --> 00:26:22,300
Suite? 
Yes, we have an automated test. 

542
00:26:22,300 --> 00:26:25,500
We third question. 
If you have an automated test 

543
00:26:25,500 --> 00:26:27,500
Suite. 
How come you still have defects 

544
00:26:27,500 --> 00:26:29,000
in production? 
Right? 

545
00:26:29,300 --> 00:26:31,800
That is the question that gets 
people. 

546
00:26:32,100 --> 00:26:35,800
They don't know what ready to 
answer to me because they don't 

547
00:26:35,800 --> 00:26:38,400
know why things are going on. 
Hey, not a problem. 

548
00:26:38,800 --> 00:26:41,500
And that's when I tell them, 
look, treat me like a doctor. 

549
00:26:41,800 --> 00:26:44,300
If you go to a doctor seeing a 
sprained, my ankle and they 

550
00:26:44,300 --> 00:26:46,800
laugh at you and say hi. 
Ha, you can't even run. 

551
00:26:46,800 --> 00:26:49,600
Look your spraining an ankle. 
What's the point of them being a

552
00:26:49,600 --> 00:26:51,500
doctor? 
They they need people who have 

553
00:26:51,500 --> 00:26:54,100
made mistakes. 
They meet people who do not make

554
00:26:54,100 --> 00:26:55,800
a mistake and things just happen
to them. 

555
00:26:55,800 --> 00:26:58,200
Right? 
So that's what I tell Cosmos, 

556
00:26:58,200 --> 00:26:59,400
please. 
These are not supposed to 

557
00:26:59,400 --> 00:27:01,100
embarrass you. 
They're just hard questions. 

558
00:27:01,100 --> 00:27:04,000
You want to be asking yourself? 
So third question, is this one, 

559
00:27:04,000 --> 00:27:06,000
right? 
If you have an automated test 

560
00:27:06,000 --> 00:27:08,100
Suite, how come you still have 
defects in production? 

561
00:27:08,400 --> 00:27:09,800
Okay, not a problem. 
Let's move on. 

562
00:27:10,200 --> 00:27:13,800
How long does it take you to try
out your defect and understand? 

563
00:27:13,800 --> 00:27:17,300
Why did that defect happen? 
Half the time or most of the 

564
00:27:17,300 --> 00:27:18,900
time. 
They don't have a clear answer. 

565
00:27:19,200 --> 00:27:20,700
Then my next question is. 
Okay. 

566
00:27:20,900 --> 00:27:23,900
Let's say you do fix you 
identify the defect and fix it. 

567
00:27:24,100 --> 00:27:27,600
How do you know that you do? 
Not undo anything else that was 

568
00:27:27,600 --> 00:27:30,100
already working, right? 
That's my next question. 

569
00:27:30,100 --> 00:27:31,400
Usually, they don't have an 
unsightly. 

570
00:27:31,400 --> 00:27:34,100
It's related to the 
comprehensiveness of the test 

571
00:27:34,100 --> 00:27:36,600
suite and my last question to 
them. 

572
00:27:36,700 --> 00:27:38,000
Okay? 
From the time that you are 

573
00:27:38,000 --> 00:27:41,300
satisfied with this package. 
How long does it take you to get

574
00:27:41,300 --> 00:27:44,600
through all your gatekeeping 
checks into broad, again, tell 

575
00:27:44,600 --> 00:27:47,100
you Hindi at this. 
When people, you know, they they

576
00:27:47,100 --> 00:27:50,000
they realize the more major of 
the managers, the realize. 

577
00:27:50,000 --> 00:27:51,900
Okay, it does. 
Look like there are 

578
00:27:51,900 --> 00:27:55,300
opportunities for improvement. 
Then they asked me hey, what is 

579
00:27:55,300 --> 00:27:57,800
the industry best practice when 
it which is when I tell them 

580
00:27:57,800 --> 00:28:00,600
about the Dora expert level, 
which they say. 

581
00:28:01,100 --> 00:28:03,200
Oh, you know what? 
We need to go live only once in 

582
00:28:03,200 --> 00:28:05,000
two months. 
We don't have to go like once in

583
00:28:05,000 --> 00:28:06,400
an hour. 
You don't, we don't have no 

584
00:28:06,400 --> 00:28:09,800
requirement to go live with the 
Nano, which I said not a 

585
00:28:09,800 --> 00:28:10,900
problem. 
I'm with you. 

586
00:28:11,000 --> 00:28:13,300
I'm sure you have to go live 
once it too much because of 

587
00:28:13,600 --> 00:28:15,600
integration and partnership 
agreements know. 

588
00:28:15,800 --> 00:28:19,800
Problem, but if there is a 
production defect, can you 

589
00:28:19,800 --> 00:28:22,100
always afford to push all that 
6? 

590
00:28:22,100 --> 00:28:24,800
Only two months later, that gets
them again. 

591
00:28:25,100 --> 00:28:29,400
So this is how I make people 
understand that if you feel that

592
00:28:29,400 --> 00:28:31,800
you have the so-called CI CD in 
place. 

593
00:28:32,100 --> 00:28:35,100
You should not have such decimal
answers to these things then 

594
00:28:35,100 --> 00:28:36,800
they ask me. 
Okay, what does it take? 

595
00:28:36,800 --> 00:28:39,200
You know, what will it require? 
That's when I make them 

596
00:28:39,200 --> 00:28:43,200
understand that just having a 
continuous integration system 

597
00:28:43,400 --> 00:28:45,600
and a declaration of continuous 
deployment. 

598
00:28:45,700 --> 00:28:48,700
Aunt does not take away defects 
your code. 

599
00:28:48,800 --> 00:28:52,600
Okay, it does not guarantee that
from the time you start your 

600
00:28:52,608 --> 00:28:56,300
diplomatic will actually finish 
nor does it guarantee that. 

601
00:28:56,300 --> 00:28:58,200
Whatever you're finished 
deployment, will actually be 

602
00:28:58,200 --> 00:29:01,600
defect free, which is why in my 
definition of continuous 

603
00:29:01,600 --> 00:29:03,900
delivery. 
I saying the code has to be in a

604
00:29:03,900 --> 00:29:05,900
Deployable and functionally, 
correct. 

605
00:29:05,900 --> 00:29:07,000
Stay. 
Sorry. 

606
00:29:07,000 --> 00:29:10,000
This is a slightly longer answer
Henry, but I gave all of this 

607
00:29:10,000 --> 00:29:13,200
with the anecdotes so that, you 
know, our listeners and we all 

608
00:29:13,200 --> 00:29:15,600
come to the same page of what 
is, you know? 

609
00:29:15,700 --> 00:29:18,400
There is more to all of this 
pain just having a Jenkins or 

610
00:29:18,400 --> 00:29:21,200
Vegeta, right? 
And and let me just add one 

611
00:29:21,200 --> 00:29:24,500
other thing, because I brought 
up the face eicd over here once 

612
00:29:24,500 --> 00:29:26,200
upon a time. 
I used to be very, you know, you

613
00:29:26,200 --> 00:29:29,400
know, me Henry on this point. 
I used to be extremely strong on

614
00:29:29,400 --> 00:29:33,400
the, you know, against the 
phrase, CI CD because like I 

615
00:29:33,400 --> 00:29:36,600
said, just having a jira and an 
agreement to go, live regularly,

616
00:29:36,600 --> 00:29:39,100
does not make you defect free 
and does not have the right 

617
00:29:39,100 --> 00:29:43,800
guaranteed deployment or either.
So, it's as I keep explaining to

618
00:29:43,800 --> 00:29:46,600
customers, I make, they realize 
the need for For a test Suite, 

619
00:29:46,800 --> 00:29:50,400
they realized I need for uniform
environments, consistent 

620
00:29:50,400 --> 00:29:53,600
deployment, and configuration 
practices, the need for 

621
00:29:53,600 --> 00:29:57,100
comprehensive automated tests 
and exploratory, tests and 

622
00:29:57,100 --> 00:30:00,200
automated deployment, and 
gatekeeping checks that updated 

623
00:30:00,200 --> 00:30:03,400
as they learn all this. 
They realize that there is more 

624
00:30:03,400 --> 00:30:06,800
to this than just CI and an 
agreement to do a continuous 

625
00:30:06,800 --> 00:30:08,900
deployment. 
That's when I tell them, let's 

626
00:30:08,900 --> 00:30:12,400
stop saying see ICD, let's start
saying, continuous delivery. 

627
00:30:12,600 --> 00:30:15,100
That's the only way you're going
to get everybody onto the same 

628
00:30:15,100 --> 00:30:17,600
page. 
Otherwise, what happens is you 

629
00:30:17,600 --> 00:30:21,200
may very well have a trunk base 
development with devs, merging 

630
00:30:21,200 --> 00:30:24,600
on trunk in a most efficient, 
merging they are merged on 

631
00:30:24,600 --> 00:30:27,300
trunk, but you get an artifact 
which is going to save their for

632
00:30:27,300 --> 00:30:31,400
the next two months while every 
Gate Keeper goes through guard, 

633
00:30:31,400 --> 00:30:33,200
won't process of promoting it 
ahead. 

634
00:30:33,500 --> 00:30:34,600
Right? 
There's your continuous 

635
00:30:34,600 --> 00:30:36,300
deployment. 
It's not happening. 

636
00:30:36,600 --> 00:30:40,400
So that's how I work people away
from the phrase CI CD, which is 

637
00:30:40,400 --> 00:30:43,300
limiting to them towards the 
correct phrase, which is 

638
00:30:43,300 --> 00:30:45,000
continuous delivery. 
Hmm. 

639
00:30:45,100 --> 00:30:45,800
I see. 
See. 

640
00:30:46,100 --> 00:30:49,600
So, looking at this right, 
again, looking at the list of 

641
00:30:49,600 --> 00:30:52,600
questions that you have every 
time you ask that obviously, it 

642
00:30:52,600 --> 00:30:55,300
brings a much deeper thought 
process, right? 

643
00:30:55,300 --> 00:30:59,100
Whether we have actually 
implemented a CI CD the correct 

644
00:30:59,100 --> 00:31:03,200
way or meeting the actual 
intention of the CI CD, right? 

645
00:31:03,400 --> 00:31:07,200
So, is there any some kind of 
like maturity level, again 

646
00:31:07,300 --> 00:31:08,600
coming back to my first 
question? 

647
00:31:08,600 --> 00:31:11,600
We're at, right? 
So, is there any like, maturity 

648
00:31:11,600 --> 00:31:15,600
level, for example, a small team
with few developers they want? 

649
00:31:15,800 --> 00:31:18,500
Implement this, obviously, they 
won't be able to achieve 

650
00:31:18,500 --> 00:31:21,300
everything and to end. 
So is there something like a 

651
00:31:21,308 --> 00:31:25,100
progression maturity level that 
they can aspire to achieve and 

652
00:31:25,100 --> 00:31:27,000
over the time they can improve? 
Obviously. 

653
00:31:27,600 --> 00:31:30,500
I'm completely with you, Henry. 
There is this phrase called? 

654
00:31:30,500 --> 00:31:34,300
Let's take baby steps which has 
its role and which can be 

655
00:31:34,300 --> 00:31:36,800
harmful as well. 
When does it have its role? 

656
00:31:36,800 --> 00:31:39,900
When is it harmful? 
Honestly, I used to think it's 

657
00:31:39,900 --> 00:31:41,700
the cowards. 
Who want to take the really, 

658
00:31:41,700 --> 00:31:44,600
really, really small, baby 
steps, but I have also made, 

659
00:31:44,600 --> 00:31:47,500
sure and come to terms with. 
The fact that people will take a

660
00:31:47,500 --> 00:31:50,200
small, a baby step, as they feel
comfortable, taking. 

661
00:31:50,600 --> 00:31:54,700
Okay, the Comfort can be 
genuinely a lack of technical 

662
00:31:54,700 --> 00:31:58,000
understanding or process 
understanding it can go all the 

663
00:31:58,000 --> 00:32:00,300
way to extreme weird political 
things of saying. 

664
00:32:00,300 --> 00:32:02,200
No, no. 
No, I think my job may be a 

665
00:32:02,200 --> 00:32:04,200
threat. 
I better go slow on this and see

666
00:32:04,200 --> 00:32:05,700
if these people actually worth 
it. 

667
00:32:05,900 --> 00:32:09,000
And until I figure out what's in
it for me, right? 

668
00:32:09,000 --> 00:32:12,000
I'll be very plain on the stock.
If it actually ranges from this 

669
00:32:12,000 --> 00:32:14,400
to this and have had to deal 
with both the sides and all 

670
00:32:14,400 --> 00:32:17,200
things in between. 
Here's what I do. 

671
00:32:17,500 --> 00:32:21,000
So one is Henry as you saw in 
the Windows File questions. 

672
00:32:21,200 --> 00:32:23,100
Our code should be in a 
Deployable State and 

673
00:32:23,100 --> 00:32:25,600
functionally, correct. 
That is why I start from a 

674
00:32:25,600 --> 00:32:28,800
functionally correct point of 
view, you know, that do you have

675
00:32:28,800 --> 00:32:30,600
defects in production? 
If you have defects in 

676
00:32:30,600 --> 00:32:32,500
production, you're not 
functionally complete. 

677
00:32:32,800 --> 00:32:35,300
So, where do you start at? 
This is a very good question. 

678
00:32:35,300 --> 00:32:37,700
Where do you start in Greenfield
projects? 

679
00:32:37,700 --> 00:32:39,700
That means very these start from
scratch. 

680
00:32:39,800 --> 00:32:42,200
This is easier, you know exactly
what to do. 

681
00:32:42,200 --> 00:32:45,500
We set up a CI will agree on 
trunk key start test. 

682
00:32:45,700 --> 00:32:49,000
Driving and life is great. 
What do you do? 

683
00:32:49,000 --> 00:32:53,100
When you are a team who already 
has code, you already actually 

684
00:32:53,100 --> 00:32:55,700
understand the domain. 
In fact may even have working 

685
00:32:55,700 --> 00:32:58,700
stuff in production for maybe 
even a few years. 

686
00:32:59,300 --> 00:33:02,600
Now, you go through these five 
questions and realized my God. 

687
00:33:02,700 --> 00:33:06,100
I don't have really honorable 
answers for these and I have a 

688
00:33:06,100 --> 00:33:08,900
very embarrassing answers. 
In fact, no problem. 

689
00:33:08,900 --> 00:33:11,000
No problem. 
Everyone has to start somewhere.

690
00:33:11,000 --> 00:33:14,400
So how do you start? 
I've got some process ideas, and

691
00:33:14,400 --> 00:33:16,800
I've got some technical. 
I Let me quickly tell the 

692
00:33:16,800 --> 00:33:18,600
technical ideas and get them out
of the way. 

693
00:33:18,900 --> 00:33:20,800
The first thing is to create an 
inventory. 

694
00:33:21,100 --> 00:33:24,900
What are you running and prod, 
this goes from prod environment,

695
00:33:24,900 --> 00:33:27,200
composition? 
That means how many VMS or 

696
00:33:27,200 --> 00:33:29,500
servers and all of it? 
Who are you connected to the 

697
00:33:29,500 --> 00:33:31,000
network? 
Who do you integrate with? 

698
00:33:31,300 --> 00:33:33,100
And on what protocols? 
Okay. 

699
00:33:33,400 --> 00:33:36,400
One is, an inventory of that. 
The second is what are the 

700
00:33:36,400 --> 00:33:38,200
artifacts that you have in 
production? 

701
00:33:38,600 --> 00:33:40,600
Right? 
I have these three different 

702
00:33:40,600 --> 00:33:44,100
word files for Java apps or I 
have, you know, those specific 

703
00:33:44,100 --> 00:33:46,500
node packages or whatever that. 
I've set up sure. 

704
00:33:46,800 --> 00:33:49,300
You have to have that, get that 
inventory first. 

705
00:33:49,700 --> 00:33:51,300
The reason I'm saying, get that 
in entries. 

706
00:33:51,600 --> 00:33:53,900
Can you force your confirm say 
that? 

707
00:33:53,900 --> 00:33:56,600
No one has made any changes on 
prod often? 

708
00:33:56,600 --> 00:33:59,100
We cannot see that. 
You do not know that. 

709
00:33:59,300 --> 00:34:02,800
Did you go and Hot Patch or you 
know, to any config file or a 

710
00:34:02,800 --> 00:34:07,400
code file to apply a patch or a 
fix and production which you 

711
00:34:07,400 --> 00:34:09,300
forgot to check back into 
Version Control. 

712
00:34:09,400 --> 00:34:11,600
You don't know. 
So usually the best thing that I

713
00:34:11,600 --> 00:34:14,500
advocate is take a snapshot of 
all of it, that includes a 

714
00:34:14,500 --> 00:34:17,400
snapshot of security. 
Things that includes talking to 

715
00:34:17,400 --> 00:34:20,600
security teams and understanding
what are the settings that they 

716
00:34:20,607 --> 00:34:23,000
have applied. 
Some security teams are very 

717
00:34:23,000 --> 00:34:25,400
secretive, but I can tell you 
gently, all security. 

718
00:34:25,400 --> 00:34:28,100
Settings are usually based on 
the sea is level one or level 

719
00:34:28,100 --> 00:34:30,600
two benchmarks. 
So once you have an inventory of

720
00:34:30,600 --> 00:34:35,000
that, the next immediate thing 
to do is, do we have the source 

721
00:34:35,000 --> 00:34:37,800
code that was used? 
Do we know the exact source code

722
00:34:37,800 --> 00:34:40,699
and the version in the source 
code that was used to create 

723
00:34:40,699 --> 00:34:43,100
these artifacts. 
So that is the source code of 

724
00:34:43,100 --> 00:34:45,800
the application but also the 
build scripts and the Aging 

725
00:34:45,800 --> 00:34:48,900
starts, and I'm using these 
words carefully here build 

726
00:34:48,900 --> 00:34:51,800
scripts and package and because 
for example, someone might use 

727
00:34:51,800 --> 00:34:55,600
Gradle you just come up with a 
word file, but they might choose

728
00:34:55,600 --> 00:35:00,100
to repackage that word file and 
digitally sign it using somebody

729
00:35:00,100 --> 00:35:01,900
else's script. 
You know, the property might 

730
00:35:01,900 --> 00:35:04,800
give a script for that or some 
other products. 

731
00:35:04,800 --> 00:35:07,200
T might say, okay, here you go, 
run this RPM. 

732
00:35:07,400 --> 00:35:10,500
We will take your hold, you 
know, your spring boot app, and 

733
00:35:10,500 --> 00:35:12,800
we will convert it to internal 
RPM for you. 

734
00:35:13,100 --> 00:35:15,000
So do you have an inventory of 
all of it? 

735
00:35:15,700 --> 00:35:17,900
Make sure you have an energy 
conversion control. 

736
00:35:18,400 --> 00:35:23,000
Then the third step would be, 
can you recreate those broad 

737
00:35:23,000 --> 00:35:24,600
artifacts? 
Will you meet? 

738
00:35:24,600 --> 00:35:27,800
These are such interesting and 
painful things to go through, 

739
00:35:27,800 --> 00:35:30,100
you know, because you will 
realize that they're only 

740
00:35:30,100 --> 00:35:32,400
specific machines. 
And when certain compiles, go 

741
00:35:32,400 --> 00:35:36,300
through their only such certain 
machines, in which the packaging

742
00:35:36,300 --> 00:35:39,500
goes through, because some 
signing certificates are kept 

743
00:35:39,500 --> 00:35:43,100
only there once you discover all
this, you have to create the 

744
00:35:43,100 --> 00:35:44,700
energy of that. 
Also. 

745
00:35:45,000 --> 00:35:49,400
Now, you It up a backlog of 
things to fix, which is, can we 

746
00:35:49,400 --> 00:35:53,000
arrive at uniform environments? 
This can be a whole Track by 

747
00:35:53,000 --> 00:35:56,200
itself. 
Uniform environments from Rod 

748
00:35:56,200 --> 00:35:59,100
all the way back to them, which 
includes the security settings. 

749
00:35:59,100 --> 00:36:01,000
It includes the OS versions and 
patches. 

750
00:36:01,300 --> 00:36:03,800
Then you come up with your 
second track of activity, which 

751
00:36:03,800 --> 00:36:08,300
is how are we deploying? 
This can be use the same 

752
00:36:08,300 --> 00:36:12,100
deployment scripts to deploy in 
rod, and and Dev so that you 

753
00:36:12,107 --> 00:36:17,300
have consistent deployments. 
The third thing is, can we have 

754
00:36:17,300 --> 00:36:20,900
consistent configuration? 
And we configure in-depth the 

755
00:36:20,900 --> 00:36:24,200
same way we configure in prod? 
And this is very interesting and

756
00:36:24,207 --> 00:36:27,500
important in today's world where
people are busy using kubernetes

757
00:36:27,500 --> 00:36:28,900
and this and that and 
everything, right? 

758
00:36:28,900 --> 00:36:33,300
They may not realize this. 
But sometimes there are all 

759
00:36:33,300 --> 00:36:37,100
these Cloud provided Services as
well as third party services 

760
00:36:37,100 --> 00:36:40,100
that you have to set up and 
configure where you better 

761
00:36:40,100 --> 00:36:42,800
understand how to configure it. 
Otherwise, you will end up in 

762
00:36:42,800 --> 00:36:45,300
situations where that VM 
disappears Amazon. 

763
00:36:45,400 --> 00:36:47,900
For example, says, with their 
shared responsibility model 

764
00:36:48,500 --> 00:36:49,500
that. 
Hey, folks. 

765
00:36:49,500 --> 00:36:52,400
We will bring the, am I, and the
VM up, but beyond, that is your 

766
00:36:52,400 --> 00:36:54,600
responsibility. 
So, that's not a time to say, 

767
00:36:54,600 --> 00:36:58,000
why is a cloud down and all of 
that, you know, so do you have 

768
00:36:58,000 --> 00:36:59,800
consistency in your 
configuration? 

769
00:37:00,000 --> 00:37:01,600
Right? 
So uniformity in the 

770
00:37:01,600 --> 00:37:05,700
environment, consistency in the 
deployment consistency, 

771
00:37:05,700 --> 00:37:08,200
reconfiguration of the 
environment as well as the app. 

772
00:37:08,600 --> 00:37:12,600
Once you have this much, right? 
Henry, this gets you ready and 

773
00:37:12,600 --> 00:37:15,200
it removes a lot of 
unpredictability that comes up 

774
00:37:15,200 --> 00:37:16,200
in. 
And questions. 

775
00:37:16,600 --> 00:37:19,100
Once you are able to do things 
like this, you can stop 

776
00:37:19,100 --> 00:37:22,600
certifying environments and 
start certifying builds. 

777
00:37:23,100 --> 00:37:26,400
This will help you move away 
from conversations like so it's 

778
00:37:26,400 --> 00:37:28,600
very natural. 
There are people who say is Si 

779
00:37:28,600 --> 00:37:31,200
T, green. 
Is that are working in Q&A. 

780
00:37:31,500 --> 00:37:34,500
If you are T read today, or is 
it Greed, for how many days as 

781
00:37:34,500 --> 00:37:36,700
you ATP internet? 
That's all nonsense. 

782
00:37:36,700 --> 00:37:38,600
You know, what does it mean 
actually for an environment to 

783
00:37:38,607 --> 00:37:41,500
be read? 
And environment is a composition

784
00:37:41,500 --> 00:37:44,800
of the physical infrastructure. 
Let's take it right up to 

785
00:37:44,800 --> 00:37:47,600
Virtual. 
Also the Deep OS and the 

786
00:37:47,600 --> 00:37:50,000
patching. 
It is the security 

787
00:37:50,000 --> 00:37:53,400
configurations and other OS 
kernel tunings which go in 

788
00:37:53,400 --> 00:37:56,400
configuration. 
It's the build of the app. 

789
00:37:56,400 --> 00:37:59,500
It is configurations for the 
app, which also includes, you 

790
00:37:59,508 --> 00:38:01,800
know, database schema and 
configuration are all of it. 

791
00:38:01,800 --> 00:38:03,400
It's all of these things 
together. 

792
00:38:03,400 --> 00:38:08,100
So there is no such thing as 
saying is you a tea green or 

793
00:38:08,100 --> 00:38:10,100
ssit Greenock. 
You agree. 

794
00:38:10,100 --> 00:38:13,600
Know, is that build working in 
that environment to remove the 

795
00:38:13,600 --> 00:38:16,300
variable and unpredictability? 
First, get the environments 

796
00:38:16,300 --> 00:38:19,500
uniform but you get consistent 
with deployment configurations 

797
00:38:19,500 --> 00:38:24,000
and balloons, right aging. 
Once you get to this, it removes

798
00:38:24,000 --> 00:38:26,800
a variability of it works on my 
machine. 

799
00:38:26,800 --> 00:38:28,600
It works on cue. 
I don't know why it's not 

800
00:38:28,600 --> 00:38:31,300
working on Unity. 
Once you get them all uniform 

801
00:38:31,800 --> 00:38:34,300
and certain things consistent. 
You're good. 

802
00:38:34,600 --> 00:38:37,400
I think the way I see what 
you're describing here. 

803
00:38:37,500 --> 00:38:40,400
I mean, you have like, for 
example, uniform environments 

804
00:38:40,400 --> 00:38:44,100
deployment consistency, 
including the configuration. 

805
00:38:44,300 --> 00:38:47,400
Are you able to recreate The 
builds from your version of 

806
00:38:47,400 --> 00:38:50,400
software, right? 
I think the other thing that you

807
00:38:50,400 --> 00:38:53,700
mentioned about the definition 
of continuous delivery, is that 

808
00:38:53,700 --> 00:38:56,000
the build should be 
functionally, correct? 

809
00:38:56,000 --> 00:38:57,600
Right? 
And I think the most important 

810
00:38:57,600 --> 00:39:00,800
thing here is that whether you 
have some kind of gatekeeping 

811
00:39:00,800 --> 00:39:02,800
checks or automating tests in 
place. 

812
00:39:03,100 --> 00:39:06,100
Thank you, which kind of brings 
me to this topic about testing 

813
00:39:06,100 --> 00:39:07,700
pyramid, right? 
Yes. 

814
00:39:07,700 --> 00:39:10,900
I'm just so maybe you can 
explain to the audience here. 

815
00:39:10,900 --> 00:39:13,700
What is testing pyramid? 
What is the concept behind it? 

816
00:39:13,700 --> 00:39:16,000
And why is it important to First
and that. 

817
00:39:16,200 --> 00:39:19,500
Yes, yes, let's go for it. 
So, a lot of these things are 

818
00:39:19,500 --> 00:39:22,400
not either, or you can actually 
start some of these things and 

819
00:39:22,400 --> 00:39:26,300
Patty, creating an inventory of 
your production figuring out the

820
00:39:26,300 --> 00:39:30,200
Version Control trying to sort 
out the bills, you know, making 

821
00:39:30,200 --> 00:39:33,800
sure that your build machines 
are recreated build these. 

822
00:39:33,800 --> 00:39:36,500
All of these activities can 
happen in parallel and it is 

823
00:39:36,500 --> 00:39:39,500
fine to happen in parallel. 
In fact, it's great time-saving.

824
00:39:39,700 --> 00:39:42,600
It also gives ideas on others on
what else they should be 

825
00:39:42,600 --> 00:39:44,700
checking for. 
Once you have these things sort 

826
00:39:44,700 --> 00:39:47,200
out Henry. 
When we can actually start 

827
00:39:47,200 --> 00:39:49,300
leveraging the test, the 
automated tests, which. 

828
00:39:49,300 --> 00:39:52,800
So now I happen to be very good 
friends with a lot of good 

829
00:39:52,800 --> 00:39:55,600
exploratory testers, right? 
Okay. 

830
00:39:55,600 --> 00:39:57,400
Testing is a whole business by 
itself. 

831
00:39:57,400 --> 00:40:00,100
And there are there are there 
are all these humongous, you 

832
00:40:00,100 --> 00:40:02,400
know, mega-corporations of their
Dairy companies. 

833
00:40:02,400 --> 00:40:05,900
We all know them who have entire
testing offerings, are testing 

834
00:40:05,900 --> 00:40:07,200
departments. 
And all of it. 

835
00:40:07,400 --> 00:40:09,900
I have come to realize that they
have their place because not 

836
00:40:09,900 --> 00:40:14,000
everyone would take a test first
approach, you know, from an 

837
00:40:14,000 --> 00:40:16,500
automated test. 
And therefore you need these 

838
00:40:16,500 --> 00:40:18,900
kind of companies, you know, 
there, they'll take your coat. 

839
00:40:19,000 --> 00:40:22,600
They've take your artifact. 
These are testers, who check as 

840
00:40:22,600 --> 00:40:26,100
far as the test cases, what are 
the valid and invalid State 

841
00:40:26,100 --> 00:40:29,900
Transitions and which of these 
valid and invalid State 

842
00:40:29,900 --> 00:40:33,400
transitions happen, or do not 
happen and that is their test 

843
00:40:33,400 --> 00:40:35,500
report. 
This is often called Black Box 

844
00:40:35,500 --> 00:40:37,900
testing, the less mature black 
box. 

845
00:40:37,900 --> 00:40:40,200
Testing is just randomly 
clicking about and it's going 

846
00:40:40,200 --> 00:40:42,900
through a spreadsheet and 
declaring or you know, your app 

847
00:40:42,900 --> 00:40:46,700
doesn't match these 400 out of 
these. 500 different test cases.

848
00:40:46,700 --> 00:40:49,500
I've got each other's Rose in an
unfortunate spreadsheet. 

849
00:40:49,800 --> 00:40:52,900
The real question is, how do you
arrive at that spreadsheet? 

850
00:40:52,900 --> 00:40:55,600
One of the things you do is go 
to a state transition plan. 

851
00:40:56,000 --> 00:40:59,700
This is what you have to do. 
When the devs do not test drive,

852
00:41:00,100 --> 00:41:02,000
which is what gets us to the 
test parameters. 

853
00:41:02,200 --> 00:41:05,100
I think it is a waste of 
people's time eventually. 

854
00:41:05,100 --> 00:41:07,700
Okay, and, and it's a very 
mind-numbing and there is no 

855
00:41:07,700 --> 00:41:10,900
real growth for such testers 
when they have to again and 

856
00:41:10,900 --> 00:41:14,700
again, and again, repeatedly 
validate or invalidate, these 

857
00:41:14,700 --> 00:41:17,700
state. 
Transitions as well as the input

858
00:41:17,700 --> 00:41:19,700
and output acceptance criteria, 
right? 

859
00:41:19,800 --> 00:41:22,200
If you are going to create a 
calculator and you know that 4 

860
00:41:22,200 --> 00:41:26,200
plus 3 should equal 7, there is 
no fun and damn validating 4 

861
00:41:26,200 --> 00:41:29,000
plus 3 is equal to 7 and every 
buildups given to them. 

862
00:41:29,500 --> 00:41:30,900
You should actually automate 
that. 

863
00:41:31,200 --> 00:41:34,300
This is where these are the kind
of test that we should automate.

864
00:41:34,500 --> 00:41:38,000
So Mike cone, you know, who do 
the test parameters. 

865
00:41:38,100 --> 00:41:41,600
Martin, Fowler blog about it, 
and I used a diagram, a lot in 

866
00:41:41,600 --> 00:41:44,800
my conversations. 
I use a test parameter to say, 

867
00:41:45,300 --> 00:41:48,500
Two, doctors, tell us or 
automated tests should help us 

868
00:41:48,500 --> 00:41:51,100
understand what Fields where it 
failed at. 

869
00:41:51,100 --> 00:41:54,100
Why it's sealed, which various 
tests been used by various 

870
00:41:54,100 --> 00:41:56,200
people. 
So the vote failed tests are 

871
00:41:56,200 --> 00:41:59,700
things such as I was able to add
an item to the shopping cart, 

872
00:41:59,700 --> 00:42:02,700
but I cannot check it out. 
Great, you at least know that 

873
00:42:02,700 --> 00:42:06,100
the checkout process do not 
work, but I could search for an 

874
00:42:06,100 --> 00:42:07,700
item and argue to the shopping 
cart. 

875
00:42:07,700 --> 00:42:09,700
Very nice. 
Where did it fail? 

876
00:42:10,000 --> 00:42:12,100
That's when integration test 
comes into play. 

877
00:42:12,200 --> 00:42:15,300
It says that other shopping cart
service, with some other Our 

878
00:42:15,308 --> 00:42:16,900
team. 
It turns out that when we made 

879
00:42:16,900 --> 00:42:20,000
an API call to them, they gave a
response code and it failed, 

880
00:42:20,100 --> 00:42:21,600
right? 
And integration tests will tell 

881
00:42:21,600 --> 00:42:25,600
you that a unit test. 
Tells you, hey, I am using that 

882
00:42:25,600 --> 00:42:29,500
shopping carts, a stub service. 
We are supposed to pass three 

883
00:42:29,500 --> 00:42:32,700
parameters to this API call. 
We are passing only two, so it's

884
00:42:32,700 --> 00:42:35,900
given me a test error or test 
says 4. 

885
00:42:35,900 --> 00:42:41,100
Plus 3 is 7 4 plus -3 is also 7.
Sorry. 

886
00:42:41,100 --> 00:42:43,400
There's a problem. 
Unit tests will tell you things 

887
00:42:43,400 --> 00:42:47,800
like that, right? 
Because 4 plus -3 should be one.

888
00:42:48,100 --> 00:42:51,600
Correct. 
So four plus three is seven is 

889
00:42:51,600 --> 00:42:56,000
an acceptance criteria. 
For plus -3 is one is another 

890
00:42:56,000 --> 00:42:59,200
acceptance criteria. 
Make a call to that stub with 

891
00:42:59,200 --> 00:43:02,300
three parameters is an 
acceptance criteria. 

892
00:43:02,500 --> 00:43:05,900
I should be able to add items to
a card and check out is another 

893
00:43:05,900 --> 00:43:09,000
acceptance criteria, but you 
will see that these are all at 

894
00:43:09,000 --> 00:43:12,900
various degrees of granularity 
from a triaging point of view 

895
00:43:12,900 --> 00:43:16,500
from a knowing something broke 
the Double test could not at 

896
00:43:16,500 --> 00:43:20,200
work, got is great. 
But from knowing why it broke 

897
00:43:20,400 --> 00:43:22,400
the fact that you passed two 
parameters. 

898
00:43:22,400 --> 00:43:26,300
Instead of 3 is what actually 
lets you try your shoes and that

899
00:43:26,300 --> 00:43:29,800
gets us, you know to how should 
your test therefore be arranged.

900
00:43:30,000 --> 00:43:33,200
If you take the test driven 
development approach, which 

901
00:43:33,200 --> 00:43:35,700
means unfortunately, you know, 
the word test has many 

902
00:43:35,700 --> 00:43:39,900
connotations and then I'd work 
with experienced developers and 

903
00:43:39,900 --> 00:43:42,000
make them understand that what 
we are following his release 

904
00:43:42,000 --> 00:43:45,900
according to specification. 
So when you go to Ocean and as 

905
00:43:45,900 --> 00:43:48,400
devs, you're working at the 
lowest level possible, right? 

906
00:43:48,400 --> 00:43:52,200
That's why it's called a unit 
when you code specs, right at a 

907
00:43:52,200 --> 00:43:56,300
unit level and you keep working 
your way up words, you will find

908
00:43:56,500 --> 00:43:59,000
that you will have a massive 
amount of unit tests. 

909
00:43:59,200 --> 00:44:03,300
Some amount of integration test 
and an even lesser number of 

910
00:44:03,300 --> 00:44:06,800
function tests, right? 
The adding something to account,

911
00:44:07,000 --> 00:44:08,700
right? 
Or clicking the check out 

912
00:44:08,700 --> 00:44:10,800
button. 
So once you look at all of this 

913
00:44:10,800 --> 00:44:13,500
and you spread it out, it 
becomes like a pyramid, 

914
00:44:14,000 --> 00:44:16,500
humongous number of unit. 
Some amount of integration 

915
00:44:16,500 --> 00:44:18,800
tests, even lesser number of 
function test. 

916
00:44:19,200 --> 00:44:23,200
Once you do this, you can spare 
your Q&A from having to, you 

917
00:44:23,200 --> 00:44:26,300
know, like a drone teeth. 
Clicking search for an item 

918
00:44:26,300 --> 00:44:27,500
added to our clock. 
Click it. 

919
00:44:27,500 --> 00:44:31,000
Check out you spare them from 
all these pains, you know, Henry

920
00:44:31,300 --> 00:44:34,200
they can now focus on what they 
actually should be focusing on, 

921
00:44:34,600 --> 00:44:37,600
which is exploratory testing, 
which is a problem. 

922
00:44:37,600 --> 00:44:41,600
There are many people who, who 
by the CI CD medicine here just 

923
00:44:41,600 --> 00:44:46,100
declare do, everything has to be
100% automated and And they will

924
00:44:46,100 --> 00:44:48,800
thump the table and demand at 
many things, which cannot be 

925
00:44:48,800 --> 00:44:52,000
automated testing should also be
tested and, you know, it just 

926
00:44:52,000 --> 00:44:54,600
becomes a Missouri game. 
So no fun. 

927
00:44:54,600 --> 00:44:57,300
They're no fun. 
The, the point of the test 

928
00:44:57,300 --> 00:45:00,500
parameters also, to tell people 
that just because you have a QA 

929
00:45:00,500 --> 00:45:04,400
team does not mean that every 
particular code flow path in 

930
00:45:04,400 --> 00:45:06,600
your app should be tested by 
you. 

931
00:45:06,600 --> 00:45:10,300
I that may not be the case. 
For example, there are I have 

932
00:45:10,300 --> 00:45:14,300
been an e-commerce setups what 
they have said that I want every

933
00:45:14,300 --> 00:45:17,500
product. 
Degree variety to be added via 

934
00:45:17,500 --> 00:45:20,600
the UI and tested. 
I don't care that you have, you 

935
00:45:20,600 --> 00:45:22,400
may, or may not have lower level
test. 

936
00:45:22,600 --> 00:45:25,300
But testing team, I'm paying you
to write this group better, 

937
00:45:25,300 --> 00:45:27,200
right? 
It's all these kind of, you 

938
00:45:27,200 --> 00:45:29,900
know, UI test. 
I can tell you, Henry. 

939
00:45:29,900 --> 00:45:34,000
I have been in situations where 
I've seen some 6,000 .ui Tesla, 

940
00:45:34,500 --> 00:45:37,100
and then we were able to work it
out with the client and show 

941
00:45:37,100 --> 00:45:40,000
that the same code paths and a 
variety that's happening on the 

942
00:45:40,000 --> 00:45:43,400
UI, level is already being 
tested at a much lower level. 

943
00:45:43,700 --> 00:45:47,400
So if we cut down the ui's, Our 
test Suite size from 6,000 to 

944
00:45:47,400 --> 00:45:51,600
just 30 or 50 that frees up that
UI testing devs. 

945
00:45:51,900 --> 00:45:53,900
It, frees them up, you know, 
coding testers. 

946
00:45:54,200 --> 00:45:56,100
It. 
Frees them up to automate 

947
00:45:56,100 --> 00:45:58,400
further other things or if 
they're actually excluded 

948
00:45:58,400 --> 00:45:59,600
itself. 
They can do that. 

949
00:45:59,800 --> 00:46:02,500
So it's a bit of a journey and 
you have to show this to 

950
00:46:02,500 --> 00:46:05,000
customers. 
There are tests, writing 

951
00:46:05,000 --> 00:46:08,100
companies who are paid on the 
number of tests that they write.

952
00:46:08,400 --> 00:46:10,600
There are people who have 
finished paying for a large 

953
00:46:10,600 --> 00:46:12,300
number of tests. 
And here, I am coming and 

954
00:46:12,300 --> 00:46:15,500
saying, cut out your 6,000 test 
and replace them with He's 

955
00:46:15,500 --> 00:46:17,900
totally. 
So, what happens in these cases 

956
00:46:17,900 --> 00:46:20,000
is people behave. 
As they are measured, the 

957
00:46:20,000 --> 00:46:22,000
testing company is being paid on
number of tests. 

958
00:46:22,000 --> 00:46:23,500
They will write a number of 
tests. 

959
00:46:23,900 --> 00:46:26,400
There is someone who has 
Justified to their management 

960
00:46:26,400 --> 00:46:28,500
that I paid for 66 thousand 
tests. 

961
00:46:28,600 --> 00:46:31,400
And now I'm Throwing It All Away
in double quotes, you know, 

962
00:46:31,600 --> 00:46:34,100
Throwing It All Away to just 
remain with her teeth. 

963
00:46:34,600 --> 00:46:36,600
So people are going to ask them 
my God. 

964
00:46:36,700 --> 00:46:39,900
Why did you get all those built?
Did you waste money? 

965
00:46:40,100 --> 00:46:44,200
Or if you do not waste money, 
then we losing of their safety 

966
00:46:44,200 --> 00:46:46,300
net, that we paid for. 
You're right. 

967
00:46:46,500 --> 00:46:50,000
So these are the scary questions
and you have to have strategies 

968
00:46:50,000 --> 00:46:53,500
on how you deal with these. 
See the truth is computers are 

969
00:46:53,500 --> 00:46:56,800
very fast. 
What also happens is most 

970
00:46:56,800 --> 00:46:58,900
business. 
People product owners team 

971
00:46:58,900 --> 00:47:01,700
managers, even business analysts
at sometimes. 

972
00:47:01,700 --> 00:47:05,000
I would even say testers who are
not seen the speed at which code

973
00:47:05,000 --> 00:47:08,000
runs, you know, these are not 
people who will understand the 

974
00:47:08,000 --> 00:47:11,700
speed and the magnitude at which
unit test Suites can run. 

975
00:47:12,000 --> 00:47:14,900
For example, browser starts 
search for something. 

976
00:47:14,900 --> 00:47:16,200
Add. 
Thing navigate, now we can 

977
00:47:16,200 --> 00:47:19,300
navigate check out. 
Let's say this takes 10 seconds 

978
00:47:19,500 --> 00:47:22,500
in those 10 seconds. 
You might have as well run some 

979
00:47:22,500 --> 00:47:25,200
three to four hundred unit tests
depending upon the computation 

980
00:47:25,200 --> 00:47:28,600
code over there, right? 
And humongous, number of UI 

981
00:47:28,600 --> 00:47:33,000
paths that people would want you
might as well tested at a much 

982
00:47:33,000 --> 00:47:36,300
much, much lower level and 
finish your whole Community. 

983
00:47:36,300 --> 00:47:39,200
Will Matrix over there. 
What is really required is to 

984
00:47:39,200 --> 00:47:43,500
show the costs of maintaining 
such humongous test Suites and 

985
00:47:43,500 --> 00:47:46,500
the course of not performing a 
Exploratory tests. 

986
00:47:46,600 --> 00:47:50,100
And also the cause of breaking 
one's head and trying to achieve

987
00:47:50,100 --> 00:47:54,800
100% automation of all 
conceivable, usage scenarios eat

988
00:47:54,800 --> 00:47:57,100
one of the ratio test. 
Whereas you could have just 

989
00:47:57,100 --> 00:47:59,000
said, okay. 
These are things let's just 

990
00:47:59,000 --> 00:48:00,500
manually verify them and move 
on. 

991
00:48:00,900 --> 00:48:03,700
So these are the things that 
people will have to do because 

992
00:48:03,700 --> 00:48:05,800
no one answer but these are the 
kind of things you. 

993
00:48:05,800 --> 00:48:09,700
I would pay attention to these 
days Technologies move so fast. 

994
00:48:09,700 --> 00:48:13,600
So rapid, in fact, like every 
few other days, you will hear 

995
00:48:13,600 --> 00:48:16,400
something new being introduced 
including Not just software 

996
00:48:16,400 --> 00:48:18,100
libraries, right? 
But also like technical 

997
00:48:18,100 --> 00:48:22,600
practices and things like that. 
So obviously some of us, I mean,

998
00:48:22,600 --> 00:48:25,800
who probably much younger in 
terms of professional 

999
00:48:25,800 --> 00:48:29,100
experience, which is sometimes 
confused with all these, you 

1000
00:48:29,100 --> 00:48:33,900
know, insurmountable terms being
thrown at us and like buzzwords.

1001
00:48:33,900 --> 00:48:37,100
We just need to follow and try 
to say okay we have achieved 

1002
00:48:37,100 --> 00:48:39,700
this. 
So what do you think about that?

1003
00:48:39,700 --> 00:48:43,500
How should people approach these
so-called buzzword driven 

1004
00:48:43,700 --> 00:48:45,100
development? 
Yahoo! 

1005
00:48:45,200 --> 00:48:48,900
34 so one of our colleagues, you
know her Stella, so Stella and 

1006
00:48:48,900 --> 00:48:53,200
Ivy ran a few continuous 
delivery pipeline workshops, and

1007
00:48:53,200 --> 00:48:54,600
he thought Works office last 
year. 

1008
00:48:54,700 --> 00:48:56,800
We kind of developed the 
syllabus together. 

1009
00:48:56,800 --> 00:48:59,600
And now what I'll be doing is 
putting out all the syllabus out

1010
00:48:59,600 --> 00:49:02,300
there that what does it actually
mean to design a pipeline. 

1011
00:49:02,300 --> 00:49:05,500
It's not just something that you
pay, you know, cloudbees or 

1012
00:49:05,500 --> 00:49:07,300
actually team city is very good 
on it. 

1013
00:49:07,300 --> 00:49:09,500
They don't call it build 
Partners, they call it will 

1014
00:49:09,500 --> 00:49:11,300
change because that's what they 
are. 

1015
00:49:11,700 --> 00:49:14,700
One of the interesting when 
Stella and I were putting 

1016
00:49:14,700 --> 00:49:16,300
together. 
FAQ right. 

1017
00:49:16,400 --> 00:49:19,000
One scenario that I threw at her
as, hey, Stella. 

1018
00:49:19,100 --> 00:49:22,000
Let's say it's a company of just
you and me, both of us, writing 

1019
00:49:22,000 --> 00:49:25,100
codes sitting side by side. 
Do we still need continuous 

1020
00:49:25,100 --> 00:49:27,900
delivery. 
Good question, right? 

1021
00:49:28,100 --> 00:49:31,600
So she and I, we actually 
thought about this a bit, and we

1022
00:49:31,600 --> 00:49:35,700
came up with a scenario and our 
scenario was, let's say, Stella 

1023
00:49:35,700 --> 00:49:39,300
needs to fly home for this 
weekend, and she thinks that she

1024
00:49:39,300 --> 00:49:41,500
may extend it and come back on 
Thursday, right? 

1025
00:49:41,500 --> 00:49:45,100
Take a look rather long holiday.
Also, the tip in her absence. 

1026
00:49:45,200 --> 00:49:47,600
I don't want to call her an 
instructor, but there is a 

1027
00:49:47,600 --> 00:49:49,900
particular defect, a client has 
reported. 

1028
00:49:50,100 --> 00:49:52,900
I fix it. 
And now that client says, Whoa, 

1029
00:49:52,900 --> 00:49:54,900
you fix this. 
Do you think it will undo that 

1030
00:49:54,900 --> 00:49:58,600
other feature you built for me? 
I have to know authoritatively, 

1031
00:49:58,600 --> 00:50:02,400
without calling Stella. 
This fix that I did did not undo

1032
00:50:02,400 --> 00:50:05,500
something else. 
So if my code is, has to be 

1033
00:50:05,500 --> 00:50:08,500
functionally, correct. 
It's not enough that I just have

1034
00:50:08,500 --> 00:50:12,900
a CI where in the code went in 
the thing went green and I have 

1035
00:50:12,900 --> 00:50:15,100
an automatic deploy, an app to 
shoot it to, you know. 

1036
00:50:15,300 --> 00:50:18,800
Amazon will ever know. 
I have to have the right test 

1037
00:50:18,800 --> 00:50:22,200
Suite that says these are all 
the functional acceptance 

1038
00:50:22,200 --> 00:50:25,600
criteria that we had and run 
value made this fix. 

1039
00:50:25,800 --> 00:50:28,600
Did you break some of the 
existing acceptance criteria? 

1040
00:50:29,100 --> 00:50:30,500
You do? 
I relate that acceptance 

1041
00:50:30,500 --> 00:50:31,600
criteria? 
Fulfillment. 

1042
00:50:31,800 --> 00:50:35,000
Yes or no, so I should be able 
to tell the client come buddy. 

1043
00:50:35,000 --> 00:50:37,400
I know Stella's not around and 
you're worried about it. 

1044
00:50:37,600 --> 00:50:39,600
Here you go. 
Here's a test video put together

1045
00:50:39,600 --> 00:50:42,000
for you. 
The build is green, right? 

1046
00:50:42,000 --> 00:50:45,800
So Stella and I we came up with 
that scenario even If it is me 

1047
00:50:45,800 --> 00:50:49,600
as a sole operator, right? 
It's just me writing my own cool

1048
00:50:49,600 --> 00:50:52,800
internet to no sensation. 
No problem. 

1049
00:50:53,100 --> 00:50:55,800
If there is a paying customer 
and this is one of your startup 

1050
00:50:55,800 --> 00:50:57,500
fears, right? 
This things happen that when 

1051
00:50:57,500 --> 00:51:00,400
suddenly there is one 
heavyweight customer for whom 

1052
00:51:00,400 --> 00:51:03,500
you have to start enhancing, you
know, and you have a product 

1053
00:51:03,500 --> 00:51:06,500
vision and whatnot. 
You should be able to think that

1054
00:51:06,500 --> 00:51:09,600
if I make this enhancement, what
is its impact on everything 

1055
00:51:09,600 --> 00:51:11,500
else? 
You have better have the right 

1056
00:51:11,500 --> 00:51:14,500
test Suite which tells you oh, 
if you do this, you are going to

1057
00:51:14,500 --> 00:51:16,500
be disappointed. 
Those are the five customer. 

1058
00:51:16,700 --> 00:51:20,700
So continuous integration right?
Is not just that a CI system to 

1059
00:51:20,700 --> 00:51:23,800
check out your code and compile 
it and keep it ready right here.

1060
00:51:23,800 --> 00:51:27,700
Also means that the known 
acceptance tests at least a 

1061
00:51:27,707 --> 00:51:30,300
functional acceptance test, to 
the extent, possible are 

1062
00:51:30,300 --> 00:51:33,400
automated, and they are 
captured, and they're executed, 

1063
00:51:33,600 --> 00:51:35,300
so that your code is 
functionally ready. 

1064
00:51:35,600 --> 00:51:39,200
So, that's how you should 
leverage your CI and you make it

1065
00:51:39,200 --> 00:51:43,600
CD by making sure that your code
is in a Deployable Steam and 

1066
00:51:43,600 --> 00:51:46,400
your automated deployment, you 
The client decide when they want

1067
00:51:46,400 --> 00:51:49,000
to deploy, you want to 
continuously apply go, that's 

1068
00:51:49,000 --> 00:51:51,100
just a flag. 
That's a flag that says, if this

1069
00:51:51,100 --> 00:51:53,400
pipeline past, I'm happy, you're
pushing it. 

1070
00:51:53,400 --> 00:51:55,300
Don't want to do an automated, 
not a problem. 

1071
00:51:55,300 --> 00:51:56,800
Give the environment owner the 
rights. 

1072
00:51:56,800 --> 00:51:59,900
Tell them click this button. 
Go live Henry, you know, like 

1073
00:51:59,900 --> 00:52:02,700
you say all the young people I 
wouldn't collect so much young. 

1074
00:52:02,700 --> 00:52:05,500
I would just say he's exposure 
to various blog posts and 

1075
00:52:05,500 --> 00:52:07,500
whatnot. 
And they hear continuous 

1076
00:52:07,500 --> 00:52:11,000
delivery, continuous deployment,
and a thumb, the table and say 

1077
00:52:11,000 --> 00:52:14,800
we better deploy continuously. 
No problem. 

1078
00:52:15,200 --> 00:52:18,200
Problem. 
You can deploy continuously if 

1079
00:52:19,400 --> 00:52:23,100
You know that your functionally 
correct, you know, that others 

1080
00:52:23,100 --> 00:52:25,000
you have to interface with. 
If they are not ready. 

1081
00:52:25,000 --> 00:52:27,800
You can detect it and not invoke
those interfaces. 

1082
00:52:27,800 --> 00:52:30,300
Yet. 
You give the client the ability 

1083
00:52:30,400 --> 00:52:33,400
to activate that interfacing 
when the client is ready. 

1084
00:52:33,600 --> 00:52:36,800
You know, let's say these opens 
up some new API and you give the

1085
00:52:36,800 --> 00:52:40,100
client the ability to step back 
from it and even roll back those

1086
00:52:40,100 --> 00:52:43,200
transactions if you can engineer
all this depending on the 

1087
00:52:43,200 --> 00:52:46,100
domain, go for it. 
Some people write who are 

1088
00:52:46,100 --> 00:52:49,000
confused with all his hands at 
even my contrarian views. 

1089
00:52:49,100 --> 00:52:51,900
What's on the market? 
I would say, look, let's accept 

1090
00:52:51,900 --> 00:52:55,300
that accept and acknowledge that
it's a words, are even necessary

1091
00:52:55,300 --> 00:52:58,800
buzzwords help, something become
popular buzzwords. 

1092
00:52:58,800 --> 00:53:01,300
Also, give a name to a huge set 
of practices. 

1093
00:53:01,700 --> 00:53:05,000
Let's acknowledge it. 
But let's also understand that 

1094
00:53:05,100 --> 00:53:07,700
buzz word, or no buzz word. 
You have to give something 

1095
00:53:07,700 --> 00:53:10,100
that's functionally, correct. 
If you can do that. 

1096
00:53:10,400 --> 00:53:12,300
It doesn't matter. 
If you don't know any of the 

1097
00:53:12,300 --> 00:53:15,400
buzzword names because you would
have figured out the engineering

1098
00:53:15,400 --> 00:53:18,700
practices needed for it, if you 
can do that, don't worry about 

1099
00:53:18,700 --> 00:53:20,700
yours. 
Years of experience because the 

1100
00:53:20,700 --> 00:53:24,000
maturity that it takes to arrive
there under wisdom, you will 

1101
00:53:24,000 --> 00:53:27,100
gain from making mistakes. 
The really serve your purpose. 

1102
00:53:27,300 --> 00:53:29,400
Mmm. 
So I have one question as well. 

1103
00:53:29,400 --> 00:53:33,100
Like, I've always wanted to hear
people's thought, especially 

1104
00:53:33,100 --> 00:53:35,700
from people like you, right. 
So these days, there are a lot 

1105
00:53:35,700 --> 00:53:39,700
of Technologies love like 
Frameworks languages even like 

1106
00:53:39,700 --> 00:53:41,800
Cloud providers and things like 
that, right? 

1107
00:53:42,000 --> 00:53:44,200
So, how should we as an 
individual? 

1108
00:53:44,200 --> 00:53:46,200
Keep up? 
Do we need to learn all these 

1109
00:53:46,200 --> 00:53:50,200
Technologies or should we just 
aim for Those that are popular. 

1110
00:53:50,500 --> 00:53:52,500
So what are your thoughts on 
that? 

1111
00:53:52,500 --> 00:53:55,100
My goodness? 
I think one of the better 

1112
00:53:55,100 --> 00:53:57,800
decisions have taken in my life 
is to regularly. 

1113
00:53:57,800 --> 00:54:00,400
Keep diversifying. 
Don't stagnate keep the 

1114
00:54:00,400 --> 00:54:01,000
opposite. 
Fine. 

1115
00:54:01,500 --> 00:54:04,500
Let me tell you a thing or two. 
Let's take a typical audience 

1116
00:54:04,500 --> 00:54:06,700
member for the sake of 
discussion that they are going 

1117
00:54:06,700 --> 00:54:09,300
to write a multi-tier 
application which has a 

1118
00:54:09,300 --> 00:54:13,400
web-based front-end, or service 
side, some service apis and a 

1119
00:54:13,400 --> 00:54:15,700
database. 
Let us also further assume that 

1120
00:54:15,700 --> 00:54:18,700
they are going to be deploying 
this on Google as your or AWS 

1121
00:54:18,700 --> 00:54:20,800
Zone. 
Kubernetes, this is a typical 

1122
00:54:20,800 --> 00:54:24,500
push nowadays, isn't it? 
Then this person, let's say the 

1123
00:54:24,500 --> 00:54:28,000
tech stack is Java spring, then 
they go to meetups, or they 

1124
00:54:28,000 --> 00:54:29,600
nowadays with all our covid 
life. 

1125
00:54:29,600 --> 00:54:33,800
They go see what's online or 
there's now the mern stack o 

1126
00:54:33,800 --> 00:54:38,200
python is gaining popularity. 
Look look, look that AI company 

1127
00:54:38,200 --> 00:54:41,700
just got funded 20 million 
dollars, man, and they're doing 

1128
00:54:41,700 --> 00:54:44,000
everything with Google Kara's 
and here. 

1129
00:54:44,000 --> 00:54:46,300
I'm stuck with the springboard. 
Oh God. 

1130
00:54:46,600 --> 00:54:48,900
I'm outdated dinosaur already, 
right? 

1131
00:54:49,100 --> 00:54:52,000
It's a difficult but it can be 
really scary all this. 

1132
00:54:52,000 --> 00:54:54,500
I tell you, you can feel very 
rapidly that you're going to get

1133
00:54:54,500 --> 00:54:57,900
outdated. 
My feeling is yes, you will get 

1134
00:54:57,900 --> 00:55:00,000
outdated. 
You have to accept that, you 

1135
00:55:00,000 --> 00:55:03,400
will get outdated and you have 
to start putting in strategies 

1136
00:55:03,400 --> 00:55:06,500
in place to help. 
Make sure how much are you 

1137
00:55:06,500 --> 00:55:08,900
updated? 
And what will be the effort 

1138
00:55:08,900 --> 00:55:13,100
involved to get up to date 
again, once you understand this 

1139
00:55:13,200 --> 00:55:15,100
being outdated is no longer 
scary. 

1140
00:55:15,200 --> 00:55:17,700
I can tell you Henry about every
two years. 

1141
00:55:17,700 --> 00:55:20,800
I end up changing my role. 
All, if the kind of close to 

1142
00:55:20,800 --> 00:55:24,400
completed 15 years at 
thoughtworks by now still, every

1143
00:55:24,400 --> 00:55:27,000
do audios. 
I have been fortunate enough to 

1144
00:55:27,000 --> 00:55:29,600
get to change my role or to pick
up something new. 

1145
00:55:29,900 --> 00:55:32,100
And this is not just because 
I've been assigned to different 

1146
00:55:32,100 --> 00:55:32,600
projects. 
I have. 

1147
00:55:32,600 --> 00:55:35,800
In fact changed my role entirely
from being a down to being an 

1148
00:55:35,800 --> 00:55:37,800
Ops guy. 
And in that world, I can tell 

1149
00:55:37,800 --> 00:55:40,600
you, it's a massive world. 
It's part of who I am today 

1150
00:55:40,600 --> 00:55:43,300
that, you know, I can go to 
traditional data center people 

1151
00:55:43,500 --> 00:55:46,300
and make them understand what it
means to move to the cloud. 

1152
00:55:46,500 --> 00:55:48,100
You don't go to such people and 
say sir. 

1153
00:55:48,100 --> 00:55:50,300
You are all loved it. 
I'm using kubernetes now. 

1154
00:55:50,300 --> 00:55:52,500
No, no Mom. 
That's not how to succeed. 

1155
00:55:52,800 --> 00:55:55,700
So my suggestions would be, make
sure you can do this. 

1156
00:55:55,700 --> 00:55:57,900
My own true story is a long time
ago. 

1157
00:55:57,900 --> 00:56:01,100
This is around the year, 97 98. 
I was teaching at a small 

1158
00:56:01,100 --> 00:56:02,400
computer Institute. 
Right? 

1159
00:56:02,400 --> 00:56:06,300
And I was just teaching, see and
Unix, that's what I used to 

1160
00:56:06,300 --> 00:56:08,400
teach them. 
And I thought I'm gonna learn 

1161
00:56:08,400 --> 00:56:11,300
this that and everything but 
just learning C and units itself

1162
00:56:11,300 --> 00:56:13,700
was a lot for me at you. 
Then one day. 

1163
00:56:13,700 --> 00:56:16,700
I got the opportunity that some 
other senior faculty who was 

1164
00:56:16,700 --> 00:56:20,800
teaching Windows programming. 
You just quit and went and these

1165
00:56:20,800 --> 00:56:22,800
small institute's, right? 
You don't have too much of 

1166
00:56:22,800 --> 00:56:25,000
professionals and people just 
come and go or whatever. 

1167
00:56:25,200 --> 00:56:28,000
So suddenly they told me, hey, 
look, here's an opportunity. 

1168
00:56:28,000 --> 00:56:31,100
You can now teach Windows 
programming and Windows. 95, 

1169
00:56:31,100 --> 00:56:34,000
just come in a few years ago 
relative to my time then. 

1170
00:56:34,400 --> 00:56:38,600
And it was an only one computer,
one of the students, he came and

1171
00:56:38,600 --> 00:56:41,100
he gave me a book. 
He said I know you're stuck. 

1172
00:56:41,100 --> 00:56:44,200
But we need your help to clear. 
This syllabus here is a book 

1173
00:56:44,200 --> 00:56:47,000
from my office. 
See if you can learn from it and

1174
00:56:47,000 --> 00:56:48,800
teach us, we are talking about 
times. 

1175
00:56:49,200 --> 00:56:51,100
We did not really have computers
at home. 

1176
00:56:51,100 --> 00:56:53,700
So go to the book, write it out 
on paper. 

1177
00:56:53,700 --> 00:56:55,900
Then come to the training 
institute, very early in the 

1178
00:56:55,900 --> 00:56:59,700
morning, to type it all because 
floppy disks were very, very 

1179
00:56:59,700 --> 00:57:01,700
expensive. 
I couldn't afford them. 

1180
00:57:01,900 --> 00:57:05,100
Oh, I became good at win32 
programming, right now. 

1181
00:57:05,100 --> 00:57:08,700
Onwards, every Windows app that 
I saw, I knew exactly what's 

1182
00:57:08,700 --> 00:57:10,000
going on. 
Okay, great. 

1183
00:57:10,300 --> 00:57:13,200
I am now, the new risk guy and 
I'm sure our audience will 

1184
00:57:13,200 --> 00:57:16,100
identify with this, because once
you become good at your text, 

1185
00:57:16,100 --> 00:57:18,800
and you can churn out code in a 
day one. 

1186
00:57:19,000 --> 00:57:22,200
It is new, guy comes in and 
install something Visual Basic 

1187
00:57:22,200 --> 00:57:24,800
5. 
It blew my mind. 

1188
00:57:25,000 --> 00:57:28,000
The stuff that I will take about
two to three hours. 

1189
00:57:28,200 --> 00:57:31,400
He just click to three buttons 
and had an executable out. 

1190
00:57:31,400 --> 00:57:34,900
My God. 
I was outdated every sort of 

1191
00:57:34,900 --> 00:57:37,100
doing it, right? 
And that time all these months 

1192
00:57:37,100 --> 00:57:39,700
that had poured me just 
disappeared, man. 

1193
00:57:40,000 --> 00:57:43,900
I thought of this will not do 
and I was just some 18 or 19 

1194
00:57:43,900 --> 00:57:47,500
years old at that time and I use
someone in my locality who was a

1195
00:57:47,500 --> 00:57:50,400
union officer, you know, work. 
Union officer eyes are. 

1196
00:57:50,400 --> 00:57:53,300
I'm sure these people have a 
protested to management and all 

1197
00:57:53,300 --> 00:57:55,100
and saying remove computers 
room. 

1198
00:57:55,100 --> 00:57:57,900
All these people lose our jobs, 
there used to be industrial 

1199
00:57:57,900 --> 00:58:01,100
times like that also. 
Okay, so I went to him and I 

1200
00:58:01,107 --> 00:58:03,200
thought I would get advice on 
how to protest to the 

1201
00:58:03,200 --> 00:58:05,400
management. 
So I told him all this and he 

1202
00:58:05,400 --> 00:58:08,000
asked me, hey how many people 
know this technology? 

1203
00:58:08,100 --> 00:58:11,500
I said only that guy and I was 
scared this man will tell me go 

1204
00:58:11,500 --> 00:58:13,300
break his leg and make sure it 
never comes. 

1205
00:58:13,300 --> 00:58:24,600
I said, oh I want to be violent.
If you stop the only guy who 

1206
00:58:24,600 --> 00:58:27,900
knows it, how about you become 
the next guy, who knows it and 

1207
00:58:27,900 --> 00:58:31,300
know it better than him. 
I got Henry. 

1208
00:58:31,300 --> 00:58:34,800
I'm telling you my life changed 
from that day. 

1209
00:58:35,500 --> 00:58:38,800
I have made sure that I don't 
just use a technology. 

1210
00:58:39,000 --> 00:58:42,900
I find out how and why it works.
I'm good. 

1211
00:58:43,000 --> 00:58:45,800
It's plumbing. 
And I go on from there. 

1212
00:58:46,000 --> 00:58:49,800
The reason I gave this example 
is you will always get Addicted.

1213
00:58:49,800 --> 00:58:52,800
But you have to dive in a bit, 
understand a bit of the 

1214
00:58:52,800 --> 00:58:55,600
fundamentals and then you know 
what, the fundamentals just 

1215
00:58:55,600 --> 00:58:58,800
translator JavaScript Frameworks
at the end of the day. 

1216
00:58:58,800 --> 00:59:02,000
It's a single threaded text 
track, all that it is going to 

1217
00:59:02,000 --> 00:59:06,300
do is just omit some HTML, no 
matter what Million number of 

1218
00:59:06,300 --> 00:59:08,400
JavaScript libraries. 
You pull in at the end of the 

1219
00:59:08,400 --> 00:59:11,700
day, accomplish certain 
activities, if you write and 

1220
00:59:11,700 --> 00:59:15,000
that much switching from one 
message to likely to the other, 

1221
00:59:15,200 --> 00:59:18,200
should not take too much time. 
If you understand the notion 

1222
00:59:18,200 --> 00:59:20,200
that node. 
Is single threaded, whereas the 

1223
00:59:20,200 --> 00:59:24,000
jvm is multi-threaded, that can 
teach you a bunch of stuff that 

1224
00:59:24,000 --> 00:59:27,000
you can and cannot do. 
Hmm, yet. 

1225
00:59:27,000 --> 00:59:29,700
Again, Henry, I gave this 
anecdote for a reason. 

1226
00:59:30,000 --> 00:59:32,900
Some years ago. 
We had that the table stays in 

1227
00:59:32,900 --> 00:59:35,100
Singapore. 
Someone had asked me this, have 

1228
00:59:35,100 --> 00:59:38,200
I ever been scared of being 
outdated, right? 

1229
00:59:38,300 --> 00:59:41,700
And I gave them this worker 
Union Visual Basic example, you 

1230
00:59:41,700 --> 00:59:44,600
know another person from the 
audience asked me a very amazing

1231
00:59:44,600 --> 00:59:47,500
question. 
He said, what if and this is 

1232
00:59:47,500 --> 00:59:50,800
interesting and important Said, 
Rommel ask you an archery based 

1233
00:59:50,800 --> 00:59:53,800
analogy. 
His scenario was, he is working 

1234
00:59:53,800 --> 00:59:56,200
for a king whose employing 
archers. 

1235
00:59:56,500 --> 01:00:00,000
The enemy King is having people 
with much more powerful 

1236
01:00:00,000 --> 01:00:02,700
crossbows. 
So, here, it just so, you know, 

1237
01:00:02,700 --> 01:00:05,300
and for the audience, there are 
pros and cons with a bow, you 

1238
01:00:05,300 --> 01:00:08,000
can be much more frequently. 
Firing an arrow then with a 

1239
01:00:08,008 --> 01:00:11,900
crossbow, but with the crossbow,
that the velocity and the points

1240
01:00:11,900 --> 01:00:15,200
that it packs is like three, 
four times that of an Archer. 

1241
01:00:15,400 --> 01:00:20,000
Okay, and I have a crossbow in 
India, and I know How awful it 

1242
01:00:20,000 --> 01:00:23,200
can't be. 
Yeah, so just to share my 

1243
01:00:23,200 --> 01:00:25,000
response to this audience 
member. 

1244
01:00:25,000 --> 01:00:26,600
Right. 
My response to this audience 

1245
01:00:26,600 --> 01:00:28,900
member was steal out of your 
Camp. 

1246
01:00:29,200 --> 01:00:31,000
Look at what is this? 
Enemy doing? 

1247
01:00:31,000 --> 01:00:34,200
Understand that crossbow? 
Okay, if you can then steal 

1248
01:00:34,200 --> 01:00:37,700
across one, come back to your 
Camp show to your peers and show

1249
01:00:37,700 --> 01:00:39,700
it to your king. 
Tell the King. 

1250
01:00:39,700 --> 01:00:42,100
This is what we can do with a 
crossbow. 

1251
01:00:42,300 --> 01:00:46,100
And this is what we are up 
against O King. 

1252
01:00:46,100 --> 01:00:47,800
Also going to adopt the 
crossbow. 

1253
01:00:48,200 --> 01:00:50,100
If your king is Going to add up 
the crossbow. 

1254
01:00:50,200 --> 01:00:53,100
Then my dear friend, give the 
archery 10 and go to the 

1255
01:00:53,100 --> 01:00:57,600
crossbow tent. 
Wow, interesting, anecdote. 

1256
01:00:57,600 --> 01:01:00,100
Yes, it's fine to, you know, 
deep dive into Tech. 

1257
01:01:00,300 --> 01:01:03,300
It's going to do a lot of due 
diligence and your visual for 

1258
01:01:03,300 --> 01:01:06,900
the client and the team and be 
sincere, but also do not get 

1259
01:01:06,900 --> 01:01:10,800
siloed. 
Do not a bank or a government or

1260
01:01:10,800 --> 01:01:12,700
a particular company. 
Specialist. 

1261
01:01:13,000 --> 01:01:18,100
Do not because you never know 
when you get so typecasted or 

1262
01:01:18,100 --> 01:01:20,600
suicide. 
Load that you actually cannot 

1263
01:01:20,600 --> 01:01:24,000
add up to something new right 
that you can't do it at that. 

1264
01:01:24,100 --> 01:01:27,800
Stick into a certain principles,
or or certain Tech or whatever. 

1265
01:01:27,800 --> 01:01:31,400
Right is foolishness. 
There is a saying by one of our 

1266
01:01:31,400 --> 01:01:34,400
ex-presidents in India, don't 
love your company. 

1267
01:01:34,400 --> 01:01:37,700
Love your job, right? 
But I would say something else, 

1268
01:01:38,100 --> 01:01:41,500
focus on the outcome and not 
just the technology. 

1269
01:01:41,700 --> 01:01:44,000
Mmm, right. 
You are not here as a 

1270
01:01:44,000 --> 01:01:46,500
technology, specialist. 
You are here as an outcome 

1271
01:01:46,500 --> 01:01:48,800
specialist. 
Great job before. 

1272
01:01:48,900 --> 01:01:53,300
Wanted to be Java 8 entropy Java
12, but then One Fine Day growl 

1273
01:01:53,300 --> 01:01:55,200
comes in. 
What is that mean for you? 

1274
01:01:55,400 --> 01:01:57,000
Right? 
Because there is someone with 

1275
01:01:57,000 --> 01:02:00,100
amazing Ruby skills in in a 
fraction of the time that you do

1276
01:02:00,100 --> 01:02:02,300
it with Java. 
They'll do it with Ruby or their

1277
01:02:02,300 --> 01:02:04,900
leverage girl dead interop with 
everyone and then walk away. 

1278
01:02:05,200 --> 01:02:06,000
What do you do? 
Then? 

1279
01:02:06,300 --> 01:02:09,800
Amazon comes up with stuff like 
Lambda where you know, it will 

1280
01:02:09,800 --> 01:02:13,500
scale up to a few thousand 
instances and cut back down and 

1281
01:02:13,500 --> 01:02:15,600
let you Stitch a lot of stuff 
together. 

1282
01:02:16,000 --> 01:02:18,700
What do you do then? 
Do you want to stay on? 

1283
01:02:18,900 --> 01:02:22,900
As a VMware Specialist or no, 
because they will VMware, is not

1284
01:02:22,900 --> 01:02:26,300
sticking to VM back. 
Even VMware is expanding out. 

1285
01:02:26,400 --> 01:02:29,900
So, why are you being so loyal? 
Mmm, right. 

1286
01:02:29,900 --> 01:02:32,500
Thank you for this wisdom. 
I mean, it's pretty profound, 

1287
01:02:32,500 --> 01:02:35,900
and I'm sure like, everyone of 
us can really, really relate to 

1288
01:02:35,900 --> 01:02:39,000
that story and hopefully 
everyone of you can get this 

1289
01:02:39,000 --> 01:02:41,500
wisdom and applied in your own 
career as well. 

1290
01:02:41,900 --> 01:02:44,100
So coming to my next question, 
right? 

1291
01:02:44,100 --> 01:02:47,600
You mentioned a couple of rolls 
like developers infrastructure 

1292
01:02:47,600 --> 01:02:51,000
Engineers, right or devil. 
What people call these days and 

1293
01:02:51,000 --> 01:02:54,400
then you have this Q&A or 
testers, then obviously, there's

1294
01:02:54,400 --> 01:02:57,700
this security people as well. 
So, where do you see? 

1295
01:02:57,700 --> 01:03:01,300
Security comes in the sea ICD 
space. 

1296
01:03:01,400 --> 01:03:04,400
And also you have this 
interesting topic last time 

1297
01:03:04,400 --> 01:03:06,300
about segregation of Duty, 
right? 

1298
01:03:06,400 --> 01:03:08,900
So do you think with A 
continuous delivery pipeline? 

1299
01:03:09,200 --> 01:03:12,600
You may say that we don't need 
to separate people or role to 

1300
01:03:12,600 --> 01:03:16,300
actually certify the builds. 
Wow, very, very, very 

1301
01:03:16,300 --> 01:03:19,400
interesting question. 
So Henry, Ford, Of the, where do

1302
01:03:19,400 --> 01:03:22,600
we start is also once you 
understand a lot of these things

1303
01:03:22,900 --> 01:03:26,000
is also to draw the entire 
process tree from the time. 

1304
01:03:26,000 --> 01:03:29,400
Someone decides. 
We need this project till the 

1305
01:03:29,400 --> 01:03:32,400
time they say, yes, we are the 
live for three months and we are

1306
01:03:32,400 --> 01:03:36,400
busy enhancing features. 
What does that entire cycle of 

1307
01:03:36,400 --> 01:03:37,300
that? 
Right? 

1308
01:03:37,300 --> 01:03:38,800
There? 
Is this concept called the value

1309
01:03:38,800 --> 01:03:41,000
stream map in a value stream 
map. 

1310
01:03:41,300 --> 01:03:43,900
You identify? 
What are the processes that are 

1311
01:03:43,900 --> 01:03:46,100
involved? 
What are the wait times? 

1312
01:03:46,400 --> 01:03:48,700
And what are the cycle repeat 
time? 

1313
01:03:49,400 --> 01:03:53,100
So you have process a which 
takes 5 minutes, then you wait 

1314
01:03:53,100 --> 01:03:56,100
for one hour, then process B, 
which takes half an hour and 

1315
01:03:56,100 --> 01:03:58,400
then be fails. 
So you go back to a and this 

1316
01:03:58,400 --> 01:04:00,800
happens on average of three 
times, right? 

1317
01:04:01,100 --> 01:04:04,600
So in this case, this is your 
value stream map in the real 

1318
01:04:04,600 --> 01:04:06,400
world. 
You would go all the way from 

1319
01:04:06,400 --> 01:04:09,900
Stories, being identified for a 
screen door and iteration till 

1320
01:04:09,900 --> 01:04:13,000
that time that it goes live. 
So you have the devs committing 

1321
01:04:13,000 --> 01:04:16,100
code data, take that time to 
commit code any of too much, 

1322
01:04:16,100 --> 01:04:19,700
then you have to merge with the 
master Branch or Development 

1323
01:04:19,700 --> 01:04:21,200
trunk, whatever they want to 
call it. 

1324
01:04:21,500 --> 01:04:24,400
Then you create a build for the 
QA environment and there is a 

1325
01:04:24,408 --> 01:04:27,500
whole cycle of the bill passing 
sailing, not getting deployed 

1326
01:04:27,500 --> 01:04:30,200
correctly. 
Then Q is rejecting that to 

1327
01:04:30,200 --> 01:04:33,500
three times. 
Then it goes to uat environment 

1328
01:04:33,600 --> 01:04:36,100
or their psyche, whatever you 
want to call it goes to the uat 

1329
01:04:36,100 --> 01:04:39,200
environment users rejected. 
They say, oh, this is not what I

1330
01:04:39,200 --> 01:04:42,200
asked for or sorry. 
It looks like you miss this 

1331
01:04:42,200 --> 01:04:45,500
requirement or oh, you know, 
some business circumstances have

1332
01:04:45,500 --> 01:04:46,900
changed. 
We need to change the 

1333
01:04:46,900 --> 01:04:49,000
requirement, right? 
And from that day. 

1334
01:04:49,100 --> 01:04:50,600
Then you keep it ready for 
brought. 

1335
01:04:50,600 --> 01:04:53,600
But then the prod off, steam 
says, the next deployment window

1336
01:04:53,600 --> 01:04:55,900
is two weeks from now. 
You'll have to wait till them. 

1337
01:04:56,200 --> 01:04:58,500
Meanwhile, there are the 
security terms will come the day

1338
01:04:58,508 --> 01:05:01,100
a gatekeeping checks. 
They'll be the karate. 

1339
01:05:01,100 --> 01:05:03,400
Be guys who come and say, sorry.
I can't let you make these 

1340
01:05:03,400 --> 01:05:06,600
schema changes on. 
This is not allowed of that will

1341
01:05:06,600 --> 01:05:09,500
cause a performance issue. 
Then, you know things go back 

1342
01:05:09,700 --> 01:05:11,500
there for you. 
Learn the hard way to create 

1343
01:05:11,500 --> 01:05:14,000
huge checklist and get sign of 
some people. 

1344
01:05:14,200 --> 01:05:18,100
And then, you painfully go live 
only to find that your users are

1345
01:05:18,100 --> 01:05:21,000
reporting certain death. 
And then the whole cycle starts 

1346
01:05:21,000 --> 01:05:24,500
again. 
So what I do is I tell everyone,

1347
01:05:24,600 --> 01:05:27,100
no problem. 
Let us recognize that we have to

1348
01:05:27,100 --> 01:05:29,600
do all these things. 
Let's just draw whole process 

1349
01:05:29,600 --> 01:05:31,300
map. 
So you have the processes, the 

1350
01:05:31,300 --> 01:05:34,100
wait time between the processes.
The lead times that is, you 

1351
01:05:34,100 --> 01:05:37,600
know, it takes to start the next
process and how many times you 

1352
01:05:37,600 --> 01:05:39,900
go back. 
So with this you find out, which

1353
01:05:39,900 --> 01:05:42,300
are the various opportunities 
for improvement, right? 

1354
01:05:42,500 --> 01:05:46,800
Which are the spots where there 
is a largest number of waste. 

1355
01:05:46,900 --> 01:05:49,800
The biggest waste is of course 
the further you You go down and 

1356
01:05:49,800 --> 01:05:52,300
it comes back that is a huge 
waste of time. 

1357
01:05:52,700 --> 01:05:55,800
So what I advise is, let's 
identify all these kinds of ways

1358
01:05:55,800 --> 01:05:57,600
and this is where the phrase 
left shift. 

1359
01:05:57,600 --> 01:06:00,900
Comes from many people don't 
quite understand this, but you 

1360
01:06:00,900 --> 01:06:03,900
don't just like that, you know, 
draw simple plain Pipeline and 

1361
01:06:03,900 --> 01:06:05,900
Jenkins and declare. 
I want to do left shift. 

1362
01:06:05,900 --> 01:06:09,100
No, you have to actually do a 
value stream map to understand 

1363
01:06:09,100 --> 01:06:12,400
what to shift left. 
So what you shift left first, 

1364
01:06:12,600 --> 01:06:15,300
assuming that, you know, our 
environments are uniform, our 

1365
01:06:15,300 --> 01:06:18,900
deployments and configurations 
are consistent and we have S, 

1366
01:06:19,700 --> 01:06:23,000
Now, what you start left? 
Shifting our, how comprehensive 

1367
01:06:23,000 --> 01:06:25,100
are these tests and these 
stairs, by the way. 

1368
01:06:25,100 --> 01:06:27,500
Now, no longer have to be just 
by the QA team. 

1369
01:06:27,600 --> 01:06:29,500
They can also be addressed by 
the users. 

1370
01:06:30,000 --> 01:06:33,300
They can be. 
Now the checks that DBS book in 

1371
01:06:33,600 --> 01:06:36,500
which is where you go to DBS and
say, guys, look, we 

1372
01:06:36,500 --> 01:06:39,000
traditionally keep coming up to 
here and you keep kicking as 

1373
01:06:39,000 --> 01:06:41,500
back. 
Can you please just discuss with

1374
01:06:41,500 --> 01:06:43,800
you early on? 
For example a conversation with 

1375
01:06:43,800 --> 01:06:46,900
a debate team and say can we 
discuss with you early on? 

1376
01:06:47,300 --> 01:06:51,100
What schema should we be using? 
You, what are you fine with, 

1377
01:06:51,300 --> 01:06:52,700
right? 
These are the requirements 

1378
01:06:52,700 --> 01:06:54,500
coming in. 
Can you advise also on this? 

1379
01:06:54,600 --> 01:06:57,200
Let's have a calendar date. 
When you meet a twice, whatever.

1380
01:06:57,400 --> 01:07:01,200
And you tell us what index is to
create, not create what we 

1381
01:07:01,200 --> 01:07:03,300
should also look for the perfect
testing or whatever. 

1382
01:07:03,400 --> 01:07:05,200
No problem. 
Suddenly. 

1383
01:07:05,300 --> 01:07:08,700
You have your database admins 
gatekeeping checks with you. 

1384
01:07:08,700 --> 01:07:13,000
I have found that it is socially
more advantageous to approach 

1385
01:07:13,000 --> 01:07:16,800
and get a database checks than 
operating system and other 

1386
01:07:16,800 --> 01:07:19,800
people's checks, right? 
Because you can then then go to 

1387
01:07:19,800 --> 01:07:23,700
the operating system people show
your due diligence by saying, we

1388
01:07:23,700 --> 01:07:26,400
have done this functional. 
Validation, here are gatekeeping

1389
01:07:26,400 --> 01:07:28,400
checks. 
We are working with the database

1390
01:07:28,400 --> 01:07:29,600
team. 
We are listening to what they're

1391
01:07:29,600 --> 01:07:32,400
saying and making those checks 
for of a pipeline and tests. 

1392
01:07:32,600 --> 01:07:34,500
Could we please have your checks
as well? 

1393
01:07:34,800 --> 01:07:36,700
That's when you show them the 
network diagram. 

1394
01:07:37,000 --> 01:07:39,200
That's when you show them with 
service talks to whom what 

1395
01:07:39,200 --> 01:07:42,900
identity what access show them 
the column level access show 

1396
01:07:42,900 --> 01:07:44,400
them. 
Walk them through all of it in 

1397
01:07:44,400 --> 01:07:45,700
layers, ask them. 
What? 

1398
01:07:45,700 --> 01:07:48,000
Or will they be checking for? 
Mostly. 

1399
01:07:48,000 --> 01:07:49,300
They will tell you stuff like 
it. 

1400
01:07:49,400 --> 01:07:52,100
Being hardened, production, OS, 
environment, sounds good. 

1401
01:07:52,500 --> 01:07:55,000
Tell them, you know, what, you 
wanta Q environment to be 

1402
01:07:55,000 --> 01:07:57,700
harder, like, production. 
Give it to us, if it doesn't 

1403
01:07:57,700 --> 01:08:00,000
pass into, it's not going on it.
Right. 

1404
01:08:00,200 --> 01:08:03,000
Once you are able to demonstrate
with an auditable manner that 

1405
01:08:03,000 --> 01:08:05,900
you are not getting into a QA 
environment as a searching and 

1406
01:08:05,900 --> 01:08:08,800
making changes. 
And that QA environment is the 

1407
01:08:08,800 --> 01:08:12,200
same as prod. 
You can now say the security 

1408
01:08:12,200 --> 01:08:14,400
folks have given us, they are 
gatekeeping checks. 

1409
01:08:14,700 --> 01:08:17,200
We have codified. 
These here is evidence that we 

1410
01:08:17,200 --> 01:08:20,000
have not changed the code. 
Here's a evidence will not 

1411
01:08:20,000 --> 01:08:23,700
change the Target and we have 
successfully left shifted broad 

1412
01:08:23,700 --> 01:08:26,200
security. 
Once you can start doing things 

1413
01:08:26,200 --> 01:08:28,100
like that. 
You will find out that the 

1414
01:08:28,100 --> 01:08:31,300
process time in your value 
stream map will take more time 

1415
01:08:31,500 --> 01:08:34,000
because you know, more checks 
are running but you will find 

1416
01:08:34,000 --> 01:08:36,800
out that the wastes are reducing
often. 

1417
01:08:36,800 --> 01:08:40,300
It is better that a build and 
checks and everything. 

1418
01:08:40,300 --> 01:08:44,100
Instead of half an hour, if it 
takes to us letter, take it just

1419
01:08:44,100 --> 01:08:47,000
as a start, please bear with me.
It is better that instead of 

1420
01:08:47,000 --> 01:08:49,200
half and our and repeats for 
four days. 

1421
01:08:49,399 --> 01:08:52,200
Or even two to three weeks. 
It is better that half, not 

1422
01:08:52,200 --> 01:08:55,600
takes two hours with a guarantee
that there will be no repeat. 

1423
01:08:56,000 --> 01:08:59,399
Once you're able to do this. 
You can then start figuring out.

1424
01:08:59,500 --> 01:09:02,500
How do I reduce the individual 
process X, right? 

1425
01:09:02,500 --> 01:09:06,399
So for example, do we have to 
apply the security checks as 

1426
01:09:06,399 --> 01:09:10,000
part of the deployment? 
Or can we break the security 

1427
01:09:10,000 --> 01:09:13,800
settings into the? 
Am I I'm using Amazon terms 

1428
01:09:13,800 --> 01:09:18,399
here, Henry into the am I and 
never change it because then 

1429
01:09:18,399 --> 01:09:21,000
suddenly the whole All, you 
know, OS installation, and 

1430
01:09:21,000 --> 01:09:23,100
security hardening, and all is 
nekton. 

1431
01:09:23,399 --> 01:09:25,800
Then you only focus on 
deployment and configuration 

1432
01:09:25,800 --> 01:09:27,600
suddenly that process time cuts 
down. 

1433
01:09:27,899 --> 01:09:30,399
Then comes to other things like 
weights. 

1434
01:09:30,600 --> 01:09:32,800
Just to give you an example of 
weight, many people may not 

1435
01:09:32,800 --> 01:09:35,000
realize this. 
So, I have worked with clients 

1436
01:09:35,000 --> 01:09:37,700
where devs commit code 
throughout the day and then they

1437
01:09:37,700 --> 01:09:40,800
have to raise a ticket to get 
the CI triggered at night. 

1438
01:09:41,000 --> 01:09:43,500
Not a problem. 
I sat and I discussed with the 

1439
01:09:43,500 --> 01:09:45,700
CI people ask them. 
What is it that you do? 

1440
01:09:46,100 --> 01:09:49,200
It turned out that they had a 
bunch of checks of their own and

1441
01:09:49,399 --> 01:09:52,100
Long time ago, the Deads did not
know to run a bunch of these 

1442
01:09:52,100 --> 01:09:54,200
checks. 
Okay, which was does the code 

1443
01:09:54,200 --> 01:09:57,900
even basically compile the code 
that people have committed have 

1444
01:09:57,900 --> 01:10:00,400
their targeted with the right 
messages, right? 

1445
01:10:00,400 --> 01:10:02,200
There were a lot of lot of 
things like this. 

1446
01:10:02,300 --> 01:10:05,400
So what these CI trigger in guys
would do at night? 

1447
01:10:05,400 --> 01:10:07,800
Is they look at all the effort 
come up at all of it. 

1448
01:10:07,800 --> 01:10:12,300
Create a manifest document and 
say this build is related to all

1449
01:10:12,300 --> 01:10:15,400
of these stories. 
So you might normally last, ho 

1450
01:10:15,400 --> 01:10:17,900
ho, ho why do you have to, you 
know, raise a ticket with 

1451
01:10:17,900 --> 01:10:20,800
someone to trigger a build? 
Go check with them, find out. 

1452
01:10:20,800 --> 01:10:23,500
What is it that they are doing? 
Once I learned this, I went and 

1453
01:10:23,500 --> 01:10:25,800
told that there's folks with all
our stories. 

1454
01:10:25,800 --> 01:10:28,300
Let's start committing. 
It linking to the story card 

1455
01:10:28,300 --> 01:10:31,100
number and I worked it out with 
the CI triggering people and 

1456
01:10:31,100 --> 01:10:34,600
then suddenly they change the 
whole CI to be triggered at a 

1457
01:10:34,600 --> 01:10:36,300
polling interval of every 1 
minute. 

1458
01:10:36,400 --> 01:10:38,100
That's it. 
Since of, raising your ticker 

1459
01:10:38,100 --> 01:10:39,500
and doing it at night, they did 
this. 

1460
01:10:39,500 --> 01:10:43,300
So with these mechanisms, right?
You can reduce the wait time 

1461
01:10:43,300 --> 01:10:46,000
between processes. 
So what we discussed was left 

1462
01:10:46,000 --> 01:10:49,100
shifting so that you reduce the 
waste optimizing so that you've 

1463
01:10:49,100 --> 01:10:51,900
read The process time itself, 
and then you figure out. 

1464
01:10:51,900 --> 01:10:55,500
Why do you have waiting time in 
between, what can you do to 

1465
01:10:55,500 --> 01:10:58,300
eliminate it? 
So once you qualify checks, and 

1466
01:10:58,300 --> 01:11:00,700
once you understand other 
people's needs and all of it, 

1467
01:11:00,700 --> 01:11:03,200
right? 
This is what it takes to arrive 

1468
01:11:03,200 --> 01:11:06,400
at and optimize and the best 
auto optimized value stream map.

1469
01:11:06,600 --> 01:11:10,400
And then you can say, I am now 
going to certify a build and not

1470
01:11:10,400 --> 01:11:12,000
an environment. 
Hmm. 

1471
01:11:12,400 --> 01:11:15,100
So hearing from what you 
explained just now, right? 

1472
01:11:15,100 --> 01:11:18,400
So the way I see it is that yes,
there is still some kind of 

1473
01:11:18,400 --> 01:11:20,300
segregation of duties. 
Atiba, instead of being 

1474
01:11:20,300 --> 01:11:22,800
explicit. 
Now in all these gatekeeping 

1475
01:11:22,800 --> 01:11:26,800
checks and automated tests, and 
this shift left practice, right?

1476
01:11:27,000 --> 01:11:31,000
You can have this all implicit 
and automated and you improve 

1477
01:11:31,000 --> 01:11:34,500
your value stream map as well. 
And even like, for example, from

1478
01:11:34,500 --> 01:11:36,600
time to time, right? 
We have this continuous delivery

1479
01:11:36,600 --> 01:11:39,900
pipeline where you can accept, 
sort of like explicit trigger, 

1480
01:11:39,900 --> 01:11:43,000
like what people used to call 
push of a button that can sort 

1481
01:11:43,000 --> 01:11:44,800
of signal, some kind of 
approval. 

1482
01:11:45,000 --> 01:11:47,400
So is that the correct 
understanding or sorry? 

1483
01:11:47,400 --> 01:11:49,600
Henry? 
May I say I got a little Too 

1484
01:11:49,600 --> 01:11:52,500
deep into what it takes to 
optimize a value stream map 

1485
01:11:52,500 --> 01:11:55,500
which actually comes before. 
The topic of segregation of Duty

1486
01:11:55,800 --> 01:11:58,400
just to tell you Henry. 
I am still an accredited 

1487
01:11:58,400 --> 01:12:00,500
auditor. 
So in my work in a Singapore, 

1488
01:12:00,500 --> 01:12:03,700
government space, I got to meet 
with a lot of very diligent 

1489
01:12:03,900 --> 01:12:06,000
process, people and Auditors and
everything. 

1490
01:12:06,300 --> 01:12:08,800
It seems painful at the start, 
but I will admit that. 

1491
01:12:08,800 --> 01:12:12,000
I became a much better person 
with a far deeper understanding 

1492
01:12:12,000 --> 01:12:15,200
of the kind of regulatory. 
And, you know, process controls 

1493
01:12:15,200 --> 01:12:18,300
that people often need, 
especially when they are not 

1494
01:12:18,300 --> 01:12:21,300
that techies. 
Right, so, that gets us to the 

1495
01:12:21,300 --> 01:12:24,900
topic of segregation of Duties. 
See a lot of us right, as devs. 

1496
01:12:24,900 --> 01:12:27,800
We know what it takes to compile
code, even nowadays with a lot 

1497
01:12:27,800 --> 01:12:29,700
of cloud and occupation. 
We know what it takes to 

1498
01:12:29,700 --> 01:12:32,800
production and environment. 
I will push out a build and 

1499
01:12:32,800 --> 01:12:34,600
demonstrate that, it is all 
correct. 

1500
01:12:34,600 --> 01:12:37,600
And for those of us who do a lot
of good automated testing 

1501
01:12:37,600 --> 01:12:40,800
ourselves, we even know. 
Yes, this is functionally a good

1502
01:12:40,800 --> 01:12:45,000
build correct with such kinds of
habit and especially if you do a

1503
01:12:45,008 --> 01:12:47,500
lot of work in the startup or 
the private sector, where you're

1504
01:12:47,500 --> 01:12:50,500
Your Own Boss or where, you 
know, Early high speed is the 

1505
01:12:50,500 --> 01:12:53,400
essence of the are. 
You can annoy you a lot. 

1506
01:12:53,500 --> 01:12:56,300
When suddenly, you know, the 
company appoints achieve infosec

1507
01:12:56,300 --> 01:12:57,900
officer. 
They come up with an auditor 

1508
01:12:57,900 --> 01:13:00,700
team. 
They'll be you know, security 

1509
01:13:00,700 --> 01:13:03,500
officers at every step of the 
way for every piece of 

1510
01:13:03,500 --> 01:13:06,800
infrastructure and they will 
live until you know, you are 

1511
01:13:06,800 --> 01:13:08,700
only allowed to keep a build 
artifact. 

1512
01:13:08,700 --> 01:13:12,900
Is this third-party artifact 
storage system that they bought 

1513
01:13:13,100 --> 01:13:15,900
without even Consulting the dev 
team or thinking about the 

1514
01:13:15,900 --> 01:13:17,800
suitability. 
He will just declare. 

1515
01:13:17,800 --> 01:13:21,400
Oh, you must place it there. 
Then and we will decide you know

1516
01:13:21,400 --> 01:13:23,000
how to deploy them. 
Actually. 

1517
01:13:23,000 --> 01:13:26,100
These are unfortunate things 
because there are several things

1518
01:13:26,100 --> 01:13:28,800
are pointed out over here. 
What happens if someone goes and

1519
01:13:28,800 --> 01:13:32,200
procures and artifact storage 
system without consulting The 

1520
01:13:32,200 --> 01:13:35,900
Depths often devs are treated on
a need-to-know basis and told 

1521
01:13:35,900 --> 01:13:38,500
you don't need to know all this 
because a moaning prod. 

1522
01:13:38,800 --> 01:13:41,400
Now, look, here's the truth. 
There is this phrase called 

1523
01:13:41,400 --> 01:13:44,600
segregation of Duties. 
Okay, would you be comfortable 

1524
01:13:44,600 --> 01:13:48,100
with a situation where you will 
learn that your bank has given 

1525
01:13:48,100 --> 01:13:51,600
out a software contracts. 
Some Outsource company, those 

1526
01:13:51,600 --> 01:13:54,100
devs implement the software and 
those deaths. 

1527
01:13:54,100 --> 01:13:58,000
Just went ahead and push that 
build in production and no one 

1528
01:13:58,000 --> 01:14:01,500
from the bank called the 
opportunity to review that bill 

1529
01:14:01,600 --> 01:14:05,700
and inspect it for back doors or
four functional correctness of a

1530
01:14:05,708 --> 01:14:09,800
Regulatory Compliance. 
That means this bank, which had 

1531
01:14:09,800 --> 01:14:13,100
this kind of Liberty given to 
the deaths just could have given

1532
01:14:13,100 --> 01:14:15,300
the devs opportunity to sink in 
a back door. 

1533
01:14:15,700 --> 01:14:18,700
And, you know, every month, one 
cent is removed from everybody's

1534
01:14:18,700 --> 01:14:20,300
accounts. 
Siphoned off to this other 

1535
01:14:20,300 --> 01:14:24,000
account that the numbers are not
shown in the UI, but that person

1536
01:14:24,000 --> 01:14:27,500
has the ability to withdraw or 
transfer out that cash with no 

1537
01:14:27,500 --> 01:14:30,600
records in the system, all the 
devs who are listening to others

1538
01:14:30,600 --> 01:14:33,300
know that such kind of 
engineering is possible is just 

1539
01:14:33,300 --> 01:14:36,500
coding after all, would we be 
comfortable with this? 

1540
01:14:36,600 --> 01:14:38,700
The wouldn't right? 
That's what the banks are here 

1541
01:14:38,700 --> 01:14:41,300
to watch out for. 
So the principle of segregation 

1542
01:14:41,300 --> 01:14:44,600
of Duties says that the person 
who writes the code should not 

1543
01:14:44,600 --> 01:14:47,400
be the person deploying. 
So this is the principle, this 

1544
01:14:47,400 --> 01:14:50,200
is the intent. 
Actually, let me refine The real

1545
01:14:50,200 --> 01:14:53,700
intent is more than one person 
should be aware of what is 

1546
01:14:53,700 --> 01:14:54,900
happening. 
Right? 

1547
01:14:54,900 --> 01:14:58,000
So, even in our outsourced Del 
company, the bank doesn't want 

1548
01:14:58,000 --> 01:15:00,600
situation where the whole 
company in general is very 

1549
01:15:00,600 --> 01:15:03,500
diligent. 
But there's one bad character in

1550
01:15:03,500 --> 01:15:06,300
that, in that whole setup 
decided to just push in a 

1551
01:15:06,300 --> 01:15:08,100
backboard. 
The bank should not be held 

1552
01:15:08,100 --> 01:15:11,900
hostage to situations like this.
So segregation of Duties, says, 

1553
01:15:11,900 --> 01:15:13,600
more than one person should be 
aware. 

1554
01:15:14,000 --> 01:15:16,200
Now, what happens is, how does 
this get implemented? 

1555
01:15:16,200 --> 01:15:19,100
The way this gets implemented is
who are the techies and us? 

1556
01:15:19,200 --> 01:15:22,500
Situation, dense, do devs know 
how to write code and deploy. 

1557
01:15:22,500 --> 01:15:24,500
Yes. 
Okay, who are the next? 

1558
01:15:24,600 --> 01:15:26,400
If you don't want devs to be 
deploying? 

1559
01:15:26,400 --> 01:15:28,500
It who are the next set of 
techies that? 

1560
01:15:28,500 --> 01:15:30,900
We, as the bank know, it's a 
road sweeper. 

1561
01:15:31,200 --> 01:15:34,100
So what is ended up happening 
over the years is, it's become a

1562
01:15:34,108 --> 01:15:38,100
kind of a norm who deploys pops 
deploys and involves. 

1563
01:15:38,100 --> 01:15:38,900
You. 
People are told they have two 

1564
01:15:38,900 --> 01:15:42,800
diploid, a will buy tools that 
they understand to store an 

1565
01:15:42,800 --> 01:15:46,700
artifact and to deploy, they 
will go to that text a company 

1566
01:15:46,700 --> 01:15:51,000
and say, sell us some Of 
schooling that you can agree to.

1567
01:15:51,800 --> 01:15:54,500
And if they don't ever go to any
other company, why do they do 

1568
01:15:54,500 --> 01:15:56,400
all this? 
Because those people do not know

1569
01:15:56,600 --> 01:16:00,200
how do I mean, mostly are they 
do not know how to write a 

1570
01:16:00,208 --> 01:16:04,100
proper deployment script which 
is predictable and consistent. 

1571
01:16:04,200 --> 01:16:06,900
They don't know this. 
So they just go and buy some 

1572
01:16:06,900 --> 01:16:10,700
artifactory, some random Urban 
code, whatever have you which 

1573
01:16:10,700 --> 01:16:13,400
has nothing to do with what the 
devs relieved, prescribed for 

1574
01:16:13,400 --> 01:16:15,700
this and things go very, very 
bad Henry. 

1575
01:16:16,300 --> 01:16:19,100
So, the real thing that I have 
started to make sure clients 

1576
01:16:19,200 --> 01:16:21,800
Understand is let the 
environment owner deploy. 

1577
01:16:21,800 --> 01:16:24,300
Let the Ops people also be 
Gatekeepers. 

1578
01:16:24,600 --> 01:16:27,700
Let them prescribe. 
What are the, you know, Ops 

1579
01:16:27,700 --> 01:16:30,200
friendly deployment. 
That they need to see, let the 

1580
01:16:30,200 --> 01:16:33,100
devs or the prod, deployments 
cryptos of whoever write a 

1581
01:16:33,100 --> 01:16:35,000
script and let's use that to 
them. 

1582
01:16:35,200 --> 01:16:38,400
So now you can still have 
segregation of Duty whether 

1583
01:16:38,400 --> 01:16:41,200
there's and the Q&A, get, 
collaborated the test Suites 

1584
01:16:41,200 --> 01:16:43,600
have passed. 
The product owner has seen it in

1585
01:16:43,600 --> 01:16:46,200
uat environment. 
Product owner, goes to the broad

1586
01:16:46,200 --> 01:16:49,100
deploy button and click deploy. 
There's nothing wrong in a 

1587
01:16:49,300 --> 01:16:52,600
Opossum Creek and deploy because
that button is going to run a 

1588
01:16:52,600 --> 01:16:57,000
tested deployment script on a 
uniform environment or people 

1589
01:16:57,000 --> 01:16:59,100
are not required for this. 
Suddenly. 

1590
01:16:59,100 --> 01:17:01,900
The environment owner can do it.
You can have multi-factor 

1591
01:17:01,900 --> 01:17:04,200
authentication there. 
You can have more than one 

1592
01:17:04,200 --> 01:17:07,200
product owner required, to click
various buttons, you know, like 

1593
01:17:07,200 --> 01:17:09,200
three buttons to be, click only 
then deploy. 

1594
01:17:09,200 --> 01:17:13,100
No problem, but you don't have 
to now, wait for two weeks for 

1595
01:17:13,100 --> 01:17:16,700
an Ops Team to be ready with a 
third-party tool, which which 

1596
01:17:16,700 --> 01:17:19,000
doesn't have a true appreciation
of the tech stack. 

1597
01:17:19,200 --> 01:17:21,200
Right. 
So segregation of Duties is 

1598
01:17:21,200 --> 01:17:24,000
necessary. 
But the way it is implemented, 

1599
01:17:24,100 --> 01:17:27,300
once one does Albion of 
rationalization and reasoning, 

1600
01:17:27,600 --> 01:17:29,000
you can come up with much 
better. 

1601
01:17:29,000 --> 01:17:32,100
Automated processes to figure 
out how to do a better job of 

1602
01:17:32,100 --> 01:17:33,300
it. 
Hmm. 

1603
01:17:33,900 --> 01:17:37,900
Thanks for clarifying and about 
the segregation of Duty. 

1604
01:17:38,300 --> 01:17:41,100
So for me coming from like 
software development practices, 

1605
01:17:41,100 --> 01:17:43,700
obviously, these kind of things 
is a good thing for me to learn 

1606
01:17:43,700 --> 01:17:46,100
as well because they are the 
perspectives from where a little

1607
01:17:46,100 --> 01:17:49,100
prize is seeing the need of the 
segregation of Duty. 

1608
01:17:49,200 --> 01:17:52,300
Rose that is required before and
an actual software is being 

1609
01:17:52,300 --> 01:17:54,600
certified and deployed to the 
production. 

1610
01:17:55,400 --> 01:17:58,900
So switching topic a little bit.
So you have mentioned several 

1611
01:17:58,900 --> 01:18:01,900
anecdotes stories about your 
engagement with clients. 

1612
01:18:02,100 --> 01:18:04,400
I know at this moment as well. 
Your role is more of a 

1613
01:18:04,400 --> 01:18:07,000
consultant. 
So can you explain a little bit 

1614
01:18:07,000 --> 01:18:10,500
more about what does it take to 
be a good consultant? 

1615
01:18:11,000 --> 01:18:13,800
What you guys been slightly easy
for me? 

1616
01:18:13,800 --> 01:18:16,700
Because I had to run my own 
businesses and learn to ask that

1617
01:18:16,700 --> 01:18:19,000
question. 
What is the customers needs? 

1618
01:18:19,200 --> 01:18:22,000
That they want to have 
fulfilled, and can I fulfill it 

1619
01:18:22,000 --> 01:18:24,700
right? 
I would say the top thing as a 

1620
01:18:24,700 --> 01:18:27,800
consultant is to understand. 
What is it that the customer 

1621
01:18:27,800 --> 01:18:30,600
needs as a consultant to 
understand. 

1622
01:18:30,600 --> 01:18:32,900
What is it that the customer 
needs, right? 

1623
01:18:33,300 --> 01:18:36,800
And then figure out, can you 
fulfill it or tell them how to 

1624
01:18:36,800 --> 01:18:40,200
fulfill it or link them with the
right people who can fulfill it?

1625
01:18:40,300 --> 01:18:41,900
This I would say is one of the 
top things. 

1626
01:18:41,900 --> 01:18:43,800
We should be able to do as a 
consultant. 

1627
01:18:44,300 --> 01:18:47,300
Let me tell you this in whe what
I said can also be true of a 

1628
01:18:47,300 --> 01:18:50,300
solution provider. 
So Shouldn't providers have 

1629
01:18:50,300 --> 01:18:52,300
people who consult hear 
something. 

1630
01:18:52,300 --> 01:18:54,900
That goes up it from? 
Okay, and this is, especially in

1631
01:18:54,900 --> 01:18:57,900
software delivery companies. 
Most of our audience will have 

1632
01:18:57,900 --> 01:19:00,000
something or the other to do 
with software delivery, 

1633
01:19:00,300 --> 01:19:03,600
depending upon the company. 
Anybody, and everybody expected 

1634
01:19:03,600 --> 01:19:07,800
to be a consultant versus some 
people who are actually not 

1635
01:19:07,800 --> 01:19:10,400
interested in Consulting, at 
that point in their life. 

1636
01:19:10,700 --> 01:19:14,700
They want to just focus and 
Deliver Me Consulting by itself,

1637
01:19:14,700 --> 01:19:17,300
is way more complex whether 
you're called a consultant or 

1638
01:19:17,300 --> 01:19:19,600
not. 
If you are a customer Replacing 

1639
01:19:19,600 --> 01:19:21,200
person. 
And they ask you a question and 

1640
01:19:21,200 --> 01:19:23,400
you have to answer you are 
Consulting to them. 

1641
01:19:23,800 --> 01:19:25,800
Right? 
Let's let's leave aside some of 

1642
01:19:25,800 --> 01:19:29,000
the better definitions of their,
this is what I have concluded. 

1643
01:19:29,100 --> 01:19:32,000
If you are a customer facing 
person, they ask you a question.

1644
01:19:32,000 --> 01:19:34,400
You have to answer your 
Consulting to them. 

1645
01:19:34,400 --> 01:19:38,300
You are a consultant, my happy 
lesson and this was from a book 

1646
01:19:38,300 --> 01:19:41,000
by Gerard, Weinberg Jared, Wayne
book or third. 

1647
01:19:41,000 --> 01:19:44,100
These two books. 
One is the secrets of Consulting

1648
01:19:44,300 --> 01:19:46,900
and the second is more secrets 
of Consulting. 

1649
01:19:47,200 --> 01:19:49,000
I would strongly recommend that 
people. 

1650
01:19:49,200 --> 01:19:51,900
This to understand what is it 
mean to actually be 

1651
01:19:51,900 --> 01:19:54,000
customer-facing and deal with it
all? 

1652
01:19:54,300 --> 01:19:57,300
And in the first chapter Jared, 
Wayne of his book secrets of 

1653
01:19:57,300 --> 01:19:59,700
Consulting. 
He does his best to dissuade you

1654
01:19:59,700 --> 01:20:02,700
from getting into Consulting. 
He describes, how horrible it 

1655
01:20:02,700 --> 01:20:04,900
is, how thankless. 
It is rubbish. 

1656
01:20:04,900 --> 01:20:07,900
It is, you'll have sleepless 
nights, ungrateful colleagues 

1657
01:20:07,900 --> 01:20:11,300
and customers and no one will 
know how much political and 

1658
01:20:11,300 --> 01:20:14,300
social maneuvering you had to 
do, you know, to nudge people in

1659
01:20:14,300 --> 01:20:17,000
the right direction and they 
will forget you. 

1660
01:20:17,000 --> 01:20:18,900
The minute. 
The deal is over and you're out 

1661
01:20:18,900 --> 01:20:22,300
of the The building he gives all
this horrible reality check and 

1662
01:20:22,300 --> 01:20:24,700
then in Chapter 2. 
He asks who you're still here. 

1663
01:20:24,700 --> 01:20:25,400
Is it? 
Okay? 

1664
01:20:25,400 --> 01:20:26,400
Good. 
Let's continue. 

1665
01:20:26,900 --> 01:20:29,700
I have found that it is 
rewarding to be a consultant. 

1666
01:20:29,900 --> 01:20:33,900
You learn to do these thankless 
things because learning to do 

1667
01:20:33,900 --> 01:20:37,000
these Anglers. 
Things is a great opportunity. 

1668
01:20:37,100 --> 01:20:40,200
It is a great opportunity to 
stand in a room. 

1669
01:20:40,300 --> 01:20:43,400
Here, a few people speak and 
read the room and understand 

1670
01:20:43,400 --> 01:20:45,900
where they stand socially, where
they stand in terms of their 

1671
01:20:45,900 --> 01:20:48,000
various needs those five 
questions. 

1672
01:20:48,000 --> 01:20:50,000
I asked at the start. 
They're all lessons. 

1673
01:20:50,000 --> 01:20:52,300
I learned on my own. 
Those questions are a 

1674
01:20:52,300 --> 01:20:56,200
combination of Diagnostics as 
well as opening clients eyes and

1675
01:20:56,200 --> 01:20:59,200
giving them a reality check of. 
Where is it that they actually 

1676
01:20:59,200 --> 01:21:01,800
stand, including giving them 
that scenario of? 

1677
01:21:02,100 --> 01:21:05,000
Are you sure you need to go lie 
once in two months and will you 

1678
01:21:05,000 --> 01:21:07,700
wait for two months to push a 
defect or will official portrait

1679
01:21:07,700 --> 01:21:09,500
or defect fix and an hour, 
right? 

1680
01:21:09,600 --> 01:21:11,100
Things like that? 
You learn this. 

1681
01:21:11,100 --> 01:21:12,800
The hard way, talking to 
customers. 

1682
01:21:13,200 --> 01:21:16,200
So stakeholder management is a 
very big part of this. 

1683
01:21:17,000 --> 01:21:20,900
Learning how to influence people
in two directions that are good 

1684
01:21:20,900 --> 01:21:23,000
for them. 
And for others is another very 

1685
01:21:23,000 --> 01:21:25,700
important thing from a technical
leadership point. 

1686
01:21:25,700 --> 01:21:28,400
It is even more difficult and 
impostor. 

1687
01:21:28,400 --> 01:21:31,500
Syndrome often kicks in, you 
hear something, a lot of us who 

1688
01:21:31,500 --> 01:21:34,300
are employees or even those, who
are running our own professions.

1689
01:21:34,600 --> 01:21:37,400
Let's say, you spent the past 
two years, helping our client 

1690
01:21:37,400 --> 01:21:41,500
out in depth with your Java 
spring boot app, which is using 

1691
01:21:41,500 --> 01:21:44,600
the react.js on the front end. 
You have been doubling with 

1692
01:21:44,600 --> 01:21:46,600
node.js on the side for your 
past six months. 

1693
01:21:47,000 --> 01:21:49,200
Now this project gets over. 
You have to go to the next 

1694
01:21:49,200 --> 01:21:51,700
engagement where it's all with 
node.js. 

1695
01:21:52,100 --> 01:21:55,100
Once you actually start doing 
production level, node.js stuff.

1696
01:21:55,100 --> 01:21:56,800
You realize. 
Oh my God, there is a lot going 

1697
01:21:56,800 --> 01:22:00,100
on here, but clients, had people
already have a bunch of folks 

1698
01:22:00,100 --> 01:22:02,700
who have been working with 
node.js, for the past 23 years. 

1699
01:22:03,000 --> 01:22:06,100
And since I've chosen not just, 
you know, Hindi, both know, and 

1700
01:22:06,100 --> 01:22:09,700
everyone listening also the 
JavaScript ecosystem that is a 

1701
01:22:09,700 --> 01:22:12,700
humongous amount of tremendous 
amount of churn in that 

1702
01:22:12,700 --> 01:22:14,900
ecosystem, libraries that are 
popular. 

1703
01:22:14,900 --> 01:22:17,900
Two years ago are not even known
to Today, for people who starts 

1704
01:22:17,900 --> 01:22:21,000
with node, right? 
So, when you make such a 

1705
01:22:21,000 --> 01:22:23,800
transition, one of the things 
that hits you is O Mine. 

1706
01:22:24,200 --> 01:22:27,300
I or my employer are charging 
the customer, you know, a bomb. 

1707
01:22:27,500 --> 01:22:30,800
And I don't really understand 
all of this as much, but I'm 

1708
01:22:30,800 --> 01:22:33,600
having to kind of fake it till I
make it with the clients. 

1709
01:22:33,900 --> 01:22:36,100
What is this? 
Am I not cheating the clients? 

1710
01:22:36,100 --> 01:22:38,100
I'm not, you know, cheating 
myself. 

1711
01:22:38,100 --> 01:22:40,900
Actually, right? 
I'm not fooling myself. 

1712
01:22:41,400 --> 01:22:45,300
The answer is this, okay. 
It may seem unattainable to have

1713
01:22:45,300 --> 01:22:48,800
to do this. 
Blinds are buying from you is 

1714
01:22:48,800 --> 01:22:52,300
not the answer for the day. 
What they are buying from you is

1715
01:22:52,400 --> 01:22:56,200
the ability to pick up that tag 
to bring in all your engineering

1716
01:22:56,200 --> 01:23:01,100
practices, do not get bold and 
to be mindfully and will fully 

1717
01:23:01,100 --> 01:23:04,000
engaged on doing it. 
Ignoring all other local 

1718
01:23:04,000 --> 01:23:06,900
politics and making sure that 
the deliveries met with the 

1719
01:23:06,900 --> 01:23:10,900
quality standards that expected 
that they are buying that end 

1720
01:23:10,900 --> 01:23:12,700
outcome. 
They are not buying you for that

1721
01:23:12,700 --> 01:23:15,000
day. 
The man day rate and the man are

1722
01:23:15,000 --> 01:23:17,600
rate and all that. 
That is a Will construct more. 

1723
01:23:17,600 --> 01:23:20,400
They are really. 
Buying is your ability to arrive

1724
01:23:20,400 --> 01:23:23,200
at that outcome so long as you 
can tell the client. 

1725
01:23:23,300 --> 01:23:26,400
Okay, I do have parallels with 
another environment. 

1726
01:23:26,800 --> 01:23:29,200
Give me a few days. 
Let me figure this out and get 

1727
01:23:29,200 --> 01:23:31,800
back to you. 
The first one or two times, 

1728
01:23:31,800 --> 01:23:35,700
usually people will be a bit 
civil and put up the two, if by 

1729
01:23:35,700 --> 01:23:38,500
the third time, they see that 
when you ask for time, you 

1730
01:23:38,500 --> 01:23:41,400
actually come up with a 
prediction grade professional, 

1731
01:23:41,400 --> 01:23:44,500
working on Sir. 
They will give you that time 

1732
01:23:44,600 --> 01:23:46,500
because you are now in pressing 
on them. 

1733
01:23:46,900 --> 01:23:50,200
There you have what it takes to 
meet the final outcome. 

1734
01:23:50,500 --> 01:23:53,000
So as a consultant, you would be
worried about the Imposter 

1735
01:23:53,000 --> 01:23:55,500
syndrome. 
But remember that they are not 

1736
01:23:55,500 --> 01:23:59,300
buying you for solely, your 
expertise in that particular 

1737
01:23:59,300 --> 01:24:01,400
Tech. 
They are buying you for your 

1738
01:24:01,400 --> 01:24:03,500
capability to deliver the 
outcome. 

1739
01:24:03,700 --> 01:24:07,000
If you wrap yourself up, if you 
diligently show, and upscaling 

1740
01:24:07,000 --> 01:24:09,200
and yourself, they will be fine 
method. 

1741
01:24:09,500 --> 01:24:12,600
Thank you for your in-depth 
explanation about Consulting, 

1742
01:24:12,600 --> 01:24:15,100
and what it takes to do 
Consulting and I'm sure there 

1743
01:24:15,100 --> 01:24:18,100
are many listeners here. 
Who are Alton's themselves and 

1744
01:24:18,100 --> 01:24:21,700
I'm sure all of you can relate 
to this story and thank you for 

1745
01:24:21,700 --> 01:24:22,200
that. 
Also. 

1746
01:24:22,200 --> 01:24:25,100
I've read the books which you 
recommended me long time back. 

1747
01:24:25,100 --> 01:24:27,800
Those books are secrets of 
Consulting, and more secrets of 

1748
01:24:27,800 --> 01:24:30,300
Consulting. 
I must say that for all of you 

1749
01:24:30,300 --> 01:24:32,300
Consultants out there. 
You must read. 

1750
01:24:32,300 --> 01:24:34,600
The book is very interesting 
fun. 

1751
01:24:35,000 --> 01:24:38,300
And also, in a way teaches you a
lot of in-depth insights about 

1752
01:24:38,300 --> 01:24:41,100
what does it take to be a great 
consultant? 

1753
01:24:41,300 --> 01:24:44,000
So you mentioned a little bit 
about stakeholder management as 

1754
01:24:44,000 --> 01:24:46,000
part of your role doing 
consultant. 

1755
01:24:46,000 --> 01:24:49,600
What do You think are the key 
essential attributes that you 

1756
01:24:49,600 --> 01:24:52,500
should have dealing with, you 
know, managing stakeholders, 

1757
01:24:52,500 --> 01:24:57,400
especially the high sea level 
people, or directors, or even 

1758
01:24:57,400 --> 01:25:01,100
some people who are so called 
the sponsors of the project 

1759
01:25:01,200 --> 01:25:03,500
goodness Henry. 
We now get into the 

1760
01:25:03,500 --> 01:25:06,100
non-technical part of life. 
Okay. 

1761
01:25:07,300 --> 01:25:09,900
This is almost nothing to do 
with technology itself. 

1762
01:25:10,200 --> 01:25:13,100
One of the things that I have 
learned and which even Gerard 

1763
01:25:13,100 --> 01:25:15,200
and many other people like Alan 
ways. 

1764
01:25:15,600 --> 01:25:18,100
It does another author. 
Other base was the author of 

1765
01:25:18,300 --> 01:25:20,400
million dollar Consulting. 
He's another cannot. 

1766
01:25:20,600 --> 01:25:22,800
There's something that all of 
these have said, which I also 

1767
01:25:22,800 --> 01:25:26,000
learned the nice and the hard 
way as well, which is, there are

1768
01:25:26,008 --> 01:25:28,700
certain implicit expectations 
only consultant. 

1769
01:25:28,900 --> 01:25:31,600
There are reasons that we are 
brought in as the third party. 

1770
01:25:31,900 --> 01:25:34,800
Sometimes the customers already 
know what they want. 

1771
01:25:35,000 --> 01:25:38,800
They may tell it you out, right?
They may 22 in bits and pieces. 

1772
01:25:39,000 --> 01:25:40,400
They may not know that they have
to tell you. 

1773
01:25:40,400 --> 01:25:42,600
They will assume that you will 
know how to pick it up. 

1774
01:25:42,900 --> 01:25:46,100
But one of the expectation is in
understanding that they are 

1775
01:25:46,100 --> 01:25:49,400
bringing You in to achieve 
certain outcomes, it will be 

1776
01:25:49,400 --> 01:25:52,200
called staff augmentation. 
It will be called to make us 

1777
01:25:52,200 --> 01:25:54,300
help us deliver. 
This program could be all the 

1778
01:25:54,300 --> 01:25:57,100
free. 
Also, the person who brings you 

1779
01:25:57,100 --> 01:26:00,200
in is different from the person 
you actually interact with, on a

1780
01:26:00,200 --> 01:26:02,400
day-to-day level. 
So, one of your first things to 

1781
01:26:02,407 --> 01:26:06,300
think of, as someone coming in, 
is who brought us in the second 

1782
01:26:06,300 --> 01:26:08,300
is, who are we actually working 
with? 

1783
01:26:08,600 --> 01:26:11,600
So, who brought us in, what do 
they want and need? 

1784
01:26:11,600 --> 01:26:14,500
How, what is success to them? 
The second? 

1785
01:26:14,600 --> 01:26:16,500
Who are we going to be 
interacting with? 

1786
01:26:16,700 --> 01:26:19,500
Which is the product owner, what
is success to them? 

1787
01:26:19,500 --> 01:26:22,800
And what do they actually want? 
You will have to lay these 

1788
01:26:22,800 --> 01:26:26,900
things out, the executive 
sponsor who gets you in, no 

1789
01:26:26,900 --> 01:26:29,500
matter how much we talk and this
is one of the top reasons that 

1790
01:26:29,500 --> 01:26:33,100
projects fail right. 
Executive sponsors, rarely 

1791
01:26:33,100 --> 01:26:35,900
attend showcases. 
They often believe they are 

1792
01:26:35,900 --> 01:26:39,100
worth is finished. 
Once they've gotten very good 

1793
01:26:39,100 --> 01:26:42,300
consulting company and handed 
them over to a product on. 

1794
01:26:42,700 --> 01:26:45,200
So just to tell everyone what 
actually happens inside, what 

1795
01:26:45,200 --> 01:26:48,400
happens inside is there. 
Executive sponsors told by some 

1796
01:26:48,400 --> 01:26:51,600
board or by even higher a people
that hey, we need to get this 

1797
01:26:51,900 --> 01:26:54,700
so-and-so service offering out 
or so-and-so product out there. 

1798
01:26:54,900 --> 01:26:58,300
That person goes to the pmo, the
pmo gives them a project manager

1799
01:26:58,300 --> 01:27:00,400
or a product owner. 
The exhibit is sponsor. 

1800
01:27:00,400 --> 01:27:03,100
Works of the product owner and 
says, okay, take a few days or 

1801
01:27:03,100 --> 01:27:05,400
weeks. 
Think about what you need to 

1802
01:27:05,500 --> 01:27:08,200
have to make this happen and 
I'll help make it happen. 

1803
01:27:08,500 --> 01:27:10,900
Great product owner, goes off 
brainstorms. 

1804
01:27:10,900 --> 01:27:14,000
A bit comes back and sees, I'll 
need such a development team and

1805
01:27:14,000 --> 01:27:15,900
need such kind of budget for one
moment. 

1806
01:27:16,800 --> 01:27:19,200
You know, such support from 
security and not speaker. 

1807
01:27:19,400 --> 01:27:22,100
All right, that's where the 
executive sponsor walks off. 

1808
01:27:22,100 --> 01:27:25,100
Inner does all the social 
maneuvering to make a lot of 

1809
01:27:25,100 --> 01:27:29,400
this happen and they go get a 
consulting company or even and 

1810
01:27:29,400 --> 01:27:32,600
external software debris company
and drop them into this place 

1811
01:27:32,600 --> 01:27:34,800
and tells the product owner. 
Here you go. 

1812
01:27:34,800 --> 01:27:36,900
Abdic all for. 
If your check boxes that you 

1813
01:27:36,900 --> 01:27:39,000
want it. 
Now, make it happen with this 

1814
01:27:39,000 --> 01:27:42,300
team. 
You see the product owner was 

1815
01:27:42,300 --> 01:27:46,500
not involved in selecting the 
dev company, executive decided. 

1816
01:27:46,500 --> 01:27:49,900
To do it on the phone. 
So the kpi for the executive 

1817
01:27:49,900 --> 01:27:54,500
sponsor is, did they need the 
POS means and will this product 

1818
01:27:54,500 --> 01:27:55,900
get delivered? 
That's it. 

1819
01:27:56,000 --> 01:27:58,900
So the first half they already 
met for the second half. 

1820
01:27:58,900 --> 01:28:01,900
They are going to keep grilling 
the product on them because that

1821
01:28:01,900 --> 01:28:04,900
was the our equation. 
Now, we as people who come in 

1822
01:28:04,907 --> 01:28:07,200
from outside because we've been 
talking to the executive 

1823
01:28:07,200 --> 01:28:10,400
sponsor, the expect to get to 
keep talking to them. 

1824
01:28:10,900 --> 01:28:13,700
Reality is know. 
Once they get us in this for 

1825
01:28:13,700 --> 01:28:16,300
them. 
They are work is done for us as 

1826
01:28:16,300 --> 01:28:18,100
out. 
So does having sailed and other 

1827
01:28:18,100 --> 01:28:20,700
places because relationships are
not managed. 

1828
01:28:20,700 --> 01:28:23,500
Well, we know desperately we 
should be working with these 

1829
01:28:23,500 --> 01:28:27,200
executive sponsors, but that's 
where things often break up. 

1830
01:28:27,500 --> 01:28:29,600
The product owners, have 
different apis. 

1831
01:28:29,800 --> 01:28:32,400
They have to just get things 
done with the team given to 

1832
01:28:32,400 --> 01:28:34,000
them. 
If things are not done. 

1833
01:28:34,000 --> 01:28:36,200
They'll go to the exhibit of 
Bones and say buddy, you get 

1834
01:28:36,200 --> 01:28:38,100
this team. 
It's not working out. 

1835
01:28:38,300 --> 01:28:40,900
This is where stakeholder 
management actually starts. 

1836
01:28:41,300 --> 01:28:43,100
We have to understand these 
equations. 

1837
01:28:43,100 --> 01:28:45,500
We have to understand what they 
are, how they talk to each 

1838
01:28:45,500 --> 01:28:47,900
other. 
What is The reporting hierarchy 

1839
01:28:48,000 --> 01:28:53,400
and start surfacing reports and 
status in a way that makes sense

1840
01:28:53,400 --> 01:28:56,100
to the whole hierarchy to all of
them. 

1841
01:28:56,400 --> 01:28:59,200
Because like it or not like it. 
Even if the executive sponsor 

1842
01:28:59,200 --> 01:29:02,100
attends our meetings now and 
then the client said people the 

1843
01:29:02,100 --> 01:29:05,200
PO and executive sponsor will 
still have their own internal 

1844
01:29:05,200 --> 01:29:06,900
details. 
At that time. 

1845
01:29:07,000 --> 01:29:11,000
You want to arm your product 
owner with the reports that give

1846
01:29:11,000 --> 01:29:13,800
a status that you can back. 
Okay. 

1847
01:29:13,800 --> 01:29:16,400
I will not lose words like that.
Give the true status. 

1848
01:29:16,800 --> 01:29:19,900
You should be able to give the 
status that you can stand by 

1849
01:29:19,900 --> 01:29:22,200
that. 
You can back is as some reason, 

1850
01:29:22,200 --> 01:29:24,200
something is not working. 
Not a problem. 

1851
01:29:24,300 --> 01:29:26,100
Put it out in a report, send it 
out. 

1852
01:29:26,300 --> 01:29:29,400
Is that something that you 
goofed up in diligently, put it 

1853
01:29:29,400 --> 01:29:32,700
down along with plans on how you
plan to remediate and then to 

1854
01:29:32,700 --> 01:29:36,400
spot it to prevent it, put it 
down, put it down, and keep 

1855
01:29:36,400 --> 01:29:39,700
sending it out to the product 
owner so that they can take it 

1856
01:29:39,700 --> 01:29:42,000
and show it to the executive 
sponsor. 

1857
01:29:42,500 --> 01:29:44,600
Very often. 
We as consultants will feel my 

1858
01:29:44,600 --> 01:29:46,400
God. 
No one is giving me the credit. 

1859
01:29:46,600 --> 01:29:49,300
The product owner is busy 
showcasing all these reports. 

1860
01:29:49,700 --> 01:29:52,000
The truth is yes, they will do 
that. 

1861
01:29:52,000 --> 01:29:54,700
They should do that for the 
overall success. 

1862
01:29:55,000 --> 01:29:56,700
Let them do that. 
You know, why? 

1863
01:29:56,900 --> 01:30:00,300
Because when the next engagement
happens, that product owners not

1864
01:30:00,300 --> 01:30:03,200
going to be developing that 
software you get to do it. 

1865
01:30:03,400 --> 01:30:06,500
Everybody knows that the product
owner did not have to crack any 

1866
01:30:06,500 --> 01:30:08,700
rip. 
In order to make you work at a 

1867
01:30:08,700 --> 01:30:11,600
level of efficiency. 
You just are efficient. 

1868
01:30:11,800 --> 01:30:15,100
They are merely exchanging their
reports who check with each 

1869
01:30:15,100 --> 01:30:17,600
other are things on. 
Track so long. 

1870
01:30:17,600 --> 01:30:20,500
As you can show reasonableness, 
the ability to be a gel that 

1871
01:30:20,500 --> 01:30:24,000
means to be able to respond to 
change and so long as you can 

1872
01:30:24,000 --> 01:30:27,300
show that you're upfront and 
transparent from your side and 

1873
01:30:27,300 --> 01:30:30,000
you invite their comment. 
They will come back to you. 

1874
01:30:30,000 --> 01:30:33,000
And say can we add two more 
requirements by the same 

1875
01:30:33,000 --> 01:30:35,000
deadline? 
That's when you should be able 

1876
01:30:35,000 --> 01:30:38,500
to say, tell you what, I can add
those two requirements not by 

1877
01:30:38,500 --> 01:30:42,600
the same deadline, but I believe
in a short time after that 

1878
01:30:42,600 --> 01:30:44,500
deadline. 
So can we have incremental 

1879
01:30:44,500 --> 01:30:46,500
releases? 
And I will keep you updated. 

1880
01:30:46,700 --> 01:30:48,400
If anything changes, I'll let 
you know. 

1881
01:30:48,800 --> 01:30:51,600
Once you do all this, right with
your regular reporting and 

1882
01:30:51,600 --> 01:30:53,500
everything. 
You should have bought their 

1883
01:30:53,500 --> 01:30:56,700
feet because all that they 
really need to know is is a 

1884
01:30:56,700 --> 01:31:00,200
project on track will be able to
deliver it on time and budget 

1885
01:31:00,400 --> 01:31:02,600
are their scope that we cannot 
cannot deliver. 

1886
01:31:02,600 --> 01:31:05,000
And if there's something that 
you cannot deliver by when 

1887
01:31:05,000 --> 01:31:07,800
Kenzie, that's what they know 
because they need to know. 

1888
01:31:07,800 --> 01:31:11,200
Because it's a matter of cost 
time other business goals in 

1889
01:31:11,200 --> 01:31:13,600
mind. 
Once you understand this, you 

1890
01:31:13,600 --> 01:31:15,200
can manage your stakeholders 
better. 

1891
01:31:15,500 --> 01:31:18,200
Wow. 
Such so much in depth 

1892
01:31:18,200 --> 01:31:20,400
explanation again from you. 
You know what? 

1893
01:31:20,400 --> 01:31:22,400
I mean? 
We can talk for hours or you 

1894
01:31:22,400 --> 01:31:24,000
know, you're talking about other
stuff as well. 

1895
01:31:24,000 --> 01:31:25,800
But I think due to time 
constraints. 

1896
01:31:26,000 --> 01:31:29,600
Normally I would leave a one big
question for all of my guests to

1897
01:31:29,600 --> 01:31:31,500
share their wisdom to the 
listeners here. 

1898
01:31:31,600 --> 01:31:34,900
So, I have one question for you,
which is what are your three 

1899
01:31:34,900 --> 01:31:38,000
technical leadership wisdoms 
that you would like to share 

1900
01:31:38,000 --> 01:31:42,300
with the audience here. 
So, quickly to tell you, number 

1901
01:31:42,300 --> 01:31:44,700
one, identify. 
What is the problem to solve? 

1902
01:31:44,900 --> 01:31:47,900
I've given a number of examples.
So like here, you know what to 

1903
01:31:47,900 --> 01:31:49,900
approach men. 
How can you stream map 

1904
01:31:50,100 --> 01:31:52,600
infrastructure first? 
Stakeholder management? 

1905
01:31:53,400 --> 01:31:55,700
The second thing I would say is 
identify. 

1906
01:31:55,700 --> 01:31:58,900
What is it that the customer 
actually needs and then figure 

1907
01:31:58,900 --> 01:32:03,100
out how to convey that to one 
and all I have made my mistakes.

1908
01:32:03,100 --> 01:32:05,400
I've had my successes on this 
one. 

1909
01:32:05,400 --> 01:32:08,300
Important point over here. 
I would say is as far as 

1910
01:32:08,300 --> 01:32:11,000
figuring out how to convey that 
to one and all there is a 

1911
01:32:11,000 --> 01:32:15,400
difference between understanding
what they need and conveying 

1912
01:32:15,400 --> 01:32:18,100
that to them. 
Versus being right in what you 

1913
01:32:18,108 --> 01:32:20,400
can be. 
I have lost one or two deals 

1914
01:32:20,500 --> 01:32:23,800
because of this, where, you 
know, in my spirit I went on to 

1915
01:32:23,800 --> 01:32:24,200
tell them. 
No. 

1916
01:32:24,200 --> 01:32:26,800
No, I'm telling you. 
That's what if not what you 

1917
01:32:26,800 --> 01:32:27,800
need. 
You need this. 

1918
01:32:28,000 --> 01:32:31,700
Whereas the better way to tell 
them is you are asking for that.

1919
01:32:31,900 --> 01:32:33,900
May I tell you it gives you 
those outcomes. 

1920
01:32:33,900 --> 01:32:37,300
If I were to just put on my 
thinking hat a bit it seems to 

1921
01:32:37,300 --> 01:32:40,300
me you may need these other 
outcomes, which can still be 

1922
01:32:40,300 --> 01:32:42,800
achieved by partially the same 
effort. 

1923
01:32:43,300 --> 01:32:44,800
What do you think, please think 
about it? 

1924
01:32:44,800 --> 01:32:48,200
Let me know you can get back. 
Was her mother do this, right? 

1925
01:32:48,400 --> 01:32:52,000
When you give people room and 
time like that, you figure out 

1926
01:32:52,000 --> 01:32:54,400
how to communicate to them. 
What is it that they may 

1927
01:32:54,400 --> 01:32:56,500
actually need? 
And who knows? 

1928
01:32:56,500 --> 01:32:58,900
They may realize how to 
communicate back to you better 

1929
01:32:58,900 --> 01:33:00,700
that? 
Why they need something else. 

1930
01:33:01,000 --> 01:33:03,200
It's not always that. 
You're right often other people 

1931
01:33:03,200 --> 01:33:06,500
are, you know, my most important
thing is absolutely 

1932
01:33:06,500 --> 01:33:09,300
non-technical and non-social. 
It is actually your own health 

1933
01:33:09,300 --> 01:33:11,800
at your sleep. 
I have learned the hard way and 

1934
01:33:11,900 --> 01:33:15,000
you know, many people say this, 
you know, they are hospitalized 

1935
01:33:15,000 --> 01:33:17,900
or they fall ill again and 
again, Again, and they can't 

1936
01:33:17,900 --> 01:33:20,900
think and they lash out at 
people have been one of those. 

1937
01:33:21,100 --> 01:33:25,800
My harsh lesson learned is 
figure out what it takes to fix 

1938
01:33:25,800 --> 01:33:28,800
your health and to get very fit 
and figure out what it takes to 

1939
01:33:28,800 --> 01:33:30,300
get. 
Great sleep. 

1940
01:33:30,800 --> 01:33:32,700
There are various sleep tracking
apps. 

1941
01:33:32,700 --> 01:33:35,100
You know, there are there's, 
this ECG base headset that I've 

1942
01:33:35,100 --> 01:33:36,300
ever had. 
We have shown it to you. 

1943
01:33:36,800 --> 01:33:38,800
They're all these kind of things
that you can do. 

1944
01:33:39,300 --> 01:33:41,700
Depending upon the app. 
There are some apps that say 

1945
01:33:41,700 --> 01:33:45,300
that you should have eight and a
half, our nine hours of sleep 

1946
01:33:45,300 --> 01:33:48,500
for three days, but - right. 
It's like a sliding window. 

1947
01:33:48,800 --> 01:33:52,500
There are other apps that say 
that you can fix all sleep debt 

1948
01:33:52,500 --> 01:33:55,100
with seven to ten days of proper
eight-and-a-half. 

1949
01:33:55,100 --> 01:33:59,100
See what I have seen. 
If I can sleep for 10 days for 

1950
01:33:59,100 --> 01:34:02,200
eight and a half hours. 
Then the kind of thinking that 

1951
01:34:02,200 --> 01:34:06,200
I'm capable of is far far higher
than what I normally can think, 

1952
01:34:06,500 --> 01:34:09,100
which is a scarier thing. 
Because let's see. 

1953
01:34:09,300 --> 01:34:13,200
I'm had an IQ of 140. 
If my IQ level drops, my ability

1954
01:34:13,200 --> 01:34:15,700
to think, drops up. 
To some point. 

1955
01:34:15,700 --> 01:34:18,100
I will realize As vo, I'm no 
longer able to think. 

1956
01:34:18,100 --> 01:34:20,000
Like, I was thinking this 
morning, right? 

1957
01:34:20,000 --> 01:34:21,600
You, you will realize, oh, I'm 
fatigued. 

1958
01:34:21,700 --> 01:34:23,500
Let's say. 
It happens over a number of days

1959
01:34:23,500 --> 01:34:25,400
by Venice. 
You realize, oh, I'm not even to

1960
01:34:25,400 --> 01:34:27,900
think that's clear. 
I was on Monday, if this 

1961
01:34:27,900 --> 01:34:32,300
continues by next Wednesday, 
would you even remember how good

1962
01:34:32,300 --> 01:34:35,300
you are able to think on Monday?
Would you even remember you may 

1963
01:34:35,300 --> 01:34:37,300
not? 
Let me tell you from personal 

1964
01:34:37,300 --> 01:34:39,900
experience. 
You may not remember how good a 

1965
01:34:39,900 --> 01:34:42,700
thinker you can actually be so 
sleep. 

1966
01:34:42,700 --> 01:34:43,800
Helps a lot. 
I'm sorry. 

1967
01:34:43,800 --> 01:34:46,300
I'm emphasizing this a lot, but 
I have lost a few deals. 

1968
01:34:46,500 --> 01:34:50,400
Lost a few friends and I have to
bend over backwards to apologize

1969
01:34:50,400 --> 01:34:52,500
and everything. 
And even when relationships are 

1970
01:34:52,500 --> 01:34:55,300
not good. 
And there are enough problems 

1971
01:34:55,300 --> 01:34:59,300
that are not finished solving on
time, because I was too sleepy 

1972
01:34:59,700 --> 01:35:02,200
and this becomes worse. 
When you have a very dedicated 

1973
01:35:02,200 --> 01:35:04,800
Ops team with you. 
There is an XKCD comic on the 

1974
01:35:04,808 --> 01:35:07,000
705. 
It becomes worse. 

1975
01:35:07,000 --> 01:35:10,100
When there is an issue and 
everyone is standing around 

1976
01:35:10,100 --> 01:35:13,400
waiting to see how to solve it. 
No, that's the worst thing to do

1977
01:35:13,500 --> 01:35:16,200
have the people should just go 
away and make sure that they 

1978
01:35:16,200 --> 01:35:18,000
see. 
Leap because when the first team

1979
01:35:18,200 --> 01:35:21,400
has not solved it, the other 
team has to come back. 

1980
01:35:21,500 --> 01:35:24,100
Ache over with a fresh mind and 
solve it. 

1981
01:35:24,400 --> 01:35:27,300
But if the whole group was there
and they jointly become sleepy, 

1982
01:35:27,300 --> 01:35:30,300
and footing and tired, my got 
the problems are going to get. 

1983
01:35:30,300 --> 01:35:34,400
So so please speak. 
Wow, again, so much insights 

1984
01:35:34,400 --> 01:35:37,300
right to the end here. 
So I must say, personally, 

1985
01:35:37,300 --> 01:35:39,600
myself as well. 
I'm trying to improve in terms 

1986
01:35:39,600 --> 01:35:43,500
of these General Health sleep. 
Sleep is still one thing that I 

1987
01:35:43,600 --> 01:35:47,200
would want to improve, you know,
I want to have Continuous eight 

1988
01:35:47,200 --> 01:35:48,900
hours sleep. 
It's still a challenge. 

1989
01:35:48,900 --> 01:35:51,500
But yeah, I mean like the point 
when you mention sleep, right? 

1990
01:35:51,600 --> 01:35:55,300
If we are deprived of sleeps, 
there are so many issues not 

1991
01:35:55,300 --> 01:35:57,600
just in terms of health, but 
also in terms of your 

1992
01:35:57,600 --> 01:36:02,100
capability, your social 
intelligence could even drop. 

1993
01:36:02,100 --> 01:36:05,000
So, I read a fantastic book by 
Matthew Walker. 

1994
01:36:05,100 --> 01:36:08,900
Why we sleep? 
Only one of the best book if you

1995
01:36:08,900 --> 01:36:11,200
want to understand why sleep is 
important. 

1996
01:36:11,400 --> 01:36:14,000
So thank you so much rum for 
your time here. 

1997
01:36:14,300 --> 01:36:16,300
There's so many things that I 
think I would. 

1998
01:36:16,400 --> 01:36:19,600
Would look back and, you know, 
learn so many from our 

1999
01:36:19,600 --> 01:36:23,600
conversations here and I'm sure 
the listeners here would agree. 

2000
01:36:23,800 --> 01:36:27,300
And again, I wish you great 
health and success in the 

2001
01:36:27,300 --> 01:36:29,200
future. 
Thank you very much Henry. 

2002
01:36:29,200 --> 01:36:33,800
And I hope to soon share with 
you and audience about my 

2003
01:36:33,800 --> 01:36:36,200
upcoming book, which I'm working
on called a journey to 

2004
01:36:36,200 --> 01:36:40,000
continuous delivery where I am. 
Covering a lot of these with 

2005
01:36:40,000 --> 01:36:43,300
diagrams and explanations 
checklist on water follow, and 

2006
01:36:43,300 --> 01:36:46,300
what not, part of which I also 
want to cover. 

2007
01:36:46,500 --> 01:36:49,100
What does it mean to aim for 
front page development? 

2008
01:36:49,200 --> 01:36:52,700
So yeah, I hope to be able to 
derive made a public commitment.

2009
01:36:52,700 --> 01:36:56,100
And now I'm going to help. 
Hold it, right. 

2010
01:36:56,200 --> 01:36:57,600
I'll be waiting for that for 
sure. 

2011
01:36:57,800 --> 01:36:58,800
Alright. 
Thanks again. 

2012
01:36:58,800 --> 01:37:00,500
See you around. 
See you agree. 

2013
01:37:00,500 --> 01:37:03,200
Bye. 
Thank you for listening to this 

2014
01:37:03,200 --> 01:37:05,700
episode and I hope that you 
learned something from this 

2015
01:37:05,700 --> 01:37:08,200
conversation. 
If you find this valuable, 

2016
01:37:08,400 --> 01:37:11,700
please do me a big favor and 
share this with your friends and

2017
01:37:11,700 --> 01:37:14,200
colleagues. 
Also, if you haven't, please 

2018
01:37:14,200 --> 01:37:16,300
subscribe and follow this. 
Show on your favorite. 

2019
01:37:16,400 --> 01:37:20,600
Podcast app tekhelet Journal is 
available on all major podcast 

2020
01:37:20,600 --> 01:37:24,900
apps such as Apple podcast 
Google podcasts and Spotify, and

2021
01:37:24,900 --> 01:37:27,700
please leave your rating and 
review so that more people can 

2022
01:37:27,700 --> 01:37:30,700
find this podcast and learn from
the available episodes. 

2023
01:37:31,200 --> 01:37:33,400
Thank you again, and I'll see 
you next time.

