📺 Develpreneur YouTube Episode

Video + transcript

Surviving Tough Coding Challenges | Building Better Developers with AI

2025-08-28 •Youtube

Detailed Notes

In this episode of Building Better Developers with AI, Rob Broadhead and Michael Meloche revisit one of their most memorable discussions: “Psychopaths, Scenarios, and Tough Coding Challenges.”

From half-baked requirements scribbled on napkins to “just a small change” that rewrites half the app, they dive into the absurd, frustrating, and sometimes funny challenges every developer faces. With humor and real-world insights, they explore how to survive tough coding challenges, cope with the madness, and turn chaos into developer superpowers.

🔑 What you’ll learn in this episode: • Why unclear requirements lead to “psychopath” paths in coding • Common tough coding challenges like nested if statements, gotcha interviews, and vague specs • Developer war stories: missing semicolons, “everything urgent” bosses, and merge nightmares • Coping strategies: rubber duck debugging, snacks & caffeine, and knowing when to step away • How every challenge helps you level up as a developer

👉 Share your own psychopath coding stories in the comments—we’d love to feature them in a future episode!

đź”— Explore more episodes and resources at https://develpreneur.com/tough-coding-challenges/

⸻

0:00 – Intro & catching up 2:00 – Good Thing / Bad Thing segment 6:30 – Revisiting “Psychopaths” scenarios 10:00 – The Psychopath Starter Pack (napkin requirements, legacy code, gotcha interviews) 15:00 – War stories: missing semicolons, urgent bosses, merge madness 22:00 – Coping mechanisms for tough coding challenges 28:00 – Snacks, caffeine, and developer sanity 33:00 – Turning chaos into developer superpowers 38:00 – Debugging skills and learning from mistakes 44:00 – Wrapping up: sharing stories and feedback

