📺 Develpreneur YouTube Episode

Video + transcript

Navigating Technology Sprawl: Streamlining Solutions and Skillsets

2024-05-01 •Youtube

Detailed Notes

In a digital landscape brimming with innovation, the allure of diverse technologies often leads to unintended consequences. In our latest podcast episode, hosts Rob Broadhead and Michael Meloche delve deep into the tangled web of technology sprawl. From personal coding repositories to organizational software ecosystems, they illuminate the challenges and opportunities inherent in managing a multitude of solutions. Join us as we unravel the complexities of technology sprawl and explore practical strategies for streamlining solutions and skillsets.

Understanding the Impact of Technology Sprawl

Rob and Michael highlight the ramifications of unchecked technology sprawl, drawing parallels between personal coding repositories and organizational software ecosystems. They emphasize how disparate solutions can lead to convoluted systems, inefficiencies, and maintenance headaches.

The Pitfalls of Unchecked Diversification

The hosts illustrate the pitfalls of unchecked diversification, using examples of developers and organizations succumbing to the allure of novelty without considering long-term implications. They discuss scenarios where developers veer off course, introducing new technologies that exacerbate complexity rather than solving problems efficiently.

The Dangers of Siloed Expertise

Both hosts caution against siloed expertise, particularly in the realm of quality assurance (QA). You do not want a disparate testing framework to hinder collaboration and scalability. In addition, they stress the importance of cohesive strategies and standardized approaches to mitigate risks associated with fragmented skill sets.

Navigating Technology Sprawl: Strategies for Simplification

Offering pragmatic solutions, the hosts advocate for proactive measures to streamline technology sprawl. They propose a strategic approach to consolidating diverse technologies, emphasizing the importance of aligning with organizational standards and fostering adaptability among team members.

Balancing Innovation with Stability

Rob and Michael underscore the delicate balance between innovation and stability, urging developers and organizations to prioritize cohesion over novelty. They advocate for thoughtful decision-making and adherence to established standards to ensure long-term viability and mitigate the risks of excessive diversification.

Charting a Course for Sustainable Growth

In closing, the hosts encourage listeners to assess their technological landscapes critically and embark on a journey toward simplification and standardization. They emphasize the value of collaboration, adaptability, and strategic decision-making in navigating the complexities of technology sprawl.

Feedback and questions are welcome at [email protected], and listeners are invited to connect with Develpreneur on YouTube for more insights and discussions. By focusing on mastering data integration, developers can unlock new possibilities and streamline their workflows.

Additional Resources * Software Development Challenges and How To Navigate Them - https://develpreneur.com/software-development-challenges-and-how-to-navigate-them/ * Leverage Your Unique Skills – Interview With Tyler Foley - https://develpreneur.com/leverage-your-unique-skills-interview-with-tyler-foley/ * Run Towards Success Not Away From Challenges - https://develpreneur.com/run-towards-success-not-away-from-challenges/ * Learning From Challenges – A Season With a Positive Focus - https://develpreneur.com/learning-from-challenges-a-season-with-a-positive-focus/

