📺 Develpreneur YouTube Episode

Video + transcript

Criticism and Code Reviews: Building Better Developers, One Habit at a Time

2024-11-19 •Youtube

Detailed Notes

The latest episode of Building Better Developers, Season 23’s “Building Better Habits” series, dives into one of the most sensitive yet vital aspects of personal and team growth: giving and receiving criticism. Rob Broadhead and Michael Meloche explore how developers can better approach feedback loops in professional settings, mainly focusing on code reviews—a microcosm for the challenges and rewards of constructive criticism.

*A Challenge for the Week* Rob and Michael leave listeners with a practical challenge: for the next seven days, review your own code at the end of each day. Please spend a few minutes identifying one thing you can improve, whether it’s cleaning up logic, simplifying comments, or reorganizing a function. This habit enhances your skills and prepares you to give and receive feedback more effectively.

*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.

Read More... https://develpreneur.com/criticism-and-code-reviews-building-better-developers-one-habit-at-a-time

*Additional Resources* * Turning Feedback into Future Success: A Guide for Developers (https://develpreneur.com/turning-feedback-into-future-success-a-guide-for-developers/) * Code Reviews – Build Habits And Best Practices (https://develpreneur.com/code-reviews-build-habits-and-best-practices/) * Embrace Feedback for Better Teams (https://develpreneur.com/embrace-feedback-for-better-teams/) * Breaking Things Down for Success: How Developers Can Build Better Habits (https://develpreneur.com/breaking-things-down-for-success-how-developers-can-build-better-habits/)

*Follow-us on:* * https://develpreneur.com/ * https://www.youtube.com/channel/UCZOuFN_LhczvGyT2KSItH_g/featured * https://facebook.com/Develpreneur * https://twitter.com/develpreneur * http://linkedin.com/develpreneur

Transcript Text
[Music]
we we are live or whatever it is not
live we are recording at
[Laughter]
least all right I was thinking this time
um something we mentioned I can't
remember what your
initial suggestion
was um but I took note as basically like
taking criticism it's like how to like
work with criticism within your your
work world as a developer and how to get
a little better I got to figure out I've
got if we do that I have from basically
now until get towards the end of the
episode to figure out what the challenge
is going to be related to
that um I have to figure out a good way
to do that but I think that's a good
little area for building better I think
that's one of the things we have to do
is we have to live in that world of give
and take and talk
about our ideas in a way that they can
be improved um and also it's actually I
guess it's also to me it's a little bit
giving it as well is like you where to
like how to do it and things like that
constructive criticism giving and taking
I think potentially would be a good
granted it's a bit we could probably
write books on it but it's one of those
it's like that at least means we should
be able to try to light over here see if
I get a little better um maybe yeah
we'll try that oops get my mic out of
the way a little bit there
um yeah because this came from the
discussion we had about like code
reviews
because like when you're giving
criticism on a code you oh you know you
need to make this change or maybe you
could do this better almost 90% of the
time the person receiving that gets
defensive yeah I think that is it I
think that was where you started it with
was the code
reviews and that's uh that's a good idea
as well bring that that's a good example
of it um and maybe that's the challenge
will be like get your code reviewed
every day for seven days and see what
happens
um but yeah that's what I say we do that
for this first episode does that sound
that make sense yeah I like that one
well cool then then I'm going to just
Dive Right In and do the little three
two one well hello and welcome back we
are continuing our season of building
better habits conveniently enough we are
building better developers we are
develop andur I am Rob Broadhead one of
the co-founders of develop andur and
also founder of RB Consulting where we
go in and help you work with technology
through simplification automation
integration we help you figure out what
you have and then what is the best route
to take that leverage it and move
forward and it may even be things like
you know maybe you don't have much
technology so we help you find the
technology you need or build the team
you need but more importantly however
that mix is and everybody's is unique
just like every person is unique every
business has its uniqueness so we get in
there we get to know what you're doing
what are all your special things that
make you special and then find the ways
to use technology to emphasize that and
improve that along the
way we are building better habits so one
of the things we're doing is we have
challenges each week so I want to talk a
little bit about the challenges before I
get into the good bad and that is uh the
one that I'm
really I charged about or whatever
that's really starting to work is the
Pomodoro thing is we talked about just
do one a day and then I said well I've
I've moved it to two a day I may in the
week or two ahead move it to three and
the nice thing finding in this is that
I'm limiting the pomodoros that I do I
bu instead of trying to get like as many
in as possible I'm being very focused
and it also helps me it's a little bit
along the lines of the make a list of
your top three items or three to five
items you're going to get done today
because it really works well to pair
effectively a Pomodoro with something I
want to do because it it's almost like a
gimme so if I do two pomodoros that's
basically you know essentially I want to
make progress on item one and item two
and so those are two things that are
right away going to be or maybe it's the
two pomodoros are on one item depending
on what I'm working with but it really
is helping me like you know hone in home
in on like what is it that I'm working
on what is it that I want to focus on so
I'm really like the pomodoros uh the
automation was an interesting one is
because I finally swung back around and
took one of the most simplistic things
you can do and I highly recommend it if
you're like me I've got
I've got multiple servers that I I
administer to some level and one of the
things I do every month is I go in
actually it's every other week twice a
month I go in and just like check for
updates make sure that log files haven't
blown up um you do like I've got regular
backups so I may clean up some of the
older backup files and stuff like that
but the backup files in particular is
one of
those that I go through and I'll go just
sort of you know basically compress or
you know gzip some files and delete some
of the older on
and I was like you know what I could
probably make this a lot easier on
myself if I just
utilized delete everything once it gets
more than 7 days old or something like
that and so on each of the servers I
just I like I added a nice little KRON
tab job little Cron job that like runs
at 3: a.m it just says blow away the the
stuff that's too old so I don't have to
worry about those specific files getting
too big and it's like it doesn't it
probably saves me I don't know it may
end up saving me 15 or 20 minutes
you know twice a month it's not a lot of
time but it's a nice little Automation
and it allows for situations where if I
miss it for you know a month or
something like that then thing doesn't
things don't back up now in some cases
that's actually critical because there
are some cases where we've got stuff
there's so much space that's involved
with all of those backups and if you
start going you know if you double your
backups you go from Seven Days Seven
daily backups to 14 daily backups that
can be gigs of data in some of these
cases so it's a great little automation
to do so don't don't unell even the
simplest of automations is something
that may help you out even if it's not
saving you a ton of time it may save you
missing something and save you causing
an error in the future good thing and
bad
thing I guess the good thing I do want
to like talk about is like the good
thing is is these challenges and
actually embracing them even though uh
which probably some Of You' have done
that was a the automation challenge is
something from you know weeks ago
and I went through it and and did it but
didn't really get into the automation
but because I didn't complete the
challenge of take seven days and then
find something that you're going to
automate I didn't do it but then I came
back around to it and so that was a good
thing is that it was I stuck with it
enough that even though it took me a
while to get to to finish better late
than never and it was something that was
like wow that's like a that's a win for
me and a win for me in the future
because I'm saving a little bit of
time uh bad thing is um it's sort of
this was one I was think sort of a good
and a bad bad thing is I gu I am busy
busy busy busy I have got like my
schedule is full all the time now it's
like if you look at my calendar you
would see gaps if you look at what I
actually have on my to-do list and have
to get done on a daily basis I'm I
usually like start every day with three
days worth of work on my list and so
it's just but it's just like it's that
season so you know there's we have these
times where it's like Works sort of
light and things not that bad and you
can you know you can take an extra long
lunch or you can catch up on news of the
world or whatever it happens to be
that's not the case for me right now so
I'm just like you know making sure that
I keep enough caffeine and just keep
charging Along on it somebody who
hopefully has had enough caffeine
because we're doing a morning start this
time on the other side there Michael go
ahead and introduce yourself hey
everyone my name is Michael M and with
the co-founders of developing herb
building better developers I'm also the
founder of Envision QA where we are your
software development and quality
assurance partner we build tailored
software 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's full potential experience the
confidence of knowing your software
meets the highest quality and compliance
standards while driving success in your
industry now what does that mean well it
means we can do software audits we can
help you analyze what what your software
stack is doing and make sure it meets
the needs of your business if it doesn't
hey we can help you build a custom
solution Switching gears so before I get
to my good and bad uh briefly talk about
some of the challenges I've been working
on so still working on the Pomodoro
Technique I finally got the
pronunciation of that correct after
saying it enough times I guess uh been
I'm actually up to about three to four
times a day working with that uh along
with that it has helped me kind to focus
on some of the other challenges like uh
taking breaks so I've gotten into a very
bad habit of sitting down and the next
thing I know is 3 4 hours later I
haven't moved from my desk at
all which is really been taking a toll
my body I've been getting stiff you know
we're not springing chickens anymore so
I do need to get up and start taking
those breaks so I've been trying to use
the Pomodoro to force me to get into
those habits of taking breaks
with that I've also been focusing on the
planning and scheduling trying to ensure
that when I block meetings I give myself
time so I can take those breaks and not
have to be half focused and just kind of
pace around or you know not really be
able to focus on the meeting because my
mind uh is somewhere else uh good thing
bad thing uh good thing uh I've been
committed to my challenges I've been
getting things done I've also been
getting a lot of the year end stuff prep
starting to get done I've been able to
work at my business more so I'm I'm
feeling a little more comfortable that
I'm going to end the year right this
time instead of being scrambling at the
end of the year trying to make sure all
my taxes and bookkeeping is done uh bad
thing uh thanks to wonderful laws in
that in this country getting your checks
deposited and cashed on time from the uh
Banks can become a challenge when checks
are a little bigger than you normally
expect so wonderful uh bank has been
holding on to my money a little longer
than expected which fortunately means I
have to delay paying bills so that's
where I'm at for this week all
right this
time this is going to be a fun one so
everybody take a deep deep breath we're
going to talk about criticism we're
going to talk about getting it and
giving it we're going to talk about in
particular one of the things that like
that sparked this that I think will
probably like right away trigger several
of you is a code review now code reviews
are very specific instances where
honestly if you don't go in there
expecting criticism then you don't
understand what a code review is it's
just like if you go out and buy a house
and you H hire a house inspector and
they come back and they say it's great
it's
awesome they need get your money back
it's a code review is same thing there
should be some level that of of feedback
that comes in a code review if they if
the code review feedback is that is
perfect code they are lying or they
didn't even look at your code because
none of us write that now it could be
something where they'll say yes it
follow you check followed all the
checkboxes and stuff like that or it
could be that you wrote three lines of
code and it's like okay yeah it's not
how hard could how how hard would it be
how impossible would be to actually mess
that up but usually you're gonna get
something you should get some question
or some sort of feedback that is them
trying to understand it is not an attack
on you and that I think is where a lot
of us like we build this these are our
babies these are things that come out of
our mind these are our Creations even if
it's a a very simple like for Loop or
something like that and it includes
things like naming our functions and our
variables and how we write our comments
and all these things are all they come
out of us these are Creations that we
have cre that we have made and so yes we
a lot of us I think get too personally
tied to these things and that makes it
hard for somebody to critique you know
your child and says hey you know your
child's not that very goodlook well it's
like you know if you're like me it's
like well look what you got to he didn't
have much to work with but you may also
do something where it's like you know
hey I get to say that but you don't or
something like that so this is where I
think we can learn from our experience
to also help others when we go into a
code review or also this happens a lot
in design meetings and requirements
meetings depending on what your your
level is as a as a developer and how
where you're at in the project that
you're on there's probably going to be
some level of you giving your opinion on
something now your opinion because we're
all developers our opinions are always
based on COD old hard facts or maybe not
they are we have a lot of religion in
our world whether we like this language
better or that language better or this
ID better or that ID better or or things
like that and we have to we really need
to like check ourselves and step back
and go wait a minute I am not perfect
this all of you that'll be your
challenge for the week I am not perfect
maybe that I I think I may have come up
with our challenge for the week we're
right there um the whole point is that
when we have a team is that everybody's
got different experience I'm blessed
right now I'm with a team that's got a
dozen people that that I interact with
in various ways on different days and
they all have very different technical
backgrounds multiple different languages
they've worked with environments lines
of business all this stuff and so
there's all of this feedback that comes
into our group that comes from wildly
different places and it can be jarring
at times because it can be like somebody
will say this is is how we always did it
at this company and you hear that and
you go how in on Earth did you survive
as a company because I've never seen
that now what you need to realize in
these things is that there when you say
this is how our company always did it
and this is how it worked and this is
what I you know this is my experience
there's probably somebody else in that
room saying how on Earth did your
company survive how are you still
employed or something along those lines
now it's not always that bad I'm I am
over drama izing this but take it to
that level and then like now since it's
not the end of the world bring it back
down to hey um you know part of how you
wrote the code is that you you know you
didn't put your your Open brackets on a
new line instead of on the same line and
then it's just basically those are kinds
of things it's like oh yeah that's right
that's the coding standards for our team
that's what we agreed upon is it's going
to do this or it could be things like
hey you know you put a comment end on
this and it just says um you know the
function add two numbers just adds two
numbers it's like okay well you just
repeated the comment you really didn't
give me anything useful about like why
the heck are we doing that you or
something like that and you don't have
to go write books on comments I'm not
going to tell you that
but in particular those kinds of things
when we're in a code review when we're
talking about designs and and some of
this stuff that we've put together
realize that the whole point is
communicating something communic ating
your idea the requirement the design the
thoughts the the logic that the computer
needs to utilize to go do the task and
other people will touch that code at
some point you got to let the baby out
of the nest you got to like get them let
them get away and so if they don't
understand it then that's going to be a
challenge they may miss on they may miss
something or they miss May misuse
something and so the whole point of
these things is for you to communicate
and if they aren't hearing if they're
asking questions if they're poking holes
in what you're doing then it could be
that you aren't perfect and that you
have something that you missed or it
could also be that you have not maybe
maybe your comments weren't clear enough
maybe there's things that there
assumptions you made that you're not
supposed not supposed to have made and
so the goal needs to be instead of
getting you know up about it and taking
it personally is take a step back listen
to what they're saying and then try to
explain to them now the flip of this is
when you are reviewing somebody's code
and critiquing somebody else's stuff is
one you have to you have to allow that
maybe your critique is missing
something so if they're critiquing you
if you're critiquing somebody and
they're like well you know this is not
you know they're trying they're
basically saying well yeah you you're
critiquing this comment but that comment
means is tied to this other thing over
here and they're like oh okay well I
need to go look at this over thing or
maybe especially code reviews it'll be
like there's these assumptions and you
don't see them because it's inside of a
bigger system and so it's things where
it's like well I think you really need
comments here and you need to explain
this well allow that maybe there's
something that you missed that that is
addressed elsewhere and this is
something actually very near and dear
because Michael and I are working on a
pile of content right now and we've done
this many times where I'll come in and
or and look at it and say well you
forgot to say this or he'll come in and
say well you forgot to say that and then
it'll be oh wait no it's covered in this
other place and then a lot of times the
conversation becomes like okay how would
I know that you know if I if if I see
that if I don't find it where I'm
looking for it how would I know that how
can I better do that which is where you
and us become better developers because
it really is about for example our users
so if somebody's you QA comes in and
says I can't understand your user
interface then it may be that the user
won't understand the user interface so
we need to be maybe more direct or we
need to change things or make things
more smooth or more
clear so if you take this as a just
assume and I know it's hard because we
as developers can be very abrasive at
times we can be very much like boom this
is it this is the way it is you're wrong
I'm right it's we we live in the world
of absolutes way too often for what we
do but that is how we are and so like
take it with the grin it's not really is
it yes there are a few people that
aren't but most of us are pulling in the
same direction we are trying to make
better software and make ourselves
better and so listen to that feedback
and then when you're giving it give that
feedback in the mind of I'm trying to
help give my opinion to see if it can
maybe make you better assuming that also
with the the knowledge that maybe that
that point you're making may not make
them better it may be that there's
something there that's like yes that
would be faster way to do the code but
this is easy to read or something like
that it's just like remember it is not
black and white remember that we are all
coming to this with different
experiences and the best way for us all
to become better developers is to not
only give but also to receive criticism
with the uh the context around it so we
understand that's that word we use all
the time that three L word the why why
is it that this is being brought up so
we can grow and become better Developers
now Michael's over there going why why
why won't you just let just stop and let
me talk and so now I'm going to do that
go right
ahead thanks
Rob so you've covered pretty much the
whole concept of the code review and the
good and bad with kind of the concepts
around doing the reviews being the
review e
reviewer I kind of want to give an
example of why we're having this
discussion today because in real life
this happens so often and I see it
almost tear down developers sometimes
and it can cause a lot of frictions on
your team and typically what happens is
usually on easy tickets or small code
changes it's not a problem because
you're only looking at a few lines of
code changes and typically those usually
are maybe oh You misspelled something or
some the critique is very minimal but
when it comes to those larger code
changes where you've spent days or weeks
trying to articulate a solution to the
problem at hand what happens is you have
probably spent 30 40 50 hours chugging
through figuring out how this code Works
how this feature Works you've got it
working and you're like great it's done
I've checked all the boxes on the ticket
now I push it out there for the code
review and suddenly I'm now being hand
by oh this is wrong this is wrong oh
change this oh oh oh
oh this happens and the whole point of
the code review is you're supposed to
get that feedback you want that
feedback but typically what happens is
if you say hey my change is ready and
you immediately start getting feedback
do not look at the comments walk away
because you're in the mindset of this is
done there's nothing wrong with this and
you're you start getting that and then
you start arguing you start responding
and then they they respond back and you
kind of get into this confrontational
mode not always but I've seen it more
times than not that you there's a lot of
friction there it's like well no why are
you questioning this why take a step
back you know go back to our challenge
of take a break once you say hey my code
is ready for review walk away maybe
don't even look at that till the next
day now unfortunately
we are under software deadlines our code
has to get released hopefully your code
is not being pushed in on the last day
of the Sprint if that's happened then
you unfortunately are going to have to
sit there and take the pill you know
you're going to have to take what comes
if you are at the end of a a Sprint my
recommendation is maybe throw open a
chat window or open up uh you know like
a slack uh screen share or a zoom call
and say hey we're at the end of the
Sprint instead of us just going back and
forth on confrontation we trying to
figure out the code review let's do it
as a team let's just go through and walk
through the code what's there and kind
of flush this out real quick now if
you're early enough in the process go
through the normal channels just push it
up walk away for a little bit and then
get the feedback and come in one of the
big things is your co-workers or even
you are going to be reviewing code based
on your company's com uh current coding
standards what your team has committed
to what you want from your code base the
other thing people should be reviewing
your code for is readability will I
understand this change six months from
now when I have not looked at the code
and don't know what the hell it's
supposed to
do a lot of times you'll get feedback
where yes this feature works but you've
essentially added three four five layers
into this one method that should be
split out to three or four
methods and sometimes you know it makes
sense to do sometimes it doesn't
typically I like the rule of thumb is a
method or a function should be one unit
of code it should perform one task now
if you have some options in there like
if this if that sure okay that might be
in one place you may not need to break
that out into different functions but
code complexity is one of the biggest
problems with code reviews because the
person reviewing it has to assume that
they're going to be looking at this or
having to make a change to this in the
future and they need to understand what
it is that's there so that they can you
know unravel it make the change and you
know move
forward on the flip side of that and I I
am because I'm a QA tester by heart
testing is another feature with code
reviews that should be performed if you
have a piece of code there should be a
unit test to go with that change to test
it if you don't have that you're
probably going to get dinged on that and
expect it because if you get to the end
of your code review and you have written
no unit
tests unfortunately if you're in my
software shop I'm going to be dinging
you left and right on that but it's
going to be in a critique way where hey
great your code may look good but where
are the tests to go with this how did
you test this and typically that's where
some of the questions come from in the
code review and that can put you on edge
because it's like oh now I have more
work to do so here's a tip before I give
it back to Rob is before you say you are
done commit your code walk away for a
little bit or commit it pick it back up
the next morning go through your code
Repository
look at all the code highlighted that
you changed look at it just take a fresh
eye at it and say hey is this too
complex is the wording right do I have
enough comments once you've done that
and you think it's good then do hey
review my code that will save you
probably 90% of the feedback you're
going to get you may catch just with
that fresh eye reviewing your
code I've done that more than once
and what I like is when I do that I
typically find that oh I missed a test
or
oh why do I have like this switch case
that is so complex in this one method
this should be a separate function
call so those kind of things will one
help improve your code two make it more
easily uh readable for your co-workers
and three it keeps the code
maintainable and hopefully at the end of
the day your blood pressure stays down
Rob I want to I think the one of the
keys there is
the and this is going to get into our
challenge is the accepting that it's not
there and it's how
we uh accept criticism self-criticism
now we can be very hard on ourselves
sometimes because I don't know how many
times I've been like oh my gosh I can't
believe you put a comma instead of a
period there or oh shoot it's another
typo or whatever it is it can be hard on
ourselves but we take it better because
we're like because we know how good we
are or whatever it is and
it's because we know our intent is to
make it better and so the idea of
walking back through our code and
looking at it with a critical eye in
particular I think one of the key things
there as Michael said is stepping away
because we get
into solving this problem writing this
code solving this problem and there's
this big big golden chalice called done
that we have when we're done with it so
we have gone through we've solved our
problem and now we got our big little
big trophy that's like
done and it's really hard to put that
trophy back down and say wait a minute
I'm not going to take the trophy right
now I got to go back and work on this a
little bit more but doing so will help
us make better code because it's going
to be now let's step away and we can
still hold our little golden chalice
whatever we want do have done but look
back into and say okay done but not
really done because I want to look back
now and see if I can how can I improve
it because we almost always can in some
way form or fashion so go with it at
that idea of yeah that's good it's
complete it is done it does what it
needs to do but can I find some ways to
do it better or are there things here
that now when I've stepped away and come
back that I realize oh that was really
obvious to me when I was right in the
middle of it but now that I'm not I need
to change how I do that I need to talk
about that in some way or change some
variable names or put some comments
around it or split it out into a
function because I don't know how many
times maybe it's it could be how I do it
but I don't know how many times I've
gotten into a a writing a method and
it's five or 10 lines and the next thing
I know is I'm working through all of the
different variations of solving it it's
now 400 lines and there's something
where it's like wait a minute I can
probably refactor that and clean that up
now sometimes I can't because times it's
just nasty problems but a lot of times
there's something in there in particular
now that I've stepped back out that I
may see where I repeated the same
section of code three times that it's
very obvious that I could make that a
function so the kinds of things that
these are the things that make us better
developers it's not that we can sling
code left and right because a lot of us
can it's that we can sling code left and
right and then we can step back and take
a look at that and find ways to do it
better that hints better part of
building better developers and that's a
challenge that I'm going to put to you
this time every day for the next seven
days when you get to the end of the day
take some of the code that you've
written or maybe all the codes you've
written and take you know we'll say
limited to 15 minutes probably just five
or 10 minutes walking through your code
like if you can have something where
you've done a commit and you can see a
nice you here's everything that changed
like Michael said that is the best way
to do it look just at the code you've
changed and just read back through it
and with the idea of when I do this I
want to change at least one thing I want
to make at least one Improvement it may
be as simple as adding a period to the
end of a sentence on a comment or
something but it's like I am going to
make some improvement to this code just
you don't have to take a lot of time
just five 10 minutes would be perfect
just get in the habit of doing that
because I think when you do that for
yourself all the time it makes you more
appreciative of the second or third
third or eighth set of eyes when you get
into code reviews where it's people are
like hey you know you missed this or did
you consider this or hey this isn't
quite clear those kinds of things it's
always like it's like having a a proof
reader or an editor that you have at all
these other world you know areas of the
world all the writers and stuff like
that it's the same thing for our
code in a similar vein but I will allow
you a little bit of a break is send us
an email at info developer.com and let
us know what your thoughts are what are
some of the things what are some habits
you've got some things that you would
like to hear about uh maybe some
recommendations for some habits to build
what's your what's your experience with
some of the habits we've had and like I
said I'm I'm going to be okay if there's
typos if there's grammatical errors you
don't have to put a second set of eyes
on this one we will just love that
comment and that's all unless you want
us to critique it and then we'll go send
it out to grammarly and let it tell you
all the different ways the AI thinks you
can write that better uh and don't don't
push it through AI just like crank
something out if you can copy and Bas in
Ai and hit send and send it to us we
will be okay we need to practice having
our feelings hurt if that's what's going
to happen so just like help us grow to
become better developers give us that
feedback at info developer.com lead us
comments out on the podcast wherever you
wherever you listen to podcast out on
YouTube at development develop andur
Channel where there's this and so much
other content out there you can also
contact us we have a contact form on
developer.com got a Facebook page you
can reach out to us there our contact
information is in various places there
uh you can follow us on X develop
Andor however you get us a feedback we
would love to hear it because we're here
not only for us to become better better
developers and speakers but for you to
also become better developers and so now
I'm going to challenge you to go out
there and do that so go out there and
have yourself a great day a great week
and we will talk to you next
time bonus
material so one thing I'd like to add to
the discussion we had is as you're doing
the code review be careful with your
comments make sure that when you give
the critique that you're staying within
the focus of the ticket one of the
biggest things I find with code reviews
is sometimes you get into scope
pre and if you start get going down that
rabbit hole it may be time to create a
new ticket in the backlog to make a
future change make sure that what you're
doing is within the focus of the ticket
and the change that's being requested
because you don't want to start adding
features or new functionality to
something that the customer is not going
to know about based on the current
change I would agree I think that's I
think that's my my bonus as well is uh
scope creep is but it's also it's
um reality check is there there's times
that we go in particularly if you're
dealing with uh production code or you
know enhancements to stuff that's been
built over a long period of time and
things like that there probably is some
technical debt involved and there's a
time and a place so it may be like
Michael said it may be something you're
like hey this could be done better or
hey this doesn't comply with our current
standards but it may be that this is not
it's really fixing that is not within
the scope of this it's like we're fixing
a specific bug we're not re you know
we're not refactoring this thing and so
understand that there may be situations
and and where your comments are 100%
valid but completely rejected because
that doesn't fit the scope we can't do
that right now so in those cases is you
know be understanding that oh okay that
makes sense where're you're just fixing
this thing but then f as Michael said
maybe it's another bug you know it's
another ticket you have to create or
another bug or another piece of
technical debt or something like that or
it may just be as little as you need to
add this piece of code to the long list
of items that need to be fixed for
whatever per you know whatever the new
standard is and I see this a lot like I
said I I've been through a lot of
applications and work with a lot of
companies where they said well this is
how we used to do it and we have all
this code and it does it this bad way
and now we're trying to do it this good
way and we're changing the new stuff but
the old stuff's still there and so it's
finding out time when do you have the
availability and the option to actually
fix that the the core Thing versus I
just need to do a a quick fix and get it
into production and move forward ideally
we never do the just like slap it you
know slap a Band-Aid on it move forward
but we all know that we do not live in
an Ideal World and there are those
situations where we just have to like
grin and Barrett and say yep that's
another one of those it's frustrating
it's annoying but somewhere down the
line we're going to get to it that will
wrap this one up and we will be back we
are nowhere close to the end of this
season so thank you again for for
listening feedback is is always welcome
thumbs up thumbs down however you do it
comments in particular any kind of like
really content that we can work with is
hugely helpful to us and I think helpful
to you because then we're going to be
able to either anonymously you know say
hey somebody told us this or we can give
you all full credit for it as well and
say you know Bob from bosanova whatever
the heck that is said this and we can
throw that into a a future episode
because we want to just keep making sure
that we're giving stuff that is useful
to you go out there be useful to those
around you have a great day and we will
talk to you next time
[Music]
Transcript Segments
1.35

[Music]

27.96

we we are live or whatever it is not

32.16

live we are recording at

33.69

[Laughter]

35.239

least all right I was thinking this time

39.239

um something we mentioned I can't

41.239

remember what your

42.76

initial suggestion

45.6

was um but I took note as basically like

48.719

taking criticism it's like how to like

50.8

work with criticism within your your

52.96

work world as a developer and how to get

54.84

a little better I got to figure out I've

56.84

got if we do that I have from basically

59.28

now until get towards the end of the

60.92

episode to figure out what the challenge

62.199

is going to be related to

64.199

that um I have to figure out a good way

67

to do that but I think that's a good

68.92

little area for building better I think

70.479

that's one of the things we have to do

71.439

is we have to live in that world of give

72.92

and take and talk

74.72

about our ideas in a way that they can

77.4

be improved um and also it's actually I

80

guess it's also to me it's a little bit

82.4

giving it as well is like you where to

85.6

like how to do it and things like that

88.079

constructive criticism giving and taking

90.159

I think potentially would be a good

92.6

granted it's a bit we could probably

94.36

write books on it but it's one of those

95.84

it's like that at least means we should

97.72

be able to try to light over here see if

100.119

I get a little better um maybe yeah

105.159

we'll try that oops get my mic out of

107.119

the way a little bit there

109.479

um yeah because this came from the

112.719

discussion we had about like code

114.88

reviews

116.799

because like when you're giving

118.64

criticism on a code you oh you know you

120.68

need to make this change or maybe you

122.399

could do this better almost 90% of the

125.479

time the person receiving that gets

128.679

defensive yeah I think that is it I

131

think that was where you started it with

132.4

was the code

133.959

reviews and that's uh that's a good idea

136.959

as well bring that that's a good example

138.599

of it um and maybe that's the challenge

140.84

will be like get your code reviewed

142.64

every day for seven days and see what

145.879

happens

147.64

um but yeah that's what I say we do that

150.48

for this first episode does that sound

152.16

that make sense yeah I like that one

155.08

well cool then then I'm going to just

156.519

Dive Right In and do the little three

158.28

two one well hello and welcome back we

161.76

are continuing our season of building

163.519

better habits conveniently enough we are

166.08

building better developers we are

167.56

develop andur I am Rob Broadhead one of

169.959

the co-founders of develop andur and

172.64

also founder of RB Consulting where we

174.959

go in and help you work with technology

177.92

through simplification automation

179.92

integration we help you figure out what

181.959

you have and then what is the best route

184.48

to take that leverage it and move

186.519

forward and it may even be things like

188.56

you know maybe you don't have much

189.92

technology so we help you find the

191.879

technology you need or build the team

193.519

you need but more importantly however

196.36

that mix is and everybody's is unique

198.92

just like every person is unique every

200.48

business has its uniqueness so we get in

203.239

there we get to know what you're doing

204.799

what are all your special things that

207.04

make you special and then find the ways

208.76

to use technology to emphasize that and

211.519

improve that along the

213.36

way we are building better habits so one

216.12

of the things we're doing is we have

217.159

challenges each week so I want to talk a

218.599

little bit about the challenges before I

219.959

get into the good bad and that is uh the

223

one that I'm

224.12

really I charged about or whatever

227.439

that's really starting to work is the

229

Pomodoro thing is we talked about just

231.48

do one a day and then I said well I've

234.56

I've moved it to two a day I may in the

236.76

week or two ahead move it to three and

239.04

the nice thing finding in this is that

240.879

I'm limiting the pomodoros that I do I

243.72

bu instead of trying to get like as many

246.239

in as possible I'm being very focused

249

and it also helps me it's a little bit

250.76

along the lines of the make a list of

253.4

your top three items or three to five

255.159

items you're going to get done today

257.359

because it really works well to pair

259.72

effectively a Pomodoro with something I

262.28

want to do because it it's almost like a

264.4

gimme so if I do two pomodoros that's

266.8

basically you know essentially I want to

268.479

make progress on item one and item two

270.759

and so those are two things that are

272.4

right away going to be or maybe it's the

273.919

two pomodoros are on one item depending

276.08

on what I'm working with but it really

278.479

is helping me like you know hone in home

282.96

in on like what is it that I'm working

285.52

on what is it that I want to focus on so

288.24

I'm really like the pomodoros uh the

290.24

automation was an interesting one is

292.039

because I finally swung back around and

294.4

took one of the most simplistic things

296.6

you can do and I highly recommend it if

298.56

you're like me I've got

300.199

I've got multiple servers that I I

302.88

administer to some level and one of the

304.56

things I do every month is I go in

306.44

actually it's every other week twice a

307.72

month I go in and just like check for

310.28

updates make sure that log files haven't

312.12

blown up um you do like I've got regular

315.68

backups so I may clean up some of the

316.919

older backup files and stuff like that

318.88

but the backup files in particular is

320.52

one of

321.36

those that I go through and I'll go just

324.4

sort of you know basically compress or

327.319

you know gzip some files and delete some

329.12

of the older on

330.16

and I was like you know what I could

331.52

probably make this a lot easier on

333.12

myself if I just

334.96

utilized delete everything once it gets

337.12

more than 7 days old or something like

338.919

that and so on each of the servers I

341.6

just I like I added a nice little KRON

343.68

tab job little Cron job that like runs

345.6

at 3: a.m it just says blow away the the

348.199

stuff that's too old so I don't have to

350.12

worry about those specific files getting

352.36

too big and it's like it doesn't it

355.319

probably saves me I don't know it may

357.919

end up saving me 15 or 20 minutes

360.479

you know twice a month it's not a lot of

362.12

time but it's a nice little Automation

364.16

and it allows for situations where if I

366.8

miss it for you know a month or

368.599

something like that then thing doesn't

370.12

things don't back up now in some cases

372.44

that's actually critical because there

373.599

are some cases where we've got stuff

376.24

there's so much space that's involved

379.44

with all of those backups and if you

380.919

start going you know if you double your

382.36

backups you go from Seven Days Seven

384.639

daily backups to 14 daily backups that

386.84

can be gigs of data in some of these

388.479

cases so it's a great little automation

391.039

to do so don't don't unell even the

394.599

simplest of automations is something

396.24

that may help you out even if it's not

398.12

saving you a ton of time it may save you

401.199

missing something and save you causing

403.199

an error in the future good thing and

404.88

bad

405.68

thing I guess the good thing I do want

407.84

to like talk about is like the good

409.68

thing is is these challenges and

411.68

actually embracing them even though uh

414.479

which probably some Of You' have done

415.879

that was a the automation challenge is

417.599

something from you know weeks ago

420.759

and I went through it and and did it but

423.36

didn't really get into the automation

424.599

but because I didn't complete the

426.68

challenge of take seven days and then

429.199

find something that you're going to

430.8

automate I didn't do it but then I came

432.96

back around to it and so that was a good

434.479

thing is that it was I stuck with it

436.919

enough that even though it took me a

438.319

while to get to to finish better late

440.319

than never and it was something that was

442.16

like wow that's like a that's a win for

443.8

me and a win for me in the future

445.24

because I'm saving a little bit of

447.12

time uh bad thing is um it's sort of

452.759

this was one I was think sort of a good

454.039

and a bad bad thing is I gu I am busy

456.96

busy busy busy I have got like my

458.759

schedule is full all the time now it's

461.039

like if you look at my calendar you

462.16

would see gaps if you look at what I

463.96

actually have on my to-do list and have

465.479

to get done on a daily basis I'm I

467.879

usually like start every day with three

469.52

days worth of work on my list and so

471.759

it's just but it's just like it's that

473.639

season so you know there's we have these

476.28

times where it's like Works sort of

477.96

light and things not that bad and you

479.759

can you know you can take an extra long

481.159

lunch or you can catch up on news of the

482.8

world or whatever it happens to be

484.919

that's not the case for me right now so

486.879

I'm just like you know making sure that

488.599

I keep enough caffeine and just keep

490.28

charging Along on it somebody who

493.159

hopefully has had enough caffeine

494.36

because we're doing a morning start this

495.8

time on the other side there Michael go

497.84

ahead and introduce yourself hey

500.199

everyone my name is Michael M and with

501.8

the co-founders of developing herb

503.199

building better developers I'm also the

505.319

founder of Envision QA where we are your

508

software development and quality

509.159

assurance partner we build tailored

511.599

software to meet the unique needs of

513.159

healthcare professionals and small to

514.76

midsize e-commerce businesses you know

517.039

whether you're a healthcare provider or

518.64

an e-commerce entrepreneur partnering

520.56

with Envision QA means unlocking your

522.2

software's full potential experience the

524.64

confidence of knowing your software

525.839

meets the highest quality and compliance

527.88

standards while driving success in your

530.36

industry now what does that mean well it

532.6

means we can do software audits we can

534.72

help you analyze what what your software

537

stack is doing and make sure it meets

538.92

the needs of your business if it doesn't

541.16

hey we can help you build a custom

543.519

solution Switching gears so before I get

547.76

to my good and bad uh briefly talk about

550.12

some of the challenges I've been working

552.12

on so still working on the Pomodoro

555.079

Technique I finally got the

557.079

pronunciation of that correct after

558.8

saying it enough times I guess uh been

562.399

I'm actually up to about three to four

563.959

times a day working with that uh along

566.68

with that it has helped me kind to focus

569.88

on some of the other challenges like uh

572.64

taking breaks so I've gotten into a very

575.6

bad habit of sitting down and the next

577.48

thing I know is 3 4 hours later I

579.48

haven't moved from my desk at

581.76

all which is really been taking a toll

585.279

my body I've been getting stiff you know

588.04

we're not springing chickens anymore so

590.24

I do need to get up and start taking

592.24

those breaks so I've been trying to use

594.839

the Pomodoro to force me to get into

597.72

those habits of taking breaks

599.839

with that I've also been focusing on the

602.12

planning and scheduling trying to ensure

604.839

that when I block meetings I give myself

606.72

time so I can take those breaks and not

609.48

have to be half focused and just kind of

611.959

pace around or you know not really be

614.76

able to focus on the meeting because my

616.2

mind uh is somewhere else uh good thing

619.56

bad thing uh good thing uh I've been

624.6

committed to my challenges I've been

626

getting things done I've also been

629.56

getting a lot of the year end stuff prep

633.399

starting to get done I've been able to

634.68

work at my business more so I'm I'm

636.56

feeling a little more comfortable that

638.12

I'm going to end the year right this

640.16

time instead of being scrambling at the

641.6

end of the year trying to make sure all

642.76

my taxes and bookkeeping is done uh bad

645.839

thing uh thanks to wonderful laws in

649.36

that in this country getting your checks

651.72

deposited and cashed on time from the uh

655.24

Banks can become a challenge when checks

657.8

are a little bigger than you normally

659.76

expect so wonderful uh bank has been

663.24

holding on to my money a little longer

664.88

than expected which fortunately means I

667.279

have to delay paying bills so that's

670.48

where I'm at for this week all

673.44

right this

676.24

time this is going to be a fun one so

678.32

everybody take a deep deep breath we're

680.32

going to talk about criticism we're

681.519

going to talk about getting it and

682.839

giving it we're going to talk about in

685

particular one of the things that like

686.839

that sparked this that I think will

688.6

probably like right away trigger several

690.519

of you is a code review now code reviews

694.839

are very specific instances where

698.32

honestly if you don't go in there

700.04

expecting criticism then you don't

703.079

understand what a code review is it's

704.639

just like if you go out and buy a house

706.399

and you H hire a house inspector and

709.079

they come back and they say it's great

710.6

it's

711.639

awesome they need get your money back

714.079

it's a code review is same thing there

715.519

should be some level that of of feedback

719.24

that comes in a code review if they if

721.44

the code review feedback is that is

723.72

perfect code they are lying or they

726.8

didn't even look at your code because

728.399

none of us write that now it could be

730.399

something where they'll say yes it

731.92

follow you check followed all the

733.8

checkboxes and stuff like that or it

735.68

could be that you wrote three lines of

737.12

code and it's like okay yeah it's not

739.16

how hard could how how hard would it be

741.92

how impossible would be to actually mess

743.6

that up but usually you're gonna get

747.04

something you should get some question

749.519

or some sort of feedback that is them

753

trying to understand it is not an attack

756.76

on you and that I think is where a lot

758.92

of us like we build this these are our

761.56

babies these are things that come out of

763.24

our mind these are our Creations even if

765.68

it's a a very simple like for Loop or

769.24

something like that and it includes

772.36

things like naming our functions and our

774.48

variables and how we write our comments

776.279

and all these things are all they come

778.639

out of us these are Creations that we

781.24

have cre that we have made and so yes we

785.48

a lot of us I think get too personally

788.519

tied to these things and that makes it

791.24

hard for somebody to critique you know

793.199

your child and says hey you know your

794.639

child's not that very goodlook well it's

796.72

like you know if you're like me it's

798.32

like well look what you got to he didn't

800.279

have much to work with but you may also

802.56

do something where it's like you know

804.519

hey I get to say that but you don't or

806.399

something like that so this is where I

810.199

think we can learn from our experience

812.959

to also help others when we go into a

817.199

code review or also this happens a lot

820.68

in design meetings and requirements

822.24

meetings depending on what your your

823.6

level is as a as a developer and how

826.56

where you're at in the project that

828

you're on there's probably going to be

831.36

some level of you giving your opinion on

834.24

something now your opinion because we're

836.36

all developers our opinions are always

838.04

based on COD old hard facts or maybe not

842.8

they are we have a lot of religion in

845.36

our world whether we like this language

847.48

better or that language better or this

849.24

ID better or that ID better or or things

851.839

like that and we have to we really need

854.48

to like check ourselves and step back

856.44

and go wait a minute I am not perfect

859.92

this all of you that'll be your

861

challenge for the week I am not perfect

863.12

maybe that I I think I may have come up

864.72

with our challenge for the week we're

866.24

right there um the whole point is that

870.04

when we have a team is that everybody's

871.839

got different experience I'm blessed

873.759

right now I'm with a team that's got a

876.279

dozen people that that I interact with

878.079

in various ways on different days and

880.279

they all have very different technical

882.399

backgrounds multiple different languages

883.88

they've worked with environments lines

885.399

of business all this stuff and so

887.399

there's all of this feedback that comes

890.48

into our group that comes from wildly

893.199

different places and it can be jarring

896.519

at times because it can be like somebody

898.399

will say this is is how we always did it

899.959

at this company and you hear that and

901.639

you go how in on Earth did you survive

904.12

as a company because I've never seen

905.759

that now what you need to realize in

908.88

these things is that there when you say

911.199

this is how our company always did it

912.88

and this is how it worked and this is

914.36

what I you know this is my experience

917

there's probably somebody else in that

918.48

room saying how on Earth did your

920.759

company survive how are you still

923.279

employed or something along those lines

925.759

now it's not always that bad I'm I am

928.279

over drama izing this but take it to

931.6

that level and then like now since it's

933.92

not the end of the world bring it back

936.279

down to hey um you know part of how you

940.839

wrote the code is that you you know you

943.88

didn't put your your Open brackets on a

946.16

new line instead of on the same line and

948.56

then it's just basically those are kinds

950.279

of things it's like oh yeah that's right

951.72

that's the coding standards for our team

953.92

that's what we agreed upon is it's going

955.24

to do this or it could be things like

957.279

hey you know you put a comment end on

959.839

this and it just says um you know the

962.92

function add two numbers just adds two

964.88

numbers it's like okay well you just

966.319

repeated the comment you really didn't

967.72

give me anything useful about like why

969.519

the heck are we doing that you or

971.12

something like that and you don't have

972.16

to go write books on comments I'm not

974.16

going to tell you that

975.639

but in particular those kinds of things

978.88

when we're in a code review when we're

980.399

talking about designs and and some of

982.44

this stuff that we've put together

984.36

realize that the whole point is

986.839

communicating something communic ating

989.279

your idea the requirement the design the

991.56

thoughts the the logic that the computer

995.199

needs to utilize to go do the task and

998.92

other people will touch that code at

1001

some point you got to let the baby out

1002.839

of the nest you got to like get them let

1004.48

them get away and so if they don't

1006.68

understand it then that's going to be a

1009.319

challenge they may miss on they may miss

1011.8

something or they miss May misuse

1013.639

something and so the whole point of

1015.319

these things is for you to communicate

1016.72

and if they aren't hearing if they're

1018.48

asking questions if they're poking holes

1021.279

in what you're doing then it could be

1024.76

that you aren't perfect and that you

1027

have something that you missed or it

1029.24

could also be that you have not maybe

1032.48

maybe your comments weren't clear enough

1034.039

maybe there's things that there

1035.199

assumptions you made that you're not

1036.52

supposed not supposed to have made and

1039.4

so the goal needs to be instead of

1042.039

getting you know up about it and taking

1044.679

it personally is take a step back listen

1047.76

to what they're saying and then try to

1049.72

explain to them now the flip of this is

1052.919

when you are reviewing somebody's code

1057.32

and critiquing somebody else's stuff is

1060.2

one you have to you have to allow that

1064.2

maybe your critique is missing

1067.12

something so if they're critiquing you

1070.52

if you're critiquing somebody and

1072

they're like well you know this is not

1074.48

you know they're trying they're

1075.52

basically saying well yeah you you're

1076.64

critiquing this comment but that comment

1078.559

means is tied to this other thing over

1080.44

here and they're like oh okay well I

1081.6

need to go look at this over thing or

1083.52

maybe especially code reviews it'll be

1085.24

like there's these assumptions and you

1087.559

don't see them because it's inside of a

1089.799

bigger system and so it's things where

1092.4

it's like well I think you really need

1093.6

comments here and you need to explain

1095.24

this well allow that maybe there's

1097.88

something that you missed that that is

1099.2

addressed elsewhere and this is

1101.039

something actually very near and dear

1103.08

because Michael and I are working on a

1104.96

pile of content right now and we've done

1107.4

this many times where I'll come in and

1110.48

or and look at it and say well you

1111.64

forgot to say this or he'll come in and

1113.84

say well you forgot to say that and then

1115.96

it'll be oh wait no it's covered in this

1118.52

other place and then a lot of times the

1120.36

conversation becomes like okay how would

1122.4

I know that you know if I if if I see

1125.039

that if I don't find it where I'm

1126.2

looking for it how would I know that how

1127.679

can I better do that which is where you

1130.159

and us become better developers because

1133.039

it really is about for example our users

1135.96

so if somebody's you QA comes in and

1137.919

says I can't understand your user

1139.4

interface then it may be that the user

1141.28

won't understand the user interface so

1142.799

we need to be maybe more direct or we

1144.76

need to change things or make things

1146.159

more smooth or more

1147.96

clear so if you take this as a just

1152.559

assume and I know it's hard because we

1155.12

as developers can be very abrasive at

1157.08

times we can be very much like boom this

1158.919

is it this is the way it is you're wrong

1160.36

I'm right it's we we live in the world

1162.36

of absolutes way too often for what we

1164.88

do but that is how we are and so like

1167.64

take it with the grin it's not really is

1168.88

it yes there are a few people that

1170.76

aren't but most of us are pulling in the

1172.64

same direction we are trying to make

1174.32

better software and make ourselves

1177.039

better and so listen to that feedback

1180.559

and then when you're giving it give that

1181.88

feedback in the mind of I'm trying to

1184.48

help give my opinion to see if it can

1187.12

maybe make you better assuming that also

1189.72

with the the knowledge that maybe that

1193.48

that point you're making may not make

1195.32

them better it may be that there's

1197

something there that's like yes that

1199.12

would be faster way to do the code but

1201.799

this is easy to read or something like

1203.36

that it's just like remember it is not

1205.919

black and white remember that we are all

1208.12

coming to this with different

1209.28

experiences and the best way for us all

1211.2

to become better developers is to not

1213.64

only give but also to receive criticism

1216.559

with the uh the context around it so we

1220.32

understand that's that word we use all

1221.88

the time that three L word the why why

1224.6

is it that this is being brought up so

1226.84

we can grow and become better Developers

1229.36

now Michael's over there going why why

1231.36

why won't you just let just stop and let

1233.64

me talk and so now I'm going to do that

1235.64

go right

1237.32

ahead thanks

1240.159

Rob so you've covered pretty much the

1243.12

whole concept of the code review and the

1247

good and bad with kind of the concepts

1249.799

around doing the reviews being the

1251.36

review e

1252.52

reviewer I kind of want to give an

1254.96

example of why we're having this

1256.919

discussion today because in real life

1259.84

this happens so often and I see it

1263.2

almost tear down developers sometimes

1266.08

and it can cause a lot of frictions on

1268.08

your team and typically what happens is

1272.72

usually on easy tickets or small code

1275

changes it's not a problem because

1276.36

you're only looking at a few lines of

1277.679

code changes and typically those usually

1281.08

are maybe oh You misspelled something or

1283.12

some the critique is very minimal but

1286.6

when it comes to those larger code

1288.919

changes where you've spent days or weeks

1291.72

trying to articulate a solution to the

1295.2

problem at hand what happens is you have

1298.36

probably spent 30 40 50 hours chugging

1302.039

through figuring out how this code Works

1303.919

how this feature Works you've got it

1307.679

working and you're like great it's done

1310.919

I've checked all the boxes on the ticket

1313.559

now I push it out there for the code

1315.36

review and suddenly I'm now being hand

1319.64

by oh this is wrong this is wrong oh

1321.76

change this oh oh oh

1324.6

oh this happens and the whole point of

1328.48

the code review is you're supposed to

1330.4

get that feedback you want that

1332.72

feedback but typically what happens is

1335.159

if you say hey my change is ready and

1337.76

you immediately start getting feedback

1340.36

do not look at the comments walk away

1344.279

because you're in the mindset of this is

1346.4

done there's nothing wrong with this and

1348.6

you're you start getting that and then

1350.159

you start arguing you start responding

1352.24

and then they they respond back and you

1354.039

kind of get into this confrontational

1356.2

mode not always but I've seen it more

1359.24

times than not that you there's a lot of

1362.279

friction there it's like well no why are

1363.799

you questioning this why take a step

1366.36

back you know go back to our challenge

1367.919

of take a break once you say hey my code

1371.559

is ready for review walk away maybe

1374.24

don't even look at that till the next

1376.32

day now unfortunately

1379.2

we are under software deadlines our code

1381.48

has to get released hopefully your code

1384.279

is not being pushed in on the last day

1386.76

of the Sprint if that's happened then

1389.32

you unfortunately are going to have to

1390.84

sit there and take the pill you know

1393.799

you're going to have to take what comes

1396.24

if you are at the end of a a Sprint my

1400.24

recommendation is maybe throw open a

1404.36

chat window or open up uh you know like

1406.72

a slack uh screen share or a zoom call

1411

and say hey we're at the end of the

1412.64

Sprint instead of us just going back and

1414.4

forth on confrontation we trying to

1416.799

figure out the code review let's do it

1418.6

as a team let's just go through and walk

1420.76

through the code what's there and kind

1422.679

of flush this out real quick now if

1424.72

you're early enough in the process go

1426.159

through the normal channels just push it

1427.6

up walk away for a little bit and then

1430.52

get the feedback and come in one of the

1433.44

big things is your co-workers or even

1436.52

you are going to be reviewing code based

1439

on your company's com uh current coding

1442.96

standards what your team has committed

1444.6

to what you want from your code base the

1448.44

other thing people should be reviewing

1450.4

your code for is readability will I

1453.44

understand this change six months from

1455.24

now when I have not looked at the code

1456.559

and don't know what the hell it's

1457.52

supposed to

1458.799

do a lot of times you'll get feedback

1462.32

where yes this feature works but you've

1465.36

essentially added three four five layers

1468

into this one method that should be

1470.08

split out to three or four

1472.039

methods and sometimes you know it makes

1475.32

sense to do sometimes it doesn't

1478.159

typically I like the rule of thumb is a

1480.799

method or a function should be one unit

1483.12

of code it should perform one task now

1486.279

if you have some options in there like

1488.039

if this if that sure okay that might be

1491.36

in one place you may not need to break

1493.24

that out into different functions but

1497.08

code complexity is one of the biggest

1498.96

problems with code reviews because the

1501.44

person reviewing it has to assume that

1504.84

they're going to be looking at this or

1506.039

having to make a change to this in the

1508.919

future and they need to understand what

1510.799

it is that's there so that they can you

1513.32

know unravel it make the change and you

1515.48

know move

1516.6

forward on the flip side of that and I I

1520.64

am because I'm a QA tester by heart

1524.84

testing is another feature with code

1527.24

reviews that should be performed if you

1530.84

have a piece of code there should be a

1533.08

unit test to go with that change to test

1536.2

it if you don't have that you're

1538.76

probably going to get dinged on that and

1540.76

expect it because if you get to the end

1542.919

of your code review and you have written

1544.36

no unit

1545.48

tests unfortunately if you're in my

1547.36

software shop I'm going to be dinging

1548.679

you left and right on that but it's

1551.12

going to be in a critique way where hey

1554.36

great your code may look good but where

1556.52

are the tests to go with this how did

1558.039

you test this and typically that's where

1561.279

some of the questions come from in the

1562.52

code review and that can put you on edge

1565.279

because it's like oh now I have more

1566.96

work to do so here's a tip before I give

1571.96

it back to Rob is before you say you are

1576.159

done commit your code walk away for a

1579.919

little bit or commit it pick it back up

1583.72

the next morning go through your code

1587.52

Repository

1588.76

look at all the code highlighted that

1591.2

you changed look at it just take a fresh

1594.48

eye at it and say hey is this too

1597.159

complex is the wording right do I have

1599.52

enough comments once you've done that

1601.76

and you think it's good then do hey

1604.88

review my code that will save you

1607.96

probably 90% of the feedback you're

1611.08

going to get you may catch just with

1613.039

that fresh eye reviewing your

1615.64

code I've done that more than once

1618.799

and what I like is when I do that I

1621.12

typically find that oh I missed a test

1623.64

or

1625.12

oh why do I have like this switch case

1627.84

that is so complex in this one method

1630.24

this should be a separate function

1632.64

call so those kind of things will one

1635.72

help improve your code two make it more

1638.36

easily uh readable for your co-workers

1641.159

and three it keeps the code

1644.48

maintainable and hopefully at the end of

1646.76

the day your blood pressure stays down

1650.84

Rob I want to I think the one of the

1654.2

keys there is

1656.08

the and this is going to get into our

1658.279

challenge is the accepting that it's not

1661.72

there and it's how

1664.559

we uh accept criticism self-criticism

1668.6

now we can be very hard on ourselves

1670.36

sometimes because I don't know how many

1671.36

times I've been like oh my gosh I can't

1672.88

believe you put a comma instead of a

1674.799

period there or oh shoot it's another

1676.799

typo or whatever it is it can be hard on

1679.24

ourselves but we take it better because

1680.84

we're like because we know how good we

1683.12

are or whatever it is and

1685.96

it's because we know our intent is to

1688.679

make it better and so the idea of

1691.48

walking back through our code and

1693.279

looking at it with a critical eye in

1696.44

particular I think one of the key things

1697.919

there as Michael said is stepping away

1699.84

because we get

1701.2

into solving this problem writing this

1704.039

code solving this problem and there's

1706.44

this big big golden chalice called done

1710.519

that we have when we're done with it so

1712.679

we have gone through we've solved our

1714.24

problem and now we got our big little

1715.679

big trophy that's like

1717.88

done and it's really hard to put that

1721.519

trophy back down and say wait a minute

1724.36

I'm not going to take the trophy right

1725.799

now I got to go back and work on this a

1728.6

little bit more but doing so will help

1732.32

us make better code because it's going

1733.88

to be now let's step away and we can

1735.84

still hold our little golden chalice

1737.6

whatever we want do have done but look

1739.519

back into and say okay done but not

1742.44

really done because I want to look back

1743.88

now and see if I can how can I improve

1746.399

it because we almost always can in some

1748.679

way form or fashion so go with it at

1751.2

that idea of yeah that's good it's

1753.279

complete it is done it does what it

1755.559

needs to do but can I find some ways to

1757.96

do it better or are there things here

1761.32

that now when I've stepped away and come

1764

back that I realize oh that was really

1766.72

obvious to me when I was right in the

1768.24

middle of it but now that I'm not I need

1770.919

to change how I do that I need to talk

1773.36

about that in some way or change some

1774.919

variable names or put some comments

1776.44

around it or split it out into a

1778.96

function because I don't know how many

1780.96

times maybe it's it could be how I do it

1784.48

but I don't know how many times I've

1785.679

gotten into a a writing a method and

1788.44

it's five or 10 lines and the next thing

1790.6

I know is I'm working through all of the

1792.36

different variations of solving it it's

1794

now 400 lines and there's something

1796.399

where it's like wait a minute I can

1798.159

probably refactor that and clean that up

1799.64

now sometimes I can't because times it's

1801.32

just nasty problems but a lot of times

1804.279

there's something in there in particular

1806.44

now that I've stepped back out that I

1809.159

may see where I repeated the same

1810.6

section of code three times that it's

1812.399

very obvious that I could make that a

1813.799

function so the kinds of things that

1815.799

these are the things that make us better

1817.159

developers it's not that we can sling

1819.279

code left and right because a lot of us

1821

can it's that we can sling code left and

1823.12

right and then we can step back and take

1824.559

a look at that and find ways to do it

1827.08

better that hints better part of

1828.919

building better developers and that's a

1830.799

challenge that I'm going to put to you

1831.96

this time every day for the next seven

1835.64

days when you get to the end of the day

1837.96

take some of the code that you've

1839.159

written or maybe all the codes you've

1841

written and take you know we'll say

1844.08

limited to 15 minutes probably just five

1845.919

or 10 minutes walking through your code

1848.6

like if you can have something where

1849.679

you've done a commit and you can see a

1851.279

nice you here's everything that changed

1852.96

like Michael said that is the best way

1854.36

to do it look just at the code you've

1856.279

changed and just read back through it

1858.519

and with the idea of when I do this I

1861.559

want to change at least one thing I want

1864.6

to make at least one Improvement it may

1866.519

be as simple as adding a period to the

1869.279

end of a sentence on a comment or

1870.639

something but it's like I am going to

1872.159

make some improvement to this code just

1875.679

you don't have to take a lot of time

1877.279

just five 10 minutes would be perfect

1879.44

just get in the habit of doing that

1882.2

because I think when you do that for

1883.639

yourself all the time it makes you more

1886.12

appreciative of the second or third

1887.919

third or eighth set of eyes when you get

1889.639

into code reviews where it's people are

1891.84

like hey you know you missed this or did

1894.399

you consider this or hey this isn't

1896.2

quite clear those kinds of things it's

1898.12

always like it's like having a a proof

1900.2

reader or an editor that you have at all

1902.399

these other world you know areas of the

1904.159

world all the writers and stuff like

1905.44

that it's the same thing for our

1907.559

code in a similar vein but I will allow

1911.399

you a little bit of a break is send us

1912.88

an email at info developer.com and let

1915.32

us know what your thoughts are what are

1916.96

some of the things what are some habits

1918.159

you've got some things that you would

1919.519

like to hear about uh maybe some

1921.36

recommendations for some habits to build

1923.679

what's your what's your experience with

1925

some of the habits we've had and like I

1927

said I'm I'm going to be okay if there's

1928.96

typos if there's grammatical errors you

1930.639

don't have to put a second set of eyes

1932.2

on this one we will just love that

1934.48

comment and that's all unless you want

1936.679

us to critique it and then we'll go send

1938.279

it out to grammarly and let it tell you

1940.08

all the different ways the AI thinks you

1941.679

can write that better uh and don't don't

1944.44

push it through AI just like crank

1946.48

something out if you can copy and Bas in

1948.6

Ai and hit send and send it to us we

1951.279

will be okay we need to practice having

1953.48

our feelings hurt if that's what's going

1955.039

to happen so just like help us grow to

1957.279

become better developers give us that

1958.96

feedback at info developer.com lead us

1961.039

comments out on the podcast wherever you

1963.2

wherever you listen to podcast out on

1965

YouTube at development develop andur

1967.039

Channel where there's this and so much

1969.48

other content out there you can also

1971.279

contact us we have a contact form on

1972.88

developer.com got a Facebook page you

1975.279

can reach out to us there our contact

1978.08

information is in various places there

1980.279

uh you can follow us on X develop

1983.08

Andor however you get us a feedback we

1985.639

would love to hear it because we're here

1987.679

not only for us to become better better

1989.76

developers and speakers but for you to

1992.039

also become better developers and so now

1994.96

I'm going to challenge you to go out

1996.12

there and do that so go out there and

1997.24

have yourself a great day a great week

1999.36

and we will talk to you next

2002.48

time bonus

2006.08

material so one thing I'd like to add to

2008.72

the discussion we had is as you're doing

2011.559

the code review be careful with your

2015.48

comments make sure that when you give

2018.08

the critique that you're staying within

2019.919

the focus of the ticket one of the

2022.76

biggest things I find with code reviews

2024.84

is sometimes you get into scope

2027.48

pre and if you start get going down that

2031.279

rabbit hole it may be time to create a

2033.72

new ticket in the backlog to make a

2036

future change make sure that what you're

2038.159

doing is within the focus of the ticket

2041.44

and the change that's being requested

2043.279

because you don't want to start adding

2044.6

features or new functionality to

2047.24

something that the customer is not going

2048.919

to know about based on the current

2050.76

change I would agree I think that's I

2053.04

think that's my my bonus as well is uh

2056.8

scope creep is but it's also it's

2060.44

um reality check is there there's times

2063.639

that we go in particularly if you're

2065.32

dealing with uh production code or you

2068.56

know enhancements to stuff that's been

2070.28

built over a long period of time and

2071.639

things like that there probably is some

2073.2

technical debt involved and there's a

2076.599

time and a place so it may be like

2078.76

Michael said it may be something you're

2079.839

like hey this could be done better or

2081.96

hey this doesn't comply with our current

2085.52

standards but it may be that this is not

2089.399

it's really fixing that is not within

2091.52

the scope of this it's like we're fixing

2093

a specific bug we're not re you know

2095.48

we're not refactoring this thing and so

2098.48

understand that there may be situations

2100.32

and and where your comments are 100%

2103.04

valid but completely rejected because

2106.04

that doesn't fit the scope we can't do

2107.76

that right now so in those cases is you

2110.24

know be understanding that oh okay that

2112.92

makes sense where're you're just fixing

2114.4

this thing but then f as Michael said

2116.68

maybe it's another bug you know it's

2117.96

another ticket you have to create or

2119.24

another bug or another piece of

2120.4

technical debt or something like that or

2122.76

it may just be as little as you need to

2124.92

add this piece of code to the long list

2127.16

of items that need to be fixed for

2130.32

whatever per you know whatever the new

2132.359

standard is and I see this a lot like I

2134.8

said I I've been through a lot of

2137

applications and work with a lot of

2138.28

companies where they said well this is

2139.64

how we used to do it and we have all

2141.92

this code and it does it this bad way

2143.96

and now we're trying to do it this good

2145.4

way and we're changing the new stuff but

2147.96

the old stuff's still there and so it's

2149.44

finding out time when do you have the

2151.72

availability and the option to actually

2154.4

fix that the the core Thing versus I

2157.72

just need to do a a quick fix and get it

2159.68

into production and move forward ideally

2162.04

we never do the just like slap it you

2163.839

know slap a Band-Aid on it move forward

2165.48

but we all know that we do not live in

2167.28

an Ideal World and there are those

2169.079

situations where we just have to like

2171.04

grin and Barrett and say yep that's

2173

another one of those it's frustrating

2174.56

it's annoying but somewhere down the

2176.76

line we're going to get to it that will

2179.92

wrap this one up and we will be back we

2182.599

are nowhere close to the end of this

2183.96

season so thank you again for for

2186.079

listening feedback is is always welcome

2188.76

thumbs up thumbs down however you do it

2190.96

comments in particular any kind of like

2193.119

really content that we can work with is

2196.04

hugely helpful to us and I think helpful

2198.28

to you because then we're going to be

2199.4

able to either anonymously you know say

2201.599

hey somebody told us this or we can give

2203.319

you all full credit for it as well and

2205.119

say you know Bob from bosanova whatever

2208.4

the heck that is said this and we can

2210.56

throw that into a a future episode

2212.52

because we want to just keep making sure

2213.92

that we're giving stuff that is useful

2215.56

to you go out there be useful to those

2218.24

around you have a great day and we will

2220.4

talk to you next time

2223.75

[Music]