Transcript Text
[Music]
All right. So somewhere we hit record.
Uh maybe right there. This one's
psychopaths scenarios and tough coding
challenges.
Um
this will be interesting. Okay, let's
see what it says because I'm ready to
dive right into it. And so here we're
going to go with our typical I'm even
going to do it.
Hello and welcome back. We are
continuing our season where we are doing
things with AI. Specifically, we are
doing a couple seasons back and we are
looking at the titles and we are sitting
there going say going through those and
saying all right let's just take that
title and the the general synopsis the
concept of what building better
developers are and we are getting some
good feedback and then going from there.
Uh this episode we are going to I'm not
going to share with you yet. I'm going
to introduce myself first. I'm like I
don't want to spoil it too much what our
topic is. Uh the guy that's not spoiling
it, his name me is Rob Broadhead. I
happen to be a founder of developer.
Also a founder, the founder of RB
Consulting where we are all about
helping you do technology better. I've
seen so many things go arry, so many
things go off the rails. Uh been a part
of projects that somebody else started
and then we had to come in and clean up
the dumpster fire that was left behind.
And so all of that across a long a lot
of different industries. We found some
great ways to approach whatever your
problem is. And it all starts with
understanding your business because if
if we don't understand your business,
we're really not going to understand the
problem. So get down sit down. We're
going to talk to you about your
business. Then we're going to look at
your pain points and where we can
alleviate them. What are your processes?
How we can make them better through
simplification, integration, automation,
innovation. We're gonna find ways in our
toolkit to help you create a a custom
recipe that is going to be your
technology roadmap and then we can help
you execute it or we can just say hey
here's your road map enjoy your journey
or any sp part part in between because
we are here to help you do business
better
thing bad thing uh this is a fun one
because there's like sometimes life
dishes out a little bit of a lesson you
know things like that um so I I I had a
dental thing the other day and I was a
few minutes late and they were basically
like come back another day and I was not
very happy because in the past they have
not been very respectful of my time or
anybody else. It's one of these places
where I've spent large large amounts of
time sitting in the waiting room before
they ever get around to being like,
"Okay, Mr. Broadheads, you can be seen."
And as I was fuming, not really fuming,
but as I was annoyed by it, we'll say, I
started thinking. I was like, "Well,
maybe this is a good sign." So, the bad
thing was I was late. I lost a bunch of
time. I lost probably an hour back and
forth traveling. The good thing is I
think it was a good sign because I
looked a little closer at their stuff
and my complaint that had bothered me so
much in the past about all the times
they've wasted is like now they have
changed a lot of their procedures and
policies. So, they are doing their best
to stay on track. And of course, you
know, stuff happens and things get off
track, but it's good to see that, you
know, businesses have evolved and
they've done things better. So, you
know, it's one of those that yes, I was
a victim of my own uh my own lateness or
whatever, but that also means that
there's a lot of other people out there
that their time has not been wasted. And
now I'm done wasting your time. And I'm
going to let Michael introduce himself
and waste some of your time. Hey
everyone, my name is Michael Wash. I'm
one of the co-founders of Developer,
Building Better Developers. I'm also the
owner of Envision QA. We help startups
and growing companies improve their
software quality through services like
test planning, automation, and release
support. Why do companies work with us?
Because buggy software costs you time,
money, and customer trust. We make sure
products are reliable before they
launch. Help teams move faster and avoid
costly mistakes. If you're building
something great and want it to run
smoothly from day one, visit
envisionqa.com
and schedule a free consultation under
contact us. Good thing, bad thing. So,
I'm going to start with the good thing.
I have been
struggling for four weeks now on this
particular uh problem uh at work. And
today, all of a sudden, we the light
bulbs went off. We figured it out. Uh
all was happy and good. Found out that
what I had envisioned the solution to be
3 weeks ago was correct. The bad thing
was all the steps provided to me on how
this piece of software worked and how
where I was supposed to plug this in was
not the correct place to test.
I was given the keys to the to the
house, but I was sent to the wrong
house. Uh, literally I was in there I'm
like doing exactly what it says to do.
No, the steps are two places further
into the application to actually trigger
what it was that I needed to test.
When you don't know the software and
you're relying on other people to help
you, it's really hard, especially when
it's a legacy application and there's
little documentation to get through some
of these problems. Sometimes you just
have to bang your head against the wall.
But sometimes you do finally get through
it. Like today we had a round uh round
table meeting, walked through it and
they're like, you know, maybe that's not
the right place. Why don't you go over
here and try this? And sure enough,
boom, it worked. And it's like done,
checked in. I'm going to lunch.
So this episode I actually changed gears
a little bit. Uh we started out with uh
let me get the original title because I
didn't spoil it earlier. Uh the title
was psychopaths scenarios and tough
coding challenges and I said all right
give me an episode topic and then I did
something extra this time I did a thing
as some people like to say is it said
hey would you like me to make that do
you want to make this more seriously
educational or light-hearted and
entertaining and me being me
lightigh-hearted and entertaining so
this is what we got that's why Michael
you just got a second uh up updated did
bunch of notes. So, it says, "Perfect,
because GPT likes me. I'm sure it
never treats you that well, right?" It
says, "Let's lean into the fun side of
psychopaths coding challenges. Here's a
light-hearted and entertaining spin for
your development or episode."
Fun intro hook. You ever open up a juro
jurro a jur ticket and think
this was definitely written by a
psychopath?
Not exactly where we went. Uh, one
second because it is there.
See, it's a good time to talk about
psychopaths.
And uh, okay. Open. Ever open a Jurro
ticket and think this was definitely
written by psychopaths. Welcome to the
world of impossible coding challenges,
unclear specs, and those gotcha
interview puzzles that feel like they
were designed by your evil twin. Now,
I'm going to start with this. The
original psychopaths we talked about
actually had nothing to do with this.
So, this is going to go down a path, no
pun intended, that we actually never
went down with this one. So, this is
going to be a fun one because when we
talked about psychopaths, we're actually
talking about testing and uh back the
inverse or the opposite of happy path.
We talk about hypath. You talk about the
paths that you normally go through. And
it actually was psychopaths that we as
we talked about it were those ones that
we have no idea how anybody gets on that
path. And yet they do. Similar to almost
similar to what Michael's uh description
was about his good thing, bad thing. So
I'm really looking forward to this one
because this is completely different
from where we went with it. The
psychopath starter pack. Uh this is the
segments that it's got. First segment,
half a requirement written on a napkin.
Legacy code with seven levels of nested
if statements. Just a small change that
spirals into rewriting half the app.
Coding interview question. Write a
compiler from scratch on the whiteboard
in 30 minutes. Laugh with the audience.
Exaggerate the absurdity. Make it
relatable. I do want to talk about this
a couple of these things just because
again we haven't. Uh I want to go to the
coding interview question.
I think we have I know we have mentioned
interviews and how to approach them and
things like that. Uh particularly if you
go back to the pre-developer world when
we had it for recruiters and some some
of that content that has flowed into the
developer side as well.
If you're doing a technical interview
these days, there are tools out there
that will help you do a technical
interview that make sense where it's
like, oh, sit down and write some code.
Those are the kinds of things you're
going to help because you if you're
going to try to figure out like if this
person could write a compiler from
scratch in 30 minutes on a whiteboard,
then maybe that is your very very niche
thing you need to do. But I don't know
that anybody does because if so then
they just wrote a compiler in 30 minutes
and now they're done and they don't you
don't really need to hire them. You need
to worry about figuring out how people
think when you're on a when you're on
the flip side of that when you're
interviewing. You need to make sure that
you're connecting to the people that
you're working with. You're
understanding the chemistry that's going
to be there or not. And then you're also
understanding what how they would like
you to think. Does that make sense to
you? Are the problems that they're
trying to solve the problems that you
are good at solving? the the whole like
the gotchas and all these kind of
there's been so many I'm in too many
technical interviews where it's like you
know what are the three different
versions of this command and the order
that you can do to the parameters and
it's like dude have you ever heard of
Google do you ever especially IDs they
autocomplete 90% of the time now so that
stuff just seems so not applicable to
what you're trying to do um before I
toss it back to you seven levels of nest
and if statements is actually goes to
back something we talked about before.
If you're using stat static code
analysis tools, then it's going to flag
stuff like you have a ridiculously over
complex procedure function chunk of
code. Fix it. And those are the kinds of
things that I think you will thank
yourself that you you straighten that
stuff out. Yes, the first time through
you were probably like just, you know,
bull in a china shop trying to get the
salt problem solved. But once you do,
you need to address that kind of
technical debt sooner rather than later
because it is going to hurt you for
maintainability,
scalability, reliability, quality, all
of the things that are important with
your code. And now I will step off my
soap box and let Michael step up on his.
>> So it's funny, you know, the seven
levels of if statements. A lot of times
you run into this situation because of
the half baked requirements or half of
the requirements written on a napkin
because you have partial requirements.
And if you're reading the requirements
and you have to ask yourself what if
this or what if that or I get to this
point and it goes this you know which
way which path do I go? That's sending
you down if then statements. You need to
clarify those before you start the work
because if you don't, you could write a
solution that doesn't solve the problem.
You could be solving your interpretation
of the requirement, not the requirement
itself. Uh it's interesting with that
though too. Um so the other thing that
was on here, you know, just a small
change that spirals into rewriting half
the app. If you are not using source
control, if you're not using something
like GitHub or if you're just using
Notepad and you're not using a modern
IDE tool that has some code review, code
repository um built into it, get it,
start using it
using these tools as you're working the
requirements, you can click a little
button and say, "Hey, what have I
changed for this uh for this code?" If
you see one or two files, a couple of
file changes, cool, you're good. If you
see 6 or 7 8 9 10 11 files start to
build up, you may want to pause and say,
"Wait, why am I making all these
changes? Why am I going down this rabbit
hole?" By not doing that, by not
checking that occasionally, you could go
so heads down that you have rewritten
half the application and not even be
aware of it till you get to the point
that you check in the code. So doing the
code checks as you're writing the code
is really good. And then the last little
note I'll throw out there is unit tests.
Write your unit test to go with this
because if you are writing tests to
check your code as you're writing it,
you're going to find very quickly that
if you're writing 20, 30, 50 unit tests,
you've written too much code for this
requirement. The co the requirement was
either halfbaked or not flushed out.
So, moving on. It says, "Next one,
developer war stories." Uh, share funny
nightmare challenge stories like, "We
found a bug. It was a semicolon two days
later. The spec said user friendly, but
no one could define what that meant.
Boss said it was urgent, then went on
vacation. Invite listeners to submit
their own psychopath scenarios for a
future episode." Um, let me go with the
last one about the boss saying it's
urgent. I've one of my favorite war
stories um from many years back now. Uh
I was working with a group uh also a
boutique consulting company matter of
fact and we had a customer and was just
wearing one of our main developer out or
like senior developer out which is all
these requests and so finally we sat her
down and said hey we need some
prioritization we need you know let's
talk about what is urgent what is you
know nice to have or what do we need to
have but it's not like immediately what
is nice to have and what is like ah if
you can get to and stuff like that. And
so we had a nice like we had the the
whole team in we had like an hourong
conversation stuff like that. She's like
cool I get it. Great. And so you know
week goes by come in Monday and we have
got 14 new issues and every one of them
is labeled urgent. It was like you smack
in your head because you're like you
don't get the point. If everything's
urgent then nothing's urgent. You know
it's like this is the boy who cried
wolf. is the chicken thinking the sky is
falling and stuff like that is it's like
you have got to have some level of
sanity to your prioritization of stuff
and I think this is the kind of thing
that do these are the kind of things
that do get us into these psychopath
scenarios that that chat GPD has come up
with where you've got
you've got competing sometimes competing
requirements and they're both you've got
to have both of them and it's like
Sometime this goes back to some of the
things we said before. Sometimes you
have to say no. Sometimes you have to
say look you cannot do both. You can't
you get one or the other. You cannot
just say well I want both because you
can want it all you want but that's like
sometimes time space you know
equilibrium the balance of the universe
those kinds of things cannot be
maintained if you have both. It's just
there's certain things that don't go
together or there's going to be a lack
of resources or all the other reasons
that you can have that is why we
actually have prioritization
and sometimes just like you hear they
said you might have to define what user
friendly meant. You might have to define
what priorities mean which is probably
wise every time I see a project book
that talks about prioritizing stuff it
actually gives examples of priorities
and what those kind of priorities look
like. So that was mine. Where do you
want to go on this one?
>> So, I'll take the first one. We found a
bug. It was a semicolon two days later.
So,
I think it was in the last episode we
talked about llinters and you know code
reviews, code repositories.
Oh my god, if you are not using llinters
and everyone is committing their code,
it's in a different format. You have no
idea who's making what changes to your
code. And so many times I've worked in
many companies and you go through enough
of these that eventually the
organization finally says, "Hey, we are
instilling coding standards. If you do
not follow this, you are going to be
shamed." And unfortunately, this is one
of those where shaming is almost the
only way to make them stop if you can't
get them to stop. And it is a pain. The
problem with this one though, it it's
not just the llinters, but sometimes you
run into situations where you have very
large complex code and if you have too
many people in that code making changes
at the same time. When you get to the
code commits and you have people merging
code, code gets missed. And if there are
not unit tests wrapped around that code,
it is missed. And it will be a day or
two or a week later when your testers
get in to start testing it. Pray to God
it doesn't make it to the customer. But
hopefully your testers will catch this.
But you're going to find that whoops, a
piece of code got missed in the merge or
oh I overloaded or overwrote my change
on yours. So oh my god, you just got to
be very careful when dealing with your
code. Uh and and you know Rob mentions
this all the time. You need to be using
code repository GitHub and and use
llinters. Please use llinters because
they will be a huge um savior and for
your sanity and your code
hoping mechanisms for surviving the
madness. This one's actually pretty
interesting. Humor. If you don't laugh,
you'll cry. Or both. Snacks and
caffeine. Every bug fix deserves at
least one cookie. Rubber duck debugging.
Sometimes the duck has better answers
than Stack Overflow. And the ship it and
run strategy. Just kidding. mostly. Um,
we actually had one of the first places
I worked, we we would joke about that we
are going to skip the testing and pass
the savings on to the customer and that
was it was very there was way too often
because we were doing commercial
software. We were we had to like crank
it out and sometimes we had to crank it
out faster than we wanted to. But uh and
we also this was this is a while back so
the uh we had QA people there was
testing and things like that but it was
not to the level that it you know it is
today. Um and that was a that was a
challenge. I love the idea of rubber
duck debugging. Um I have no idea what
that means. Uh, but I do think that I'm
going to take it in a way of, you know,
sometimes it's um ask somebody just
random, you know, like or like maybe
you've got a family member that's
sitting there. It's just like they're
not a developer, just like what do you
think about this? Uh, it's the same way
as like stepping away or, you know, just
do a random search. Just do some stuff
to get out of the out of the madness and
out of what's going on and maybe you'll
find a way to solve whatever that
problem happens to be. This is, you
know, we're talking about the
psychopath. We're talking about the
craziness. We're talking about the
things that are just going off the
rails. Sometimes you need to walk away
from the train crash for a little bit
before you can go back to it and go,
"Oh, here's how we need to clean it up."
Things like that. Sometimes it's just
take a deep breath. Sometimes it is like
just all right, I'm going to go and I
have been there where it's like, you
know what? I'm just going to go to
lunch. I am just going to go like hang
out at the water cooler for 15 minutes.
I just I need to get away because
sometimes your sanity is going to get
dragged into that, you know, dumpster
fire if you don't watch out. How about
you? Coping mechanisms, maybe some of
your favorite ones.
>> Oh, so if you don't laugh, you'll cry or
both. Um, so I I kind of want to call
out, you know, your um,
you know, the ship it and run it
strategy.
Video games today are a good example of
this. So many games are shipped before
they're done and they go through a
series of patches or what's called,
"Hey, let's do a uh pre-release or it's
in beta, but hey, we're collecting your
money anyway."
Microsoft is another good one for this
because how many times has Windows come
out and it's really not stable for 6
months because hey, we need users to
test our software. But I I start there
because humor, you know, if you want to
sit down and you release software and
you sit down and you start to work on it
and it's working, it's like great and
then all a sudden it crashes, you know,
why did it crash? Oh, hey, maybe you're
a shopping site and you just found out
that your site cannot handle Cyber
Monday or Black Friday and you just are
down. You're like, oh my god, what am I
going to do? So, you're going to cry,
but when you get through it, it's like,
hey, there was kind of a good thing to
that. we were so popular that they took
our site down, but next year we need to
be better than that, you know. So, so
you get through it and you laugh about
those. But the fun the last little fun
one is the snacks and caffeine. So, I I
have been an abuser of caffeine for
years. I am down to reducing that uh
horribly. Uh not horribly, but I've
reduced the horrible abuse of it to
something that's more manageable like
one cup or one four cups a day tea bag.
But the snacks. So my little like I
guess treat, I have a jar of Jelly
Bellies.
And when I solve a particularly
difficult problem, I go to that jar. I
get a Jelly Belly. Now I You can very
easily eat too many of them. But if you
go to, hey, when did I solve this? You
know, something good, it limits how
often you can go to it. you you kind of
have to set that bar a little high so
you don't basically abuse your treats.
>> Uh yes, I've done that in the past. I uh
got it when I was working at a company
that had we had a a drugstore down the
street and people would regularly get a
big old bag of various chocolates and
stuff like that. So I'd be sitting, you
know, there and and so we all started to
get them. So whenever you get it, I get
like a big old bag. I'd throw half of it
in the front desk. I'd be there for
people that came by and the rest would
be sitting at my desk and next thing I
know I'd have a little bucket there and
I'd be like, "Oh, I'll try that. I'll
get that." I do that around Christmas
time every year, too. I'll go get some
nice little Christmas mints and have
them there. And uh I I probably need to
set the bar higher for when I'm going to
actually go for a treat on those things.
Um turning chaos into superpowers. I do
want to do this before we wrap up
because it this is I think the important
part. Every tough challenge secretly
levels you up. Documentation detective.
You can now read ancient high
hieroglyphics like cobalt. Uh debugging
ninja. You can spot a missing bracket
from 10 feet away. Interview survivor.
Nothing phases you after solving fsbuzz
with dynamic programming.
I think this is this is the key is we're
going to have problems. We're going to
have stuff go off the rails. We're going
to have dumpster fires. We're going to
be we're going to be going off the rails
over the cliff while we're still trying
to build stuff sometimes. But what
doesn't kill you makes you stronger.
We're going to go with that one. Um, it
does make you better as a developer is
that as you go through these things,
you're going to figure out what to look
for. You're going to know what the
problems are. This is honestly, this is
why RV Consulting is what it is and why
we do what we do and why we are actually
pretty good at a lot of the things we do
because we have seen some really nasty
situations and we've said, you know
what, we've seen this before. We usually
we know we're basically people are going
to hide the skeletons. We know what are
some of the problems that you're going
to have. And this does vary based on
your technology, your line of business,
and stuff like that. There are certain
things that are just the norms. So, if
you're, and you probably know that if
you've been doing this for a while, pick
your language that you've been in, you
know that there are for yourself,
there's certain bugs that you're almost
always going to do. There's typos or
something like that that you're going to
miss. Other people, when you're
reviewing code, you're going to be like,
"Oh, yeah, they missed this and they
missed that, and these are the kinds of
things to look for." You learn how to
look for the the common things. And now
granted the the psychopaths can be a
little bit different where you're like,
"Wow, I have never seen that before."
But then the good news is the next time
you will have seen that before cuz now
you've seen this one. So you can sort of
grow your list from uh common mistakes
to uncommon mistakes to unique mistakes.
But at least when you see them, a lot of
times you'll find out that will even if
it's unique, it will give you some
skills that will help you find something
close to that. and the next time you
find something unique, you will be able
to get it faster because you you've
attuned yourself to maybe thinking
outside of the box. So, what are some
good takeaways for you or some maybe
superpower that you see coming out of
this?
>> So, what number one of course is the
debugging? As you learn software and you
go through more and more projects and
build different more complex systems,
you're going to get better at spotting
problems. um semicolon if you're using
modern IDEs will tell you almost
immediately. So hopefully that's not
your biggest uh issue that you run into,
but there are a lot of hidden things
that getting better at writing unit test
debugging code uh is huge. So I highly
recommend learning to debug your code.
Try breaking it. You know, if you
haven't broken your code in a while and
you're relying on the IDE a lot, uh,
best way to test it is to go to like
Notepad, go to Vim, write your code, and
try to compile it from a command line
compiler and see if it works. Chances
are you probably forgot something and it
broke. But that is one of for a lot of
us uh, old fuddy duddies, uh, you know,
we didn't have IDs back in the day. We
had compilers. So um this is a very good
way to become very uh good at catching
debugging techniques or at least
understanding compile errors uh very
quickly. And the last thing I will throw
with this is as you learn these things,
go out to things like Stack Overflow.
Take the problem you just solved, go see
if other people are having it and go put
your, you know, put your solution out
there. One, you're contributing to the
community. You're getting your name out
there. And two, it's out there. So if
you forget maybe 6 months, a year from
now, you need to go find that problem
again. You may find your comment out
there and be like, "Oh yeah, I remember
this. This is how I fixed it."
I think that's probably one of the most
valuable things out of all this is being
able to take that and share it with
somebody else is have some sort of
documentation of it because like I find
that that really helps me u absorb and
digest what I just went through and give
something that is like now it's and it
forces you to also like learn from it.
So not just be like okay I fix it and I
can move on. It's like, "All right, I
learned from that. Here's what I
learned. Lesson learned, and it's going
to be helpful for you, just like any
other, you know, code repository and
things like that we've talked about is
like you're like, "Oh, yes. I've I
remember I ran into this and this is
what it looked like, and this is how I
addressed it." So, if there's something
that looks like that, again, you can
reuse those skills.
One of the things you can reuse is your
skill to send an email. I'm going to
throw that out there because, as always,
I would love for you to send us
something [email protected]. would love
to hear your feedback, what are your
thoughts, positives and negatives. What
do you like? What don't you like? What
did you like to see us talk about next?
Because we do have plenty of stuff
coming up. Uh, and we are also running
out of time on this episode or this
season. I think we got a few more
episodes now left. We're still going to
break through them, but then we will be
into the next season. Who knows what
we're going to do then? We don't even
know. I think last time we just w we
were winging it and then came in and
like, "Hey, this is the episode we're
this is the season we're going to do."
So that is how prepared sometimes we are
coming into this. But that's because
there's just so much so much information
out there. There's so many different
ways we can go. As you've seen from
this, we have left stuff on the table
every single episode of topics that we
could talk through. Uh sometimes they've
been entire seasons that could come out
of some of these topics. So love to hear
from you because you are the reason we
do it. You can leave us uh feedback,
comments, stuff like that on the
developer site. U feedback anywhere on
any of our articles or the contact us
form. You can check out the developer
page on Facebook. You can see us at
developer actually listen to us I guess
or whatever. Read our our thoughts at
developer onx and u just reach out
wherever you find all the great ways to
communicate. We're probably out there
somewhere. Uh anywhere that you give
podcasts, leave a leave us a note. Also,
I'm can't forget to list the uh YouTube
channel uh out on YouTube. We have the
developer channel and there's tons and
tons and tons of stuff out there. I just
I'm I'm sometimes shocked at actually
often shocked at how much stuff we have
out there and it's useful. It's amazing
how often I'll go search for something
and it's like, oh, we wrote that. So,
good stuff to know. Hopefully, it's
helpful to you. Let us know how it is
and how we can make it better. As
always, I just want to say we appreciate
so much the time you've given for us for
just hanging out with us and uh for
becoming a better developer because you
becoming a developer is a better
developer is going to make others around
you and eventually it's going to come
back to us and we're going to be dealing
with projects that good developers
wrote. So, we're not tearing our hair
out trying to figure out where the
documentation is, stuff like that. As
always, go out there and have yourself a
great day, a great week, and we will
talk to you next time.
bonus material.
>> So, I want to start by all you listeners
and viewers out there, send us your
psychopaths. Tell us, you know, some of
the challenges, some of the things that
drive you crazy or that have gone off
the rails. You know, let us know cuz
this is one topic I think anyone can
have a story about. Uh, just kind of go
through the list and, you know, let us
know. Um, but with that being said
though, you know, psychopaths
are not the happy past, but we we kind
of diverged from the original topic from
before. But psychopaths aren't always
just, you know, bad. You know, they
could still be happy past, but they
could be things that take you off the
rails. Again, you know, think like a
choose your adventure story. If you get
to a point where you c have option A, B,
C, or D or multiple choice, chances are
requirements aren't right. You're
probably off the path. Um or you're
going down the wrong path and you need
to check yourself, you know, just so
just
the one biggest takeaway I guess of this
is check yourself. Check what you're
working on and check it back to the
requirements. That's one of the easiest
ways to make sure that you stay on
track, that you're doing what needs to
be done, and that your requirements are
going to meet the needs of your uh user.
This is why there is a why. This is what
we go back to. That is your cornerstone.
That is where you go back to like what
are we solving?
How are we solving it? And using that, I
think often is going to give you like
your north star as well. you know,
something that's just going to say like
this is how I get to anchor myself back
to sanity to make sure that we're doing
what we need to do and that we can, you
know, have the confidence to rein in
things that go off track or to realize
that maybe that psychopath is something
that we do have to take care of that
somebody came in, thought outside of the
box, and we're like, "Oh my gosh,
they're not the only ones that they're
not the only psychopaths out there." If
you ever driven out in the driven on the
roads, you know, there's a lot of
psychopaths out there. So sometimes
those are uh scenarios that you have to
address that need to be uh part of you
know your testing your exceptions and
all the other kinds of stuff that go on
there.
I will wrap this one up because h we're
just cruising right along here but I'm
ready to go eat some dinner and stuff
like that. So I'm going to wrap this one
up. Let you go eat dinner, lunch,
breakfast, whatever time of day it or
just have a snack. Go have your little,
you know, jelly belly because you just
solved a problem. Creat yourself. go
have like a little snack because you
have treated yourself to some good
content hopefully that has helped you
become a better developer. Uh feel free
to feed us with any thoughts that you
have because we would love to gorge
ourselves on such things and that is
obviously I'm ready for dinner because I
keep using those all of those little
examples. That being said, thank you so
much for your time. I appreciate all
that you guys have done for you guys
being a part of this for you guys giving
us your time. As I said earlier,
feedback is even more appreciated, but
go out there and have yourself a good
one, and we will talk to you next time.
[Music]
Transcript Segments
1.35