Transcript Text
[Music]
and there we go so that was a good like
well that's that's again that's a couple
of those that we could go every the more
we think about it more like we could go
eight different ways easily on that a
couple of times over so I think we may
come back to that glad you kept pinging
me back because I took your initial
question a totally different direction
and I'm glad you pulled me back on that
because you're right there's so many
Pathways there's so many branches we
could go with this and ultimately at
least with this one the big thing is
understand what your organization needs
or what they want what their standards
are and really follow that path with
what you bring to the table now if you
have something great bleeding edge
Cutting Edge in a company say like a
Fortune 500 that might not go over well
but if you're bringing it to a hackathon
yes bring the latest technology bring
something new try something that's what
hackathons are for not trying to do it
in a full implementation on a brand new
or on an existing application within an
organization unless that's the only
organization I mean I've been to a
couple of those where if you got like
you said startups and that sometimes
that's the thing to do is they say hey
this is what we're we have no Legacy we
have nothing and then it's like that's
the perfect time to do something brand
new or I've got a customer that they had
some level of sprawl it was it's it is
in an MVC sort of a it's in a you know
an interior architecture it sense that
they have like a they have a UI they
have an API they have a database they've
got a mobile they've got these different
silos but then looking at it I was like
you know but I can combine like the web
and the API real easy and then I can
share code and then I have less I have
to test because I don't have to you know
even if it's the exact same code we'll
say in quotes that we copy and paste
from a web you know from our web page
that's in whatever language to an API
built in the same language so let like
say we've got for some reason we've got
JSP front end and we've got a Java
backend API we could copy and paste that
code but then we still need to test it
in both of those environments if we
actually have one solution that we're
hitting so we know we're hitting the
exact same code this actually goes into
like microservices and stuff like that a
little bit I guess you could do those
things or lambdas and such but that's
again it goes to the idea let's have
less points of failure and so that means
there's less to task that means you you
can actually beat on stuff faster you
can verify yes it's good or hit hit its
bugs a lot quicker because it's also
going to be hit more often so that was
sort of where I was thinking on that one
and it was just because that was near
and dear to my heart the only issue with
that is if you don't have established
testing in place doing something like
that can be total chaos because you pull
code from here try to work over here
well it's not working well why is it not
working because you don't have the test
or you don't have those requirements
Define so re touching and rewriting that
code can become complex
and very expensive to go from A to B
without that testing so and that's sort
of where I'm at is it's because they
don't have they weren't consistent in
how those two things worked and that's
that's I think we've talked about that
where like I've got one I had one case
where I had three different I had
essentially the same function written
three different times in this different
code because some people hadn't been pay
paying attention what they were doing so
they kept solving the same problem and
finally had to just like take one is
basically like I'm going to take this
one everybody else is going to call that
one and then we're going to fix
everything so that it works that yeah it
was a pain in the butt it that's one of
those even if we have the test we are
still going to break it in those other
places because they have a different
they're thinking a little differently
about what they're sending in and what
they're expecting back and that's
actually what I've been tracking through
with a lot of this is I was like oh cool
I can do all of this and API it's
awesome and kick the data out and then I
realized that the way
they way they expect that to be packaged
back to them varies a little bit it's
like some it's in a a response with a
status sometimes the response has the
status just the whole thing is just
munged together and so it's one of those
it's like you know it's all Json so it's
easy enough for it's like oh okay here's
what it is and I just got to go grab
that node but if it's expecting a node
that's not there then it blows up so
that's sort of the good the bad is I can
run through it and if it blows up then I
can go track down and go oh something in
here is expecting you know a different
name or a different value or a slightly
different format what are you testing
with me right now I'm not doing like I'm
not running like an automated test I'm
actually going through and just throw
two things out at you to hopefully at
some point you can get to this rest
assured
um I forgot the other one but rest assur
definitely oh and assert J um apply
those
to rest assur is the API open API
framework for testing uh and if you're
testing with any integration points you
can use uh test containers and mock
server to mock the endpoints if you need
any integration testing but definitely
do rest assured testing and assert J and
if it fails it'll tell if you're using
assert J if it fails and it's a specific
Json value that's missing it will tell
you hey we're expecting this but we got
this so a certain J gives you a very
clean uh error message as far as uh data
comparison versus uh unit testing well
but I can't use the that's the thing is
this is this is after the fact so it's
like I'm sitting on a so it's an Android
application that has been built out that
is trying to talk to an API that I'm now
I'm basically going back and re I'm
moving it to a whole new AP AP and so
it's trying to figure out how to it's
really it's it is it's an integration
issue at this point because it's
basically the API has been updated and
has some stuff that's a little bit
different and a little bit uh there have
been some changes in the back end that
have to flow all the way to the front
end so now the front end has to change
um so I have to look at how did it used
to how is it that it used to look at the
API to re because I'm also trying to
like minimize code changes on that front
end and so it's like in some cases where
it would be if I was doing it from
scratch then or if I want to just
rewrite that function or that method I'd
say you know what I'm going to go do it
and here's where I'm going to grab the
Val but since I'm trying to not touch
the data I'm actually using the mobile
app as I'm just walking through and
using it and I've just got I'm like in
you know debug or Hell or Heaven
depending on what you look at and I just
am like going through and stepping
through stpp and going okay yes it's
making this call yes it's doing this
it's do and just literally combing
through the code to figure out where is
it doing stuff that's consistent Within
itself and where is it doing stuff
differently and where it is trying to
figure out why they're doing it and if
it is adjust accordingly and if not say
okay let's just you know go back and
standardize that to how the works and so
it's been a it's just one of those it's
like you it's it's walking into again
it's an existing system that's been
around for years and works sort of but
they've got a lot of things that were
not AR so it's rearching it almost from
scratch and actually it was the guy
that's the customer was like it may
easier to build this from scratch and
some of the pieces I have so it was like
it was PHP front end PHP
API and I looked at all of that stuff
and I was like I'm gonna do it all on
python I'm gonna do it I'm G like I'm
gonna get out of all of that kind of
stuff and it's basically because it was
built on a couple of Frameworks that
were just gotten a little bit out of
control it was a little bit they did
they they didn't understand I think what
they were doing so they were relying too
much on the framework I said you know
what I'm just going to do it this way
because I would rather do it than back
and then figure out all that PHP and I'm
going to rewrite it anyways because he
said we've got tons of bugs but they
don't have like they don't really keep
track of them they just no stuff breaks
they don't you know they so it's like
okay let's just do something that we
know what there let's you know we know
how it works as opposed to trying to
learn somebody else's thousands and
thousands of lines of code and it's I
expected is there a way you could
essentially stand up a mock server for
like hard-coded endpoints basically just
feedback basically if you make a call
return this uh and then change that
endpoint that that data to what you
would what the change would be and then
see what the front end does with it
that's sort of what I'm doing but I
don't need a mock server because I've
got data and everything else set up so
what I do is I have the I'll hit I'll
hit it with the the call and look at
what it's bringing back which would be
basically what I would do otherwise it
would just be a mock and actually I
guess I've got I've got access to their
prior one so what I do is I'll look at
it I'll say okay this isn't working so
I'll go hit the old one and say well
what were they getting and then I can go
look at the current one and say okay
well what are we sending and go oh you
know we renamed a f a variable or we've
moved the structure around and then and
then it's you know it's changing it out
so I've actually got the this one of
those a nice thing in a sense is that I
have those which you would normally need
to mock something for I don't need to
because I've already got I've got a
fully populated database and and
examples to use so I can use a my mock
is actually existing stuff that's been
stood up so it's now it's down to really
it's like it's almost in you know
testing mode of it like oh this failed a
test all right now I've got to go fix
the code so it's not it's like stuff
that I can already quickly hit the te I
can find out that it fails quickly and
then it's like okay let's figure out how
we fix it do we want to make it work all
like the new stuff does or is there
something that we missed with the old
stuff because again that's also it's not
it is documented but it's not there's a
lot of do documentation but there's also
a lot of details that have sort of been
just missed that have been overlooked so
it's just all in all it's a really fun
project it's one of those it's like are
you running P test to go with it so that
before you deploy your code you run and
if your pie test pass you uh your
deployment goes out or if it fails it
stops the deployment no not right now I
haven't I've thought about going back
and throw and throw and I think I'm
going to wait because the the
API is itself a little bit in flux and
it's well it's say it's the pieces that
are there are are solid but it's still
growing a little bit and just because of
the time frames because this is one of
those they would love to have at like
last month I'm I'm doing the the
obligatory I'm punting on documentation
like they want pipelines they want cicd
they want all this stuff and I was like
that's great but there's only so much we
can do in the amount of time so we're
basically going to build this out and
then I'm going to back fill it and say
okay now go back and like build out all
of those so we'll have you know a real
nice you know from Soup To Nuts testing
documentation and all that and it is
nice I mean it's like a lot of the
pieces I'm using are so that it's
building documentation it's sort of like
the API has got its own front end and
and documentation side things like that
but it's just uh yeah it's one of those
it's it's do as I say don't do as I do
because that's exactly what we're
running into but it's also it's a time
thing it's just like they can't what
they would like to have and what would
be the right the in quotes right way to
do it they can't afford it right now
it's like we go to like we've got to
move too fast so we can't go back and
retrofit those tests and that
documentation instead we're going to
have to just sort of like put to-dos all
over the place generate a lot of
technical debt and then come back after
the fact and I've already told him I was
like look if we can get to like a an
Alpha Beta release where it's like okay
now we can get in front of people and so
their users can start testing it it's
stable enough that they can start
beating on it then they can do that and
while we're going through that test
debug cycle then can start generating
out some unit tests and some of that
kind of pieces so that it's it's you
know we can stabilize it essentially are
you using Postman at all oh yeah I use
it fairly regularly I think actually now
I haven't had to as much because I've
got I'm always watching what the the
mobile app is hitting but I I use
Postman a ton for for all of those piece
anything API related I'm all about
Postman so see if there's an equivalent
to rest assured for python I think there
is uh for future because I know you do a
lot of PHP in Python but the I've
noticed there's a lot of equivalence if
you're a very proficient uh Postman User
it's very easy to go from that to
writing uh rest assured type scripts
because the uh the layout is very
similar it's like if you were to export
uh Postman it would almost look
identical just writing it in whatever
language you're writing it in and that's
what it's got they've got one that's um
basically they've got like a it's
because it jeno can do websites but it
also has a rest framework which is what
i' I've rolled it back into as I started
looking I was like shoot I can it's
going to be a lot easier for me to
just reduce effort and roll all this in
so that there's one server can serve the
web and the the API and if we want to
spin it up in two places so be it and
they also have a test client that
there's a Django test client that built
specifically for that as well um so I
may use that or I may use like I've used
flask and some other things through
testing in the past that makes it pretty
easy to just crank out unit tests for
particularly for API so we'll sort of
see as I get further into it which is
the easier way to go and it may be
something I signed one of the other guys
to I may dep on what we've got I'll be
like hey here's a handful of tests start
knocking them out last time I tried that
it sucked they it was not a very good
one I ended up coming back like I'd say
okay here's like 15 tests I'm expecting
you to write they could write three of
them because they could only write like
the Happy path case for the for each
thing and like no it's like it's not
that hard it's like here's your
parameters here's the some some general
processes like what if it doesn't exist
what if it's out of bounds like all of
those kinds of thing what if the
server's dead you know those things it's
like these are what you can do to build
out your test and it was just really
tough to get that going but I may swing
back around to it because guys you know
learn more along the way now I run into
that every day even with senior guys
yeah they see a lot of those as well
you're testing the framework we don't
need to test the framework I'm like but
wait this is input if the input changes
you should be testing user input and
it's a constant argument yeah yeah I've
have run into it I run I have that argue
with myself sometimes it's like I really
need to test this like ah and it's like
usually it's like because the customer
will find out when there's a bug and
then I they'll let me know but then it's
like no I need to do I I just I ran out
with the customer the day is that I
would like realize that we had moved
really fast on a couple things so we had
a I I built something out selenium that
just like runs through the whole site
and just test all this stuff out and we
made a bunch of changes and I hadn't
gone back and updated it so I had one
that kicked out and it was like like
right away you can find it as a user and
if I had updated stuff I would have
found right away with that I was like
and so I told the C like I'm sorry my
bad I'm going to go back and update
those tests and get that stuff I'm going
to go back and update our test Suite
because we just we got out of sink and
then you know your tests are useless at
that point
so all right well I am going to go be
useless and I'm going to go shop at Aldi
apparently and go get some groceries and
stuff
so um we'll wrap this one up and I guess
we'll do it again same time next week
basically unless we find a better time
to do it uh are you done did you say the
uh the uh co-starters is done are yeah
we're done we can go back to our normal
time oh okay well cool so yeah we'll
have to we maybe catch up and do a
little uh debrief on that I'll be
interested to hear how you what you got
out of it and all that kind of good
stuff may even do that may do that as an
episode next week I think that'd be sort
of cool to just be like hey went through
this thing this is what I learned and
what we we got out of it because that's
that's honestly what I've been working
with with the uh the lead generation
guys I've had I I've actually I just
told him today I was like I'm going to
pause because I haven't gotten haven't
gotten any sales out of it I've gotten
some leads but I haven't gotten sales
out of it and I was like you know
there's nothing I can do it's like if
I'm not getting sales out of it it's not
worth spending the money but a lot of it
has been conversations I've had with him
and it's like well here's some things
you can do and here's some templates and
here's you know some things to try to
build a better offer and I think those
things are great for us to cover in you
know future podcast episodes in
particular it's like what what are some
lessons learned that we've learned and
are still learning in some cases about
how to how to brand and and how to focus
so yeah is the big thing was I got
Envision QA up.com it's now live um and
you saw the free stuff I kind of wish I
taken screenshots of that before
uploading it but um that was the biggest
thing because that almost organically
everything on my site came from uh what
they pushed us to for pitch
not and that's the thing is I think
that's what you once you have it you can
repurpose it that's where you can go
back and you can like put it on your
website and you can put it into flyers
and you can put it out on all of the job
sites and and into your emails and all
that kind of stuff and that's that's
what I've been trying to get to is it's
you know I just I have not spent enough
Business Development time lately and I
got to get back to that so I can I can
Circle back and refine some of those
messages and and get those updated
across the board so all right I'll let
you get to it and have a good weekend
and we'll talk to you next time around
all right take care everyone have a
great day good one he bye
[Music]
Transcript Segments
1.35

