📺 Develpreneur YouTube Episode

Video + transcript

Coding Standards: Understanding Their Importance in Software Development

2024-09-26 •Youtube

Detailed Notes

In the fast-paced world of software development, coding standards play a crucial role in ensuring that projects run smoothly and effectively. These guidelines help developers maintain code consistency and quality, leading to better collaboration and more efficient workflows. Our recent podcast episode discussed the significance of using coding standards on our developer journey.

Read more ... https://develpreneur.com/coding-standards-understanding-their-importance-in-software-development/

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

* Coding Standards – A Personal Approach (https://develpreneur.com/coding-standards-a-personal-approach/)

* Look More Professional With Personal Coding Standards (https://develpreneur.com/look-more-professional-with-personal-coding-standards/)

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

* Updating Developer Tools: Keeping Your Tools Sharp and Efficient (https://develpreneur.com/updating-developer-tools-keeping-your-tools-sharp-and-efficient/)

Transcript Text
[Music]
okay uh and we're going to click record
there we go hello everybody we are back
for us we clicked a button and we moved
on to the next slide for you it may have
taken a while but we were like we had
super fast response time let's talk
about what are we going to talk about
this time so we talked about mockups and
clickable demos and
wireframes um do you have a thought on
what you want something you want to talk
about for this coming episode yeah so
now that we've talked about the
requirements we've talked about kind of
the mock UPS a little bit about the
design we could go into a design
conversation but I think we covered
enough information in the previous one
with the mockups to just get people
where they need to be but one of the
things with new projects or build
bringing people on is getting people up
to speed quickly on the direction that
you're going to go with either a
framework a technology a programming
language whatever to make sure that
everyone's on the same page so I I would
kind of like to talk on maybe building
out uh project templates or putting
together like a kind of a POC but a POC
of here is One requirement here is the
base project structure this is how we
are going to build the project in like
Java in Python uh or if we're building
apis this is what you should do for apis
or for
if you're doing uh mobile development
okay are you going to use xcode are you
going to use um the Android developer or
are you going to do something that is
platform neutral so that that's kind of
the thing I would like to throw out
there but I'm not sure how to package
that um um I sort of like that as
development it's basically it's coding
standards or development standards and I
think talking about
what what makes
what makes good development standards
basically or what are some of the things
you consider you should consider as
you're doing that I think that's
probably not a bad thing because I don't
think we've I don't know that we've
covered that very often either we've
like we've referred to them I think
there's actually blog articles somewhere
back in the day that we have like
example templates and some stuff like
that but I think it's not a bad thing to
talk about because it is something that
um especially these days it seems like
teams are more and more you got people
coming in and out you got a specialist
here or there and you know both sides
whether you're part of a team and you
need to make sure that it looks
consistent or whether you're coming in
as a uh you know as a consultant or a
specialist or something where it's like
you're coming into an existing project
you need to do some stuff and get out is
you know how do we incorporate
development standards so we'll see where
it goes this could be something that has
a couple follow-ups uh to it as
well well hello and welcome back we are
continuing our developer journey and
we've actually sort of like shifted
around where the developer journey is
this episode we're going to talk about
basically coding standards development
standards how do you get the team on the
same page when they're doing
implementation I and Mike across the the
internet here are on the same page and
on the same team co-founders of
developing who are building better
developers my name is Rob Broadhead I'm
also a founder of RB Consulting where we
help you assess your technology where
you at give yourself a starting point
find a good like go from point A to
point B and find ways to take all your
technology through simplification
automation integration get that stuff
manageable get it maintainable get it
scalable and then get you off and
running on your road map into the future
in the world of good thing and bad thing
a bad thing I will go with first is that
because it covered it was just in the
last episode some people will know some
people won't is that a bad thing is
starting a conversation on a podcast or
something like that and not turning off
your notifi so hit your do not disturb
if you wonder how it could go I think
it's only going to be on the the record
on the YouTube side but you can see
where we reference one of us did that
and or failed to do that and it causes
some issues so that's a bad thing is
sometimes no matter how many times you
do this stuff you do stupid things like
that good
thing uh let's see a good thing was
I have done like it's a little bit of a
i' I've done like a spring cleaning kind
of thing I've I've gone sort of like my
spring cleaning for my systems and
servers as a having this consulting
company there's multiple servers out
there that we maintain some of them are
essentially production servers for
customers some of them are production
servers for our own stuff there's
development servers there's demo servers
there's all these different things and
we rotate through them a lot there's a
lot of stuff things like move around and
things like that
and sometimes that ends up being a pain
in the butt because the next thing you
know you've got if you're like me you
move stuff around because you move it
from you have like a uh multiple
environments you have a test you have a
development you have a production and
those are on different machines and
different machines have different things
going on on them and over time you've
got just code all over the place you've
got it all in a nice social code
repository and stuff like that but you
basically it's like going in and playing
with all the toys in a kindergarten room
and you didn't put your crap away so the
good thing is I was able to spend a
little bit of time and like put some of
that crap away and clean some of that
stuff out so now I have like you know
much more smoothly running servers
because I finally got around to catching
up with a little technical debt I know I
took too long on that I apologize so I'm
going to play Mike to jump in and
introduce
himself hey everyone my name is Michael
MOS I'm one of the co-founders of
developing erer I'm also the founder of
Envision QA where we help companies
unlock their software's potential
through a comprehensive software quality
assessment review and test Services you
know discover how assessing all areas of
your software development teams from
sales to QA can enhance customer
satisfaction and improve software
quality right from the initial
conversation with your users good and
bad well the good sumar situation I have
been in the process with my wife of
decluttering the house and so I decided
to move into my office and start
decluttering my office and I probably
just got rid of about a thousand CD DVDs
that I had stacked up that I have not
touched in a decade or so just quickly
went through them I did find some
pictures that weren't digitized yet um
or not stored in a backup somewhere so
that was good uh bad side I have so much
more to
go I've got terabytes of hard drives
just sitting around that I still have to
go through and figure out what I need
what I don't need so like you said it it
can get out of hand if you don't keep up
with with this I just recently did a
similar kind of cleanup and there were I
had uh floppy discs three and a half
inch floppy discs I had 5 and a qu inch
floppy discs I had uh I had the
Microsoft developer Network stuff where
they used to be able to subscribe and
you get all their things so you had
office and you had all their development
tools and you had all the operating
systems and you had all the databases
and it was from like the late '90s so I
had like Windows 95 Windows 98 windows
blah blah blah blah blah blah like I
just had I mean there's just big boxes
full of CDs or DVDs whatever they were
and it was just like okay I guess I
can't you know I could I guess I could
have tried to donate them somewhere but
I don't know who even would even be able
to use those so done the same thing this
episode we got to continue we finally
actually get back to our topic and our
topic I totally forgot what our topic
was no actually I did a little bit give
me a sec our topic is we're going to
talk
about cing standards there we go
sometimes we get really off the rail do
not cut that out I think everybody knows
that we all sometimes get off track the
train goes off the rails and we got to
get back on track coding standards so
this is something that every one of us I
think complains about when it's not
followed we also complain about when we
have to follow them it's a it is a love
hate or a hate hate relationship however
you look at it because whenever we walk
into a new project we're going to say
gosh it looks like 15,000 developers
were coding on this there's nothing that
makes any sense it doesn't have any
Rhyme or Reason you can't find stuff
well you know how you fix that problem
is you have coding standards you have
something that says this is how we are
going to name things this is how we're
going to lay stuff out this is how we're
going to uh even a lot of times you even
get in like this is how we're going to
approach certain uh usage of like
Frameworks and problem solvings and
things like that and yes it can be
things like uh a code template that says
every time you create a class for this
language you start with this template
and you're going to have a header and
you're going to have some footer stuff
and you're G to have all these things
and this this is what comments look like
these are the tags that you should have
and all of that stuff is very
useful but along those same lines what
you it's it's say okay well what do I do
do I just like walk through code and say
this is how you code everything no what
you want to do is you want to make sure
that you are going through and
essentially like think of it almost like
a punch list of if I wanted to set this
project up what are the things that I
need to
do and that's where you're going to get
you're going to lay out your development
standards your programming standards
because this is going to tell people
when I'm writing code what should it
look like where should it go how does it
progress through you know coding testing
and all those kinds of things and those
are the pieces that you need to have as
part of your whether it's your your
document or these days it could be part
of your cicd flow there are sometimes
things you can automate a lot of this
you can process processe you can turn
into a process a lot of these things
that is an automated process of some
sort or another some of the things you
want to look at and we have talked about
these in the past but there are tools
like I mentioned there's like cicd kind
of stuff continuous integration and
deployment there are things out there
that can help you force developers into
following standards now there are
automated tools like uh there are like
lint tools and stuff like that there's
static code analysis stuff that you can
with a lot of in a lot of places you can
actually build that into your commit
process so it's things like if you do a
pull request you can you know you commit
your code up then it's going to run
through some processing and kick some
stuff back and say hey you didn't follow
the pro the the code you the coding
standards properly there was a guy there
was a project I work with that it was so
strict that it was things like all of
the formatting of the code was built
into it so you could not successfully
commit code into the Version Control
this how old it was it was SVN into SVN
without it passing this essentially like
sanity check and it did it did like
spelling checks it did spacing it did uh
it made sure that everything followed
the right format so if you you know not
to get too deep into it but things like
you know do you put something on the
same line or do you have to put another
if you know a line after every if or do
you do a at the end like an open bracket
is that on the same line or do you push
that to the other line how do you indent
do you use tabs do you use spaces all
these things that a lot of your Ides
will now provide that for
you that can be part of it and that's
the nice thing about these idees is you
can actually build these into IDE
properties so you just basically say
upload this thing this file and it's
going to set all your defaults it can
set all your warnings it can set errors
and things like that so as a developer
they're going to be able to see that hey
I am falling out of the standard you
also want to make sure that you have the
the path of code is also part of your
standards besides just the actual coding
process that we talk about like writing
code and is it you know is it readable
blah blah blah is what do I do how do I
go from uh a requirement into
implementing something thing and then
eventually getting it deployed now you
may not have all of that as part of your
coding standards but these days
particularly if you're in an agile
environment you actually will or you
should you should have PE some sort of a
process that's documented or in some way
to say hey I am I've grabbed a ticket
I'm working on this ticket I'm coding
this ticket I've committed code for this
ticket it has been tested or like maybe
it's I have tests that have been
submitted for it it's been tested it's
been verified it's been pushed into a
release and blah blah blah with all of
that there are things like just I mean
you can go a little bit nuts but there
are things that are important like that
like what does depending on how you
control your Version Control
repositories what does a branch look
like when do I Branch when Don I Branch
when to you know how what is a what is
involved in a a pool requ a pull request
and in accepting one and code reviews
what does a code review look like how
many people need to code do a code
review these are all things that I think
we we don't think about when we're
coming out of school because we don't
have teams in that level professional
development and a lot of times when we
get into the real world we don't think
about it because we're so focused on our
project our tasks and so it almost has
to be the organization or the manager or
whoever it is needs to like push that
forward with the team as you get further
along as you're doing side hustle
projects as you're doing maybe getting
Consulting and you're jumping in and out
then that's one of the first things that
you should think about if you're doing
your side hustle project is like take
notes along the way and craft your you
know your coding standard so you have a
a template and you've thought about it
if you step into something at a customer
whether it's a new job or consulting or
something like that that should be one
of the first questions you ask is are
there is there some sort of coding
standards document are there templates I
need to use and it those kinds of things
are going to help you immensely I don't
know how often I've walked into
something where there's not a standard
for example like standard coding
structure and so one developer has got
all their code in one place and another
one's got it another and then they've
got all these inii or setting files or
whatever they are sometimes it's
hardcoded in it all of these paths that
then you've got to go and un you know
undo those now these days usually people
are extract those out to setting files
but then it's still it's like okay I got
to go tweak all my setting files and I
got to figure out which setting I can
use and which don't I and when do I can
when can I connect to this database when
I do I need to connect to my local one
those are all factors those are all
facets and properties of a good coding
standards document or process so I've
thrown a lot out there and now I'm going
to let Michael sit back there with his
big baseball glove and catch all of that
and you know play around with a little
bit and give us something back that's a
little bit more maybe a little bit more
intelligible sure one of the things I
would like to add on is a coding
standard if you're in an agile
environment and you're really building
your quality controls and your processes
within your coding standards it also
becomes like a code of conduct for your
team everyone agrees to these so when
you're doing those code reviews
everyone's hold hopefully holding
everyone to the same standards that you
all agreed to so if you have good
quality uh standards Define you should
all be following that and then you
should hold each other accountable for
it so I want to take this a slightly
different direction so we've talked
about what are good coding standards if
you are new to larger Enterprise
corporations you're just out of school
or you have been working at one company
for a long period of time and you're
kind of set in your ways based on the
coding standards of where you're
at going into a new job a new company or
even a new side Hustle there are some
other things to consider about for
coding standards one if you define
really good coding standards it doesn't
matter what type of development tool you
use IDE could be visual code could be
xcode doesn't matter if you define The
Styling you want you can all these IDs
these days can ingest an XML style sheet
standard and then apply the same coding
styles to whatever ID you use so if you
like visual code you can use visual code
you like Eclipse you use eclipse xcode
and so on the other thing though is so
as I was talking about coming into a new
job or switching to a different
environment one of the things from a new
employees perspective is treat your
coding standards if you don't have them
treat your environment as if it's a new
person coming in how are you going to
train them on using your system if you
have really good coding standards you
should almost be able to hand that to
them walk through the code walk through
the coding standards and boom your
employees are quickly up to speed
writing code hitting the ground burning
within days not weeks or
months if you don't have that what
typically is going to happen you're
going to bring in a new employee you're
going to say here go look at how or go
look at the application figure out how
it works and then we'll slowly have
people sit with you and kind of walk
through what they do and here's how the
code Works here's how we our development
environment Etc good coding standards
from a new install a new employee
perspective you're forced to kind of
write that checklist how do I set up my
development environment how do I check
out my code how is the code style these
are some of the basics you need and if
you think of it from the mindset of a
new employee for
training it's so easy because all you
literally are doing is you're building
your checklist you're walking through
how to essentially do your job at this
company and you're essentially writing
the handbook so to speak in these coding
standards now when you get into the
continuous integration uh using
different Frameworks things of that
nature having these kind of templates is
very crucial to keeping things moving
quickly so if you do a lot of API
development a lot of backend development
having good standards around what is an
API what are the protocols you use how
do you resp you know return response
messages when do you hide certain
response messages so you're not
returning critical customer data back to
the end user or how do you handle SQL
injections you know how do you log into
an application how do you pass things
there are other things with coding
standards that are not just about the
basics but also about the functionality
within the system how do you handle
things you know if you're having to deal
with medicine you have to deal with
hipop okay how are you applying the
Hippa guidelines to your coding
standards to ensure you're basically
protecting all that patient data and not
having logs log you know Social Security
numbers or credit card numbers or things
of that nature so those are some of the
other things that you can unpack within
good coding standards and like I said
you know as you bring new people on
board it's so easy to hand it to them
they can get up to speed real quickly or
even if you're working across teams if
the organization has good coding
standards it should be fairly easy to go
from one team to work with another team
and your project should hopefully
integrate smoothly
together now a couple of bonuses here uh
I want to mention is one these days as
mik Michael mentioned it is very it is
easier than ever for you to put these
standards into your ID whatever it
happens to be and effectively hit you
know reformat or something like that or
look at the the output the we'll call it
it's the problems and be able to walk
through and see where did you fail to
follow the standards another thing that
we haven't touched on there's actually a
way to maybe make this stuff even easier
is through containers or infrastructures
of code or something along those lines
well yes you can use you can use all of
these things you know Docker and all of
that and you know k8s and all of those
guys you can use all of that to do a
very uh an Enterprise System that's got
all of these nodes and all this stuff to
scale something up what you can also do
is you can scale your development
environment and this is sometimes a very
easy way particularly if you think of
like Docker desktop or one of those
things where you just say you know what
we're going to have you we're going to
give you you know a Docker compos just a
little yaml file and you go launch that
thing and it goes out it grabs all the
code down from you know from whatever
your repository was sets everything up
puts it in all the right folders and
everything else and it's just like
that's where you live you can try to
copy stuff out and have your own
separate development environment but
really you live there and it's so much
easier for developers to do that it's
actually makes it a lot easier if you
are a if you're in a a team where you're
you know you've got multiple members and
you especially if you've got people sort
of flowing in and out or if you've got
people just going to work on something
for a while and then they need to be
done and you move you know move on to
something else you don't have to spin up
machines you don't have to even spin up
your own VMS you can can just say here
take this install Docker execute this
thing it's going to run here you go boom
everything's going to be the same you're
you're able to say here's where we're at
and at least your your infrastruct your
structure and a lot of that those kinds
of things that become a pain things like
uh even things like the the system setup
so what are my system settings what's my
time zone what are like those kinds of
things particularly if you're dealing
with uh web development for example like
what Ser what version or actually almost
any of development these states what
version of all of these libraries and
all these Frameworks am I dealing with
and you know I mean you're sitting there
probably pulling your hair out if you've
done like a react app that's got 18
different or that's actually a small one
it's got like 40 different you know
modules in it or python that's got a you
know a requirements. text that's like a
100 lines long or if you're dealing with
Java and you've got all these imported
little libraries or you deal like Ruby
if you got all of the gems and all that
kind of
stuff it is so much easier to just have
that environment particularly when you
start dealing with like upgrading and
things of that nature because then you
can just do it once get it fixed get it
working and then just go here you go
here's the environment knock yourself
out it allows you to really focus on the
configuration types of things that take
up so much of our time you can just get
that done and knock that out of the the
the list of things that you have to
worry about as far as a developer
closing thoughts from
you yeah I'm glad you brought that up
because I have actually built that and
I've talked about that in Prior podcast
where we have built custom development
environments and we essentially rolled
it out as either images for desktops or
containers and so on only caveat with
that and this will be my final thought
is if you're going to go the automated
route and use containers or automation
make sure you document and standardize
what it is that you're going to be doing
with that I have been in situations and
in couple different companies where they
didn't have a standard for that someone
implemented it a year or two ago they
left and now no one knows how it works
it starts becoming unstable and then you
actually spend more time trying to keep
your development environment up versus
actually doing your job so again coding
standards help with all of this
standardization is key regardless it
could be for continuous integration how
your code styling is but just make sure
you do document whatever you agree to
do and that's I know everybody hates to
use the dword but yes document that
stuff um it's and honestly even if
you've got something if you these kind
of situation if you get into like you
know automated environments and things
like that then just just make sure that
youve got something that says here's the
scripts that you run and just make sure
that you don't have magic stuff in those
scripts I have dealt with those I've
been in the same situation where you've
got the developer disappeared long ago
and
particularly I'll just throw one extra
one example up and then we'll out there
and we'll run you know we'll move on
we'll pass move off of our our our Soap
Box on this but it was a combination so
you had these containers that built up
your environment and it wasn't a it
wasn't a simple environment there was
three or four servers involved and there
was a jenin server that was involved
that did some of the building to some of
this
stuff and those things had to be in sync
and there was some calls back and forth
that if you didn't have everything in
place it didn't really make sense and
those are the things that you need to
make sure for example like if there's a
like settings files that are required or
if there's path that's probably the one
I've seen more often than not is there's
path or environment variables that are
expected to be there and if they're not
it Just close up so make sure that you
know you document it make sure that you
have proper error codes and make sure
that you've got ideally that you've got
a document or a video or something that
says this is how you walk through the
process and what it should look like
those are the kinds of things are going
to save other people in the future even
if you walk away you can just say hey
that document if you walk through that
it should work if it doesn't then
something went wrong and of course the
nice thing is you can test that by just
give that document to somebody and say
okay just take this or do it yourself
I've done this several times when I
build those documents I go to a
completely clean machine walk through
the steps and if it doesn't work then I
got to fix it or I've got to update the
document you if you don't think that we
work can update the document of us by
sending us an email at info
developer.com yes that is quite a
stretch to get to that but we got there
anyways just like however far you have
to go to get to the internet which
shouldn't be very far go out to
developer.com and you can check out all
of our content you can go to school.
developer.com and check out the more
organized content that's there you can
leave us comments you can leave us
suggestions and wide open on that
whether you want to look at some of the
topics we should cover some of the
things we shouldn't cover some of the
things that you'd like us to go back and
do as part of our uh our mentoring
series or part of our training type
series you name it we're we're more than
happy to hear from you and see where we
can use this platform so help us help
you become a better
developer as always though I want to go
out there and become a better developer
better human being even have yourself a
great day a great week and we will talk
to you next time bonus
material yeah so you talked a little bit
about linting and you know code review
software and tools a static code
analysis and that um sonar is one of the
best uh sonar lint uh especially in the
Java world I think there's even a python
lint um but pick one start using it just
by a static code analysis tool from the
get-go will start heading you down the
path to good requirements the other
thing is pick a style pick it and apply
it to everybody
because I can't tell you how frustrating
it is for you to go in check out code
and the moment you hit save all your
code reformats because you're on a
different standard as someone else when
you go to commit your code you now have
hundreds of file changes out there and
it's all formatting so you don't know
what it is that the code change was
actually for so pick one and if you
don't have one do it now do one build or
one commit for all your projects to the
same format just push it up apply it and
then going forward you should be on the
same page and it should be easier to do
those code reviews make changes and see
what actually
changed that is a huge bonus that part
of just
the the headaches that will save you for
code commits like code merges and code
comparisons is just insane I don't know
how many times I've been and I'm
thinking way like I've got flashbacks to
back in the day when everybody had stuff
different and that was actually what
early on way way back what I liked about
like pythons and borrans and stuff like
that where it was all like it had to be
lined up the right way or it wouldn't
work because then at least you could eat
you could connect you could actually
compare stuff like I remember taking
like the all green and white printer
paper and you like take two those sheets
and just look at it through the light
and it either lines up or it doesn't and
you can figure out where the changes are
I do want to actually just another bonus
thing I want to go back to the idea of
having a having a virtual environment
whether it is a you know whether it's a
Docker image or something something like
that one of the first times even if it's
just you one of the first times I really
did this um is I used was actually going
through one of the developer or U one of
the training things and I can't remember
I think it was actually a python one
where I used Cloud9 I used Amazon's
Cloud9 I had ec2 server that I just had
my stuff on and no matter what machine I
was on I would get on that and
everything was there I didn't you know I
have all kinds of ways to sync code and
I can commit stuff up and I can bring it
back down and all that kinds of stuff
but then sometimes you know the push
didn't go right or whatever and just
having a a very very consistent
environment and I've gotten this like I
said with Docker as well where it's just
like I'm always I'm going to pop the the
document the docker image
up do all the work commit it when you
know next time I go fire that up
somewhere else it pulls everything down
everything gets synced having that alone
even if you're the only de developer
does save sometimes hours and hours of
time if you particularly for example
Apple just had an update the other day
I've got one machine that took the new
iOS and I've got another one that hasn't
taken it yet because I'm I just haven't
been ready I've been a little scared to
do it uh because I want to make sure the
first one worked right but then it it I
lost some time because there was stuff
that's like oh yeah I got to reset I got
to do this I got to do that thing I got
do that thing I would not have had to do
that because this blew up or change
links that broke my development
environment if I was sitting in a you
know some sort of container I wouldn't
have had to worry about that so I think
that's more than enough right now we've
given you too many bonuses but I'm G but
there's one more now how much would you
pay Michael throw us one more out there
well in addition to the container so if
you go to like launching your internet
business that we have out there if you
deal with like WordPress this is a
really good example like Rob you can go
download a WordPress container set up
your WordPress development environment
put everything in there get it all
working and then you can use your tools
the backup tools like WP uh import or
export to export your entire uh
WordPress site go out to your production
site it's a simple import you don't
touch anything
else so sometimes these containers allow
you for the push key the turnkey
solutions to really speed up your
continuous integration and I I did use
that one specifically I had a customer
that we were just doing some some custom
stuff to some you know custom plugins
and and thing and pages and things like
that in WordPress and it was so nice I
started to do it in a in a separate
instance somewhere and was going to just
spin up a little server and do it but
there was just there's so much related
to that that I didn't have to deal with
when I went to Docker not to mention the
fact that it was just like I could you
know edit all the code right there I
could see it everything was awesome that
is is actually like that's that is a
good little bonus bonus bonus kind of
thing for you to look at we've given you
too much already you owe us at least an
email just even if it's just to say hey
I appreciate this or I didn't appreciate
you gave me too much stop giving me
bonus material shoot us an info@
developer.com email let us know what you
think what your feedback are provide us
comments here uh subscribe all that kind
of good Stu you can like and all that
kind of other stuff as well really we
just want to like hear from you what do
you like what do you want where can we
go to give you more information that
will help you grow as a developer we got
a lot ahead of us as we get into the
next season we're getting closer to the
end of this one so we will soon wrap up
this developer journey and dive into
those next things where we're going to
start talking about like really some
actionable kinds of things some acorns
that you can walk away with every single
episode and say wow I'm going to I've
got this challenge that I'm going to
work on I've got this new thing I'm
going to do and I'm going to see how it
goes for a while and and we'll see if
you aren't a much much better developer
by the time we get done with that that
being said we can wrap this one up
finally and uh we're going to go off and
ride off into the sunset but we'll be
right here soon as you turn around if
you looked at this you know if you're
looking at this a past catch up there's
a lot of episodes ahead of you I'm sure
if not then we'll see you next time go
out there have yourself a great day a
great week and we will talk to you next
time
[Music]
Transcript Segments
1.35

[Music]

27.76

okay uh and we're going to click record

31.88

there we go hello everybody we are back

34.92

for us we clicked a button and we moved

36.6

on to the next slide for you it may have

38.64

taken a while but we were like we had

40.64

super fast response time let's talk

44.16

about what are we going to talk about

46.6

this time so we talked about mockups and

48.12

clickable demos and

49.64

wireframes um do you have a thought on

52.12

what you want something you want to talk

53.64

about for this coming episode yeah so

57.199

now that we've talked about the

58.12

requirements we've talked about kind of

59.519

the mock UPS a little bit about the

62.519

design we could go into a design

65.08

conversation but I think we covered

67.72

enough information in the previous one

70.159

with the mockups to just get people

73.159

where they need to be but one of the

75.88

things with new projects or build

79.28

bringing people on is getting people up

82.439

to speed quickly on the direction that

84.759

you're going to go with either a

85.96

framework a technology a programming

87.96

language whatever to make sure that

90.799

everyone's on the same page so I I would

94.28

kind of like to talk on maybe building

96.399

out uh project templates or putting

101.119

together like a kind of a POC but a POC

106.04

of here is One requirement here is the

108.36

base project structure this is how we

110.84

are going to build the project in like

112.799

Java in Python uh or if we're building

115.52

apis this is what you should do for apis

119.2

or for

120.439

if you're doing uh mobile development

122.96

okay are you going to use xcode are you

125

going to use um the Android developer or

128.239

are you going to do something that is

130.64

platform neutral so that that's kind of

134

the thing I would like to throw out

136.16

there but I'm not sure how to package

137.879

that um um I sort of like that as

140.8

development it's basically it's coding

142.56

standards or development standards and I

145.2

think talking about

147.56

what what makes

150.64

what makes good development standards

152.28

basically or what are some of the things

153.28

you consider you should consider as

154.8

you're doing that I think that's

156.599

probably not a bad thing because I don't

157.68

think we've I don't know that we've

159.04

covered that very often either we've

161.08

like we've referred to them I think

163.4

there's actually blog articles somewhere

165

back in the day that we have like

166.44

example templates and some stuff like

168.04

that but I think it's not a bad thing to

169.519

talk about because it is something that

172.12

um especially these days it seems like

173.92

teams are more and more you got people

175.519

coming in and out you got a specialist

177.159

here or there and you know both sides

179.92

whether you're part of a team and you

181.72

need to make sure that it looks

183.04

consistent or whether you're coming in

184.959

as a uh you know as a consultant or a

187.799

specialist or something where it's like

189.04

you're coming into an existing project

190.799

you need to do some stuff and get out is

193.28

you know how do we incorporate

194.879

development standards so we'll see where

197.4

it goes this could be something that has

199.28

a couple follow-ups uh to it as

202.56

well well hello and welcome back we are

205.879

continuing our developer journey and

208.2

we've actually sort of like shifted

210.4

around where the developer journey is

212.64

this episode we're going to talk about

214.879

basically coding standards development

216.599

standards how do you get the team on the

220

same page when they're doing

221.879

implementation I and Mike across the the

225.48

internet here are on the same page and

227.48

on the same team co-founders of

230.72

developing who are building better

231.92

developers my name is Rob Broadhead I'm

233.799

also a founder of RB Consulting where we

236.84

help you assess your technology where

239.12

you at give yourself a starting point

242

find a good like go from point A to

244.04

point B and find ways to take all your

246.04

technology through simplification

247.64

automation integration get that stuff

250.4

manageable get it maintainable get it

252.2

scalable and then get you off and

254.2

running on your road map into the future

257.239

in the world of good thing and bad thing

260.519

a bad thing I will go with first is that

263.52

because it covered it was just in the

265.08

last episode some people will know some

266.919

people won't is that a bad thing is

270.12

starting a conversation on a podcast or

272.36

something like that and not turning off

273.8

your notifi so hit your do not disturb

277.919

if you wonder how it could go I think

280

it's only going to be on the the record

281.68

on the YouTube side but you can see

283.199

where we reference one of us did that

286.52

and or failed to do that and it causes

288.68

some issues so that's a bad thing is

290.44

sometimes no matter how many times you

292.36

do this stuff you do stupid things like

294.88

that good

296.68

thing uh let's see a good thing was

300.4

I have done like it's a little bit of a

302.96

i' I've done like a spring cleaning kind

304.84

of thing I've I've gone sort of like my

306.56

spring cleaning for my systems and

308.479

servers as a having this consulting

311.4

company there's multiple servers out

313.919

there that we maintain some of them are

316.36

essentially production servers for

317.96

customers some of them are production

319.72

servers for our own stuff there's

321.24

development servers there's demo servers

322.8

there's all these different things and

325.199

we rotate through them a lot there's a

327.039

lot of stuff things like move around and

329.039

things like that

330.56

and sometimes that ends up being a pain

332.28

in the butt because the next thing you

333.28

know you've got if you're like me you

335.16

move stuff around because you move it

336.56

from you have like a uh multiple

338.639

environments you have a test you have a

340.28

development you have a production and

342.12

those are on different machines and

343.4

different machines have different things

344.919

going on on them and over time you've

346.759

got just code all over the place you've

348.88

got it all in a nice social code

350.319

repository and stuff like that but you

351.919

basically it's like going in and playing

354.44

with all the toys in a kindergarten room

356.039

and you didn't put your crap away so the

358.68

good thing is I was able to spend a

360.479

little bit of time and like put some of

362

that crap away and clean some of that

363.479

stuff out so now I have like you know

365.88

much more smoothly running servers

368.039

because I finally got around to catching

369.84

up with a little technical debt I know I

372.28

took too long on that I apologize so I'm

374.8

going to play Mike to jump in and

377

introduce

378.12

himself hey everyone my name is Michael

380.36

MOS I'm one of the co-founders of

382.039

developing erer I'm also the founder of

384.16

Envision QA where we help companies

386.16

unlock their software's potential

387.52

through a comprehensive software quality

389.68

assessment review and test Services you

392.599

know discover how assessing all areas of

394.759

your software development teams from

396.56

sales to QA can enhance customer

398.919

satisfaction and improve software

400.68

quality right from the initial

402.12

conversation with your users good and

404.88

bad well the good sumar situation I have

409.4

been in the process with my wife of

411.039

decluttering the house and so I decided

414.479

to move into my office and start

416.24

decluttering my office and I probably

418.44

just got rid of about a thousand CD DVDs

421.36

that I had stacked up that I have not

423.319

touched in a decade or so just quickly

426.12

went through them I did find some

427.919

pictures that weren't digitized yet um

430.68

or not stored in a backup somewhere so

433.24

that was good uh bad side I have so much

436.879

more to

438

go I've got terabytes of hard drives

441.319

just sitting around that I still have to

443.039

go through and figure out what I need

445

what I don't need so like you said it it

447.8

can get out of hand if you don't keep up

449.4

with with this I just recently did a

452.039

similar kind of cleanup and there were I

454.879

had uh floppy discs three and a half

458

inch floppy discs I had 5 and a qu inch

460.72

floppy discs I had uh I had the

464.08

Microsoft developer Network stuff where

467.44

they used to be able to subscribe and

468.599

you get all their things so you had

469.879

office and you had all their development

471.319

tools and you had all the operating

472.639

systems and you had all the databases

474.56

and it was from like the late '90s so I

476.52

had like Windows 95 Windows 98 windows

479.52

blah blah blah blah blah blah like I

481.159

just had I mean there's just big boxes

482.8

full of CDs or DVDs whatever they were

485.72

and it was just like okay I guess I

487.8

can't you know I could I guess I could

489.24

have tried to donate them somewhere but

490.639

I don't know who even would even be able

492.039

to use those so done the same thing this

496.08

episode we got to continue we finally

497.8

actually get back to our topic and our

501.599

topic I totally forgot what our topic

504.24

was no actually I did a little bit give

507.479

me a sec our topic is we're going to

510.68

talk

511.8

about cing standards there we go

516.039

sometimes we get really off the rail do

518.24

not cut that out I think everybody knows

520

that we all sometimes get off track the

522.76

train goes off the rails and we got to

524.32

get back on track coding standards so

528.44

this is something that every one of us I

530.8

think complains about when it's not

532.92

followed we also complain about when we

535.36

have to follow them it's a it is a love

538.72

hate or a hate hate relationship however

540.68

you look at it because whenever we walk

542.68

into a new project we're going to say

544.76

gosh it looks like 15,000 developers

546.64

were coding on this there's nothing that

548.079

makes any sense it doesn't have any

549.56

Rhyme or Reason you can't find stuff

552.079

well you know how you fix that problem

553.399

is you have coding standards you have

555.399

something that says this is how we are

558.16

going to name things this is how we're

560.2

going to lay stuff out this is how we're

561.8

going to uh even a lot of times you even

564.519

get in like this is how we're going to

565.68

approach certain uh usage of like

567.8

Frameworks and problem solvings and

569.44

things like that and yes it can be

572.32

things like uh a code template that says

575.44

every time you create a class for this

578

language you start with this template

579.519

and you're going to have a header and

580.6

you're going to have some footer stuff

581.64

and you're G to have all these things

582.6

and this this is what comments look like

584.56

these are the tags that you should have

586.279

and all of that stuff is very

589.04

useful but along those same lines what

591.56

you it's it's say okay well what do I do

593.519

do I just like walk through code and say

595.2

this is how you code everything no what

598.04

you want to do is you want to make sure

600.279

that you are going through and

602.6

essentially like think of it almost like

603.959

a punch list of if I wanted to set this

606.72

project up what are the things that I

609.44

need to

610.279

do and that's where you're going to get

613.16

you're going to lay out your development

614.64

standards your programming standards

616.76

because this is going to tell people

618.8

when I'm writing code what should it

620.6

look like where should it go how does it

623.64

progress through you know coding testing

626.399

and all those kinds of things and those

628.36

are the pieces that you need to have as

630.32

part of your whether it's your your

632.64

document or these days it could be part

635.68

of your cicd flow there are sometimes

637.72

things you can automate a lot of this

639.16

you can process processe you can turn

641.72

into a process a lot of these things

644.04

that is an automated process of some

645.839

sort or another some of the things you

648.44

want to look at and we have talked about

650.72

these in the past but there are tools

653.959

like I mentioned there's like cicd kind

655.72

of stuff continuous integration and

657.56

deployment there are things out there

659.44

that can help you force developers into

663.88

following standards now there are

665.76

automated tools like uh there are like

668

lint tools and stuff like that there's

669.6

static code analysis stuff that you can

672.48

with a lot of in a lot of places you can

674.32

actually build that into your commit

676.639

process so it's things like if you do a

678.56

pull request you can you know you commit

680.92

your code up then it's going to run

683.279

through some processing and kick some

684.8

stuff back and say hey you didn't follow

687.6

the pro the the code you the coding

689.72

standards properly there was a guy there

691.88

was a project I work with that it was so

694.24

strict that it was things like all of

696.839

the formatting of the code was built

699.959

into it so you could not successfully

701.959

commit code into the Version Control

704.24

this how old it was it was SVN into SVN

707.44

without it passing this essentially like

710.88

sanity check and it did it did like

712.639

spelling checks it did spacing it did uh

716.399

it made sure that everything followed

717.519

the right format so if you you know not

719.44

to get too deep into it but things like

720.839

you know do you put something on the

722.639

same line or do you have to put another

724.16

if you know a line after every if or do

726.44

you do a at the end like an open bracket

728.92

is that on the same line or do you push

730.399

that to the other line how do you indent

732.279

do you use tabs do you use spaces all

734.56

these things that a lot of your Ides

736.399

will now provide that for

738.92

you that can be part of it and that's

741.399

the nice thing about these idees is you

743.399

can actually build these into IDE

745.839

properties so you just basically say

747.56

upload this thing this file and it's

750.44

going to set all your defaults it can

752.279

set all your warnings it can set errors

754.32

and things like that so as a developer

756

they're going to be able to see that hey

757.48

I am falling out of the standard you

760.36

also want to make sure that you have the

762.88

the path of code is also part of your

765.519

standards besides just the actual coding

768.16

process that we talk about like writing

769.88

code and is it you know is it readable

771.92

blah blah blah is what do I do how do I

775.079

go from uh a requirement into

778.399

implementing something thing and then

779.6

eventually getting it deployed now you

781.639

may not have all of that as part of your

783.32

coding standards but these days

785.32

particularly if you're in an agile

786.839

environment you actually will or you

788.76

should you should have PE some sort of a

790.88

process that's documented or in some way

792.88

to say hey I am I've grabbed a ticket

796.24

I'm working on this ticket I'm coding

798.839

this ticket I've committed code for this

800.44

ticket it has been tested or like maybe

802.88

it's I have tests that have been

804.199

submitted for it it's been tested it's

806.24

been verified it's been pushed into a

808.16

release and blah blah blah with all of

811.839

that there are things like just I mean

814.68

you can go a little bit nuts but there

816.16

are things that are important like that

817.639

like what does depending on how you

820.36

control your Version Control

821.959

repositories what does a branch look

823.72

like when do I Branch when Don I Branch

826

when to you know how what is a what is

828.6

involved in a a pool requ a pull request

831.399

and in accepting one and code reviews

834.279

what does a code review look like how

836.68

many people need to code do a code

838.44

review these are all things that I think

841.56

we we don't think about when we're

844.04

coming out of school because we don't

845.399

have teams in that level professional

847.16

development and a lot of times when we

848.6

get into the real world we don't think

850.839

about it because we're so focused on our

853.44

project our tasks and so it almost has

856.279

to be the organization or the manager or

859

whoever it is needs to like push that

860.8

forward with the team as you get further

862.92

along as you're doing side hustle

864.279

projects as you're doing maybe getting

865.8

Consulting and you're jumping in and out

868.24

then that's one of the first things that

870

you should think about if you're doing

871.44

your side hustle project is like take

873.399

notes along the way and craft your you

876.16

know your coding standard so you have a

878.44

a template and you've thought about it

880.36

if you step into something at a customer

882.279

whether it's a new job or consulting or

884.639

something like that that should be one

886.16

of the first questions you ask is are

887.959

there is there some sort of coding

889.759

standards document are there templates I

891.68

need to use and it those kinds of things

895.92

are going to help you immensely I don't

897.639

know how often I've walked into

899.079

something where there's not a standard

901.44

for example like standard coding

903.32

structure and so one developer has got

905.759

all their code in one place and another

907.36

one's got it another and then they've

908.68

got all these inii or setting files or

910.56

whatever they are sometimes it's

912

hardcoded in it all of these paths that

915.12

then you've got to go and un you know

916.92

undo those now these days usually people

919

are extract those out to setting files

921.079

but then it's still it's like okay I got

922.48

to go tweak all my setting files and I

924.079

got to figure out which setting I can

925.36

use and which don't I and when do I can

927.48

when can I connect to this database when

929.199

I do I need to connect to my local one

932.079

those are all factors those are all

935.48

facets and properties of a good coding

938.519

standards document or process so I've

941.6

thrown a lot out there and now I'm going

943.319

to let Michael sit back there with his

944.72

big baseball glove and catch all of that

946.519

and you know play around with a little

948.759

bit and give us something back that's a

950.12

little bit more maybe a little bit more

952.72

intelligible sure one of the things I

955.759

would like to add on is a coding

959.04

standard if you're in an agile

961.04

environment and you're really building

962.639

your quality controls and your processes

966.639

within your coding standards it also

968.68

becomes like a code of conduct for your

971.44

team everyone agrees to these so when

973.959

you're doing those code reviews

975.24

everyone's hold hopefully holding

976.839

everyone to the same standards that you

979.399

all agreed to so if you have good

983.12

quality uh standards Define you should

986.399

all be following that and then you

987.68

should hold each other accountable for

990.6

it so I want to take this a slightly

993.519

different direction so we've talked

995.72

about what are good coding standards if

999.839

you are new to larger Enterprise

1003.04

corporations you're just out of school

1004.6

or you have been working at one company

1006.88

for a long period of time and you're

1008.44

kind of set in your ways based on the

1010.839

coding standards of where you're

1012.839

at going into a new job a new company or

1017.12

even a new side Hustle there are some

1019.6

other things to consider about for

1021.04

coding standards one if you define

1023.639

really good coding standards it doesn't

1025.88

matter what type of development tool you

1028.039

use IDE could be visual code could be

1031.16

xcode doesn't matter if you define The

1035.039

Styling you want you can all these IDs

1038.839

these days can ingest an XML style sheet

1042.959

standard and then apply the same coding

1044.88

styles to whatever ID you use so if you

1047.4

like visual code you can use visual code

1049.2

you like Eclipse you use eclipse xcode

1051.679

and so on the other thing though is so

1054.96

as I was talking about coming into a new

1057.4

job or switching to a different

1060.679

environment one of the things from a new

1064.24

employees perspective is treat your

1068.4

coding standards if you don't have them

1070.76

treat your environment as if it's a new

1073.679

person coming in how are you going to

1075.559

train them on using your system if you

1078.52

have really good coding standards you

1080.2

should almost be able to hand that to

1082

them walk through the code walk through

1084.039

the coding standards and boom your

1086

employees are quickly up to speed

1087.72

writing code hitting the ground burning

1089.76

within days not weeks or

1092.48

months if you don't have that what

1095.36

typically is going to happen you're

1096.799

going to bring in a new employee you're

1098.28

going to say here go look at how or go

1100.84

look at the application figure out how

1102.28

it works and then we'll slowly have

1104.28

people sit with you and kind of walk

1105.52

through what they do and here's how the

1107.64

code Works here's how we our development

1109.76

environment Etc good coding standards

1112.96

from a new install a new employee

1116.28

perspective you're forced to kind of

1118.28

write that checklist how do I set up my

1120.64

development environment how do I check

1122.44

out my code how is the code style these

1126.039

are some of the basics you need and if

1128.72

you think of it from the mindset of a

1130.44

new employee for

1132.2

training it's so easy because all you

1134.96

literally are doing is you're building

1136.48

your checklist you're walking through

1139.12

how to essentially do your job at this

1143.039

company and you're essentially writing

1145.2

the handbook so to speak in these coding

1147.24

standards now when you get into the

1149.12

continuous integration uh using

1151.2

different Frameworks things of that

1152.72

nature having these kind of templates is

1156.28

very crucial to keeping things moving

1158.84

quickly so if you do a lot of API

1161.559

development a lot of backend development

1163.32

having good standards around what is an

1166.2

API what are the protocols you use how

1168.44

do you resp you know return response

1170.6

messages when do you hide certain

1173.039

response messages so you're not

1174.52

returning critical customer data back to

1177.6

the end user or how do you handle SQL

1180.36

injections you know how do you log into

1182.4

an application how do you pass things

1184.28

there are other things with coding

1185.919

standards that are not just about the

1188.12

basics but also about the functionality

1190.88

within the system how do you handle

1192.919

things you know if you're having to deal

1195.559

with medicine you have to deal with

1197.28

hipop okay how are you applying the

1199.52

Hippa guidelines to your coding

1201.76

standards to ensure you're basically

1204.679

protecting all that patient data and not

1207.799

having logs log you know Social Security

1210.4

numbers or credit card numbers or things

1211.799

of that nature so those are some of the

1214.52

other things that you can unpack within

1217.08

good coding standards and like I said

1219.44

you know as you bring new people on

1221.2

board it's so easy to hand it to them

1223.96

they can get up to speed real quickly or

1226.48

even if you're working across teams if

1229.12

the organization has good coding

1230.919

standards it should be fairly easy to go

1233.12

from one team to work with another team

1235.32

and your project should hopefully

1237.2

integrate smoothly

1239.08

together now a couple of bonuses here uh

1242.48

I want to mention is one these days as

1245.559

mik Michael mentioned it is very it is

1248.24

easier than ever for you to put these

1251.32

standards into your ID whatever it

1253.52

happens to be and effectively hit you

1255.84

know reformat or something like that or

1258.76

look at the the output the we'll call it

1261.64

it's the problems and be able to walk

1263.64

through and see where did you fail to

1266.08

follow the standards another thing that

1268.48

we haven't touched on there's actually a

1270.679

way to maybe make this stuff even easier

1273.44

is through containers or infrastructures

1275.6

of code or something along those lines

1277.76

well yes you can use you can use all of

1280.88

these things you know Docker and all of

1282.559

that and you know k8s and all of those

1285

guys you can use all of that to do a

1287.36

very uh an Enterprise System that's got

1289.96

all of these nodes and all this stuff to

1291.679

scale something up what you can also do

1294

is you can scale your development

1295.84

environment and this is sometimes a very

1298.039

easy way particularly if you think of

1299.44

like Docker desktop or one of those

1301.08

things where you just say you know what

1304

we're going to have you we're going to

1305.279

give you you know a Docker compos just a

1307.559

little yaml file and you go launch that

1310.48

thing and it goes out it grabs all the

1312.12

code down from you know from whatever

1313.799

your repository was sets everything up

1315.919

puts it in all the right folders and

1317.52

everything else and it's just like

1319.279

that's where you live you can try to

1321.44

copy stuff out and have your own

1322.679

separate development environment but

1324

really you live there and it's so much

1326.72

easier for developers to do that it's

1328.52

actually makes it a lot easier if you

1330.279

are a if you're in a a team where you're

1333.88

you know you've got multiple members and

1335.559

you especially if you've got people sort

1336.799

of flowing in and out or if you've got

1338.76

people just going to work on something

1340

for a while and then they need to be

1341.64

done and you move you know move on to

1343.08

something else you don't have to spin up

1345.44

machines you don't have to even spin up

1347.2

your own VMS you can can just say here

1350.36

take this install Docker execute this

1352.84

thing it's going to run here you go boom

1356.6

everything's going to be the same you're

1359.4

you're able to say here's where we're at

1361.919

and at least your your infrastruct your

1364.96

structure and a lot of that those kinds

1368.12

of things that become a pain things like

1370.919

uh even things like the the system setup

1373.679

so what are my system settings what's my

1375.24

time zone what are like those kinds of

1377.64

things particularly if you're dealing

1379.039

with uh web development for example like

1381.279

what Ser what version or actually almost

1383.559

any of development these states what

1385.08

version of all of these libraries and

1386.919

all these Frameworks am I dealing with

1388.96

and you know I mean you're sitting there

1390.64

probably pulling your hair out if you've

1392.039

done like a react app that's got 18

1395.12

different or that's actually a small one

1396.64

it's got like 40 different you know

1398.2

modules in it or python that's got a you

1400.64

know a requirements. text that's like a

1402.64

100 lines long or if you're dealing with

1404.919

Java and you've got all these imported

1406.4

little libraries or you deal like Ruby

1408.84

if you got all of the gems and all that

1410.4

kind of

1411.24

stuff it is so much easier to just have

1415.679

that environment particularly when you

1417.559

start dealing with like upgrading and

1419.52

things of that nature because then you

1421.159

can just do it once get it fixed get it

1424.159

working and then just go here you go

1425.76

here's the environment knock yourself

1428.159

out it allows you to really focus on the

1431.52

configuration types of things that take

1433.559

up so much of our time you can just get

1435.76

that done and knock that out of the the

1438.76

the list of things that you have to

1440.039

worry about as far as a developer

1442.4

closing thoughts from

1444.12

you yeah I'm glad you brought that up

1447.48

because I have actually built that and

1449.72

I've talked about that in Prior podcast

1452.4

where we have built custom development

1454.96

environments and we essentially rolled

1456.64

it out as either images for desktops or

1460.24

containers and so on only caveat with

1463.159

that and this will be my final thought

1465.279

is if you're going to go the automated

1467.799

route and use containers or automation

1471.039

make sure you document and standardize

1473.799

what it is that you're going to be doing

1475.76

with that I have been in situations and

1478.52

in couple different companies where they

1481.399

didn't have a standard for that someone

1483.919

implemented it a year or two ago they

1486.919

left and now no one knows how it works

1489.64

it starts becoming unstable and then you

1491.679

actually spend more time trying to keep

1493.679

your development environment up versus

1496.12

actually doing your job so again coding

1499.279

standards help with all of this

1501.12

standardization is key regardless it

1503.96

could be for continuous integration how

1506.559

your code styling is but just make sure

1508.72

you do document whatever you agree to

1512.039

do and that's I know everybody hates to

1515.08

use the dword but yes document that

1518.12

stuff um it's and honestly even if

1520.96

you've got something if you these kind

1522.679

of situation if you get into like you

1524.399

know automated environments and things

1526.32

like that then just just make sure that

1528.919

youve got something that says here's the

1530.08

scripts that you run and just make sure

1531.96

that you don't have magic stuff in those

1533.96

scripts I have dealt with those I've

1536.12

been in the same situation where you've

1537.36

got the developer disappeared long ago

1540.159

and

1541.159

particularly I'll just throw one extra

1543.279

one example up and then we'll out there

1544.64

and we'll run you know we'll move on

1546.76

we'll pass move off of our our our Soap

1549.159

Box on this but it was a combination so

1551.679

you had these containers that built up

1554.52

your environment and it wasn't a it

1555.919

wasn't a simple environment there was

1557.72

three or four servers involved and there

1560.76

was a jenin server that was involved

1562.6

that did some of the building to some of

1564.36

this

1565.12

stuff and those things had to be in sync

1568.88

and there was some calls back and forth

1570.799

that if you didn't have everything in

1572.52

place it didn't really make sense and

1575.399

those are the things that you need to

1576.52

make sure for example like if there's a

1578.559

like settings files that are required or

1580.6

if there's path that's probably the one

1582.679

I've seen more often than not is there's

1584.399

path or environment variables that are

1586.12

expected to be there and if they're not

1587.919

it Just close up so make sure that you

1590.36

know you document it make sure that you

1592.12

have proper error codes and make sure

1594.2

that you've got ideally that you've got

1595.96

a document or a video or something that

1598.919

says this is how you walk through the

1601.6

process and what it should look like

1603.72

those are the kinds of things are going

1604.88

to save other people in the future even

1607.039

if you walk away you can just say hey

1609.399

that document if you walk through that

1610.799

it should work if it doesn't then

1613.36

something went wrong and of course the

1614.72

nice thing is you can test that by just

1616.84

give that document to somebody and say

1618.52

okay just take this or do it yourself

1620.679

I've done this several times when I

1621.84

build those documents I go to a

1623.399

completely clean machine walk through

1625.279

the steps and if it doesn't work then I

1628.44

got to fix it or I've got to update the

1630.44

document you if you don't think that we

1633.159

work can update the document of us by

1635.48

sending us an email at info

1637.039

developer.com yes that is quite a

1639.6

stretch to get to that but we got there

1642.2

anyways just like however far you have

1645.039

to go to get to the internet which

1646.96

shouldn't be very far go out to

1649

developer.com and you can check out all

1651.039

of our content you can go to school.

1652.48

developer.com and check out the more

1654.919

organized content that's there you can

1657.12

leave us comments you can leave us

1658.559

suggestions and wide open on that

1661.36

whether you want to look at some of the

1662.84

topics we should cover some of the

1663.96

things we shouldn't cover some of the

1665.48

things that you'd like us to go back and

1666.799

do as part of our uh our mentoring

1669.159

series or part of our training type

1671.08

series you name it we're we're more than

1674.72

happy to hear from you and see where we

1676.679

can use this platform so help us help

1680.48

you become a better

1682.519

developer as always though I want to go

1685.039

out there and become a better developer

1686.64

better human being even have yourself a

1688.96

great day a great week and we will talk

1691.279

to you next time bonus

1696.72

material yeah so you talked a little bit

1699.36

about linting and you know code review

1703.12

software and tools a static code

1705.039

analysis and that um sonar is one of the

1707.72

best uh sonar lint uh especially in the

1710.64

Java world I think there's even a python

1713.08

lint um but pick one start using it just

1718.519

by a static code analysis tool from the

1721.039

get-go will start heading you down the

1723.32

path to good requirements the other

1725.679

thing is pick a style pick it and apply

1729.24

it to everybody

1731.48

because I can't tell you how frustrating

1734.36

it is for you to go in check out code

1737.64

and the moment you hit save all your

1740.519

code reformats because you're on a

1742.36

different standard as someone else when

1744.2

you go to commit your code you now have

1746.48

hundreds of file changes out there and

1748.799

it's all formatting so you don't know

1750.84

what it is that the code change was

1752.76

actually for so pick one and if you

1756.48

don't have one do it now do one build or

1760.72

one commit for all your projects to the

1762.96

same format just push it up apply it and

1766.72

then going forward you should be on the

1768.96

same page and it should be easier to do

1770.919

those code reviews make changes and see

1773.36

what actually

1774.399

changed that is a huge bonus that part

1777.76

of just

1779.279

the the headaches that will save you for

1781.96

code commits like code merges and code

1785.32

comparisons is just insane I don't know

1787.559

how many times I've been and I'm

1788.84

thinking way like I've got flashbacks to

1791

back in the day when everybody had stuff

1792.88

different and that was actually what

1795.72

early on way way back what I liked about

1798.08

like pythons and borrans and stuff like

1800.48

that where it was all like it had to be

1802.279

lined up the right way or it wouldn't

1803.919

work because then at least you could eat

1805.84

you could connect you could actually

1807.32

compare stuff like I remember taking

1809.159

like the all green and white printer

1810.6

paper and you like take two those sheets

1812.559

and just look at it through the light

1813.88

and it either lines up or it doesn't and

1815.559

you can figure out where the changes are

1818.24

I do want to actually just another bonus

1820.44

thing I want to go back to the idea of

1823

having a having a virtual environment

1825.44

whether it is a you know whether it's a

1826.96

Docker image or something something like

1828.48

that one of the first times even if it's

1830.799

just you one of the first times I really

1833.559

did this um is I used was actually going

1836.96

through one of the developer or U one of

1839.919

the training things and I can't remember

1841.399

I think it was actually a python one

1842.84

where I used Cloud9 I used Amazon's

1844.84

Cloud9 I had ec2 server that I just had

1848.24

my stuff on and no matter what machine I

1850.559

was on I would get on that and

1852.84

everything was there I didn't you know I

1854.72

have all kinds of ways to sync code and

1857.32

I can commit stuff up and I can bring it

1859

back down and all that kinds of stuff

1860.24

but then sometimes you know the push

1862.44

didn't go right or whatever and just

1866.48

having a a very very consistent

1870.2

environment and I've gotten this like I

1872.08

said with Docker as well where it's just

1873.519

like I'm always I'm going to pop the the

1875.24

document the docker image

1877.279

up do all the work commit it when you

1880.039

know next time I go fire that up

1881.919

somewhere else it pulls everything down

1883.32

everything gets synced having that alone

1886.88

even if you're the only de developer

1889.12

does save sometimes hours and hours of

1892.24

time if you particularly for example

1895.679

Apple just had an update the other day

1897.519

I've got one machine that took the new

1899.639

iOS and I've got another one that hasn't

1901.399

taken it yet because I'm I just haven't

1903.919

been ready I've been a little scared to

1905.36

do it uh because I want to make sure the

1907.2

first one worked right but then it it I

1910.159

lost some time because there was stuff

1911.44

that's like oh yeah I got to reset I got

1912.76

to do this I got to do that thing I got

1913.96

do that thing I would not have had to do

1916

that because this blew up or change

1918.559

links that broke my development

1920.919

environment if I was sitting in a you

1923.2

know some sort of container I wouldn't

1924.48

have had to worry about that so I think

1927.159

that's more than enough right now we've

1928.6

given you too many bonuses but I'm G but

1931.12

there's one more now how much would you

1933.519

pay Michael throw us one more out there

1936.08

well in addition to the container so if

1938.08

you go to like launching your internet

1939.919

business that we have out there if you

1943.679

deal with like WordPress this is a

1946

really good example like Rob you can go

1948.919

download a WordPress container set up

1952.679

your WordPress development environment

1955

put everything in there get it all

1956.639

working and then you can use your tools

1959.6

the backup tools like WP uh import or

1962.24

export to export your entire uh

1965.399

WordPress site go out to your production

1967.6

site it's a simple import you don't

1969.84

touch anything

1971.2

else so sometimes these containers allow

1974.2

you for the push key the turnkey

1976.24

solutions to really speed up your

1978.08

continuous integration and I I did use

1980.679

that one specifically I had a customer

1982.799

that we were just doing some some custom

1985.799

stuff to some you know custom plugins

1988

and and thing and pages and things like

1989.679

that in WordPress and it was so nice I

1991.559

started to do it in a in a separate

1993.48

instance somewhere and was going to just

1995.639

spin up a little server and do it but

1996.96

there was just there's so much related

1999.12

to that that I didn't have to deal with

2000.679

when I went to Docker not to mention the

2002.159

fact that it was just like I could you

2003.96

know edit all the code right there I

2005.76

could see it everything was awesome that

2007.6

is is actually like that's that is a

2009.08

good little bonus bonus bonus kind of

2011.559

thing for you to look at we've given you

2013.36

too much already you owe us at least an

2015.84

email just even if it's just to say hey

2018.88

I appreciate this or I didn't appreciate

2021.2

you gave me too much stop giving me

2023.279

bonus material shoot us an info@

2025.279

developer.com email let us know what you

2028.039

think what your feedback are provide us

2030.399

comments here uh subscribe all that kind

2032.96

of good Stu you can like and all that

2034.44

kind of other stuff as well really we

2036.36

just want to like hear from you what do

2038

you like what do you want where can we

2040

go to give you more information that

2042.159

will help you grow as a developer we got

2043.96

a lot ahead of us as we get into the

2045.519

next season we're getting closer to the

2047.36

end of this one so we will soon wrap up

2050.599

this developer journey and dive into

2052.56

those next things where we're going to

2053.76

start talking about like really some

2055.76

actionable kinds of things some acorns

2057.679

that you can walk away with every single

2059.72

episode and say wow I'm going to I've

2062.679

got this challenge that I'm going to

2063.8

work on I've got this new thing I'm

2065.24

going to do and I'm going to see how it

2066.919

goes for a while and and we'll see if

2068.24

you aren't a much much better developer

2070.599

by the time we get done with that that

2072.839

being said we can wrap this one up

2074.96

finally and uh we're going to go off and

2077.159

ride off into the sunset but we'll be

2078.879

right here soon as you turn around if

2080.679

you looked at this you know if you're

2082.04

looking at this a past catch up there's

2084.28

a lot of episodes ahead of you I'm sure

2086.52

if not then we'll see you next time go

2089.159

out there have yourself a great day a

2091.48

great week and we will talk to you next

2094.28

time

2096.949

[Music]