[Music]

27.68

All right. So somewhere we hit record.

30.16

Uh maybe right there. This one's

32.8

psychopaths scenarios and tough coding

35.28

challenges.

36.88

Um

38.879

this will be interesting. Okay, let's

41.04

see what it says because I'm ready to

42.559

dive right into it. And so here we're

44.8

going to go with our typical I'm even

46.64

going to do it.

50.719

Hello and welcome back. We are

52.96

continuing our season where we are doing

54.8

things with AI. Specifically, we are

57.28

doing a couple seasons back and we are

60.879

looking at the titles and we are sitting

62.719

there going say going through those and

64.32

saying all right let's just take that

65.519

title and the the general synopsis the

69.36

concept of what building better

71.2

developers are and we are getting some

74.56

good feedback and then going from there.

76.479

Uh this episode we are going to I'm not

78.96

going to share with you yet. I'm going

79.84

to introduce myself first. I'm like I

81.68

don't want to spoil it too much what our

83.28

topic is. Uh the guy that's not spoiling

86.159

it, his name me is Rob Broadhead. I

88.32

happen to be a founder of developer.

89.92

Also a founder, the founder of RB

92.079

Consulting where we are all about

95.68

helping you do technology better. I've

98

seen so many things go arry, so many

99.759

things go off the rails. Uh been a part