[Music]

27.48

and there we go so that was a good like

30.359

well that's that's again that's a couple

31.64

of those that we could go every the more

33.719

we think about it more like we could go

35

eight different ways easily on that a

37.36

couple of times over so I think we may

39

come back to that glad you kept pinging

41.719

me back because I took your initial

44.8

question a totally different direction

46.84

and I'm glad you pulled me back on that

48.96

because you're right there's so many

51.76

Pathways there's so many branches we

54.52

could go with this and ultimately at

58

least with this one the big thing is

60.399

understand what your organization needs

62.559

or what they want what their standards

65.2

are and really follow that path with

68.56

what you bring to the table now if you

70.759

have something great bleeding edge

72.28

Cutting Edge in a company say like a

75.439

Fortune 500 that might not go over well

78.68

but if you're bringing it to a hackathon

81

yes bring the latest technology bring

83.04

something new try something that's what

85.68

hackathons are for not trying to do it

88.24

in a full implementation on a brand new

90.479

or on an existing application within an

93.32

organization unless that's the only

95.2

organization I mean I've been to a

96.28

couple of those where if you got like

97.64

you said startups and that sometimes

99.479

that's the thing to do is they say hey

101.04

this is what we're we have no Legacy we

103.96

have nothing and then it's like that's

105.88

