📺 Develpreneur YouTube Episode

Video + transcript

Unpacking 'Psychopaths' Scenarios and Tough Coding Challenge

2024-09-17 •Youtube

Detailed Notes

In this episode, we delve deeper into the developer’s journey, focusing on how to handle the toughest non-happy path scenarios—those we now refer to as “Psychopaths.” These are the rare, unpredictable issues that disrupt normal workflows and often present the biggest challenges for developers. Let’s explore what “Psychopaths” are, why they matter, and how you can improve your skills to handle them effectively.

Read More... https://develpreneur.com/unpacking-psychopaths-scenarios-and-tough-coding-challenge

Stay Connected: Join the Developreneur Community

We invite you to join our community and share your coding journey with us. Whether you’re a seasoned developer or just starting, there’s always room to learn and grow together. Contact us at [email protected] with your questions, feedback, or suggestions for future episodes. Together, let’s continue exploring the exciting world of software development.

Additional Resources

* User Stories Unveiled: A Developer’s Guide to Capturing the Full Narrative (https://develpreneur.com/user-stories-unveiled-a-developers-guide-to-capturing-the-full-narrative/)

* Misdirection Anti-Pattern: Solving The Wrong Problem (https://develpreneur.com/misdirection-anti-pattern-solving-the-wrong-problem/)

* Software Development Requirements: Staying True to Specifications (https://develpreneur.com/software-development-requirements-staying-true-to-specifications/)

* The Importance of Properly Defining Requirements (https://develpreneur.com/the-importance-of-properly-defining-requirements/)

Transcript Text
[Music]
and here we are uh we are back and we
are thinking about our topic this time
around
um I'm thinking a little bit I was
trying to think about how to do a little
bit of a tribute to our latest uh
conversation and the New Concept that we
came up with or that actually she came
up with um and I think it is I think
there
is I think that because we've talked we
haven't really we've talked a little bit
about requirements and about asking the
questions
but it I think it's an area that it's
useful to go into a little bit about
some some ways to
do for both testing and for requirements
Gathering things that are not the happy
path effectively is what are the thing
that like the things that are out there
that
are besides the like especially when
you're talking to a customer that's
building something out the particularly
something that doesn't exist if it's a
brand new product it's like okay I know
you've got your vision but then finding
a way to ask them the questions that
bring out the other requirements and a
lot of times it's stuff like I had a
conversation with a guy today it was
like here's what we can do and he's like
what do you recommend and I SED to go
back I was like well really depends
actually this one got into like pricing
and pricing engines and stuff like that
and it's like well you
know how much of it is you you do you
need entry level thing do you need to
you know do you want to make it easy do
you want to make it very configurable
because usually those two aren't the
same you know things like that and it's
those kinds of things that we get into
and I it's it's even goes into testing
it's the same thing it's like okay
somebody writes you know five unit test
for a a function but then it breaks all
over the place because they didn't
really test stuff so there's like your
you know there's your basics
of this this and this you know some of
your like there's those standard rules
of here's some things you should look at
if it's like if it's a number or even if
it's doing any kind of computation
here's the things you want to look for
these are the things that you can sort
of you can always use to just spew out
you know like unit tests and even
testing in general but then you get into
the other things and it's how do you dig
into the other things and I think it is
it's something as a Dev it is a
developer Journey as far as learning
some of those things so that's what I'm
thinking is it's sort of like the um
everything but the happy path as a as a
topic for this first one yeah so you're
thinking well and this could also get
into like that muscle memory like we
talked about last week where people
don't think about it you know those are
those requirements that it you don't
ever I mean it's been so long you don't
think about it and it's like that's not
a requirement that's just what I do and
it's like well what you do is the
requirement you know how do you do it
what you know what is it and some it's
like oh yeah I guess that doesn't just
happen I do this and it's like oh yeah
you do it's like you know it's like some
people it's like it's like brushing
their teeth in the morning they don't
think about if you ask them how was your
toothbrushing experience this morning
they'll be like I don't remember because
they do it all so
often but they do it so it would be easy
to forget you know it's things like that
yeah that' be that would be a good
followup to the ones that we did and
also our post uh 800 so this is 801 guys
oh cool we are into the big league
actually we've been there for a while
now actually because I don't think that
Apple only keeps the last 300 so you
have to like specifically go back to the
the early ones which is probably good at
this
point deep breath here we
go well hello and welcome back we are
continuing our season where we are going
through the developer Journey we are
building better developers we are a
develop andur I am Rob Broadhead I am
one of the founders of developing or and
in keeping with our uh our standards now
in the last few episodes we talked about
a little good and bad uh good thing bad
thing and then uh throw a little extra
uh introduction to it I'll do the
introduction first because I got to
think about my good and bad uh I was
going to reverse it and then I lost it I
am also the founder of RB Consulting
where we integrate simplify and automate
and find ways for you to find the best
way to leverage your technology
investment whether it's people whether
it's it's languages or applications or
whatever it happens to be good thing bad
thing uh good thing this is actually a
fun one so good thing is I managed to go
to a store that uh for people around
here it's it's place called M and they
just take back old it's like it's a used
store a used store used media store it's
not just bookstore they do video games
and a whole bunch of crap and I had just
boxes of stuff that was sitting around
basically because I've just had kids
move out and we took it there and got a
bunch of credit introduced the kids to
it so now they know that they can take
their old crap there they can get new
stuff which they did they're new to them
they can go get like books and stuff
like that so that was a good thing bad
thing is uh I don't want to get
political but I watched the debate last
night and it was the most ridiculously
bad thing ever it's just like it wasn't
a total waste of time but it was
definitely like you could do better like
to everybody everybody involved you
could do better you could be more
entertaining you could do a lot of stuff
better but that's sort of the way things
go these days somebody that also Maybe
not maybe cannot do anything better is
sitting on the other side of the screen
for me Michael go ahead and introduce
yourself hey everyone my name is Michael
M I'm one of the co-founders a developer
ner I'm also the founder of Envision QA
where we build software tailored to meet
the unique needs of healthcare
professionals and small to midsize
e-commerce businesses you know whether
you're a healthcare provider or an
e-commerce entrepreneur partnering with
Envision QA means unlocking your
software for full potential experience
the confidence of knowing your software
meets the highest quality and compliance
standards while driving success in your
industry good and
bad let me start with the good so I
guess the good news um I missed the
debate I missed all that chaos uh
getting back on track this week because
on the bad side life happened um some uh
Health ISS isues hit the family last
week and we were down for quite a few
days and unfortunately had some very bad
experiences with the general uh Health
Care system of our local General
Hospital
so can only strive for better and with
that I'll pass it back to you maybe
that'll be another one we'll do building
better hospitals that'll be like the
next thing to get into today we're going
to talk about how do you get better well
one of the things is it's uh it's a
little little bit of like you get better
because you just do it it's like the
more you do it the more you get better
we want to I want to talk about this
thing that we've we've come up with a
new term and actually it was because
we're in a conversation with a a client
and we're just going to call that client
Melissa
and Melissa came up with an idea as we
were talking about the happy path and we
were talking about the things that
aren't the happy path and she
interjected and said oh the Psychopaths
and I was like that is so on point to
what we often run into that we're going
to use that so she's like you know just
make sure I was like how can I mention
your name and even if it's like a you
know in quotes and everything and so we
were able to do that and so we're
stealing that for now so we will use
Psychopaths for quite a while because I
just find that very appropo when we're
talking about everything not everything
but a lot of the things that are not the
happy path particularly the things that
tend to bite Us in the butttocks as
Forest gumps likes to
say those things that are
like outside of the norm the outliers
the things that are just rare but it's
like those are the ones that always get
us and I want to talk about getting into
that because there are probably like two
situations that we run into where those
are very very difficult there are others
where they can be it's a challenge but
the ones that are most difficult are
where there is where we're talking about
like a brand new application brand new
solution so it doesn't exist except in
the person's head head and usually this
is an entrepreneur or Visionary type
person and so the whole like rubber
meets a road is not really in their
wheelhouse either and so you have to
find a way to take that vision and
ground it into you know bring it down to
earth and then start looking at all of
the warts that could possibly come out
of it similar to that maybe uh although
it's a little easier is when it's an
existing system and that somebody just
does it uh you think of it like almost
like muscle memory so you're trying to
figure out where are the things that
they just know how to do but they're not
going to think about it it's like if you
if you ask them they can give it to you
they'll like yeah this is what you do
this is how it works the problem is you
have to know what to
ask so as you get into these things
early on when you're starting out in
your career you're probably going to
find that there are you're going to like
almost out of the gate be able to come
up with some things that are how can
this fail and the common things
everybody I think you know right away
we'll find things like well you look at
you know is it a maximum value is it a
minimum value um sometimes people right
away figure out what if there is no
value and it's like okay cool as you get
a little further on you will bump in to
the off by one error so you'll very
quickly say it's not just the maximum
error it's the maximum Value Plus One
and minus one the minimum value plus one
and minus one because there's a big
difference between less than and equals
or less than and greater than and equals
or greater than and you will get bit by
it at some point whether it's design
issue or whether it's just typos or all
sorts of things and of course there's
the
whole equals as opposed to less than or
as opposed to greater than which usually
it's going to come more around your uh
copy paste and stuff like that but it's
like fine like it really does get into
almost St statistical analysis of like
find like a middle absolute middle of
the road something on the first quartile
and the third
at both ends and right on the cusps of
both ends and then is it a you know does
the value exist at all what if it and
then you start getting into things like
well what if they try to find a way to
put a value that doesn't exist one of
the things like a good example you'll
run into probably at some point is where
somebody's typing a number and it should
just be a number but they decide to put
a comma for their thousands or a point
for their thousand separator or
something like that if you don't have a
you know depend on how you have stuff
set up that might sneak through and the
next thing you know you're like what the
heck is this or they put a a you know a
currency sign a dollar sign or something
like that on the front of it and you
just want a number so now you got to
figure that kind of crap out and don't
even get me started on like date formats
and phone number formats and things like
that and
especially you have to in a lot of these
cases you're going to start thinking
through the things where there are
varying forms of it because you're going
to assume certain things like for
example there was a point where people
assume that all years you really only
cared about the last two numbers and
then they found out that when you got to
about 1999 to 2000 you did care about
all four numbers and so there was you
know those things
happen now you're ask you may say okay
great you've thrown out a lot of things
you may even know what a lot of these
are and so how is it that we figure out
how we know what we don't
know and this is where it does go back
to as we've talked about before a lot of
it is asking questions but a lot of it
is sitting down and saying okay here's
your
process and I think the easiest way to
do it is find your best way to take the
the happy path whatever that path is and
then dissemble it into the steps that
are
involved and then that allows you with
every step that's involved to apply what
you know to each of those steps which is
basically what happens if the inputs are
incorrect what happens if the outputs
come out wrong what happens if the step
gets skipped what happens if this step
is going on and another step triggers
those kinds of things that kind of line
of thinking is what's going to get you
into those kinds of questions and to
help you get those Psychopaths which are
truly some of the nastiest things if you
try to do like real-time processing and
it's parallel and you get into race
conditions and things like that that the
first time and that is not like this is
not about like you know I'm a black guy
a white guy a red not not that kind of
race this is like running really fast
race and both people
both things finished at the exact same
time then who's the winner you can't
have a tie so what
happens or things like that that you
will run into or even like maybe you
can't have a tie and then you do and
it's called a deadlock or something
along those lines these are the things
that you will run into when you start
breaking down those steps and applying
that how can it go wrong in the most
really in like the most granular way
it's like because then it's limited now
you're not having to think about entire
systems of issues now you're going to
those specific things and you're
basically saying here's you know
whatever your your ability is to guess
or to you know assume that these are the
things that can go wrong maybe there's
four T items or 10 but the important
thing is that now you can take all those
apply those to each step and you don't
have to figure out the whole system of
exploding stuff when things go wrong you
can go to that specific thing and say
okay this thing what are all essentially
what are all the Poss M States and then
from there you can re work your way
through it because at the end of the day
we're basically almost always dealing
with a state machine of some sort or
another and so if you can nail down the
states then you can nail down the
process itself and figure out where it
can go wrong or at least what you need
to do if it gets into a state that it
potentially shouldn't be and now this is
also a near and dear to the heart of
anybody that's in testing because this
is the this is the other side of it it's
like okay you're telling me this is a
requirement I need to think of all the
ways that can go wrong so I can test it
and verify that it's going to work in
all of the
situations the last thing before I throw
it over to Michael is just the biggest
thing that you will save yourself
headaches from is to not assume if you
assume things will be a certain way you
will find out that they won't and you
have problems it's things that never
never happen like outliers like you have
a huge server and it runs out of dis
space and suddenly your web application
that doesn't even know what dis space is
effectively doesn't run because somebody
can clean up the log files or something
along those lines so don't
assume sit there and like really try to
think like where can you possibly be
assuming things so you can figure out
where you can ask the right questions
and now I'll toss it over to
Mike wow that was a lot so I don't want
to get on my soap box too much because I
could so go way too far in many
directions one of the things Rob touched
on so many good points and what I'm
going to bring to this conversation is a
staying on this topic but from an
example perspective so in my 25 plus
years 30 years of working in this
industry I have worked through the
Journey of here's a ticket go write a
task you go build it you test it as a
developer hey what I did work but I
didn't test the whole system things
break down the road you don't think to
test other things you only work on what
you work on As you move into your middle
career it's like oh I'm going to start
asking more questions like Rob said
you're going to look at those you know
off by1 errors you're going to look at
what type of data you need in your
system those Deadlocks things of that
nature and as you move further along in
your career or if you're like me and you
like to jump and wear many hats just do
too many startups and you just wear
every hat you come to find out that you
from a project owner's perspective a
business manager or a tester's
perspective you look at things different
you look at the systems you look at the
stories you look at these requirements
in a totally different way so like Rob
gave so many great examples I'm going to
walk you through a couple scenarios here
so first of all from a tester's
perspective we take a ticket we take a
requirement for instance login happy
path user should be able to enter in a
valid username and password and log into
the system perfect
simple negative path user enters in an
invalid username and password and they
shouldn't be able to log it's still a
happy path but it's a negative use case
some of the weird cases could be if you
don't have have the right logic in the
background what happens if you throw in
a SQL command in the username or in the
password you now get a SQL injection
error because you have something weird
in the background and now suddenly your
database is deleted and things go wrong
so from a tester from a like just a user
story looking at the requirements you
have to assume that what you're given is
wrong if you're a tester we have to
always assume things are wrong but as a
developer when we're handed a ticket for
the first time if we're doing agile
correctly if we're going through our
Sprints correctly we're going to walk
through the requirements of the ticket
walk through what the ticket or what the
requirement is supposed to be how does
it impact the system as a whole what are
the acceptance criteria what are the
things that we can kind of let slide in
this particular ticket because some work
precedes other work so you are going to
potentially write B bugs or feature or
future
feature um conditions or uh features
into code that aren't necessarily turned
on yet or maybe feature incomplete so
you have there will be things that won't
work but the thing is in the ticket in
what we're looking for we should know
what we're doing so when we look at
these tickets and we talk through these
tickets you should always be asking
yourself are there any questions that
are not there for instance login screen
well what happens so I just gave you
those two scenarios you know happy path
login negative case still happy path
user logs in with invalid credentials is
kicked out but nowhere in those
requirements specifies hey what happens
if I get bad data or weird data or a SQL
command if you leave out things like
that it's not going to get coded you
potentially could leave yourself open
for problems or the feature is not going
to work as
expected so we have to ask ourselves
looking at a requirement for for
instance just a screen like I said the
login screen so you have two Fields you
have a username and password well from a
web perspective or even an application
perspective are they alpha numeric do
they allow special characters do any
input Fields these are things you should
ask uh is it uh numeric only can I allow
SQL should I look for specific commands
do I need to mask the data you know is
this data being stored into a database
do I need to set a max length a minimum
length do I have to add specific
criteria oh I need uppercase letters
lowercase letters I need numbers I need
special characters it has to be a
minimum of a certain length and if it's
not and they try to log in or they try
to create this
information what do we communicate to
the user that they've done wrong other
than oh hey you can't log in or oh hey
you can't create a password what do you
tell the user so you have to also think
about the error handling behind the
scenes as well as what is displayed to
the user so a simple login page hey
build me a login page to allow users to
log in sure sounds easy but there are so
many layers to unpack with that that
this is just one example of how to kind
of peel back the onion when you're
dealing with these type of situations
now a recent one we both uh were looking
at is we were trying to walk through the
requirements with a customer and we
started running across things that we
started realizing were muscle memory
these were things that the users were
doing that they weren't thinking about
so to them it just worked as it it's
supposed to but they weren't
communicating to us what it is that they
were doing and what it was that they
were expecting from the system or that
the system should do so when we go to
code this or work in a similar solution
without this things are going to break
people may not get paid you know
customers may not get their products on
time so you always have to look at the
little pieces you know you may have the
high level you know big road map site
map whatever but you need to pick at it
you need to literally get into those
nitty-gritty details and at the end of
the day if you think from a tester
perspective look at the use cases the
user stories for that given ticket and
if you can write every single user story
you can write those tests first then
write the code and then next time you go
to make a change to this if you break
one of those user stories you'll know
immediately the code will never make it
out the door and then you go back and
you have to fix it before introducing a
bug to the end user you know we don't
want to be like that one company that
took Microsoft down all across the world
so again these are those Psychopaths
those paths that you may not always look
at with your stories you have to get to
those details you have to talk to the
customers and sometimes you literally
just have to sit there and watch what
the end user does it may be boring as
heck but watch what they do they may do
what they say they do great record that
if they don't do what they say they do
stop them and find out why or just pay
attention and see what use case they
just introduced that has not been
communicated and finally the other thing
you want to look at when you're watching
that is are your end users or is the
prospective customer doing things
outside of the
system that again is that muscle memory
or a process they've introduced to work
with their current systems because their
systems don't do it so they have built a
system on top of a system that you have
to kind of unpack and figure out what
that psychopath is to put those
requirements into a ticket to make sure
that your functionality that this
software that you're building meets the
customer's demands
that is that last part is probably the
best is you can say tell me and you're
going to get something if you say show
me you will get something different a
lot particularly if you're dealing with
an existing system with a call them a
you know a power user or a a user that
has been on this for a long time because
as Michael said a lot of times they'll
have their own systems I've been at
places where they've got these huge
systems and they'll tell you that they
use them for everything and you sit down
in 2 seconds into it realize that
they've got Post-it notes or they've got
exra little spreadsheets they've got all
this stuff it's like well what is that
oh I use that so I can get this thing
and it's just it's the kind of stuff
you're like well wait a minute you said
you only use a system then what happens
if that's not there well that never
happens because I always sit down at my
desk and my Post-It note is always there
it's it's those kinds of things that you
need to you need to find a way to get to
it and sometimes you're not told it
because people want to tell you the
right way to to do it which is not the
real way that they do it and that's
where show me is so much more value
sitting down and this is I think lost a
lot when we have so many remote uh you
know engagements and stuff like that and
I was very frustrated in one not too
long ago where it's like it was third
and fourth hand information as opposed
to just being able to get boots on the
ground and watch somebody do it and how
they use the application and how they
use the
system and be able to actually say okay
what's actually going on because in this
case it's one of those you get to a
point where you say okay well how is
this getting used and they say they use
it like this I think it's like well wait
a minute you think if you don't know
then we need to go like who can say
definitively what the answer is now in a
very similar vein you can say
definitively what you think about us and
what your suggestions are for us by
sending us an email at info
developer.com you can contact us out on
developer.com on our contact form you
can put comments wherever you see us
whether it's out on YouTube and the
developer ner Channel whether it's out
on whatever your favorite podcasting
tool is uh or your actually podcast
listening device is all of that stuff
wherever it is leave us comments send us
com smoke signals we really don't care
however you get it to us we want to hear
from you we want that kind of feedback
because it helps us help you help us be
better building better developer
podcasters so we can help you build
better developers essentially that kind
of thing we are not done though we are
continuing this season we have tripped
at the 800 Mark apparently in number of
EP episodes which is in itself sort of
mind-boggling thinking back to like when
it went to like double digits it was
like wow I made it to 10 and now we're
quite a bit away from that so we're just
marching along we will come back with uh
more on the developer Journey next time
around until then go out there and have
yourself a great day a great week and we
will talk to you next
time bonus material uh I have quite a
bit so real quick so I try not to touch
on too much I try to keep
it on
track as we talked about watching your
users trying to figure out what they do
look at tools like snag it look at
QuickTime if you're on MacBooks use
recording tools do do anything you can
to capture what the user does while
they're doing it will help you immensely
figure out one what it is they're doing
two if the software works or not if
there's any bugs in the current system
that you need to avoid and three you
find out what they are not telling you
when they're doing what they're
doing that is that's a nice little
follow-up the best thing you can do
whether this goes for bug reporting too
people love to send you a screenshot and
it's like an error message and you
almost always are going up falling out
how did you get there and sometimes
they're going say I don't know but then
so then you're like okay well next time
you get to that try to remember what you
did so you can help me get to that uh
but recording stuff is huge I worked
with the company for a while that that
was one of the things they did all the
time so they would get bugs and the guy
that was effectively this is like one of
those it's a smaller company it's a guy
that's effectively the CIO would get on
calls with people and he would walk
through stuff so he could understand so
he could actually record the error or
the bug and then he would put that as
part of the ticket that went into the
system so whether and whether whoever it
was that got it could sit down and had
everything they needed to know on how to
reproduce it and he would you know he
could throw stuff in there comments like
this is what we should expect or we
should be able to see this thing and
sometimes even show you this is how it
should work this is the path they took
and it obviously doesn't work so
recording is huge not just don't trust
people actually even yourself when
you're doing this kind of stuff is like
what all did I do to get to that there's
times you can't remember either so the
more you record the more you can
actually watch and observe the better
that's all going to
be that will wrap this one up and we're
going to dive right back into our next
topic next time around for you depending
on when you're seeing this it may be a
couple of days or you could go bam right
into the next one that being said as
always feel free to leave us comments
leave us feedback we love to hear from
you however you want to engage with us
we're happy to do so whether you want to
continue doing this on YouTube or
whether you want to just listen to our
incredible voices while you're driving a
car exercising or something like that
always happy to do so we are uh always
looking for new topics next season we've
got some really cool stuff coming back
we've already talked about we sort of
threw some bonuses out a while back on
where we're going with that we'll
probably drop a hint or two again in
case you miss that one if not go back
and listen to every single prior episode
and maybe you'll find it somewhere
hidden in there little Easter egg that's
being said it's time for you to get out
there and get back to work and for us to
go figure out what we're going to talk
about next time so have yourself a great
one we'll talk to you later
[Music]
Transcript Segments
1.35

[Music]

28.8

and here we are uh we are back and we

32.119

are thinking about our topic this time

34.64

around

37.96

um I'm thinking a little bit I was

40.16

trying to think about how to do a little

42.36

bit of a tribute to our latest uh

44.52

conversation and the New Concept that we

46.44

came up with or that actually she came

48.079

up with um and I think it is I think

51.879

there

55.52

is I think that because we've talked we

58.32

haven't really we've talked a little bit

59.76

about requirements and about asking the

61.519

questions

63.76

but it I think it's an area that it's

67.04

useful to go into a little bit about

69

some some ways to

72.04

do for both testing and for requirements

74.92

Gathering things that are not the happy

77.92

path effectively is what are the thing

79.72

that like the things that are out there

81.56

that

82.72

are besides the like especially when

86.32

you're talking to a customer that's

87.52

building something out the particularly

89.119

something that doesn't exist if it's a

90.64

brand new product it's like okay I know

93

you've got your vision but then finding

95.159

a way to ask them the questions that

97.72

bring out the other requirements and a

100.24

lot of times it's stuff like I had a

102

conversation with a guy today it was

104.079

like here's what we can do and he's like

107.84

what do you recommend and I SED to go

109.119

back I was like well really depends

110.92

actually this one got into like pricing

112.84

and pricing engines and stuff like that

114.88

and it's like well you

117

know how much of it is you you do you

119.56

need entry level thing do you need to

121.719

you know do you want to make it easy do

123.159

you want to make it very configurable

125.399

because usually those two aren't the

126.6

same you know things like that and it's

128.84

those kinds of things that we get into

130.399

and I it's it's even goes into testing

132.2

it's the same thing it's like okay

134.2

somebody writes you know five unit test

137

for a a function but then it breaks all

139.8

over the place because they didn't

141.319

really test stuff so there's like your

143.28

you know there's your basics

145.36

of this this and this you know some of

148.44

your like there's those standard rules

150.16

of here's some things you should look at

151.72

if it's like if it's a number or even if

154.08

it's doing any kind of computation

155.44

here's the things you want to look for

156.64

these are the things that you can sort

158.48

of you can always use to just spew out

162.319

you know like unit tests and even

163.68

testing in general but then you get into

166.76

the other things and it's how do you dig

169.72

into the other things and I think it is

171.159

it's something as a Dev it is a

173.319

developer Journey as far as learning

175.48

some of those things so that's what I'm

176.8

thinking is it's sort of like the um

180.68

everything but the happy path as a as a

183

topic for this first one yeah so you're

185.72

thinking well and this could also get

187.56

into like that muscle memory like we

189.319

talked about last week where people

191.2

don't think about it you know those are

193.12

those requirements that it you don't

196.64

ever I mean it's been so long you don't

198.64

think about it and it's like that's not

200.64

a requirement that's just what I do and

203.56

it's like well what you do is the

205

requirement you know how do you do it

206.68

what you know what is it and some it's

209.64

like oh yeah I guess that doesn't just

211.36

happen I do this and it's like oh yeah

213.959

you do it's like you know it's like some

216.599

people it's like it's like brushing

217.76

their teeth in the morning they don't

218.599

think about if you ask them how was your

220.599

toothbrushing experience this morning

222.12

they'll be like I don't remember because

223.319

they do it all so

224.799

often but they do it so it would be easy

227.12

to forget you know it's things like that

230.08

yeah that' be that would be a good

232.159

followup to the ones that we did and

235.2

also our post uh 800 so this is 801 guys

240.239

oh cool we are into the big league

242.28

actually we've been there for a while

243.319

now actually because I don't think that

245.4

Apple only keeps the last 300 so you

247.64

have to like specifically go back to the

249.439

the early ones which is probably good at

251.72

this

253.519

point deep breath here we

257.32

go well hello and welcome back we are

260.68

continuing our season where we are going

262.759

through the developer Journey we are

264.919

building better developers we are a

266.759

develop andur I am Rob Broadhead I am

269.32

one of the founders of developing or and

272.8

in keeping with our uh our standards now

276.039

in the last few episodes we talked about

277.479

a little good and bad uh good thing bad

279.639

thing and then uh throw a little extra

282.32

uh introduction to it I'll do the

284.759

introduction first because I got to

286

think about my good and bad uh I was

287.84

going to reverse it and then I lost it I

290

am also the founder of RB Consulting

292.479

where we integrate simplify and automate

294.56

and find ways for you to find the best

296.919

way to leverage your technology

298.639

investment whether it's people whether

300.039

it's it's languages or applications or

302.32

whatever it happens to be good thing bad

306.039

thing uh good thing this is actually a

308.88

fun one so good thing is I managed to go

310.96

to a store that uh for people around

314.4

here it's it's place called M and they

317.32

just take back old it's like it's a used

319.84

store a used store used media store it's

322.72

not just bookstore they do video games

324.919

and a whole bunch of crap and I had just

327.039

boxes of stuff that was sitting around

330

basically because I've just had kids

331.12

move out and we took it there and got a

332.8

bunch of credit introduced the kids to

334.6

it so now they know that they can take

335.72

their old crap there they can get new

337.44

stuff which they did they're new to them

339.319

they can go get like books and stuff

340.639

like that so that was a good thing bad

343.6

thing is uh I don't want to get

345.88

political but I watched the debate last

347.56

night and it was the most ridiculously

349.319

bad thing ever it's just like it wasn't

351.56

a total waste of time but it was

353.24

definitely like you could do better like

356.6

to everybody everybody involved you

358.24

could do better you could be more

359.12

entertaining you could do a lot of stuff

361.52

better but that's sort of the way things

363.68

go these days somebody that also Maybe

367.12

not maybe cannot do anything better is

369

sitting on the other side of the screen

370.16

for me Michael go ahead and introduce

372.56

yourself hey everyone my name is Michael

374.759

M I'm one of the co-founders a developer

376.639

ner I'm also the founder of Envision QA

379.28

where we build software tailored to meet

380.919

the unique needs of healthcare

382.12

professionals and small to midsize

383.68

e-commerce businesses you know whether

385.56

you're a healthcare provider or an

386.72

e-commerce entrepreneur partnering with

388.639

Envision QA means unlocking your

390.039

software for full potential experience

392.56

the confidence of knowing your software

394.16

meets the highest quality and compliance

396

standards while driving success in your

398.919

industry good and

400.96

bad let me start with the good so I

403.919

guess the good news um I missed the

406.599

debate I missed all that chaos uh

411.24

getting back on track this week because

413.599

on the bad side life happened um some uh

419

Health ISS isues hit the family last

421.4

week and we were down for quite a few

424.36

days and unfortunately had some very bad

426.4

experiences with the general uh Health

429.4

Care system of our local General

431.24

Hospital

433.919

so can only strive for better and with

437.8

that I'll pass it back to you maybe

439.68

that'll be another one we'll do building

440.879

better hospitals that'll be like the

442.599

next thing to get into today we're going

445.199

to talk about how do you get better well

446.759

one of the things is it's uh it's a

449.28

little little bit of like you get better

450.919

because you just do it it's like the

452.479

more you do it the more you get better

453.8

we want to I want to talk about this

455.759

thing that we've we've come up with a

457.08

new term and actually it was because

458.44

we're in a conversation with a a client

460.319

and we're just going to call that client

462.8

Melissa

464.759

and Melissa came up with an idea as we

467.08

were talking about the happy path and we

469.28

were talking about the things that

470.159

aren't the happy path and she

472.08

interjected and said oh the Psychopaths

474.56

and I was like that is so on point to

478.759

what we often run into that we're going

481.36

to use that so she's like you know just

483.919

make sure I was like how can I mention

485.4

your name and even if it's like a you

487.96

know in quotes and everything and so we

489.96

were able to do that and so we're

491

stealing that for now so we will use

492.84

Psychopaths for quite a while because I

495.039

just find that very appropo when we're

498.52

talking about everything not everything

500.479

but a lot of the things that are not the

501.84

happy path particularly the things that

503.56

tend to bite Us in the butttocks as

505.919

Forest gumps likes to

507.479

say those things that are

510.56

like outside of the norm the outliers

513.08

the things that are just rare but it's

515.599

like those are the ones that always get

516.919

us and I want to talk about getting into

519.719

that because there are probably like two

523.76

situations that we run into where those

525.64

are very very difficult there are others

528.48

where they can be it's a challenge but

529.92

the ones that are most difficult are

532.12

where there is where we're talking about

534.04

like a brand new application brand new

535.76

solution so it doesn't exist except in

538.8

the person's head head and usually this

541

is an entrepreneur or Visionary type

543.079

person and so the whole like rubber

545.68

meets a road is not really in their

547.76

wheelhouse either and so you have to

550.2

find a way to take that vision and

553.32

ground it into you know bring it down to

555.12

earth and then start looking at all of

557.16

the warts that could possibly come out

558.839

of it similar to that maybe uh although

562.2

it's a little easier is when it's an

564

existing system and that somebody just

566

does it uh you think of it like almost

568.04

like muscle memory so you're trying to

570.24

figure out where are the things that

572.68

they just know how to do but they're not

575.8

going to think about it it's like if you

577.36

if you ask them they can give it to you

578.92

they'll like yeah this is what you do

580.04

this is how it works the problem is you

582.24

have to know what to

583.88

ask so as you get into these things

586.839

early on when you're starting out in

588.2

your career you're probably going to

589.2

find that there are you're going to like

591.56

almost out of the gate be able to come

593.04

up with some things that are how can

594.92

this fail and the common things

598.32

everybody I think you know right away

600.16

we'll find things like well you look at

602.519

you know is it a maximum value is it a

604.519

minimum value um sometimes people right

607.6

away figure out what if there is no

609.16

value and it's like okay cool as you get

613.36

a little further on you will bump in to

615.44

the off by one error so you'll very

617.24

quickly say it's not just the maximum

618.88

error it's the maximum Value Plus One

620.76

and minus one the minimum value plus one

623.079

and minus one because there's a big

624.8

difference between less than and equals

627.12

or less than and greater than and equals

629.079

or greater than and you will get bit by

631.44

it at some point whether it's design

634.279

issue or whether it's just typos or all

637.6

sorts of things and of course there's

639.6

the

640.519

whole equals as opposed to less than or

643.959

as opposed to greater than which usually

645.519

it's going to come more around your uh

647.56

copy paste and stuff like that but it's

649.2

like fine like it really does get into

651.72

almost St statistical analysis of like

654

find like a middle absolute middle of

656.32

the road something on the first quartile

658.639

and the third

659.88

at both ends and right on the cusps of

662.04

both ends and then is it a you know does

665

the value exist at all what if it and

667.6

then you start getting into things like

668.88

well what if they try to find a way to

670.88

put a value that doesn't exist one of

673.92

the things like a good example you'll

675.279

run into probably at some point is where

676.92

somebody's typing a number and it should

679.48

just be a number but they decide to put

680.88

a comma for their thousands or a point

683.639

for their thousand separator or

685.04

something like that if you don't have a

687.399

you know depend on how you have stuff

688.72

set up that might sneak through and the

690.2

next thing you know you're like what the

691.279

heck is this or they put a a you know a

693.6

currency sign a dollar sign or something

695.24

like that on the front of it and you

696.959

just want a number so now you got to

698.48

figure that kind of crap out and don't

700.079

even get me started on like date formats

702.2

and phone number formats and things like

704.959

that and

706.48

especially you have to in a lot of these

708.519

cases you're going to start thinking

709.6

through the things where there are

711.32

varying forms of it because you're going

714.04

to assume certain things like for

716.48

example there was a point where people

718.079

assume that all years you really only

720.72

cared about the last two numbers and

723.12

then they found out that when you got to

724.519

about 1999 to 2000 you did care about

728.24

all four numbers and so there was you

730.92

know those things

732.639

happen now you're ask you may say okay

735.24

great you've thrown out a lot of things

736.56

you may even know what a lot of these

737.72

are and so how is it that we figure out

740.76

how we know what we don't

742.32

know and this is where it does go back

746

to as we've talked about before a lot of

747.48

it is asking questions but a lot of it

749.959

is sitting down and saying okay here's

752.24

your

753.16

process and I think the easiest way to

755.639

do it is find your best way to take the

758.199

the happy path whatever that path is and

761.519

then dissemble it into the steps that

763.76

are

764.519

involved and then that allows you with

766.639

every step that's involved to apply what

768.639

you know to each of those steps which is

770.519

basically what happens if the inputs are

772.839

incorrect what happens if the outputs

774.68

come out wrong what happens if the step

776.76

gets skipped what happens if this step

779.279

is going on and another step triggers

781.6

those kinds of things that kind of line

784.56

of thinking is what's going to get you

787.399

into those kinds of questions and to

789.12

help you get those Psychopaths which are

792.079

truly some of the nastiest things if you

793.8

try to do like real-time processing and

796.04

it's parallel and you get into race

798.399

conditions and things like that that the

800.44

first time and that is not like this is

802

not about like you know I'm a black guy

803.6

a white guy a red not not that kind of

805.44

race this is like running really fast

807.68

race and both people

809.8

both things finished at the exact same

812.56

time then who's the winner you can't

814.68

have a tie so what

816.519

happens or things like that that you

818.519

will run into or even like maybe you

820.68

can't have a tie and then you do and

822.279

it's called a deadlock or something

823.6

along those lines these are the things

825.959

that you will run into when you start

828.56

breaking down those steps and applying

830.639

that how can it go wrong in the most

833.48

really in like the most granular way

835.36

it's like because then it's limited now

837.36

you're not having to think about entire

839.88

systems of issues now you're going to

842.199

those specific things and you're

843.759

basically saying here's you know

845.8

whatever your your ability is to guess

848.199

or to you know assume that these are the

850.24

things that can go wrong maybe there's

851.959

four T items or 10 but the important

855.16

thing is that now you can take all those

856.519

apply those to each step and you don't

858.199

have to figure out the whole system of

860.6

exploding stuff when things go wrong you

862.959

can go to that specific thing and say

864.72

okay this thing what are all essentially

868.32

what are all the Poss M States and then

870.959

from there you can re work your way

872.92

through it because at the end of the day

874.279

we're basically almost always dealing

876.079

with a state machine of some sort or

877.92

another and so if you can nail down the

879.92

states then you can nail down the

882.32

process itself and figure out where it

884.32

can go wrong or at least what you need

886.56

to do if it gets into a state that it

889.32

potentially shouldn't be and now this is

892.72

also a near and dear to the heart of

895.8

anybody that's in testing because this

897.32

is the this is the other side of it it's

899.12

like okay you're telling me this is a

901.36

requirement I need to think of all the

902.68

ways that can go wrong so I can test it

905.759

and verify that it's going to work in

907.759

all of the

909.04

situations the last thing before I throw

911.519

it over to Michael is just the biggest

914.199

thing that you will save yourself

916.079

headaches from is to not assume if you

919.639

assume things will be a certain way you

922.279

will find out that they won't and you

924.399

have problems it's things that never

926.759

never happen like outliers like you have

929.68

a huge server and it runs out of dis

932.199

space and suddenly your web application

934.56

that doesn't even know what dis space is

936.8

effectively doesn't run because somebody

939.8

can clean up the log files or something

941.56

along those lines so don't

943.8

assume sit there and like really try to

946.199

think like where can you possibly be

949

assuming things so you can figure out

950.8

where you can ask the right questions

952.16

and now I'll toss it over to

955.16

Mike wow that was a lot so I don't want

957.959

to get on my soap box too much because I

960.36

could so go way too far in many

965.079

directions one of the things Rob touched

967.88

on so many good points and what I'm

970.959

going to bring to this conversation is a

974.959

staying on this topic but from an

977.16

example perspective so in my 25 plus

981.48

years 30 years of working in this

984.24

industry I have worked through the

986.48

Journey of here's a ticket go write a

988.959

task you go build it you test it as a

990.759

developer hey what I did work but I

993.04

didn't test the whole system things

994.44

break down the road you don't think to

996.519

test other things you only work on what

998.36

you work on As you move into your middle

1001.199

career it's like oh I'm going to start

1003.12

asking more questions like Rob said

1004.6

you're going to look at those you know

1006.319

off by1 errors you're going to look at

1008.319

what type of data you need in your

1009.839

system those Deadlocks things of that

1011.88

nature and as you move further along in

1014.6

your career or if you're like me and you

1016.88

like to jump and wear many hats just do

1019.639

too many startups and you just wear

1021.36

every hat you come to find out that you

1025.16

from a project owner's perspective a

1027.48

business manager or a tester's

1029.6

perspective you look at things different

1032.439

you look at the systems you look at the

1034.319

stories you look at these requirements

1036.559

in a totally different way so like Rob

1039.64

gave so many great examples I'm going to

1041.52

walk you through a couple scenarios here

1044

so first of all from a tester's

1046.12

perspective we take a ticket we take a

1050.32

requirement for instance login happy

1054.4

path user should be able to enter in a

1057.44

valid username and password and log into

1059.96

the system perfect

1063.039

simple negative path user enters in an

1066.36

invalid username and password and they

1069.36

shouldn't be able to log it's still a

1071.12

happy path but it's a negative use case

1074.16

some of the weird cases could be if you

1078.4

don't have have the right logic in the

1080.039

background what happens if you throw in

1082.12

a SQL command in the username or in the

1085.039

password you now get a SQL injection

1087.44

error because you have something weird

1089.12

in the background and now suddenly your

1091.159

database is deleted and things go wrong

1094.08

so from a tester from a like just a user

1098.48

story looking at the requirements you

1101.679

have to assume that what you're given is

1105.44

wrong if you're a tester we have to

1108.32

always assume things are wrong but as a

1111.12

developer when we're handed a ticket for

1113.6

the first time if we're doing agile

1116.64

correctly if we're going through our

1117.799

Sprints correctly we're going to walk

1120.08

through the requirements of the ticket

1121.919

walk through what the ticket or what the

1124.039

requirement is supposed to be how does

1126.28

it impact the system as a whole what are

1129.039

the acceptance criteria what are the

1131.12

things that we can kind of let slide in

1132.799

this particular ticket because some work

1135.28

precedes other work so you are going to

1137.72

potentially write B bugs or feature or

1141.48

future

1142.44

feature um conditions or uh features

1146.32

into code that aren't necessarily turned

1148.48

on yet or maybe feature incomplete so

1151.52

you have there will be things that won't

1153.559

work but the thing is in the ticket in

1156.4

what we're looking for we should know

1158.28

what we're doing so when we look at

1161.32

these tickets and we talk through these

1163

tickets you should always be asking

1165

yourself are there any questions that

1168.159

are not there for instance login screen

1172

well what happens so I just gave you

1175.12

those two scenarios you know happy path

1176.84

login negative case still happy path

1179.48

user logs in with invalid credentials is

1182

kicked out but nowhere in those

1184.76

requirements specifies hey what happens

1187.28

if I get bad data or weird data or a SQL

1190.76

command if you leave out things like

1193.44

that it's not going to get coded you

1195.44

potentially could leave yourself open

1197.12

for problems or the feature is not going

1199.72

to work as

1201.12

expected so we have to ask ourselves

1204.12

looking at a requirement for for

1206.36

instance just a screen like I said the

1208.12

login screen so you have two Fields you

1209.919

have a username and password well from a

1212.919

web perspective or even an application

1215.28

perspective are they alpha numeric do

1218.2

they allow special characters do any

1220.96

input Fields these are things you should

1222.679

ask uh is it uh numeric only can I allow

1227.52

SQL should I look for specific commands

1230.6

do I need to mask the data you know is

1234.72

this data being stored into a database

1236.64

do I need to set a max length a minimum

1239.4

length do I have to add specific

1242.52

criteria oh I need uppercase letters

1244.84

lowercase letters I need numbers I need

1247.24

special characters it has to be a

1249.08

minimum of a certain length and if it's

1252.24

not and they try to log in or they try

1255.4

to create this

1257.2

information what do we communicate to

1259.52

the user that they've done wrong other

1262.2

than oh hey you can't log in or oh hey

1264.24

you can't create a password what do you

1266.24

tell the user so you have to also think

1268.4

about the error handling behind the

1271.799

scenes as well as what is displayed to

1274.559

the user so a simple login page hey

1276.6

build me a login page to allow users to

1278.6

log in sure sounds easy but there are so

1282

many layers to unpack with that that

1284.919

this is just one example of how to kind

1287.919

of peel back the onion when you're

1290.24

dealing with these type of situations

1292.679

now a recent one we both uh were looking

1296

at is we were trying to walk through the

1298.76

requirements with a customer and we

1301.2

started running across things that we

1303.2

started realizing were muscle memory

1305.44

these were things that the users were

1308.4

doing that they weren't thinking about

1311

so to them it just worked as it it's

1313.799

supposed to but they weren't

1315.88

communicating to us what it is that they

1318.24

were doing and what it was that they

1320.039

were expecting from the system or that

1321.679

the system should do so when we go to

1325.32

code this or work in a similar solution

1329

without this things are going to break

1331.039

people may not get paid you know

1333.039

customers may not get their products on

1335.48

time so you always have to look at the

1338.32

little pieces you know you may have the

1340.64

high level you know big road map site

1344.2

map whatever but you need to pick at it

1347.6

you need to literally get into those

1349.64

nitty-gritty details and at the end of

1352.2

the day if you think from a tester

1355.2

perspective look at the use cases the

1358.32

user stories for that given ticket and

1361.72

if you can write every single user story

1364.84

you can write those tests first then

1367.84

write the code and then next time you go

1370.159

to make a change to this if you break

1372.2

one of those user stories you'll know

1374.36

immediately the code will never make it

1376.159

out the door and then you go back and

1378.159

you have to fix it before introducing a

1381.279

bug to the end user you know we don't

1384.039

want to be like that one company that

1385.679

took Microsoft down all across the world

1388.279

so again these are those Psychopaths

1392.76

those paths that you may not always look

1395.679

at with your stories you have to get to

1398.72

those details you have to talk to the

1400.279

customers and sometimes you literally

1402.799

just have to sit there and watch what

1405.24

the end user does it may be boring as

1408.2

heck but watch what they do they may do

1412.039

what they say they do great record that

1415.159

if they don't do what they say they do

1417.159

stop them and find out why or just pay

1419.64

attention and see what use case they

1421.76

just introduced that has not been

1424.44

communicated and finally the other thing

1428

you want to look at when you're watching

1430.039

that is are your end users or is the

1434.919

prospective customer doing things

1438.84

outside of the

1440.919

system that again is that muscle memory

1443.919

or a process they've introduced to work

1446.559

with their current systems because their

1449.559

systems don't do it so they have built a

1451.36

system on top of a system that you have

1453.799

to kind of unpack and figure out what

1456.96

that psychopath is to put those

1458.72

requirements into a ticket to make sure

1460.88

that your functionality that this

1463.24

software that you're building meets the

1465.279

customer's demands

1468.559

that is that last part is probably the

1470.84

best is you can say tell me and you're

1473.44

going to get something if you say show

1476.2

me you will get something different a

1479.039

lot particularly if you're dealing with

1480.64

an existing system with a call them a

1483.799

you know a power user or a a user that

1486.399

has been on this for a long time because

1488.679

as Michael said a lot of times they'll

1490.2

have their own systems I've been at

1492.44

places where they've got these huge

1493.84

systems and they'll tell you that they

1495.12

use them for everything and you sit down

1497.2

in 2 seconds into it realize that

1498.76

they've got Post-it notes or they've got

1500.88

exra little spreadsheets they've got all

1502.44

this stuff it's like well what is that

1504.559

oh I use that so I can get this thing

1507.6

and it's just it's the kind of stuff

1508.84

you're like well wait a minute you said

1511.039

you only use a system then what happens

1512.84

if that's not there well that never

1514.12

happens because I always sit down at my

1515.559

desk and my Post-It note is always there

1517.24

it's it's those kinds of things that you

1519.32

need to you need to find a way to get to

1522.24

it and sometimes you're not told it

1525.36

because people want to tell you the

1527.64

right way to to do it which is not the

1530.52

real way that they do it and that's

1532.72

where show me is so much more value

1535.2

sitting down and this is I think lost a

1537.36

lot when we have so many remote uh you

1539.559

know engagements and stuff like that and

1541.36

I was very frustrated in one not too

1543.279

long ago where it's like it was third

1545.84

and fourth hand information as opposed

1547.52

to just being able to get boots on the

1548.88

ground and watch somebody do it and how

1551.24

they use the application and how they

1552.76

use the

1554.2

system and be able to actually say okay

1557.36

what's actually going on because in this

1560.039

case it's one of those you get to a

1561.24

point where you say okay well how is

1562.48

this getting used and they say they use

1564.399

it like this I think it's like well wait

1567.399

a minute you think if you don't know

1571.039

then we need to go like who can say

1574.039

definitively what the answer is now in a

1578.279

very similar vein you can say

1580.559

definitively what you think about us and

1582.64

what your suggestions are for us by

1584.32

sending us an email at info

1585.96

developer.com you can contact us out on

1589.159

developer.com on our contact form you

1592.08

can put comments wherever you see us

1593.96

whether it's out on YouTube and the

1595.159

developer ner Channel whether it's out

1596.52

on whatever your favorite podcasting

1598.799

tool is uh or your actually podcast

1601.559

listening device is all of that stuff

1604.559

wherever it is leave us comments send us

1606.84

com smoke signals we really don't care

1609.44

however you get it to us we want to hear

1610.679

from you we want that kind of feedback

1612.48

because it helps us help you help us be

1615.44

better building better developer

1617.6

podcasters so we can help you build

1619.24

better developers essentially that kind

1621.039

of thing we are not done though we are

1623.76

continuing this season we have tripped

1626

at the 800 Mark apparently in number of

1628.76

EP episodes which is in itself sort of

1631.44

mind-boggling thinking back to like when

1633.32

it went to like double digits it was

1635.2

like wow I made it to 10 and now we're

1638.679

quite a bit away from that so we're just

1641.24

marching along we will come back with uh

1643.84

more on the developer Journey next time

1646.159

around until then go out there and have

1648.24

yourself a great day a great week and we

1650.52

will talk to you next

1653.08

time bonus material uh I have quite a

1657.919

bit so real quick so I try not to touch

1662.039

on too much I try to keep

1663.96

it on

1666.6

track as we talked about watching your

1669.6

users trying to figure out what they do

1671.96

look at tools like snag it look at

1674

QuickTime if you're on MacBooks use

1676.679

recording tools do do anything you can

1679.32

to capture what the user does while

1682.279

they're doing it will help you immensely

1685.76

figure out one what it is they're doing

1688.679

two if the software works or not if

1690.36

there's any bugs in the current system

1692.159

that you need to avoid and three you

1694.64

find out what they are not telling you

1697.039

when they're doing what they're

1699.64

doing that is that's a nice little

1702.24

follow-up the best thing you can do

1703.72

whether this goes for bug reporting too

1706.64

people love to send you a screenshot and

1708.399

it's like an error message and you

1710.84

almost always are going up falling out

1712.24

how did you get there and sometimes

1714.279

they're going say I don't know but then

1716.08

so then you're like okay well next time

1717.96

you get to that try to remember what you

1720.039

did so you can help me get to that uh

1723.12

but recording stuff is huge I worked

1725.24

with the company for a while that that

1726.64

was one of the things they did all the

1727.919

time so they would get bugs and the guy

1730.32

that was effectively this is like one of

1732.399

those it's a smaller company it's a guy

1733.679

that's effectively the CIO would get on

1736.2

calls with people and he would walk

1738.279

through stuff so he could understand so

1739.799

he could actually record the error or

1742.72

the bug and then he would put that as

1744.6

part of the ticket that went into the

1746.08

system so whether and whether whoever it

1748.64

was that got it could sit down and had

1751.679

everything they needed to know on how to

1753.76

reproduce it and he would you know he

1755.2

could throw stuff in there comments like

1757.44

this is what we should expect or we

1758.84

should be able to see this thing and

1760.32

sometimes even show you this is how it

1762.24

should work this is the path they took

1764.2

and it obviously doesn't work so

1766.519

recording is huge not just don't trust

1769.08

people actually even yourself when

1771.76

you're doing this kind of stuff is like

1773.039

what all did I do to get to that there's

1775.6

times you can't remember either so the

1777.679

more you record the more you can

1778.919

actually watch and observe the better

1781.44

that's all going to

1782.72

be that will wrap this one up and we're

1785.679

going to dive right back into our next

1787.96

topic next time around for you depending

1789.6

on when you're seeing this it may be a

1790.84

couple of days or you could go bam right

1793.039

into the next one that being said as

1795.519

always feel free to leave us comments

1797.2

leave us feedback we love to hear from

1799.6

you however you want to engage with us

1803.559

we're happy to do so whether you want to

1805

continue doing this on YouTube or

1806.399

whether you want to just listen to our

1807.919

incredible voices while you're driving a

1810.159

car exercising or something like that

1812.279

always happy to do so we are uh always

1814.6

looking for new topics next season we've

1816.799

got some really cool stuff coming back

1818.279

we've already talked about we sort of

1819.519

threw some bonuses out a while back on

1821.24

where we're going with that we'll

1822.76

probably drop a hint or two again in

1824.279

case you miss that one if not go back

1826.159

and listen to every single prior episode

1828.24

and maybe you'll find it somewhere

1829.519

hidden in there little Easter egg that's

1832.039

being said it's time for you to get out

1833.32

there and get back to work and for us to

1835

go figure out what we're going to talk

1836.039

about next time so have yourself a great

1837.64

one we'll talk to you later

1841.27

[Music]