102

of projects that somebody else started

103.68

and then we had to come in and clean up

105.2

the dumpster fire that was left behind.

107.28

And so all of that across a long a lot

110.799

of different industries. We found some

112.88

great ways to approach whatever your

115.28

problem is. And it all starts with

116.96

understanding your business because if

118.88

if we don't understand your business,

120.32

we're really not going to understand the

121.6

problem. So get down sit down. We're

123.36

going to talk to you about your

124.079

business. Then we're going to look at

125.36

your pain points and where we can

126.64

alleviate them. What are your processes?

128.08

How we can make them better through

129.599

simplification, integration, automation,

131.76

innovation. We're gonna find ways in our

134.319

toolkit to help you create a a custom

138.319

recipe that is going to be your

139.92

technology roadmap and then we can help

141.68

you execute it or we can just say hey

143.36

here's your road map enjoy your journey

145.84

or any sp part part in between because

148

we are here to help you do business

150.879

better

152.64

thing bad thing uh this is a fun one

155.12

because there's like sometimes life

157.36

dishes out a little bit of a lesson you

159.44

know things like that um so I I I had a

163.12

dental thing the other day and I was a

164.959

few minutes late and they were basically

166.319

like come back another day and I was not

168.879

very happy because in the past they have

172.56

not been very respectful of my time or

175.04

anybody else. It's one of these places

176.4

where I've spent large large amounts of

178.08

time sitting in the waiting room before

180.08

they ever get around to being like,

181.599

"Okay, Mr. Broadheads, you can be seen."

185.12

And as I was fuming, not really fuming,

188.08

but as I was annoyed by it, we'll say, I

190.4

started thinking. I was like, "Well,

191.44

maybe this is a good sign." So, the bad

194

thing was I was late. I lost a bunch of

195.68

time. I lost probably an hour back and

197.44

forth traveling. The good thing is I

199.2

think it was a good sign because I

200.48

looked a little closer at their stuff

202.319

and my complaint that had bothered me so

204.8

much in the past about all the times

206.159

they've wasted is like now they have

207.599

changed a lot of their procedures and

208.959

policies. So, they are doing their best

210.64

to stay on track. And of course, you

212.959

know, stuff happens and things get off

214.64

track, but it's good to see that, you

217.519

know, businesses have evolved and

219.44

they've done things better. So, you

221.36

know, it's one of those that yes, I was

222.879

a victim of my own uh my own lateness or

226.72

whatever, but that also means that

228.56

there's a lot of other people out there

229.76

that their time has not been wasted. And

232.48

now I'm done wasting your time. And I'm

234.159

going to let Michael introduce himself

235.599

and waste some of your time. Hey

237.36

everyone, my name is Michael Wash. I'm

238.959

one of the co-founders of Developer,

240.64