the perfect time to do something brand

108.759

new or I've got a customer that they had

112.159

some level of sprawl it was it's it is

115.52

in an MVC sort of a it's in a you know

117.759

an interior architecture it sense that

120.64

they have like a they have a UI they

122.719

have an API they have a database they've

125.039

got a mobile they've got these different

128.08

silos but then looking at it I was like

130.239

you know but I can combine like the web

132.08

and the API real easy and then I can

133.959

share code and then I have less I have

136.4

to test because I don't have to you know

139.44

even if it's the exact same code we'll

142.2

say in quotes that we copy and paste

144.64

from a web you know from our web page

147.239

that's in whatever language to an API

150.12

built in the same language so let like

151.72

say we've got for some reason we've got

153.16

JSP front end and we've got a Java

155.68

backend API we could copy and paste that

158.239

code but then we still need to test it

160.159

in both of those environments if we

162.159

actually have one solution that we're

163.72

hitting so we know we're hitting the

165.36

exact same code this actually goes into

167.92

like microservices and stuff like that a

169.599

little bit I guess you could do those

170.959

things or lambdas and such but that's

173.8

again it goes to the idea let's have

176.04

less points of failure and so that means

178.44

there's less to task that means you you

179.959

can actually beat on stuff faster you

182.28

can verify yes it's good or hit hit its

