📺 Develpreneur YouTube Episode

Video + transcript

Solving Problems Without Solving the Problem

2024-07-02 •Youtube

Detailed Notes

Welcome back to episode 3 of Season 22 of our Building Better Developers podcast. In this episode, we continue exploring problem-solving strategies. Previously, we discussed general problem-solving approaches. This episode delves into a nuanced topic: Solving Problems Without Solving the Problem. This concept frequently arises in various professional contexts, particularly in project management and consultancy.

Read more ... https://develpreneur.com/solving-problems-without-solving-the-problem

Stay Connected: Join the Developreneur Community

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

Additional Resources

* One Offs, Side Projects, and Veering From Standards (https://develpreneur.com/one-offs-side-projects-and-veering-from-standards/)

* Setting Realistic Expectations In Development (https://develpreneur.com/navigating-realistic-expectations-in-software-development/)

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

Transcript Text
[Music]
button hello we are here we just hit
record so I'm going to say hello uh we
are talking about our topic for today
the initial thing I pitched and I'm sort
of like reading this as we go uh two
things I pitched well thing I pitched I
guess for now would
be
basically talking
about doing a a presentation of of some
basically like doing an assessment and
what are some of
the challenges that you were run to run
into um it would be
you know it is really it's out of order
from what we're doing I do think it's
part of the developer
Journey um but I think it's also going
from instead of starting early developer
Journey we're sort of jumping ahead to
later development journey and it's
mostly because it was on on my mind I
can't imagine why but uh it was you know
something that is near and dear to us
right now and I think
it's I really think that this is is one
of those things that
is in general a good conversation point
about communicating stuff because I
think we have even if you're not doing
like a full-blown assessment of
something you are often asked to like
you know talk about your app that you
did or maybe do a demo especially now in
the world of of uh agile and scrums and
Sprints you are asked on a regular basis
and maybe this is how we you know we
narrow it down a little bit more to a
developer but you are asked on basis to
demo your stuff and to walk through it
and how do you show this and how do
you address the needs of varying
audiences now this yeah an assessment
does get a little bit
more definitely into advanced developer
stuff because it's where you're like
okay you may be talking to a CEO or
something like that but there's there's
a lot of little pieces to this that I
think are useful for us to to talk
through which is why I pitched this out
I think we could come back around to it
later um
that was sort of what I was going with
this one um yeah and I was reading your
notes on that and
I I kind of feel that this is more an
advanced topic like we probably for the
assessment piece talk more about that
maybe 15 episodes in or 20 episodes in
at this point though if we want to kind
of stick to this theme a little bit
though we could get
into uh all right so we kind of talked
about about going from coder to
developer problem solving so the next
progression of that if we follow your
train of thought but bring it back to
the earlier part of their Journey let's
talk about you know all right so now
that you're solving problems now you're
working in an an environment where you
have to solve these problems how do you
go about researching how to solve that
problem how to put together like a proof
of concept and then how to pitch it to
whoever as your
solution I think that works I think
that's something and it's this is one of
those areas I think we'll come back to a
couple times from different points of
view so I like that so we'll work so
this episode uh which actually sort of
goes the second one that I wanted I was
thinking about that'll be that next
episode um so sort of basically start
with we got a problem all right how do
we actually show that we're solving that
problem before we solve the problem
effectively um you know how to which is
things like proof of Concepts and demos
and those kinds of things and then the
the second one I wanted to get into
anyways I think May dovetail well with
that is sort of a okay what happens when
you say hey here's the problem we're
going to solve and here's how we're
going to solve it and somebody's like no
no no no we're going to do it completely
differently and dealing with that
because sometimes it's a customer and
it's like customer's always right
sometimes it's somebody at work where
it's like okay this person's always
picking a different path
how do I deal with this you know it's
not it's not quite the poison pill
person where it's somebody that you're
just poisoned everything it's just they
are your Nemesis or something like that
where it's like you get into stuff and
everybody and people will especially
early on you're going to see that in a
company where you're you know this is
the right way to go this is like you've
been taught this is how we have to do it
and they go a different direction so
it's how do you work within that and you
know it's the kinds of things like
making sure that
you don't get yourself in a bad
situation because you've overreacted to
it and it's also and some of it's you
know keeping an open mind and some
things like that and and figure out
where you can learn and where you can
work within a maybe a very different
framework than what you're used to so
that actually is near and dear to my
heart because I'm dealing with that
right now I'm working on a program I
have a very tight
deadline um it's with creating
worksheets I'm having to create a new
worksheet on the fly right now we don't
have the backend data yet so I'm having
to mock all this and I come to find out
that all the data objects that we're
using to generate the reports are not
domain objects they are reusing the dtos
that we received from all of our API
calls and they were not reformed into a
structured format so I'm having to go
through hoops to build essentially the
domain object or the report from all
these different locations of
data yeah this is actually something
this was a this came in on the request
line from Timothy from Oshkosh Wisconsin
there was like brought it up and I was
like one I'm G to use your name and two
that's a really good idea because that
is something we run into and he
mentioned that yeah you may know
something about
that yeah I no I like that okay
so that's where we're going to go we're
going to start with like how do you show
You' solved your problem hello and
welcome back we are continuing our
season where we're talking about
effectively we're talking about the
developer journey and building a better
developer you start from obviously not
being better to being better and notice
you never actually finish that journey
to better before we get on going too far
though I need to introduce myself my
name is Rob rhead one of the founders of
developing or building better developers
also founder of RB Consulting where we
do all kinds of nice little software
stuff mostly integration simplification
and Automation and sometimes it's
communication like with the man on the
other side Michael go ahead and
introduce yourself hey everyone my name
is Michael molash I'm another co-founder
of developer Nur I'm also the founder of
Invision QA where we help small midsize
businesses build custom software do
software assessments and also help small
clinical offices build Medical Solutions
that help their
systems this episode we're sort of
continuing on a little bit bit of our
our journey as we've gone through some
stuff we've talked about problem solving
essentially last episode around and so
this episode we're really going to talk
about how do you solve the problem
without solving the problem because this
is something we do run into on a regular
basis we may have to uh we may have to
write it up we may have to design
something there may be uh a proof of
concept or a demo or something like that
and it's how far some of it is how far
do you go where do you find the where do
you draw line
between doing something and doing it for
real and this is often going to be a
situation will come up if you end up in
that side hustle industry where you're
you're putting proposals together and
things like that somebody's going to say
hey can you do this for me and you'll
say yes I can and this is how I can do
it and then they'll ask for a little bit
more and sometimes they'll ask for a
little more and a little more a little
more and next thing no you've halfway
built their thing it's like look we've
already built it we've already put maybe
hundreds of hours into this at some
point it's like you know Fisher cut bait
you're either accepting this project
we're moving on or we're not and you
also don't want to give too much away I
mean it'd be like a a lawyer if they ask
you for you know you're like hey can I
get a little bit of advice and basically
you ask them for all the advice you
would need to be a lawyer then they've
just given it all away it's like well
wait a minute that's not free advice
anymore you just stolen my my knowledge
and it's not quite to that level but it
is something along that ways because you
need to often you need to step into a
problem start working that problem maybe
think through some of the solution put
some of those pieces in place maybe even
test them out through a proof of concept
and then move forward because you don't
want to put too much into it if one the
Project's going to be cancelled or two
they're going to go somewhere else or
three it's not a good solution sometimes
we get into this and we say here's the
problem here's the solution we get sort
of into it and it becomes not feasible
an example that I've run into lately is
uh working with a tool that was
gathering data and we looked at
initially it was like well here's how
you're going to gather data cool that
makes sense it's like we're going to go
from these sources and this is what
we're going to get and it's going to be
awesome and we're going to pull this all
all this stuff in well it turns out as
we get a little further into it a couple
of those sources their apis were too
expensive it wasn't going to it was too
limited it was going to be too cost
Worthy too much of a cost so we had to
go like a different route and then we go
the different route and we're actually
getting too much data because we're
doing stuff like search engine hits that
are bringing back you know pages and
pages of data that might be useful but
probably aren't and it takes a lot of
resources to mine that data to try to
find the the bits of information that
we're trying to and so in each of these
there was it's effectively a proof of
concept kind of thing so I go in it grab
some data put it together let's see how
it looks let's run it a few times let's
run it for something in a you know like
a small batch of data and then grow to
something bigger and see does that scale
and that's usually where you're going to
find out the issue which is my first
recommendation in this is that you start
small super super small like you know
one or two records or something like
it's basically prove the process once
can it be done once in the most simple
simple kind of situation and then let's
see if we can General that so we can
open that up a little bit more and make
it a general solution and then try to
look at what does that General solution
look like if you apply it to a larger or
maybe a real world maybe not fully real
world but a closer to real world set of
data for example if you're building
something that all it is is taking in
data from a CSV file and it's parsing it
and putting it somewhere start with like
three records just go in do three
records run through those see if that
works right if it does okay now let's
open it up to 400 records or a th000
records or something like that and then
maybe it grows to okay I'm going to give
it 10 different files and they've each
got a thousand records then you're like
okay this scales and
also whether it scales or not you are
going to be able to see even in the the
most positive say that okay this is the
growth curve of it if I've got 10
records it takes a microc if I've got a
100 records it takes three micros
seconds or whatever it is and it's so
you'll be able to see if that
progression continues is this some sort
of curve that's going to just go off
into space or is this something that's
like a nice you know curve or nice
progression line that I'm like oh cool I
know that I can do four million records
of this in x amount of time so the first
thing is with your solution when you're
doing that proof of concept the the
first thing what are you trying to prove
it's right what you trying to prove man
it's not one of those it's not like
you're going to get your fists up or
anything but is something where it
is I have a problem I've got a solution
and making sure that you're sort of as
you're going through this you're you're
keeping in your head or you're keeping
the the questions you want to answer is
where would this solution not be useful
and use those things to drive you know
your demo or your POC I'll throw it to
you because I've talked too much already
so what are your what are your thoughts
or maybe recommendation you
have yeah so to kind of build on that so
you I liked your idea you know where as
you're starting out you're trying to
figure out that proof of concept you're
trying to figure out how something works
the example you gave is a very good
example of test driven development
figure out your problem and then work
backwards to your solution so like you
said start with a small data set make
sure that works and then work your way
up to the larger data
set tching onto that what you're doing
your proof of concept as well when
you're working on trying to figure out
this problem or how to solve this
problem problem you don't always have to
go out and build a solution sometimes
you can go out and find apis or projects
out there that already exist that solve
the problem for you you don't have to
always go out and reinvent the wheel but
there are cases where sometimes that's a
necessity like if you're in health care
maybe you can't use these apis because
they're not uh secure enough or you they
might be open and you might run into
some hippo violations or some socks
compliance issues
so don't just look at hey how do I solve
this problem with my with my you know
building it from scratch can I use other
tools to build this are they compliant
with the environment I'm working in the
other thing is as you're putting this
together uh I had a very good case of
this and uh this was years ago Robin I
think this was even before I first met
you at uh the company we worked at was I
was approached with an idea of how can
we take this uh billing center um model
that we had within the company we had
like 20 some billing centers across the
country that was handling all the claims
information the customer information the
order information for uh medical
supplies and the whole problem with the
process was it was very manual so I was
tasked with okay how can we take this
manual process and automate it how can
we turn this into a program where
instead of people passing papers or
binders around how can we turn this into
a desktop or web application that we can
solve that we can essentially eliminate
this
problem so we started out analyzing what
the business did you know what is the
problem you know what are the processes
in this particular case we were trying
to replicate what uh someone was already
doing but we were trying to do it in the
software model
as we went through this process they
were like well here let's just start
with the binder and we literally just
replicated the worksheets that they
essentially had into a web application
everyone loved it it it looked
great problem you run into with this
sometimes is as you're building these
Solutions suddenly you find yourself in
a situation where you are now with a
live application so somehow along this
journey you've gone from this proof of
cont concept to oops you're now live
you're now supporting something that's
not quite done uh but to get there this
does happen but you have to be mindful
like Rob said as you're going through
this process you don't want to give away
everything but you also have to be
mindful that as you're putting the
pieces together that you don't find
yourself in a situation where oh someone
higher up sees this and says great let's
stick it out there live tomorrow and
you're like whoa I'm not ready this is
all mock data uh you know let's take a
step back you know how would you from
your perspective Rob how would you avoid
that situation you know what advice
could you give to our
viewers so that to answer that question
specifically um this is something that
we see on a on a
fairly I used to see it I think more
than we do now but as I'm thinking about
it now I actually do see it fairly
regularly because we have actually we
have a whole process now that is built
to address that if you are in the world
of agile and scrum in particular the
whole point is that at the end of a
Sprint you have a deliverable you have
something that technically is useful
software at the end of every single
Sprint and so it
actually instead of circumventing that
or trying to see that as a problem it
owns it and says cool this is something
we need to deal with and actually says
all right we can actually get the train
on the tracks and start moving forward
and it seems like it's seems like a bad
analogy but they're like we can start
building onto the train as we go and
sometimes that's very difficult
but it does allow that and actually in
the particularly in the web application
world and and some of those even a
little bit desktop but definitely in the
in the SAS
World it makes a lot of sense because
you can put together a nice framework of
stuff a really focused solution solution
and then build on top of that and now
this does sort of step into this proof
of concept thing sometimes the proof of
concept is um like for example this is
one the the application I was just
working on the first proof of concept
was like a page it's just you bring up a
page you enter some data in you hit a
button it goes and does some stuff it
kicks results out very simple not very
pretty but it turned out to be almost
the entire first phase of the project
and so it was you know was like oh okay
we're just going to add on this and this
and this and this now when we started to
add on that was when we started having
problems now this is where there are
some very powerful tools out there now
some people go zero code approaches
there are some of the things out there
that will allow you to do uh or even
like a figma or something like that
where you have an images you have a
clickable demo you can make it look you
roughly approximate like user experience
and look and feel and all that kind of
good stuff
and it allows you to make this a selling
point as opposed to like a a point of
caution now before we you I don't want
to miss one of the things that Michael
brought up was the idea of you know it
really is almost a precursor to this
point is when you're solving that
problem one of the things that I think
it is especially these days because the
problems are not unique very often they
make may be specific to you you may have
a specific need but generally speaking
there's a lot of stuff out there that
are also General problems that everybody
sees them especially when you go to like
in a a specific Silo like healthcare it
has its whole family of problems that
almost everybody in healthcare will talk
about it they know it they exist it's
just that's part of what it is likewise
in finance or um Automotive or you name
it real estate you name it whatever it
is there's that set of problems and
there are billions okay maybe not bons
lots and lots more than three developers
out there in the world that are cranking
through this stuff and there's
commercial software out there it is
that's one of the things I think it that
if nothing else when we were going
through all of those interviews and in
that long season or two there are a lot
of people we talked to that had very
Niche software uh services and products
that they did but they also had a large
number of customers so it makes sense in
the the ancient world of there's build
versus buy and I think that still exists
to some extent but also there is the
proof of concept the partial solution a
lot of times that is you go out and
maybe you buy but you can customize or
you know it's buy and extend or buy and
customize
or maybe open source and customize
there's different levels of risk of cost
and of you know return of an investment
and all these other there's a lot of
factors that go into these but when
you're considering your solution and
maybe this is part of what your proof of
concept is is really proving does it
make sense for us to build this or does
it make more sense to buy it or does it
make more sense to go to one of these
products that's out there that provides
it and a lot of times like I've gone
through several RFP processes where that
was really upfront that was sort of the
front loaded thing was do we actually go
to an
RFP and if we do we need to know or it's
very helpful to know this is what it's
going to cost for us to build it this is
what we see in the market and here's
what we're actually looking for because
sometimes you you know you are looking
for I need this solution I need a
product that I can get off the shelf
that gets me 80% of the way there but to
be useful to me these are explicit
customizations or features that I need
to get me a cross the finish line for
myself now I took a while and I went off
on a rabbit Trail so I do want to swing
back around and say did that get you
that answer the question the way you're
looking for and allow you to tack on to
that if you if you for a followup yeah
and a lot of those
situations now I know we touched on
agile and some more complicated things
we'll get into more depth of those along
the journey here but that's the idea the
problem as you addressed through you
using particular development Frameworks
or development models like agile is
those are designed to prevent that but
there are still situations where hey
I've got this idea or I've got this
problem I start working it but s you
know you could be working in a silo and
suddenly oops you now have the solution
and like I said you're now live so you
kind of you do run into situations where
you do come
across kind of one-offs where you kind
of fall outside of the traditional model
uh could be by chance it could just be
uh happen stance but those are are good
things to happen because when you run
across that
um it's good and bad it's good because
yes you've solved the problem people
like your solution they're ready to go
run with it but sometimes that's you
know we got to learn to walk before we
run but sometimes you're running before
you're walk it's like whoops you're
already out the door gone and it's like
what just happened uh
but don't be afraid of those thrive on
those you know I love looking up new
technologies how does that work you know
it's like taking the TV apart and trying
to put it back together it may not
always work but you know you figure out
how the inner workings work and so the
next time something breaks you can
figure out how to move on how to make it
better how to integrate that next
project or you know go to your boss and
say hey I heard you had this problem let
me take the stab at it go figure out how
to fix this and come up with a solution
for you let me do a
p and that I guess just some closing
thoughts on this one as we wrap this one
up is that you do want to embrace that
if somebody comes to you and says hey I
need you to solve a problem and you you
give them a
solution if it's something that looks
like they're going to push that out
there sooner rather than later then that
may be okay that may be awesome you may
suddenly be able to retire you know a
lot ear than you thought you were going
to or maybe a major headache and so you
run into those situations and we'll I
think this is something we will come
back to um and focus more in in another
episode but there
is in a lot of cases there is a cost
once you are live with things like
updating data maintaining data
replicating data and all that kind of
stuff because now as you build and then
even changing data this is something
particularly changing that I have seen
in a lot of projects and there's one in
particular that I worked with this
customer and we we had a solution and
we're like cool we're going to do this
and we came got further down the road
and we changed the solution they're like
wow we really need it this way I was
like cool that makes sense the problem
was we didn't really think through
didn't really understand how much impact
that was going to make it's one of those
where like oh it's going to be a couple
changes here couple changes there field
here report there but it wasn't until we
got further into it and realized that
there was you know relationships and
things with within the data particular
with the existing data that we now had
to migrate out of and it was a very it
was a very painful tedious process to do
it so there's some things like that that
you want to be aware that you may be
biting off more than you chew you can
chew and particularly when you're you
want to get that solution out they want
to get the solution out sometimes it's
easier to say you know what we'll just
we can punt that down the road and we'll
tackle that data later but in particular
data and data structures
have their own weight and momentum and
there may be a migration you have to do
in your future and we've seen it in
every piece of software out there that
goes through major releases eventually
there's a watershed or something where
you have to actually migrate into the
new system what you don't have to do is
migrate to another podcast because we're
here you can take everything you've
heard from us from all of these hundreds
of episodes and Carry It Forward into
the next episode so check us out
wherever you you know subscribe wherever
you do your podcast you can check us out
on YouTube you can check us out on
developer.com you can shoot us an email
at info developer.com like somebody
we're going to highlight we'll say in
the next episode where we've gotten
requests from out there and got some
good questions that we can talk about we
would love to take those from you as
well that being said I want to respect
your time so go out there and have
yourself a great day great week and we
will talk to you next
time and bonus information is there any
bonus material your thinking of yeah
actually so as you were kind of giving
your final thoughts just kind of jumped
into my mind as you're doing proof of
concept one of the other things to be
mindful and we all do is like oh great
let's go figure this out so you quickly
or maybe slowly figure out the solution
to the problem make sure you are a
little methodical with your
documentation your structure and your
notes as you go through the process of
your POC there's been many times I've
been bad about this I've seen a lot of
people where you get so excited you get
to that solution then you're like go
back and you try to maintain it and you
have spaghetti coat or you have no idea
where the heck you found that solution
or this one thing that is what you need
to do it as you go through the
process either keep track of your
browser history keep track of your bash
history but just take the time maybe
give yourself some checkpoints at the
beginning at least to document what
you're doing create a readme file but
just do something to keep track of
everything you're doing every so often
so when you do get to the end of the POC
if it happens to go live you have a way
of maintaining this not like oh my God
how the hell did I do this moment yeah
that's
where I've been in that couple the
refactoring can get to be pretty
nasty um the biggest Pro and this
becomes multiplied as an issue if you
have multiple Developers for example
I've got an app I was just looking
through not too long ago that we built
we built it quick we did a lot of stuff
we're making a lot of changes and I was
looking through the code and I was
really confused because we had three
copies of the same method the same
function was sitting there they're
basically almost back to back to back
and somewhere along the way we had
missed that hey we already have that so
code review would have caught that
theoretically um also there should be
some level of seeing that if you're
doing if you're really focusing on like
pull requests and and committing code
again it does go back to some level of
code review but these are kind of things
as you're building them try to you know
keep some notes use the docent
particularly if you've got built-in
documentation tools like Java do or
something like that is just you should
be in the habit of doing that kind of
documentation at the very least like I
do I do like daily standups if you've
got a little status or something that
you can go see what was your standups
then maybe you can see what was you know
done along the way or use like if you're
using Trello or jro or you name it one
of those tools then you can occasionally
look back at stuff like did we already
do that or didn't we um and then even
within the code just like there's a lot
of things like that that you can do I
don't again another
episode but if you start with the the
basic good habits of being a developer
then those will help those will help you
moving
forward that being said I'll say one I
let you say something um the other thing
though is if you are doing a POC
sometimes this is a new application or
new project so you may not have all
those things in place that Rob said like
J A bitbucket so what you might want to
do is first start out by building a git
repo build a local get repo and do it
locally and make sure that you commit
your code often so that you kind of have
that uh running tally of what it is
you're doing what's this change what's
that change so when you're done even if
it is just a PO but you decide to
refactor it later you have all those
notes you can put into the code AS
comments or hopefully you wrote the code
cleanly and the code is self-documenting
but sometimes poc's are quick we're just
trying to get it out there make sure it
works and then come back and see if we
can plug it into something bigger I
agree I would just say that don't ever
it should never be that it should always
like just it's so easy to spin up a
repository especially if you use GitHub
it's going to automatically have you can
use the the template kind of thing you
will have a issue tracker you will have
you know your Version Control you can do
like you don't have to go do a bunch of
branches or anything like that you can
have a main trunk that you just are
you're committing to along the way you
got comments trust me I have
built probably hundreds of demos and
proof of Concepts and every one of them
exists somewhere in some Version Control
repository somewhere if nothing else so
that you have a backup of where that
stuff is and when particularly this is
almost more important with proof of
Concepts because you want to have that
history of what did you do so if that
thing grows you can always go back to
something go hey I used to do that and
go find it it is more important I would
say starting out maybe even than it does
further down the road almost as
important as you checking in next time
around we're going to wrap this this one
up and we will be back next time
obviously you guys are at the right
place because you're at YouTube you get
to see our glowing faces while we're
talking to you come on back or if for
some reason you can't stand our faces we
won't take offense we get it we have to
look at them all the time you can use a
podcast and then it's pure audio and
then all you have to do is just put up
with our voices that being said go out
there and have yourself a great day and
we'll check in with you next time around
[Music]
Transcript Segments
1.35

[Music]

27.48

button hello we are here we just hit

29.599

record so I'm going to say hello uh we

32

are talking about our topic for today

35

the initial thing I pitched and I'm sort

36.68

of like reading this as we go uh two

39

things I pitched well thing I pitched I

41.36

guess for now would

42.719

be

44.6

basically talking

47.399

about doing a a presentation of of some

51.36

basically like doing an assessment and

52.92

what are some of

54.16

the challenges that you were run to run

56.96

into um it would be

61.32

you know it is really it's out of order

63.92

from what we're doing I do think it's

65.4

part of the developer

66.96

Journey um but I think it's also going

70.119

from instead of starting early developer

73.08

Journey we're sort of jumping ahead to

74.799

later development journey and it's

76.2

mostly because it was on on my mind I

79.72

can't imagine why but uh it was you know

82.4

something that is near and dear to us

84.6

right now and I think

87.64

it's I really think that this is is one

90.2

of those things that

92.72

is in general a good conversation point

95.759

about communicating stuff because I

97.399

think we have even if you're not doing

99.799

like a full-blown assessment of

101.799

something you are often asked to like

106.119

you know talk about your app that you

107.479

did or maybe do a demo especially now in

109.36

the world of of uh agile and scrums and

112.799

Sprints you are asked on a regular basis

115.759

and maybe this is how we you know we

117.159

narrow it down a little bit more to a

118.52

developer but you are asked on basis to

120.52

demo your stuff and to walk through it

122.119

and how do you show this and how do

124.56

you address the needs of varying

127.479

audiences now this yeah an assessment

129.28

does get a little bit

131.08

more definitely into advanced developer

134.16

stuff because it's where you're like

136.04

okay you may be talking to a CEO or

139

something like that but there's there's

140.56

a lot of little pieces to this that I

142.239

think are useful for us to to talk

144.92

through which is why I pitched this out

146.8

I think we could come back around to it

148.64

later um

150.4

that was sort of what I was going with

151.48

this one um yeah and I was reading your

155.16

notes on that and

157.92

I I kind of feel that this is more an

162

advanced topic like we probably for the

165.12

assessment piece talk more about that

167.68

maybe 15 episodes in or 20 episodes in

172.28

at this point though if we want to kind

174.08

of stick to this theme a little bit

175.72

though we could get

177.4

into uh all right so we kind of talked

179.64

about about going from coder to

181.519

developer problem solving so the next

184.36

progression of that if we follow your

186.72

train of thought but bring it back to

190.04

the earlier part of their Journey let's

192.76

talk about you know all right so now

195.519

that you're solving problems now you're

197.879

working in an an environment where you

200.72

have to solve these problems how do you

202.4

go about researching how to solve that

204.92

problem how to put together like a proof

207

of concept and then how to pitch it to

210.36

whoever as your

213.04

solution I think that works I think

215.319

that's something and it's this is one of

216.68

those areas I think we'll come back to a

217.959

couple times from different points of

222.159

view so I like that so we'll work so

224.56

this episode uh which actually sort of

226.879

goes the second one that I wanted I was

228.48

thinking about that'll be that next

230.36

episode um so sort of basically start

234.959

with we got a problem all right how do

237.28

we actually show that we're solving that

239.2

problem before we solve the problem

241.48

effectively um you know how to which is

243.84

things like proof of Concepts and demos

246.76

and those kinds of things and then the

248.92

the second one I wanted to get into

250.28

anyways I think May dovetail well with

251.92

that is sort of a okay what happens when

254.4

you say hey here's the problem we're

255.879

going to solve and here's how we're

256.84

going to solve it and somebody's like no

258.68

no no no we're going to do it completely

260.199

differently and dealing with that

262.32

because sometimes it's a customer and

263.759

it's like customer's always right

265.32

sometimes it's somebody at work where

266.52

it's like okay this person's always

268.84

picking a different path

270.479

how do I deal with this you know it's

272.32

not it's not quite the poison pill

274.88

person where it's somebody that you're

276.199

just poisoned everything it's just they

279.039

are your Nemesis or something like that

281.56

where it's like you get into stuff and

283.4

everybody and people will especially

286.12

early on you're going to see that in a

287.479

company where you're you know this is

290.28

the right way to go this is like you've

291.88

been taught this is how we have to do it

294.199

and they go a different direction so

295.919

it's how do you work within that and you

298.8

know it's the kinds of things like

299.88

making sure that

301.56

you don't get yourself in a bad

303.84

situation because you've overreacted to

305.72

it and it's also and some of it's you

307.52

know keeping an open mind and some

308.8

things like that and and figure out

310.28

where you can learn and where you can

311.96

work within a maybe a very different

315.16

framework than what you're used to so

318.12

that actually is near and dear to my

321.16

heart because I'm dealing with that

322.8

right now I'm working on a program I

325.44

have a very tight

326.96

deadline um it's with creating

330.8

worksheets I'm having to create a new

333.4

worksheet on the fly right now we don't

335.039

have the backend data yet so I'm having

336.52

to mock all this and I come to find out

338.919

that all the data objects that we're

340.759

using to generate the reports are not

343.039

domain objects they are reusing the dtos

345.52

that we received from all of our API

347.639

calls and they were not reformed into a

350.4

structured format so I'm having to go

353.039

through hoops to build essentially the

356.199

domain object or the report from all

358.72

these different locations of

361.44

data yeah this is actually something

363.639

this was a this came in on the request

366.12

line from Timothy from Oshkosh Wisconsin

368.44

there was like brought it up and I was

370.4

like one I'm G to use your name and two

373.08

that's a really good idea because that

374.599

is something we run into and he

376.039

mentioned that yeah you may know

377.28

something about

378.639

that yeah I no I like that okay

383

so that's where we're going to go we're

384.759

going to start with like how do you show

387.36

You' solved your problem hello and

390.28

welcome back we are continuing our

392.36

season where we're talking about

394.319

effectively we're talking about the

395.479

developer journey and building a better

397.36

developer you start from obviously not

399.72

being better to being better and notice

403

you never actually finish that journey

405.84

to better before we get on going too far

408.84

though I need to introduce myself my

410.08

name is Rob rhead one of the founders of

412.24

developing or building better developers

414.88

also founder of RB Consulting where we

416.84

do all kinds of nice little software

418.479

stuff mostly integration simplification

420.879

and Automation and sometimes it's

423.879

communication like with the man on the

426.039

other side Michael go ahead and

427.56

introduce yourself hey everyone my name

429.96

is Michael molash I'm another co-founder

431.879

of developer Nur I'm also the founder of

434

Invision QA where we help small midsize

436.319

businesses build custom software do

438.36

software assessments and also help small

440.72

clinical offices build Medical Solutions

443.199

that help their

445.319

systems this episode we're sort of

448.44

continuing on a little bit bit of our

450.4

our journey as we've gone through some

452.36

stuff we've talked about problem solving

454.96

essentially last episode around and so

456.68

this episode we're really going to talk

458.28

about how do you solve the problem

460.56

without solving the problem because this

462.08

is something we do run into on a regular

463.84

basis we may have to uh we may have to

466.199

write it up we may have to design

468.28

something there may be uh a proof of

470.919

concept or a demo or something like that

472.639

and it's how far some of it is how far

475.44

do you go where do you find the where do

478.8

you draw line

480.08

between doing something and doing it for

483.599

real and this is often going to be a

486.08

situation will come up if you end up in

489

that side hustle industry where you're

490.72

you're putting proposals together and

492.12

things like that somebody's going to say

493.84

hey can you do this for me and you'll

496.479

say yes I can and this is how I can do

498.36

it and then they'll ask for a little bit

500.08

more and sometimes they'll ask for a

501.599

little more and a little more a little

502.52

more and next thing no you've halfway

503.72

built their thing it's like look we've

505.36

already built it we've already put maybe

507.879

hundreds of hours into this at some

510.28

point it's like you know Fisher cut bait

513.399

you're either accepting this project

514.8

we're moving on or we're not and you

516.8

also don't want to give too much away I

518.399

mean it'd be like a a lawyer if they ask

522.519

you for you know you're like hey can I

523.719

get a little bit of advice and basically

526.399

you ask them for all the advice you

528.12

would need to be a lawyer then they've

530.36

just given it all away it's like well

531.959

wait a minute that's not free advice

533.16

anymore you just stolen my my knowledge

536.32

and it's not quite to that level but it

538.32

is something along that ways because you

540.56

need to often you need to step into a

545.079

problem start working that problem maybe

546.839

think through some of the solution put

548.839

some of those pieces in place maybe even

550.64

test them out through a proof of concept

552.959

and then move forward because you don't

555.44

want to put too much into it if one the

557.72

Project's going to be cancelled or two

559.8

they're going to go somewhere else or

561.079

three it's not a good solution sometimes

563.72

we get into this and we say here's the

565.6

problem here's the solution we get sort

569.2

of into it and it becomes not feasible

573.36

an example that I've run into lately is

576.68

uh working with a tool that was

578.8

gathering data and we looked at

581.48

initially it was like well here's how

582.56

you're going to gather data cool that

584

makes sense it's like we're going to go

585.44

from these sources and this is what

586.56

we're going to get and it's going to be

587.6

awesome and we're going to pull this all

588.92

all this stuff in well it turns out as

591.12

we get a little further into it a couple

593.48

of those sources their apis were too

595.16

expensive it wasn't going to it was too

597

limited it was going to be too cost

598.64

Worthy too much of a cost so we had to

601.079

go like a different route and then we go

602.959

the different route and we're actually

604.16

getting too much data because we're

605.8

doing stuff like search engine hits that

607.92

are bringing back you know pages and

610.079

pages of data that might be useful but

612.24

probably aren't and it takes a lot of

614.279

resources to mine that data to try to

616.76

find the the bits of information that

618.839

we're trying to and so in each of these

622.68

there was it's effectively a proof of

624.36

concept kind of thing so I go in it grab

626.32

some data put it together let's see how

627.88

it looks let's run it a few times let's

629.32

run it for something in a you know like

630.8

a small batch of data and then grow to

633.32

something bigger and see does that scale

635.519

and that's usually where you're going to

636.56

find out the issue which is my first

639

recommendation in this is that you start

642.399

small super super small like you know

645.519

one or two records or something like

646.8

it's basically prove the process once

650.48

can it be done once in the most simple

653.92

simple kind of situation and then let's

658.16

see if we can General that so we can

660.2

open that up a little bit more and make

661.92

it a general solution and then try to

664.68

look at what does that General solution

666.2

look like if you apply it to a larger or

669.079

maybe a real world maybe not fully real

671.279

world but a closer to real world set of

674

data for example if you're building

677.12

something that all it is is taking in

678.68

data from a CSV file and it's parsing it

680.76

and putting it somewhere start with like

683.12

three records just go in do three

685.56

records run through those see if that

687.88

works right if it does okay now let's

690.079

open it up to 400 records or a th000

692.72

records or something like that and then

693.839

maybe it grows to okay I'm going to give

695.68

it 10 different files and they've each

697.279

got a thousand records then you're like

699.399

okay this scales and

701.04

also whether it scales or not you are

703.519

going to be able to see even in the the

705.2

most positive say that okay this is the

708.16

growth curve of it if I've got 10

710.2

records it takes a microc if I've got a

713.6

100 records it takes three micros

715.839

seconds or whatever it is and it's so

717.639

you'll be able to see if that

719.72

progression continues is this some sort

722.04

of curve that's going to just go off

723.48

into space or is this something that's

725.079

like a nice you know curve or nice

727.6

progression line that I'm like oh cool I

729.76

know that I can do four million records

732.76

of this in x amount of time so the first

735.839

thing is with your solution when you're

738.88

doing that proof of concept the the

742.399

first thing what are you trying to prove

744.8

it's right what you trying to prove man

746.36

it's not one of those it's not like

747.56

you're going to get your fists up or

748.639

anything but is something where it

751.44

is I have a problem I've got a solution

754.839

and making sure that you're sort of as

756.76

you're going through this you're you're

758.12

keeping in your head or you're keeping

759.76

the the questions you want to answer is

762.079

where would this solution not be useful

765.76

and use those things to drive you know

768.44

your demo or your POC I'll throw it to

771.12

you because I've talked too much already

772.32

so what are your what are your thoughts

773.399

or maybe recommendation you

775.24

have yeah so to kind of build on that so

779.32

you I liked your idea you know where as

782.079

you're starting out you're trying to

782.92

figure out that proof of concept you're

784.279

trying to figure out how something works

786.48

the example you gave is a very good

788

example of test driven development

789.519

figure out your problem and then work

791.839

backwards to your solution so like you

793.639

said start with a small data set make

795.48

sure that works and then work your way

796.839

up to the larger data

798.639

set tching onto that what you're doing

802.16

your proof of concept as well when

803.959

you're working on trying to figure out

806.72

this problem or how to solve this

808.92

problem problem you don't always have to

811.44

go out and build a solution sometimes

813.76

you can go out and find apis or projects

817.76

out there that already exist that solve

820.24

the problem for you you don't have to

821.88

always go out and reinvent the wheel but

824.399

there are cases where sometimes that's a

827.16

necessity like if you're in health care

829.199

maybe you can't use these apis because

831.24

they're not uh secure enough or you they

834.48

might be open and you might run into

836.24

some hippo violations or some socks

838.6

compliance issues

841.04

so don't just look at hey how do I solve

844.32

this problem with my with my you know

847.199

building it from scratch can I use other

849.6

tools to build this are they compliant

852.48

with the environment I'm working in the

854.839

other thing is as you're putting this

856.72

together uh I had a very good case of

859.32

this and uh this was years ago Robin I

861.88

think this was even before I first met

864.279

you at uh the company we worked at was I

869.16

was approached with an idea of how can

871.839

we take this uh billing center um model

876.759

that we had within the company we had

878.6

like 20 some billing centers across the

881.399

country that was handling all the claims

884

information the customer information the

885.48

order information for uh medical

889.48

supplies and the whole problem with the

892.079

process was it was very manual so I was

894.519

tasked with okay how can we take this

896.56

manual process and automate it how can

898.839

we turn this into a program where

900.56

instead of people passing papers or

902.199

binders around how can we turn this into

904.72

a desktop or web application that we can

908.68

solve that we can essentially eliminate

910.959

this

912.36

problem so we started out analyzing what

916.399

the business did you know what is the

918.279

problem you know what are the processes

921.12

in this particular case we were trying

922.8

to replicate what uh someone was already

926.04

doing but we were trying to do it in the

928.12

software model

929.959

as we went through this process they

931.6

were like well here let's just start

933.199

with the binder and we literally just

935.519

replicated the worksheets that they

937.839

essentially had into a web application

941.72

everyone loved it it it looked

943.959

great problem you run into with this

946.56

sometimes is as you're building these

949.12

Solutions suddenly you find yourself in

951.399

a situation where you are now with a

954.04

live application so somehow along this

957.12

journey you've gone from this proof of

958.72

cont concept to oops you're now live

961.44

you're now supporting something that's

962.68

not quite done uh but to get there this

967.399

does happen but you have to be mindful

969.72

like Rob said as you're going through

971.079

this process you don't want to give away

972.519

everything but you also have to be

974.04

mindful that as you're putting the

975.399

pieces together that you don't find

976.839

yourself in a situation where oh someone

979.759

higher up sees this and says great let's

981.92

stick it out there live tomorrow and

984.16

you're like whoa I'm not ready this is

985.88

all mock data uh you know let's take a

988.6

step back you know how would you from

991.6

your perspective Rob how would you avoid

994.279

that situation you know what advice

995.8

could you give to our

998.36

viewers so that to answer that question

1001.399

specifically um this is something that

1003.6

we see on a on a

1005.16

fairly I used to see it I think more

1007.36

than we do now but as I'm thinking about

1010.079

it now I actually do see it fairly

1011.319

regularly because we have actually we

1014.48

have a whole process now that is built

1017.279

to address that if you are in the world

1020.319

of agile and scrum in particular the

1023.56

whole point is that at the end of a

1026

Sprint you have a deliverable you have

1029.12

something that technically is useful

1031.919

software at the end of every single

1033.919

Sprint and so it

1036.079

actually instead of circumventing that

1039.24

or trying to see that as a problem it

1041.16

owns it and says cool this is something

1043.839

we need to deal with and actually says

1046.88

all right we can actually get the train

1049.08

on the tracks and start moving forward

1051.16

and it seems like it's seems like a bad

1053.48

analogy but they're like we can start

1054.679

building onto the train as we go and

1057.44

sometimes that's very difficult

1059.559

but it does allow that and actually in

1062.28

the particularly in the web application

1065.28

world and and some of those even a

1067.48

little bit desktop but definitely in the

1069.679

in the SAS

1071.559

World it makes a lot of sense because

1074.28

you can put together a nice framework of

1076.52

stuff a really focused solution solution

1080.039

and then build on top of that and now

1082.52

this does sort of step into this proof

1085.52

of concept thing sometimes the proof of

1087.52

concept is um like for example this is

1091.12

one the the application I was just

1092.679

working on the first proof of concept

1094.6

was like a page it's just you bring up a

1096.919

page you enter some data in you hit a

1099.039

button it goes and does some stuff it

1100.919

kicks results out very simple not very

1104.52

pretty but it turned out to be almost

1107.4

the entire first phase of the project

1110.76

and so it was you know was like oh okay

1112.48

we're just going to add on this and this

1113.76

and this and this now when we started to

1115.48

add on that was when we started having

1118.64

problems now this is where there are

1121.159

some very powerful tools out there now

1123.88

some people go zero code approaches

1125.6

there are some of the things out there

1126.679

that will allow you to do uh or even

1128.919

like a figma or something like that

1130.12

where you have an images you have a

1131.84

clickable demo you can make it look you

1134.44

roughly approximate like user experience

1137

and look and feel and all that kind of

1138.36

good stuff

1139.96

and it allows you to make this a selling

1143.12

point as opposed to like a a point of

1146.32

caution now before we you I don't want

1149.2

to miss one of the things that Michael

1151.48

brought up was the idea of you know it

1156.52

really is almost a precursor to this

1158.4

point is when you're solving that

1160.28

problem one of the things that I think

1162.88

it is especially these days because the

1165.36

problems are not unique very often they

1168.559

make may be specific to you you may have

1170.44

a specific need but generally speaking

1172.919

there's a lot of stuff out there that

1174.48

are also General problems that everybody

1177.36

sees them especially when you go to like

1179.96

in a a specific Silo like healthcare it

1183

has its whole family of problems that

1186

almost everybody in healthcare will talk

1187.44

about it they know it they exist it's

1189.039

just that's part of what it is likewise

1191.36

in finance or um Automotive or you name

1195.159

it real estate you name it whatever it

1196.88

is there's that set of problems and

1200.64

there are billions okay maybe not bons

1203.24

lots and lots more than three developers

1206.12

out there in the world that are cranking

1208.24

through this stuff and there's

1209.24

commercial software out there it is

1211.6

that's one of the things I think it that

1213.4

if nothing else when we were going

1215.039

through all of those interviews and in

1216.88

that long season or two there are a lot

1219.44

of people we talked to that had very

1221.32

Niche software uh services and products

1224.76

that they did but they also had a large

1226.28

number of customers so it makes sense in

1229.48

the the ancient world of there's build

1231.88

versus buy and I think that still exists

1235.28

to some extent but also there is the

1239.36

proof of concept the partial solution a

1241.72

lot of times that is you go out and

1243.76

maybe you buy but you can customize or

1247.32

you know it's buy and extend or buy and

1249.96

customize

1251.64

or maybe open source and customize

1255.12

there's different levels of risk of cost

1259.52

and of you know return of an investment

1261.48

and all these other there's a lot of

1263.039

factors that go into these but when

1265.799

you're considering your solution and

1267.36

maybe this is part of what your proof of

1269.36

concept is is really proving does it

1272.799

make sense for us to build this or does

1275.36

it make more sense to buy it or does it

1276.96

make more sense to go to one of these

1278.52

products that's out there that provides

1280

it and a lot of times like I've gone

1282.919

through several RFP processes where that

1285.679

was really upfront that was sort of the

1288.24

front loaded thing was do we actually go

1290.4

to an

1291.24

RFP and if we do we need to know or it's

1294.919

very helpful to know this is what it's

1296.559

going to cost for us to build it this is

1299.24

what we see in the market and here's

1301.64

what we're actually looking for because

1304

sometimes you you know you are looking

1305.919

for I need this solution I need a

1308.6

product that I can get off the shelf

1309.919

that gets me 80% of the way there but to

1312.679

be useful to me these are explicit

1315.48

customizations or features that I need

1317.279

to get me a cross the finish line for

1319.84

myself now I took a while and I went off

1322.159

on a rabbit Trail so I do want to swing

1323.679

back around and say did that get you

1325.159

that answer the question the way you're

1326.24

looking for and allow you to tack on to

1328.48

that if you if you for a followup yeah

1331.64

and a lot of those

1335.36

situations now I know we touched on

1337.76

agile and some more complicated things

1339.52

we'll get into more depth of those along

1341.52

the journey here but that's the idea the

1345.32

problem as you addressed through you

1348.52

using particular development Frameworks

1350.36

or development models like agile is

1353.64

those are designed to prevent that but

1355.679

there are still situations where hey

1357.559

I've got this idea or I've got this

1359

problem I start working it but s you

1361.36

know you could be working in a silo and

1363.279

suddenly oops you now have the solution

1366.44

and like I said you're now live so you

1368.039

kind of you do run into situations where

1370.36

you do come

1372.44

across kind of one-offs where you kind

1375.44

of fall outside of the traditional model

1378.84

uh could be by chance it could just be

1381.84

uh happen stance but those are are good

1385.08

things to happen because when you run

1387.2

across that

1389.12

um it's good and bad it's good because

1391.76

yes you've solved the problem people

1393.4

like your solution they're ready to go

1395.919

run with it but sometimes that's you

1398.44

know we got to learn to walk before we

1400.159

run but sometimes you're running before

1402.48

you're walk it's like whoops you're

1404.279

already out the door gone and it's like

1406.4

what just happened uh

1409.36

but don't be afraid of those thrive on

1411.88

those you know I love looking up new

1414.72

technologies how does that work you know

1416.679

it's like taking the TV apart and trying

1418.159

to put it back together it may not

1419.279

always work but you know you figure out

1421.08

how the inner workings work and so the

1423.08

next time something breaks you can

1424.24

figure out how to move on how to make it

1426.919

better how to integrate that next

1428.799

project or you know go to your boss and

1431.679

say hey I heard you had this problem let

1434.159

me take the stab at it go figure out how

1437.08

to fix this and come up with a solution

1439

for you let me do a

1441.279

p and that I guess just some closing

1444.799

thoughts on this one as we wrap this one

1446.2

up is that you do want to embrace that

1448.679

if somebody comes to you and says hey I

1450.039

need you to solve a problem and you you

1452.12

give them a

1453.2

solution if it's something that looks

1455.2

like they're going to push that out

1456.4

there sooner rather than later then that

1459.24

may be okay that may be awesome you may

1460.96

suddenly be able to retire you know a

1462.52

lot ear than you thought you were going

1463.88

to or maybe a major headache and so you

1468.6

run into those situations and we'll I

1470.48

think this is something we will come

1471.72

back to um and focus more in in another

1474.6

episode but there

1477

is in a lot of cases there is a cost

1480.48

once you are live with things like

1484.399

updating data maintaining data

1486.88

replicating data and all that kind of

1488.32

stuff because now as you build and then

1489.96

even changing data this is something

1492.6

particularly changing that I have seen

1495.24

in a lot of projects and there's one in

1497.279

particular that I worked with this

1499.12

customer and we we had a solution and

1502.399

we're like cool we're going to do this

1503.64

and we came got further down the road

1505.36

and we changed the solution they're like

1507.08

wow we really need it this way I was

1508.24

like cool that makes sense the problem

1510

was we didn't really think through

1512.559

didn't really understand how much impact

1515.52

that was going to make it's one of those

1518

where like oh it's going to be a couple

1519.08

changes here couple changes there field

1520.48

here report there but it wasn't until we

1523.679

got further into it and realized that

1526.159

there was you know relationships and

1527.96

things with within the data particular

1529.64

with the existing data that we now had

1532.52

to migrate out of and it was a very it

1534.96

was a very painful tedious process to do

1537.559

it so there's some things like that that

1538.96

you want to be aware that you may be

1541.799

biting off more than you chew you can

1543.399

chew and particularly when you're you

1545.36

want to get that solution out they want

1547.679

to get the solution out sometimes it's

1550.08

easier to say you know what we'll just

1551.919

we can punt that down the road and we'll

1553.399

tackle that data later but in particular

1556.52

data and data structures

1559.039

have their own weight and momentum and

1561.6

there may be a migration you have to do

1564.36

in your future and we've seen it in

1566.48

every piece of software out there that

1567.919

goes through major releases eventually

1569.48

there's a watershed or something where

1570.88

you have to actually migrate into the

1573.36

new system what you don't have to do is

1575.799

migrate to another podcast because we're

1577.799

here you can take everything you've

1579.52

heard from us from all of these hundreds

1581.76

of episodes and Carry It Forward into

1583.96

the next episode so check us out

1587.36

wherever you you know subscribe wherever

1589.48

you do your podcast you can check us out

1591.039

on YouTube you can check us out on

1592.24

developer.com you can shoot us an email

1594.12

at info developer.com like somebody

1596.72

we're going to highlight we'll say in

1598.84

the next episode where we've gotten

1600.44

requests from out there and got some

1602.08

good questions that we can talk about we

1604.559

would love to take those from you as

1606.48

well that being said I want to respect

1608.799

your time so go out there and have

1610

yourself a great day great week and we

1612.039

will talk to you next

1614.96

time and bonus information is there any

1617.52

bonus material your thinking of yeah

1619.64

actually so as you were kind of giving

1622.159

your final thoughts just kind of jumped

1625.2

into my mind as you're doing proof of

1627.96

concept one of the other things to be

1630.36

mindful and we all do is like oh great

1633.159

let's go figure this out so you quickly

1635.6

or maybe slowly figure out the solution

1638.08

to the problem make sure you are a

1640.799

little methodical with your

1642.2

documentation your structure and your

1644.36

notes as you go through the process of

1646.84

your POC there's been many times I've

1650.52

been bad about this I've seen a lot of

1653.039

people where you get so excited you get

1655.48

to that solution then you're like go

1657.48

back and you try to maintain it and you

1658.88

have spaghetti coat or you have no idea

1661.24

where the heck you found that solution

1662.6

or this one thing that is what you need

1664.96

to do it as you go through the

1669.039

process either keep track of your

1671.12

browser history keep track of your bash

1673.84

history but just take the time maybe

1678.559

give yourself some checkpoints at the

1680.6

beginning at least to document what

1682.96

you're doing create a readme file but

1685.72

just do something to keep track of

1688

everything you're doing every so often

1690.12

so when you do get to the end of the POC

1692.32

if it happens to go live you have a way

1694.559

of maintaining this not like oh my God

1697.159

how the hell did I do this moment yeah

1700.519

that's

1701.48

where I've been in that couple the

1703.559

refactoring can get to be pretty

1705.64

nasty um the biggest Pro and this

1709.399

becomes multiplied as an issue if you

1712.279

have multiple Developers for example

1714.72

I've got an app I was just looking

1716.2

through not too long ago that we built

1717.64

we built it quick we did a lot of stuff

1719.039

we're making a lot of changes and I was

1721.159

looking through the code and I was

1722.76

really confused because we had three

1725.12

copies of the same method the same

1727.08

function was sitting there they're

1728.2

basically almost back to back to back

1730.679

and somewhere along the way we had

1731.88

missed that hey we already have that so

1734.12

code review would have caught that

1736.679

theoretically um also there should be

1739.88

some level of seeing that if you're

1741.679

doing if you're really focusing on like

1743.48

pull requests and and committing code

1746.36

again it does go back to some level of

1747.919

code review but these are kind of things

1750.799

as you're building them try to you know

1754.12

keep some notes use the docent

1756.159

particularly if you've got built-in

1757.399

documentation tools like Java do or

1759.36

something like that is just you should

1761.2

be in the habit of doing that kind of

1764.76

documentation at the very least like I

1766.84

do I do like daily standups if you've

1768.919

got a little status or something that

1770.2

you can go see what was your standups

1772.44

then maybe you can see what was you know

1774.32

done along the way or use like if you're

1776.519

using Trello or jro or you name it one

1779.039

of those tools then you can occasionally

1781.399

look back at stuff like did we already

1783

do that or didn't we um and then even

1786.36

within the code just like there's a lot

1788.76

of things like that that you can do I

1790.679

don't again another

1792.6

episode but if you start with the the

1795.6

basic good habits of being a developer

1798.24

then those will help those will help you

1800.88

moving

1802.039

forward that being said I'll say one I

1804.88

let you say something um the other thing

1808

though is if you are doing a POC

1810.84

sometimes this is a new application or

1812.88

new project so you may not have all

1814.72

those things in place that Rob said like

1817.44

J A bitbucket so what you might want to

1819.919

do is first start out by building a git

1821.76

repo build a local get repo and do it

1825.12

locally and make sure that you commit

1827.36

your code often so that you kind of have

1830.039

that uh running tally of what it is

1832.279

you're doing what's this change what's

1833.76

that change so when you're done even if

1835.96

it is just a PO but you decide to

1838.08

refactor it later you have all those

1840.039

notes you can put into the code AS

1841.6

comments or hopefully you wrote the code

1843.559

cleanly and the code is self-documenting

1845.519

but sometimes poc's are quick we're just

1847.96

trying to get it out there make sure it

1849.84

works and then come back and see if we

1852.12

can plug it into something bigger I

1854.72

agree I would just say that don't ever

1856.36

it should never be that it should always

1858.159

like just it's so easy to spin up a

1860.159

repository especially if you use GitHub

1862.48

it's going to automatically have you can

1864.72

use the the template kind of thing you

1866.32

will have a issue tracker you will have

1868.76

you know your Version Control you can do

1871.08

like you don't have to go do a bunch of

1873.08

branches or anything like that you can

1874.24

have a main trunk that you just are

1875.799

you're committing to along the way you

1877.279

got comments trust me I have

1881

built probably hundreds of demos and

1883.679

proof of Concepts and every one of them

1885.639

exists somewhere in some Version Control

1888.6

repository somewhere if nothing else so

1891.84

that you have a backup of where that

1894.039

stuff is and when particularly this is

1896.2

almost more important with proof of

1898.24

Concepts because you want to have that

1900.76

history of what did you do so if that

1903.48

thing grows you can always go back to

1905.279

something go hey I used to do that and

1907.519

go find it it is more important I would

1909.48

say starting out maybe even than it does

1912.279

further down the road almost as

1914.72

important as you checking in next time

1916.36

around we're going to wrap this this one

1918.24

up and we will be back next time

1921.12

obviously you guys are at the right

1922.44

place because you're at YouTube you get

1923.6

to see our glowing faces while we're

1925.919

talking to you come on back or if for

1928.2

some reason you can't stand our faces we

1930.159

won't take offense we get it we have to

1932.12

look at them all the time you can use a

1934.279

podcast and then it's pure audio and

1936.44

then all you have to do is just put up

1938

with our voices that being said go out

1939.919

there and have yourself a great day and

1941.88

we'll check in with you next time around

1946.11

[Music]