Building Better Developers. I'm also the

242.56

owner of Envision QA. We help startups

245.2

and growing companies improve their

246.959

software quality through services like

248.64

test planning, automation, and release

250.72

support. Why do companies work with us?

253.12

Because buggy software costs you time,

255.36

money, and customer trust. We make sure

257.68

products are reliable before they

259.12

launch. Help teams move faster and avoid

261.44

costly mistakes. If you're building

263.28

something great and want it to run

264.72

smoothly from day one, visit

266.16

envisionqa.com

267.68

and schedule a free consultation under

269.6

contact us. Good thing, bad thing. So,

272.479

I'm going to start with the good thing.

274.16

I have been

276.32

struggling for four weeks now on this

278.96

particular uh problem uh at work. And

282.8

today, all of a sudden, we the light

285.68

bulbs went off. We figured it out. Uh

288.479

all was happy and good. Found out that

290.8

what I had envisioned the solution to be

294.8

3 weeks ago was correct. The bad thing

298.24

was all the steps provided to me on how

301.44

this piece of software worked and how

303.199

where I was supposed to plug this in was

305.44

not the correct place to test.

308.8

I was given the keys to the to the

311.759

house, but I was sent to the wrong

313.759

house. Uh, literally I was in there I'm

317.68

like doing exactly what it says to do.

319.759

No, the steps are two places further

322.96

into the application to actually trigger

325.28

what it was that I needed to test.

328.96

When you don't know the software and

330.56

you're relying on other people to help

332.08

you, it's really hard, especially when

334.8

it's a legacy application and there's

336.8

little documentation to get through some

338.8

of these problems. Sometimes you just

340.16

have to bang your head against the wall.

341.919

But sometimes you do finally get through

343.44

it. Like today we had a round uh round

346.16

table meeting, walked through it and

347.84

they're like, you know, maybe that's not

349.68

the right place. Why don't you go over

351.44

here and try this? And sure enough,

352.96

boom, it worked. And it's like done,

354.96

checked in. I'm going to lunch.

360.639

So this episode I actually changed gears

363.52

a little bit. Uh we started out with uh

366.479

let me get the original title because I

368.639

didn't spoil it earlier. Uh the title

372

was psychopaths scenarios and tough

374.16

coding challenges and I said all right

377.28

give me an episode topic and then I did

380

something extra this time I did a thing

382

as some people like to say is it said

384

hey would you like me to make that do

386.4

you want to make this more seriously

387.68

educational or light-hearted and

390.319

entertaining and me being me

392.8

lightigh-hearted and entertaining so

394.96

this is what we got that's why Michael

396.8

you just got a second uh up updated did

400

bunch of notes. So, it says, "Perfect,

402.8

because GPT likes me. I'm sure it

405.6

never treats you that well, right?" It

407.52

says, "Let's lean into the fun side of

408.8

psychopaths coding challenges. Here's a

410.56

light-hearted and entertaining spin for

412.24

your development or episode."

415.84

Fun intro hook. You ever open up a juro

418.319

jurro a jur ticket and think

422.24

this was definitely written by a

423.68

psychopath?

425.52

Not exactly where we went. Uh, one

428.24

second because it is there.

435.12

See, it's a good time to talk about

436.56

psychopaths.

440.88

And uh, okay. Open. Ever open a Jurro

444.08

ticket and think this was definitely

445.28

written by psychopaths. Welcome to the

446.72

world of impossible coding challenges,

448.319

unclear specs, and those gotcha

449.919

interview puzzles that feel like they

451.28

were designed by your evil twin. Now,

453.199

I'm going to start with this. The

454.88

original psychopaths we talked about

457.36

actually had nothing to do with this.

458.8

So, this is going to go down a path, no

460.88

pun intended, that we actually never

462.88

went down with this one. So, this is

464.16

going to be a fun one because when we

465.36

talked about psychopaths, we're actually

466.96

talking about testing and uh back the

470.479

inverse or the opposite of happy path.

472.88

We talk about hypath. You talk about the

475.199

paths that you normally go through. And

476.8

it actually was psychopaths that we as

478.879

we talked about it were those ones that

481.759

we have no idea how anybody gets on that

483.68

path. And yet they do. Similar to almost

485.919

similar to what Michael's uh description

488.08

was about his good thing, bad thing. So

491.12

I'm really looking forward to this one

492.56

because this is completely different

494.319

from where we went with it. The

495.84

psychopath starter pack. Uh this is the

498.639

segments that it's got. First segment,

500.56

half a requirement written on a napkin.

502.72

Legacy code with seven levels of nested

504.96

if statements. Just a small change that

506.96

spirals into rewriting half the app.

509.28

Coding interview question. Write a

511.039

compiler from scratch on the whiteboard

512.959

in 30 minutes. Laugh with the audience.

515.2

Exaggerate the absurdity. Make it

516.719

relatable. I do want to talk about this

518.88

a couple of these things just because

520.8

again we haven't. Uh I want to go to the

522.88

coding interview question.

525.12

I think we have I know we have mentioned

527.279

interviews and how to approach them and

528.8

things like that. Uh particularly if you

530.72

go back to the pre-developer world when

534.48

we had it for recruiters and some some

536.48

of that content that has flowed into the

538.48

developer side as well.

540.56

If you're doing a technical interview

542.88

these days, there are tools out there

545.04

that will help you do a technical

546.56

interview that make sense where it's

548.24

like, oh, sit down and write some code.

551.12

Those are the kinds of things you're

552.16

going to help because you if you're

553.519

going to try to figure out like if this

556

person could write a compiler from

557.6

scratch in 30 minutes on a whiteboard,

560.399

then maybe that is your very very niche

563.6

thing you need to do. But I don't know

564.88

that anybody does because if so then

566.32

they just wrote a compiler in 30 minutes

567.76

and now they're done and they don't you

568.88

don't really need to hire them. You need

570.64

to worry about figuring out how people

572.24

think when you're on a when you're on

573.92

the flip side of that when you're

575.04

interviewing. You need to make sure that

577.44

you're connecting to the people that

578.8

you're working with. You're

579.92

understanding the chemistry that's going

581.519

to be there or not. And then you're also

583.68

understanding what how they would like

584.959

you to think. Does that make sense to

586.24

you? Are the problems that they're

587.519

trying to solve the problems that you

589.519

are good at solving? the the whole like

593.12

the gotchas and all these kind of

594.8

there's been so many I'm in too many

596.48

technical interviews where it's like you

598.72

know what are the three different

601.2

versions of this command and the order

603.36

that you can do to the parameters and

604.88

it's like dude have you ever heard of

606.399

Google do you ever especially IDs they

608.24

autocomplete 90% of the time now so that

610.56

stuff just seems so not applicable to

614.16

what you're trying to do um before I

616.959

toss it back to you seven levels of nest

620.079

and if statements is actually goes to

621.519

back something we talked about before.

623.6

If you're using stat static code

625.519

analysis tools, then it's going to flag

627.519

stuff like you have a ridiculously over

629.6

complex procedure function chunk of

632.8

code. Fix it. And those are the kinds of

635.76

things that I think you will thank

637.12

yourself that you you straighten that

640.56

stuff out. Yes, the first time through

642.24

you were probably like just, you know,

644.48

bull in a china shop trying to get the

646.079

salt problem solved. But once you do,

648.56

you need to address that kind of

650

technical debt sooner rather than later

652.32

because it is going to hurt you for

653.6

maintainability,

655.279

scalability, reliability, quality, all

658.24

of the things that are important with

660.32

your code. And now I will step off my

663.2

soap box and let Michael step up on his.

666

>> So it's funny, you know, the seven

667.519

levels of if statements. A lot of times

669.6

you run into this situation because of

672.64

the half baked requirements or half of

675.279

the requirements written on a napkin

677.279

because you have partial requirements.

679.12

And if you're reading the requirements

680.399

and you have to ask yourself what if

682.48

this or what if that or I get to this

686.24

point and it goes this you know which

687.76

way which path do I go? That's sending

690.48

you down if then statements. You need to

692.8

clarify those before you start the work

695.36

because if you don't, you could write a

697.519

solution that doesn't solve the problem.

699.68

You could be solving your interpretation

701.68

of the requirement, not the requirement