186.12

bugs a lot quicker because it's also

187.879

going to be hit more often so that was

190.08

sort of where I was thinking on that one

191.48

and it was just because that was near

192.519

and dear to my heart the only issue with

195.36

that is if you don't have established

197.879

testing in place doing something like

200.799

that can be total chaos because you pull

203.959

code from here try to work over here

205.72

well it's not working well why is it not

207.599

working because you don't have the test

209.799

or you don't have those requirements

211.72

Define so re touching and rewriting that

214.64

code can become complex

218.159

and very expensive to go from A to B

221.56

without that testing so and that's sort

223.599

of where I'm at is it's because they

225

don't have they weren't consistent in

227.879

how those two things worked and that's

229.799

that's I think we've talked about that

231

where like I've got one I had one case

232.64

where I had three different I had

234.439

essentially the same function written

235.76

three different times in this different

237.92

code because some people hadn't been pay

239.4

paying attention what they were doing so

241.239

they kept solving the same problem and

244.079

finally had to just like take one is

246.519

basically like I'm going to take this

247.56

one everybody else is going to call that

249.159

one and then we're going to fix

251.239

everything so that it works that yeah it

252.879

was a pain in the butt it that's one of

255

those even if we have the test we are

256.959

still going to break it in those other

258.519

places because they have a different

261.079

they're thinking a little differently

262.52

about what they're sending in and what

263.96

they're expecting back and that's

265.96

actually what I've been tracking through

267.16

with a lot of this is I was like oh cool

268.68

I can do all of this and API it's

270.4

awesome and kick the data out and then I

272.32

realized that the way

274.44

they way they expect that to be packaged

277.8

back to them varies a little bit it's

280.12

like some it's in a a response with a

282.72

status sometimes the response has the

284.84

status just the whole thing is just

286.4

munged together and so it's one of those

288.639

it's like you know it's all Json so it's

291.32

easy enough for it's like oh okay here's

292.84

what it is and I just got to go grab

294.32

that node but if it's expecting a node

297.16

that's not there then it blows up so

298.88

that's sort of the good the bad is I can

300.44

run through it and if it blows up then I

302.72

can go track down and go oh something in

305.32

here is expecting you know a different

308

name or a different value or a slightly

309.6

different format what are you testing

312.479

with me right now I'm not doing like I'm

315.8

not running like an automated test I'm

317.4

actually going through and just throw

319.16

two things out at you to hopefully at

321.56

some point you can get to this rest

325

assured

328.28

um I forgot the other one but rest assur

331.12

definitely oh and assert J um apply

335.12

those

336.759

to rest assur is the API open API

340.24

framework for testing uh and if you're

343.72

testing with any integration points you

345.56

can use uh test containers and mock

348.199

server to mock the endpoints if you need

350.16

any integration testing but definitely

352.12

do rest assured testing and assert J and

356.199

if it fails it'll tell if you're using

358.08

assert J if it fails and it's a specific

360.199

Json value that's missing it will tell

362.36

you hey we're expecting this but we got

365.199

this so a certain J gives you a very

367.68

clean uh error message as far as uh data

371.039

comparison versus uh unit testing well

374.039

but I can't use the that's the thing is

375.68

this is this is after the fact so it's

377.479

like I'm sitting on a so it's an Android

380.12

application that has been built out that

383.08

is trying to talk to an API that I'm now

385.68

I'm basically going back and re I'm

388

moving it to a whole new AP AP and so

391.16

it's trying to figure out how to it's

393.68

really it's it is it's an integration

395.28

issue at this point because it's

396.24

basically the API has been updated and

398.16

has some stuff that's a little bit

399.4

different and a little bit uh there have

401.36

been some changes in the back end that

403.199

have to flow all the way to the front

404.479

end so now the front end has to change

407.319

um so I have to look at how did it used

408.84

to how is it that it used to look at the

411.08

API to re because I'm also trying to

413.56

like minimize code changes on that front

415.599

end and so it's like in some cases where

417.84

it would be if I was doing it from

419.72

scratch then or if I want to just

421.68

rewrite that function or that method I'd

423.479

say you know what I'm going to go do it

424.8

and here's where I'm going to grab the

426.039

Val but since I'm trying to not touch

429.08

the data I'm actually using the mobile

431.039

app as I'm just walking through and

432.36

using it and I've just got I'm like in

435.08

you know debug or Hell or Heaven

436.56

depending on what you look at and I just

438.319

am like going through and stepping

439.52

through stpp and going okay yes it's

440.96

making this call yes it's doing this

442.28

it's do and just literally combing

444.759

through the code to figure out where is

447.56

it doing stuff that's consistent Within

449.72

itself and where is it doing stuff

451.319

differently and where it is trying to

453.479

figure out why they're doing it and if

454.84

it is adjust accordingly and if not say

457.56

okay let's just you know go back and

460.039

standardize that to how the works and so

463.72

it's been a it's just one of those it's

465.319

like you it's it's walking into again

466.84

it's an existing system that's been

468.36

around for years and works sort of but

471.84

they've got a lot of things that were

473.199

not AR so it's rearching it almost from

475.72

scratch and actually it was the guy

477.599

that's the customer was like it may

479.639

easier to build this from scratch and

481.56

some of the pieces I have so it was like

483.36

it was PHP front end PHP

485.919

API and I looked at all of that stuff

488.52

and I was like I'm gonna do it all on

490.4

python I'm gonna do it I'm G like I'm

492.68

gonna get out of all of that kind of

495.24

stuff and it's basically because it was

497.199

built on a couple of Frameworks that

498.44

were just gotten a little bit out of

500.479

control it was a little bit they did

502.4

they they didn't understand I think what

504.28

they were doing so they were relying too

505.479

much on the framework I said you know

507.199

what I'm just going to do it this way

508.319

because I would rather do it than back

509.759

and then figure out all that PHP and I'm

511.28

going to rewrite it anyways because he

512.68

said we've got tons of bugs but they

514.24

don't have like they don't really keep

515.839

track of them they just no stuff breaks

517.839

they don't you know they so it's like

519.599

okay let's just do something that we

521.76

know what there let's you know we know

523.839

how it works as opposed to trying to

525.48

learn somebody else's thousands and

527.16

thousands of lines of code and it's I

530.36

expected is there a way you could

532.399

essentially stand up a mock server for

535.48

like hard-coded endpoints basically just

537.48

feedback basically if you make a call

539.68

return this uh and then change that

543.56

endpoint that that data to what you

545.76

would what the change would be and then

547.76

see what the front end does with it

549.88

that's sort of what I'm doing but I

550.839

don't need a mock server because I've

552.16

got data and everything else set up so

554

what I do is I have the I'll hit I'll

556.079

hit it with the the call and look at

558.36

what it's bringing back which would be

560.519

basically what I would do otherwise it

561.76

would just be a mock and actually I

563.16

guess I've got I've got access to their

564.839

prior one so what I do is I'll look at

567.92

it I'll say okay this isn't working so

569.6

I'll go hit the old one and say well

571.16

what were they getting and then I can go

573.24

look at the current one and say okay

574.72

well what are we sending and go oh you

577.44

know we renamed a f a variable or we've

580.2

moved the structure around and then and

582.32

then it's you know it's changing it out

583.76

so I've actually got the this one of

585.68

those a nice thing in a sense is that I

587.519

have those which you would normally need

589.24

to mock something for I don't need to

591.44

because I've already got I've got a

592.6

fully populated database and and

595.04

examples to use so I can use a my mock

598.959

is actually existing stuff that's been

601.2

stood up so it's now it's down to really

603.6

it's like it's almost in you know

605.48

testing mode of it like oh this failed a

607.8

test all right now I've got to go fix

609.519

the code so it's not it's like stuff