703.92

itself. Uh it's interesting with that

706.8

though too. Um so the other thing that

709.2

was on here, you know, just a small

710.48

change that spirals into rewriting half

712.32

the app. If you are not using source

715.12

control, if you're not using something

716.48

like GitHub or if you're just using

718.64

Notepad and you're not using a modern

721.2

IDE tool that has some code review, code

725.44

repository um built into it, get it,

729.839

start using it

732.079

using these tools as you're working the

734.16

requirements, you can click a little

735.839

button and say, "Hey, what have I

738.16

changed for this uh for this code?" If

740.88

you see one or two files, a couple of

742.72

file changes, cool, you're good. If you

744.88

see 6 or 7 8 9 10 11 files start to

748

build up, you may want to pause and say,

750

"Wait, why am I making all these

751.68

changes? Why am I going down this rabbit

753.6

hole?" By not doing that, by not

756.399

checking that occasionally, you could go

758.72

so heads down that you have rewritten

761.04

half the application and not even be

763.04

aware of it till you get to the point

765.2

that you check in the code. So doing the

768.16

code checks as you're writing the code

769.76

is really good. And then the last little

772.079

note I'll throw out there is unit tests.

775.519

Write your unit test to go with this

777.6

because if you are writing tests to

779.44

check your code as you're writing it,

780.88

you're going to find very quickly that

782.24

if you're writing 20, 30, 50 unit tests,

785.2

you've written too much code for this

786.88

requirement. The co the requirement was

788.959

either halfbaked or not flushed out.

793.12

So, moving on. It says, "Next one,

794.959

developer war stories." Uh, share funny

797.12

nightmare challenge stories like, "We

798.8

found a bug. It was a semicolon two days

800.72

later. The spec said user friendly, but

802.959

no one could define what that meant.

804.88

Boss said it was urgent, then went on

806.8

vacation. Invite listeners to submit

808.88

their own psychopath scenarios for a

810.56

future episode." Um, let me go with the

812.72

last one about the boss saying it's

814.079

urgent. I've one of my favorite war

816.56

stories um from many years back now. Uh

821.68

I was working with a group uh also a

823.839

boutique consulting company matter of

825.2

fact and we had a customer and was just

828.56

wearing one of our main developer out or

830.72

like senior developer out which is all

832.72

these requests and so finally we sat her

834.88

down and said hey we need some

837.279

prioritization we need you know let's

840.399

talk about what is urgent what is you

843.76

know nice to have or what do we need to

845.76

have but it's not like immediately what

848.48

is nice to have and what is like ah if

850.079

you can get to and stuff like that. And

852.56

so we had a nice like we had the the

855.04

whole team in we had like an hourong

856.639

conversation stuff like that. She's like

858.24

cool I get it. Great. And so you know

861.36

week goes by come in Monday and we have

864.8

got 14 new issues and every one of them

868.16

is labeled urgent. It was like you smack

871.92

in your head because you're like you

873.92

don't get the point. If everything's

875.279

urgent then nothing's urgent. You know

876.72

it's like this is the boy who cried

878.48

wolf. is the chicken thinking the sky is

881.279

falling and stuff like that is it's like

883.279

you have got to have some level of

887.68

sanity to your prioritization of stuff

891.12

and I think this is the kind of thing

892.48

that do these are the kind of things

894.079

that do get us into these psychopath

896.079

scenarios that that chat GPD has come up

898.24

with where you've got

901.04

you've got competing sometimes competing

903.199

requirements and they're both you've got

905.76

to have both of them and it's like

908.399

Sometime this goes back to some of the

909.6

things we said before. Sometimes you

910.639

have to say no. Sometimes you have to

911.839

say look you cannot do both. You can't

914.959

you get one or the other. You cannot

916.48

just say well I want both because you

918.079

can want it all you want but that's like

920.32

sometimes time space you know

923.519

equilibrium the balance of the universe

926.56

those kinds of things cannot be

928.16

maintained if you have both. It's just

930.56

there's certain things that don't go

931.76

together or there's going to be a lack

933.12

of resources or all the other reasons

935.36

that you can have that is why we

937.92

actually have prioritization

940.399

and sometimes just like you hear they

942.56

said you might have to define what user

944.16

friendly meant. You might have to define

946.24

what priorities mean which is probably

948.399

wise every time I see a project book

950.24

that talks about prioritizing stuff it

952

actually gives examples of priorities

953.92

and what those kind of priorities look

955.6

like. So that was mine. Where do you

958.72

want to go on this one?

960.16

>> So, I'll take the first one. We found a

961.759

bug. It was a semicolon two days later.

964.16

So,

965.839

I think it was in the last episode we

967.68

talked about llinters and you know code

970.32

reviews, code repositories.

973.12

Oh my god, if you are not using llinters

975.68

and everyone is committing their code,

977.68

it's in a different format. You have no

979.44

idea who's making what changes to your

981.68

code. And so many times I've worked in

985.6

many companies and you go through enough

989.04

of these that eventually the

990.48

organization finally says, "Hey, we are

992.48

instilling coding standards. If you do

994.56

not follow this, you are going to be

996.48

shamed." And unfortunately, this is one

998.48

of those where shaming is almost the

1000.399

only way to make them stop if you can't

1002.399

get them to stop. And it is a pain. The

1006.88

problem with this one though, it it's

1008.72

not just the llinters, but sometimes you

1010.24

run into situations where you have very

1012

large complex code and if you have too

1014.639

many people in that code making changes

1016.88

at the same time. When you get to the

1019.199

code commits and you have people merging

1022.32

code, code gets missed. And if there are

1025.039

not unit tests wrapped around that code,

1027.52

it is missed. And it will be a day or

1030.64

two or a week later when your testers

1033.36

get in to start testing it. Pray to God

1035.52

it doesn't make it to the customer. But

1037.36

hopefully your testers will catch this.

1039.199

But you're going to find that whoops, a

1040.88

piece of code got missed in the merge or

1042.559

oh I overloaded or overwrote my change

1045.039

on yours. So oh my god, you just got to

1048.4

be very careful when dealing with your

1051.52

code. Uh and and you know Rob mentions

1054.559

this all the time. You need to be using

1056.64

code repository GitHub and and use

1059.44

llinters. Please use llinters because

1062

they will be a huge um savior and for

1066.559

your sanity and your code

1070.799

hoping mechanisms for surviving the

1072.72

madness. This one's actually pretty

1074.16

interesting. Humor. If you don't laugh,

1075.76

you'll cry. Or both. Snacks and

1077.919

caffeine. Every bug fix deserves at

1079.52

least one cookie. Rubber duck debugging.

1082.32

Sometimes the duck has better answers

1083.84

than Stack Overflow. And the ship it and

1086.4

run strategy. Just kidding. mostly. Um,

1090

we actually had one of the first places

1091.679

I worked, we we would joke about that we

1094

are going to skip the testing and pass

1095.679

the savings on to the customer and that

1097.919

was it was very there was way too often

1101.2

because we were doing commercial

1102.24

software. We were we had to like crank

1105.76

it out and sometimes we had to crank it

1108

out faster than we wanted to. But uh and

1110.24

we also this was this is a while back so

1112.559

the uh we had QA people there was

1116.48

testing and things like that but it was

1118

not to the level that it you know it is

1119.76

today. Um and that was a that was a

1122.88

challenge. I love the idea of rubber

1124.64

duck debugging. Um I have no idea what

1127.12

that means. Uh, but I do think that I'm

1130.32

going to take it in a way of, you know,

1132.16

sometimes it's um ask somebody just

1136.08

random, you know, like or like maybe

1138.24

you've got a family member that's

1139.2

sitting there. It's just like they're

1140.08

not a developer, just like what do you

1141.36

think about this? Uh, it's the same way

1143.12

as like stepping away or, you know, just

1146.24

do a random search. Just do some stuff

1148.16

to get out of the out of the madness and

1151.6

out of what's going on and maybe you'll

1153.76

find a way to solve whatever that

1156

problem happens to be. This is, you

1157.6

know, we're talking about the

1158.4

psychopath. We're talking about the

1159.52

craziness. We're talking about the

1160.64

things that are just going off the

1161.76

rails. Sometimes you need to walk away