611.68

that I can already quickly hit the te I

613.519

can find out that it fails quickly and

616

then it's like okay let's figure out how

617.72

we fix it do we want to make it work all

620.56

like the new stuff does or is there

622.2

something that we missed with the old

623.48

stuff because again that's also it's not

626.92

it is documented but it's not there's a

628.8

lot of do documentation but there's also

631

a lot of details that have sort of been

632.76

just missed that have been overlooked so

635.56

it's just all in all it's a really fun

637.639

project it's one of those it's like are

639.48

you running P test to go with it so that

642.279

before you deploy your code you run and

644.16

if your pie test pass you uh your

646.8

deployment goes out or if it fails it

649.639

stops the deployment no not right now I

652.56

haven't I've thought about going back

653.72

and throw and throw and I think I'm

655.44

going to wait because the the

657.44

API is itself a little bit in flux and

660.88

it's well it's say it's the pieces that

663.519

are there are are solid but it's still

665.88

growing a little bit and just because of

668.16

the time frames because this is one of

669.36

those they would love to have at like

670.76

last month I'm I'm doing the the

673.279

obligatory I'm punting on documentation

675.44

like they want pipelines they want cicd

677.399

they want all this stuff and I was like

679.519

that's great but there's only so much we

680.92

can do in the amount of time so we're

683.079

basically going to build this out and

684.839

then I'm going to back fill it and say

686.72

okay now go back and like build out all

688.8

of those so we'll have you know a real

692.12

nice you know from Soup To Nuts testing

695.079

documentation and all that and it is

696.68

nice I mean it's like a lot of the

698.56

pieces I'm using are so that it's

699.88

building documentation it's sort of like

701.839

the API has got its own front end and

703.839

and documentation side things like that

705.839

but it's just uh yeah it's one of those

708.48

it's it's do as I say don't do as I do

711.04

because that's exactly what we're

712.16

running into but it's also it's a time

713.839

thing it's just like they can't what

716.32

they would like to have and what would

717.519

be the right the in quotes right way to

719.639

do it they can't afford it right now

721.279

it's like we go to like we've got to

723

move too fast so we can't go back and

726.48

retrofit those tests and that

728.48

documentation instead we're going to

730.68

have to just sort of like put to-dos all

732.48

over the place generate a lot of

733.839

technical debt and then come back after

735.959

the fact and I've already told him I was

737.639

like look if we can get to like a an

740.04

Alpha Beta release where it's like okay

742.12

now we can get in front of people and so

743.92

their users can start testing it it's

745.8

stable enough that they can start

747.16

beating on it then they can do that and

749.36

while we're going through that test

750.68

debug cycle then can start generating

753.399

out some unit tests and some of that

754.8

kind of pieces so that it's it's you

757.72

know we can stabilize it essentially are

760.24

you using Postman at all oh yeah I use

763.32

it fairly regularly I think actually now

765.519

I haven't had to as much because I've

767

got I'm always watching what the the

768.92

mobile app is hitting but I I use

771.199

Postman a ton for for all of those piece

773.519

anything API related I'm all about

775.48

Postman so see if there's an equivalent

778.639

to rest assured for python I think there

781.48

is uh for future because I know you do a

784.32

lot of PHP in Python but the I've

787.8

noticed there's a lot of equivalence if

790.079

you're a very proficient uh Postman User

793.12

it's very easy to go from that to

795.399

writing uh rest assured type scripts

798.399

because the uh the layout is very

801.839

similar it's like if you were to export

804.199

uh Postman it would almost look

806.12

identical just writing it in whatever

807.959

language you're writing it in and that's

809.88

what it's got they've got one that's um

812.959

basically they've got like a it's

814.6

because it jeno can do websites but it

817.16

also has a rest framework which is what

819

i' I've rolled it back into as I started

820.88

looking I was like shoot I can it's

822.839

going to be a lot easier for me to

825.12

just reduce effort and roll all this in

827.92

so that there's one server can serve the

830.8

web and the the API and if we want to

833.079

spin it up in two places so be it and

835.24

they also have a test client that

837.759

there's a Django test client that built

839.639

specifically for that as well um so I

842.68

may use that or I may use like I've used

844.519

flask and some other things through

846.04

testing in the past that makes it pretty

848.519

easy to just crank out unit tests for

850.959

particularly for API so we'll sort of

853.16

see as I get further into it which is

854.839

the easier way to go and it may be

856.279

something I signed one of the other guys

857.6

to I may dep on what we've got I'll be

859.759

like hey here's a handful of tests start

863.639

knocking them out last time I tried that

866.199

it sucked they it was not a very good

867.8

one I ended up coming back like I'd say

869.8

okay here's like 15 tests I'm expecting

871.639

you to write they could write three of

873

them because they could only write like

874.56

the Happy path case for the for each

876.759

thing and like no it's like it's not

879

that hard it's like here's your

880.48

parameters here's the some some general

883.199

processes like what if it doesn't exist

885.6

what if it's out of bounds like all of

888.16

those kinds of thing what if the

889.48

server's dead you know those things it's

891.12

like these are what you can do to build

892.88

out your test and it was just really

895.279

tough to get that going but I may swing

897.6

back around to it because guys you know

899.6

learn more along the way now I run into

902.48

that every day even with senior guys

905.079

yeah they see a lot of those as well

908.88

you're testing the framework we don't

910.24

need to test the framework I'm like but

912.72

wait this is input if the input changes

915.16

you should be testing user input and

917.72

it's a constant argument yeah yeah I've

921.32

have run into it I run I have that argue

923.079

with myself sometimes it's like I really

925

need to test this like ah and it's like

928.399

usually it's like because the customer

929.88

will find out when there's a bug and

931.279

then I they'll let me know but then it's

933.24

like no I need to do I I just I ran out

936.279

with the customer the day is that I

937.56

would like realize that we had moved

938.88

really fast on a couple things so we had

940.72

a I I built something out selenium that

943.48

just like runs through the whole site

945.04

and just test all this stuff out and we

947.16

made a bunch of changes and I hadn't

949.16

gone back and updated it so I had one

952.24

that kicked out and it was like like

954.56

right away you can find it as a user and

956.959

if I had updated stuff I would have

958.68

found right away with that I was like

960.68

and so I told the C like I'm sorry my

962.959

bad I'm going to go back and update

964.399

those tests and get that stuff I'm going

966

to go back and update our test Suite

967.639

because we just we got out of sink and

969.759

then you know your tests are useless at

971.44

that point

972.519

so all right well I am going to go be

975.04

useless and I'm going to go shop at Aldi

976.959

apparently and go get some groceries and

979

stuff

980.199

so um we'll wrap this one up and I guess

984.12

we'll do it again same time next week

985.92

basically unless we find a better time

987.68

to do it uh are you done did you say the

991.079

uh the uh co-starters is done are yeah

994.6

we're done we can go back to our normal

996.199

time oh okay well cool so yeah we'll

999.199

have to we maybe catch up and do a

1000.68

little uh debrief on that I'll be

1003.04

interested to hear how you what you got

1004.759

out of it and all that kind of good

1006.319

stuff may even do that may do that as an

1008.24

episode next week I think that'd be sort

1009.68

of cool to just be like hey went through

1011.519

this thing this is what I learned and

1013.079

what we we got out of it because that's

1015.44

that's honestly what I've been working

1016.8

with with the uh the lead generation

1019.12

guys I've had I I've actually I just

1020.68

told him today I was like I'm going to

1021.8

pause because I haven't gotten haven't

1023.759

gotten any sales out of it I've gotten

1025.36

some leads but I haven't gotten sales

1026.799

out of it and I was like you know

1029.919

there's nothing I can do it's like if

1031.199

I'm not getting sales out of it it's not

1032.72

worth spending the money but a lot of it

1035.12

has been conversations I've had with him

1036.72

and it's like well here's some things

1037.72

you can do and here's some templates and

1039.319

here's you know some things to try to

1042

build a better offer and I think those

1044.679

things are great for us to cover in you

1046.48

know future podcast episodes in

1048.16

particular it's like what what are some

1050.36

lessons learned that we've learned and

1052.4

are still learning in some cases about

1054.28

how to how to brand and and how to focus

1056.72

so yeah is the big thing was I got

1059.4

Envision QA up.com it's now live um and

1063.919

you saw the free stuff I kind of wish I

1066.559

taken screenshots of that before

1068.88

uploading it but um that was the biggest

1071

thing because that almost organically

1074.28

everything on my site came from uh what

1076.88

they pushed us to for pitch

1079.679

not and that's the thing is I think

1081.799

that's what you once you have it you can

1084.64

repurpose it that's where you can go

1086.039

back and you can like put it on your

1087.2

website and you can put it into flyers

1088.88

and you can put it out on all of the job

1090.559

sites and and into your emails and all

1092.48

that kind of stuff and that's that's

1094.28

what I've been trying to get to is it's

1095.799

you know I just I have not spent enough

1098.12

Business Development time lately and I

1099.52

got to get back to that so I can I can

1101.559

Circle back and refine some of those

1103.799

messages and and get those updated

1105.679

across the board so all right I'll let

1108.919

you get to it and have a good weekend

1111.08

and we'll talk to you next time around

1113.12

all right take care everyone have a

1114.559

great day good one he bye

1118.71

[Music]