1164.4

from the train crash for a little bit

1165.76

before you can go back to it and go,

1167.039

"Oh, here's how we need to clean it up."

1169.2

Things like that. Sometimes it's just

1170.64

take a deep breath. Sometimes it is like

1172.72

just all right, I'm going to go and I

1175.2

have been there where it's like, you

1176.16

know what? I'm just going to go to

1177.039

lunch. I am just going to go like hang

1179.36

out at the water cooler for 15 minutes.

1180.88

I just I need to get away because

1182.96

sometimes your sanity is going to get

1184.559

dragged into that, you know, dumpster

1186.48

fire if you don't watch out. How about

1188.559

you? Coping mechanisms, maybe some of

1190.32

your favorite ones.

1191.44

>> Oh, so if you don't laugh, you'll cry or

1194.16

both. Um, so I I kind of want to call

1197.36

out, you know, your um,

1200.4

you know, the ship it and run it

1202.48

strategy.

1204

Video games today are a good example of

1206.08

this. So many games are shipped before

1208.16

they're done and they go through a

1209.36

series of patches or what's called,

1210.96

"Hey, let's do a uh pre-release or it's

1214.4

in beta, but hey, we're collecting your

1216.72

money anyway."

1218.559

Microsoft is another good one for this

1220.32

because how many times has Windows come

1221.84

out and it's really not stable for 6

1223.44

months because hey, we need users to

1225.52

test our software. But I I start there

1228.72

because humor, you know, if you want to

1230.48

sit down and you release software and

1232.24

you sit down and you start to work on it

1233.919

and it's working, it's like great and

1235.84

then all a sudden it crashes, you know,

1237.6

why did it crash? Oh, hey, maybe you're

1239.52

a shopping site and you just found out

1240.88

that your site cannot handle Cyber

1242.96

Monday or Black Friday and you just are

1245.679

down. You're like, oh my god, what am I

1247.76

going to do? So, you're going to cry,

1249.12

but when you get through it, it's like,

1251.12

hey, there was kind of a good thing to

1253.12

that. we were so popular that they took

1255.2

our site down, but next year we need to

1257.28

be better than that, you know. So, so

1258.799

you get through it and you laugh about

1260.64

those. But the fun the last little fun

1262.799

one is the snacks and caffeine. So, I I

1265.44

have been an abuser of caffeine for

1267.2

years. I am down to reducing that uh

1270.48

horribly. Uh not horribly, but I've

1273.2

reduced the horrible abuse of it to

1275.039

something that's more manageable like

1276.72

one cup or one four cups a day tea bag.

1280

But the snacks. So my little like I

1283.2

guess treat, I have a jar of Jelly

1287.039

Bellies.

1288.559

And when I solve a particularly

1290.08

difficult problem, I go to that jar. I

1292.64

get a Jelly Belly. Now I You can very

1296.32

easily eat too many of them. But if you

1298.799

go to, hey, when did I solve this? You

1300.799

know, something good, it limits how

1303.76

often you can go to it. you you kind of

1305.6

have to set that bar a little high so

1307.28

you don't basically abuse your treats.

1311.52

>> Uh yes, I've done that in the past. I uh

1314

got it when I was working at a company

1315.28

that had we had a a drugstore down the

1318.96

street and people would regularly get a

1320.4

big old bag of various chocolates and

1322.72

stuff like that. So I'd be sitting, you

1324.24

know, there and and so we all started to

1326.96

get them. So whenever you get it, I get

1328.32

like a big old bag. I'd throw half of it

1330

in the front desk. I'd be there for

1331.28

people that came by and the rest would

1332.4

be sitting at my desk and next thing I

1333.76

know I'd have a little bucket there and

1335.2

I'd be like, "Oh, I'll try that. I'll

1336.88

get that." I do that around Christmas

1338.48

time every year, too. I'll go get some

1339.76

nice little Christmas mints and have

1340.96

them there. And uh I I probably need to

1344.559

set the bar higher for when I'm going to

1346.24

actually go for a treat on those things.

1349.039

Um turning chaos into superpowers. I do

1351.919

want to do this before we wrap up

1353.2

because it this is I think the important

1354.96

part. Every tough challenge secretly

1356.88

levels you up. Documentation detective.

1359.28

You can now read ancient high

1360.799

hieroglyphics like cobalt. Uh debugging

1363.679

ninja. You can spot a missing bracket

1365.28

from 10 feet away. Interview survivor.

1367.6

Nothing phases you after solving fsbuzz

1370

with dynamic programming.

1372.4

I think this is this is the key is we're

1375.6

going to have problems. We're going to

1376.64

have stuff go off the rails. We're going

1377.84

to have dumpster fires. We're going to

1379.12

be we're going to be going off the rails

1380.72

over the cliff while we're still trying

1382.32

to build stuff sometimes. But what

1385.12

doesn't kill you makes you stronger.

1386.64

We're going to go with that one. Um, it

1388.96

does make you better as a developer is

1390.64

that as you go through these things,

1391.84

you're going to figure out what to look

1392.96

for. You're going to know what the

1394.159

problems are. This is honestly, this is

1396.96

why RV Consulting is what it is and why

1399.039

we do what we do and why we are actually

1400.88

pretty good at a lot of the things we do

1402.799

because we have seen some really nasty

1406.4

situations and we've said, you know

1407.84

what, we've seen this before. We usually

1410.799

we know we're basically people are going

1412.72

to hide the skeletons. We know what are

1414.4

some of the problems that you're going

1415.6

to have. And this does vary based on

1417.919

your technology, your line of business,

1419.919

and stuff like that. There are certain

1421.28

things that are just the norms. So, if

1424

you're, and you probably know that if

1425.76

you've been doing this for a while, pick

1427.36

your language that you've been in, you

1429.12

know that there are for yourself,

1430.64

there's certain bugs that you're almost

1431.84

always going to do. There's typos or

1433.2

something like that that you're going to

1434.08

miss. Other people, when you're

1435.76

reviewing code, you're going to be like,

1436.96

"Oh, yeah, they missed this and they

1438.559

missed that, and these are the kinds of

1439.76

things to look for." You learn how to

1441.52

look for the the common things. And now

1444

granted the the psychopaths can be a

1446.32

little bit different where you're like,

1447.12

"Wow, I have never seen that before."

1448.96

But then the good news is the next time

1451.52

you will have seen that before cuz now

1453.12

you've seen this one. So you can sort of

1454.72

grow your list from uh common mistakes

1458.559

to uncommon mistakes to unique mistakes.

1462.24

But at least when you see them, a lot of

1463.919

times you'll find out that will even if

1466.08

it's unique, it will give you some

1467.919

skills that will help you find something

1470.08

close to that. and the next time you

1472.24

find something unique, you will be able

1473.679

to get it faster because you you've

1476

attuned yourself to maybe thinking

1477.84

outside of the box. So, what are some

1480.32

good takeaways for you or some maybe

1482.32

superpower that you see coming out of

1484

this?

1484.559

>> So, what number one of course is the

1487.36

debugging? As you learn software and you

1490.88

go through more and more projects and

1493.279

build different more complex systems,

1496.159

you're going to get better at spotting

1499.039

problems. um semicolon if you're using

1501.679

modern IDEs will tell you almost

1503.2

immediately. So hopefully that's not

1504.799

your biggest uh issue that you run into,

1507.679

but there are a lot of hidden things

1510.4

that getting better at writing unit test

1513.2

debugging code uh is huge. So I highly

1517.12

recommend learning to debug your code.

1519.919

Try breaking it. You know, if you

1521.36

haven't broken your code in a while and

1522.64

you're relying on the IDE a lot, uh,

1524.88

best way to test it is to go to like

1526.88

Notepad, go to Vim, write your code, and

1530.4

try to compile it from a command line

1532.24

compiler and see if it works. Chances

1535.12

are you probably forgot something and it

1537.2

broke. But that is one of for a lot of

1540

us uh, old fuddy duddies, uh, you know,

1542.64

we didn't have IDs back in the day. We

1544.48

had compilers. So um this is a very good

1547.6

way to become very uh good at catching

1550.48

debugging techniques or at least

1551.919

understanding compile errors uh very

1554.48

quickly. And the last thing I will throw

1556.32

with this is as you learn these things,

1558.559

go out to things like Stack Overflow.

1560.4

Take the problem you just solved, go see

1562.64

if other people are having it and go put

1564.64

your, you know, put your solution out

1567.279

there. One, you're contributing to the

1569.279

community. You're getting your name out

1570.799

there. And two, it's out there. So if

1572.64

you forget maybe 6 months, a year from

1574.799

now, you need to go find that problem

1576.64

again. You may find your comment out

1578.32

there and be like, "Oh yeah, I remember

1579.919

this. This is how I fixed it."

1583.44

I think that's probably one of the most

1585.12

valuable things out of all this is being

1586.559

able to take that and share it with

1588.88

somebody else is have some sort of

1590.159

documentation of it because like I find

1593.039

that that really helps me u absorb and

1597.84

digest what I just went through and give

1600

something that is like now it's and it

1601.679

forces you to also like learn from it.

1603.44

So not just be like okay I fix it and I

1604.96

can move on. It's like, "All right, I

1606.72

learned from that. Here's what I

1607.919

learned. Lesson learned, and it's going

1609.919

to be helpful for you, just like any

1611.52

other, you know, code repository and

1613.84

things like that we've talked about is

1615.039

like you're like, "Oh, yes. I've I

1616.559

remember I ran into this and this is

1618.08

what it looked like, and this is how I

1619.52

addressed it." So, if there's something

1621.12

that looks like that, again, you can

1622.96

reuse those skills.

1625.039

One of the things you can reuse is your

1626.559

skill to send an email. I'm going to

1628

throw that out there because, as always,

1629.44

I would love for you to send us

1630.88

something [email protected]. would love

1632.799

to hear your feedback, what are your

1634.24

thoughts, positives and negatives. What

1635.679

do you like? What don't you like? What

1637.2

did you like to see us talk about next?

1638.96

Because we do have plenty of stuff

1640.559

coming up. Uh, and we are also running

1644.799

out of time on this episode or this

1646.96

season. I think we got a few more

1648.48

episodes now left. We're still going to

1650.4

break through them, but then we will be

1651.6

into the next season. Who knows what

1653.44

we're going to do then? We don't even

1654.799

know. I think last time we just w we

1657.84

were winging it and then came in and

1659.36

like, "Hey, this is the episode we're

1660.64

this is the season we're going to do."

1662.24

So that is how prepared sometimes we are

1664.799

coming into this. But that's because

1666.4

there's just so much so much information

1668.64

out there. There's so many different

1669.76

ways we can go. As you've seen from

1671.84

this, we have left stuff on the table

1673.84

every single episode of topics that we

1676.72

could talk through. Uh sometimes they've

1678.08

been entire seasons that could come out

1679.52

of some of these topics. So love to hear

1681.679

from you because you are the reason we

1683.12

do it. You can leave us uh feedback,

1686.24

comments, stuff like that on the

1687.44

developer site. U feedback anywhere on

1689.6

any of our articles or the contact us

1691.36

form. You can check out the developer

1693.679

page on Facebook. You can see us at

1695.919

developer actually listen to us I guess

1697.679

or whatever. Read our our thoughts at

1700.08

developer onx and u just reach out

1703.76

wherever you find all the great ways to

1706.32

communicate. We're probably out there

1708

somewhere. Uh anywhere that you give

1709.919

podcasts, leave a leave us a note. Also,

1712.32

I'm can't forget to list the uh YouTube

1715.76

channel uh out on YouTube. We have the

1717.919

developer channel and there's tons and

1719.919

tons and tons of stuff out there. I just

1721.679

I'm I'm sometimes shocked at actually

1723.279

often shocked at how much stuff we have

1726

out there and it's useful. It's amazing

1727.919

how often I'll go search for something

1729.44

and it's like, oh, we wrote that. So,

1732

good stuff to know. Hopefully, it's

1733.44

helpful to you. Let us know how it is

1735.039

and how we can make it better. As

1737.279

always, I just want to say we appreciate

1738.64

so much the time you've given for us for

1740.32

just hanging out with us and uh for

1742.88

becoming a better developer because you

1744.559

becoming a developer is a better

1746.559

developer is going to make others around

1747.76

you and eventually it's going to come

1749.039

back to us and we're going to be dealing

1750.799

with projects that good developers

1752.559

wrote. So, we're not tearing our hair

1754.32

out trying to figure out where the

1755.76

documentation is, stuff like that. As

1757.76

always, go out there and have yourself a

1759.12

great day, a great week, and we will

1761.279

talk to you next time.

1765.12

bonus material.

1767.6

>> So, I want to start by all you listeners

1770

and viewers out there, send us your

1772.32

psychopaths. Tell us, you know, some of

1774.08

the challenges, some of the things that

1775.6

drive you crazy or that have gone off

1777.44

the rails. You know, let us know cuz

1779.279

this is one topic I think anyone can

1783.2

have a story about. Uh, just kind of go

1786.32

through the list and, you know, let us

1788

know. Um, but with that being said

1790.48

though, you know, psychopaths

1794.399

are not the happy past, but we we kind

1797.039

of diverged from the original topic from

1798.96

before. But psychopaths aren't always

1802.88

just, you know, bad. You know, they

1804.64

could still be happy past, but they

1806

could be things that take you off the

1807.44

rails. Again, you know, think like a

1810.64

choose your adventure story. If you get

1812.559

to a point where you c have option A, B,

1815.039

C, or D or multiple choice, chances are

1817.679

requirements aren't right. You're

1818.96

probably off the path. Um or you're

1822.399

going down the wrong path and you need

1825.2

to check yourself, you know, just so

1826.96

just

1829.36

the one biggest takeaway I guess of this

1831.2

is check yourself. Check what you're

1833.76

working on and check it back to the

1835.36

requirements. That's one of the easiest

1837.76

ways to make sure that you stay on

1839.36

track, that you're doing what needs to

1841.44

be done, and that your requirements are

1843.12

going to meet the needs of your uh user.

1846.88

This is why there is a why. This is what

1849.44

we go back to. That is your cornerstone.

1851.12

That is where you go back to like what

1852.88

are we solving?

1856.08

How are we solving it? And using that, I

1859.279

think often is going to give you like

1860.64

your north star as well. you know,

1862.48

something that's just going to say like

1863.76

this is how I get to anchor myself back

1865.44

to sanity to make sure that we're doing

1867.2

what we need to do and that we can, you

1869.919

know, have the confidence to rein in

1871.6

things that go off track or to realize

1874.24

that maybe that psychopath is something

1875.919

that we do have to take care of that

1877.679

somebody came in, thought outside of the

1879.2

box, and we're like, "Oh my gosh,

1880.72

they're not the only ones that they're

1882.08

not the only psychopaths out there." If

1883.52

you ever driven out in the driven on the

1885.52

roads, you know, there's a lot of

1886.72

psychopaths out there. So sometimes

1888.799

those are uh scenarios that you have to

1890.96

address that need to be uh part of you

1894.159

know your testing your exceptions and

1896.32

all the other kinds of stuff that go on

1897.84

there.

1899.919

I will wrap this one up because h we're

1902.32

just cruising right along here but I'm

1903.84

ready to go eat some dinner and stuff

1905.279

like that. So I'm going to wrap this one

1907.039

up. Let you go eat dinner, lunch,

1908.88

breakfast, whatever time of day it or

1910.559

just have a snack. Go have your little,

1912.48

you know, jelly belly because you just

1914.559

solved a problem. Creat yourself. go

1916.559

have like a little snack because you

1917.84

have treated yourself to some good

1919.6

content hopefully that has helped you

1921.039

become a better developer. Uh feel free

1923.76

to feed us with any thoughts that you

1925.76

have because we would love to gorge

1927.039

ourselves on such things and that is

1929.12

obviously I'm ready for dinner because I

1932.88

keep using those all of those little

1934.88

examples. That being said, thank you so

1937.679

much for your time. I appreciate all

1938.96

that you guys have done for you guys

1940.72

being a part of this for you guys giving

1942.159

us your time. As I said earlier,

1944.08

feedback is even more appreciated, but

1946.08

go out there and have yourself a good

1947.36

one, and we will talk to you next time.

1951.83

[Music]