Detailed Notes
Welcome back to Season 21 of the "Building Better Developers" podcast! In this episode, "Boost Your Developer Efficiency: Automation Tips for Developers," we explore strategies to enhance productivity. As developers, we often focus on optimizing processes for clients but neglect to apply the same principles to our own work. This episode aims to change that by identifying repetitive tasks in our daily routines and exploring ways to automate and streamline them. Join us as we share insights and practical tips to help you become a more efficient and effective developer.
Read more: https://develpreneur.com/boost-your-developer-efficiency-automation-tips-for-developers
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.
Transcript Text
[Music] so hitting record all right so here we are again um what's our do you have another topic that you wanted to throw out for the the OS world trying to think I had one the other day uh let's see it probably had to do with recent work stuff what have I run into lately that was a pain or spent a lot of time on I mean the only real pain point that I've been dealing with right now is trying to communicate with those thirdparty vendors uh to figure out how that application works I've actually finally gotten a hold of two different people but that took a week of just trial and error with different sites trying to reach out to people uh that was not fun and even now uh it sounds like there's an application running underneath the application and an agent on another machine that is totally unseen by anyone so it's like this is just becoming uh it's a good thing the Box hasn't died because that this company would not be in business yeah those are fun I've run into a few of those where they've got like the the integration is not really an Integra it's like they've got a machine you know they've got a and we did this at the one company I was at recently is they would do um you would install on their server a little you know service that it was actually going in and pulling the data and then it would go and talk out to another little box that would then pull some data in and then move it around and then transfer it all and do all the stuff so it was they would call it an integration and it was in a sense but it was like it was you could integrate with us if you installed our software on both your machine and then the you know the target machine because it was really your integration was just really just telling those two things how to work so it wasn't really you were building your own it was just we had to build which meant it had to be very and it was it was all hardcoded and all that kind of fun stuff so it's just fun times all around um what have I been working on and trying to think what I came up with I don't want to spend too much time thinking about stuff but I'm sure we can figure out something fun oh um I want to do something along the lines of I know we talked about like um learning a language and or like single language versus multiple languages we covered that one all right I'm G I'm thinking about just generic being a better developer is some of the talk a little bit about some trips tips and tricks and stuff like that to like speed up the process um particularly just the VAR things we know and some of it a lot of it's quick and dirty and and maybe a little bit um it's not underhanded but probably not the best approach but at least a way to get stuff done do you have an idea because you were I sound like I sort of cut off a a suggestion maybe well I like that one uh the other one I was thinking of is working with or building teams so like you've gone through and you've built your company you know you've hired some people and things of that nature I don't think we've really touched on as you're building your business when to or how to hire people how to get find that Talent uh things of that nature that might be another one uh or another topic too that may be a good season would be more like a team focused season and talk about some of those kinds of things how do you build M team and maintain a team maintain them maintain a team um uh training and growth and and all of that stuff so that's actually a pretty cool little seasonal uh topic I think is maybe we shift gears and do like a the team based approach for a season that'd be sort of cool the teams not Microsoft teams seeson um yeah that's a that's excellent because we have spend as much time we've we've talked about here and there but never really spent much real time on that and and how that goes I think we got three or four left of this one and then we're in the next season so yeah we can always I mean it's always it's whatever we pick it to be so if we wanted to do 75 episodes in a season again we could it's just it's just it just felt weird going you know going into what's normally you know normally it's about once a quarter I think I was into like I think it was like a year and a half to go through that season and so it's just like it was oh but there was a lot of good stuff and then I just continued really I just finally was like I'm gonna call it a season and then just boom just went right into the other because it was it like 140 straight episodes of interviews something like that so it was just Way Beyond what I expected it would be okay let's do the yeah we'll talk shortcuts and stuff like that I think that's that's probably not a bad way to go with this and I'll throw some stuff out there and then you can either you know complain about mine or throw your o own into there or both well hello and welcome back we are continuing our season season 21 of the building better developers developer podcast where we're here to just help actually ourselves and you become better developers uh with ourselves it's sort of just you know bouncing ideas off thinking through what we've learned and making sure that we I guess catalog it a little bit for yourselves hopefully we're you know helping to share you know either our successes and even our failures so that you can lean more towards the successes and have less failures of your own and fail in new and unique ways because that's what developers do best I am Rob broad I'm one of the founders of developing ER on the other side you are is Mike m co another co-founder of developer and founder of Envision QA and so you notice I'm like turning the fire up a little bit I'm not even helping him with his introduction now so if he forgets his name that's on him not on me I just like I'm I'm pushing him making him a better developer because if you know your name you're a better developer that being said let's get into this episode this episode I want to talk about shortcuts and things that we can do to help ourselves be more productive and a better developer we do this a lot for others this is part of our benefit our value is that we are coming in and looking at processes and systems and finding ways to automate and to improve and to Performance Tuning and all of that stuff and maybe like the you the plumber that's got a leaky faucet at home I wonder how often we do that for ourselves if you're like me not enough if you're more like me then you at least do regularly take an inventory and say hey here's some things I can do much like what we do for our customers if we see a customer if we or we're working in a company and we see somebody doing something that it just pains us to watch them do it either they do it over and over and over again and it could easily be automated or it takes forever and there's a way that maybe we could automate that to allow them to walk away or to speed up the process to do be performance tuning and things of that nature now the I think the easiest way to get into helping yourself is look at just like we do with our customers look at what you do on a daily basis what are some of the things like the repetitive tasks that you do and then where are some what's some opportunities then because they all basically are what are some opportunities to improve those now they can be Things That Vary from and we've talked about this before uh like on the email side of stuff the app stuff emails if you don't use filters labels rules of some sort start today just just if you pick one if you just go in look at your inbox and you say I could apply a rule to two emails that would save me time on those and that could be like organizing them replying to them whatever it is just you can do this in probably five 10 minutes a day just do it for a while and the next thing you know your email is just going to disappear you're going to be in a lot better shape uh I've preached this before I I will preach it again right now is that you should do that but on the development side because we've talked a little bit about your your processes and stuff like that but think more about your development side what do you typically do on a day when you develop well what are the some of the things that most developers are going to run into is there's some sort of status reporting that they do every day whether it's setting up for a standup or at the end of the day you know there's some sort of thing like that that they're doing that status reporting may also be heaven forbid putting useful comments on your code commits and things of that nature which is another one we commit code or should be committing code fairly regularly that includes maybe working with version controls so maybe you need to do that you look at things like you maybe you're creating branches on a regular basis if you have a branch for every task every ticket and you're working multiple tickets a day then you could be easily creating multiple branches per day merging everybody would love to automate merging as much as possible uh some of it builds it's it maybe just you know maybe you're compiling code maybe you're having to copy code out to uh a Dev server or something like that if you don't have you may have you know cicd you may have like pipelines and all that kind of stuff in place but if you don't then maybe you should build some or maybe you could use some some you know some scripting to help you out with that particularly I find this early on when I when I get a new customer and I've got a new project if it's like and I'm talking like brand new so this is I'm not taking somebody else's stuff on uh because although even then if I'm taking somebody else's stuff on and they've built these things out awesome I'm going to use whatever tools they have to for build process stuff for myself if I make something new one of the first things I'm going to do is I'm going to have a I'm going to have a squel if it's a database thing at all I'm going to have a SQL script that's like how do I create my basic users cre basic tables stuff like that depending on what the app is I may you know the or the environment that may be part of it is it maybe does some of that stuff for me but there's like there's always that foundational stuff you have to add I'm almost always going to build something I've got a build.xml ant script that I have used tweaked modified over the years many many times and it basically gives me my it's with a single ant command I've got things like being able to uh clone stuff out of git really easy copy you know commit stuff in get pull it back out copy it out to a server somewhere pack pack AG it all up into a nice little T ball and throw it somewhere you know all those kinds of things that typically is not tough as a developer it's like I'm G to write I'm G to type out five or six commands maybe and but depending on what your you know directory structure is and stuff like that it may take you 15 or 20 seconds but if you're running it several times a day it's just it's less prone to error it's going to be a little faster to do it and that's what we're looking for for these kinds of tools tools and before I toss over mik I'll suggest things like ant or you can use some of the more you know the nicer tools like Maven and things like that you can have some tasks that are built into there you can also use like go back to go old school with Unix you can use S and a and some of those kinds things if you're Windows you can use power scripting and batch stuff make use of these things shell scripts if you're on any Unix environment shell scripts make use of these things because it will speed you up and it will save you particularly when you're doing things like uh IP addresses and server names and file pass and all that kind of stuff you're like did I put it on this level or did I put it over there was that a three or a two at the end of the IP address and also just the typos when you're you're typing it just those simple things you can probably you're probably going to skip it but it is one of the things you could probably sit down in five or 10 minutes do it and then it's done and now you've got it and you you're ready to go so now I'm going to toss I'm going to do it and be done and put toss it over to Michael and see what are your thoughts on these and where where do you want to go in this conversation so I want to add on to your shell script comment there for a second so one of the things that I constantly run into is every time I come into a new environment a new machine or a new company and I have to set up a new development environment the first thing typically you run into is what freaking compiler do I need uh if you're dealing with Java is it Java 8 Java 9 Java 10 Java 12 do you have multiple environments so creating a interactive shell script is actually even more fun because you can write a shell script for instance for Java that covers all the flavors of java and you can even set it up to install the versions of java you need for your particular machine set up your environment and then boom you're done it's like next time you're at a terminal or command line instead of setting up your system environment you can just run the shell script and say you know set Java environment or set Java version and pick the version number and boom you're done your entire environments configured set up ready to go following that into your code so one of the tips I want to talk about is more kind of clean code or those utility files as we're writing code so like Rob mentioned he creates ANS scripts to do the builds to customize his environments the other thing you can do is as you're writing the code make sure you use tools like uh sonar Len where as you're writing the code it'll say oh hey you know this may be a potential issue the other thing is as you start seeing repetitive tasks make sure you pull those out and put them in the correct Place put them in utility files uh you know apache's been great at doing this for years you know we have the common libraries you have all these string utilities same thing happens at the system level Linux has a lot of command line tools just like that where you can actually run things at the command line that will search files they will edit files look at what you're doing every day quickly Google chances are there is a utility tool out there for you to do it either at the command line or within whatever development environment or language you're using now take that one step further so where Rob was talking about at the beginning with the databas is and writing all those SQL scripts to set up the environment the same thing can go on the back side when you go to test your code because chances are you're doing a lot of repetitive tests to make sure that the code you wrote Works make sure you write unit tests to test that code if you see yourself testing write a freaking test that will do it so all you have to do is push a button hey it's tested that way six months from now when you forget what you were doing to test and you're trying to remember you just push a button hey okay this test this works move move on when you're going to web environments or mobile developments it's even more important to take those repetitive tasks and script them either use things like selenium web driver selenium IDE appium write the scripts that walk through step-by-step how the application is supposed to work and then you can just run that and make sure it works which also turns out to be a road map for how you should write the code so if you start out writing the script on how it's supposed to work from a user perspective you can then Auto those tasks as you're writing the code to the script so again that kind of leads to the requirements the other flip side to this is in today's environment make sure to utilize some AI tools like chat GPT co-pilot uh Bard or whatever it's called These Days um these tools also help you with essentially Google search if you're stuck and you need to ask a question try asking one of the AI tools chances are they'll give you some bit of information it may be the answer it might not be but it might also give you an idea on what to go Google next or ask AI some additional questions to kind of flush out where you're trying to go or collect your thoughts on the particular problem you're working on that's I had one more and it just kind of flew away um oh yeah the other thing to think about too is make sure you utilize other tools for communication you know we've talked about these before but use things like slack teams to communicate with your other team members and your customers you can also take uh a lot of tools like Jenkins um uh Confluence uh what's the other one bit bucket you can put these plugins into slack or into a lot of your messaging tools that will get give you updates when things get done so for your continuous integration continuous development these are other tools in tricks you can use to kind of cut down on constantly having to go monitor things something breaks hey it sends you a message out to either an email or to your message queue so two things I want to add to this is uh we haven't really touched on yet one is templates reuse the heck out of the stuff that you use don't be afraid to take uh like your ideal status reports your ideal email your ideal you know form letter for this that and the other and turn it into some either turn it into a template or just keep it as a template that you can copy and paste and then just you copy it and then just you know fill out your information that kind of stuff it is amazing how much that will help you out particularly if you've got something you're doing on a regular basis like a weekly status report or U release notes things like that is have a format and a style that's all set up prettified and all that kind of stuff so that you just come in you plug in your content eventually maybe you've got something that plugs the content in for you and then you've got all of that work and polish gets to just reused be reused be reused be reused now also I don't want to I want to move on before we talk about going back to like shell scripting and some of those kinds of things you can also this is again this is that being a better developer is take some of these uh utility moments we'll call them and use them as an example or a an exercise to try a new language this is where I I don't know how many times I have started off new languages doing command line stuff that was it was utilities when I first learned Java way way way way way back in like literally last century I started with some command line stuff because there were a couple of things that Java did okay and it worked with it the it already had I think it was from version one I think it already had the operating system stuff to some level involved so I built like a little like you know directory crawler for Windows because it didn't have anything that was very good at that point and some things like that and then moving forward a lot of times I'll do like things like you know file movers and loggers and and uh document parsers and things like like log readers those are the kinds of things that are perfect for you know whether you want to learn you know if you want to do commandline Java or if you want to do python or if you want to do C or whatever it is because these utility tasks are going to hit the common things that you need to learn for that language your your looping structures your uh call you know Collections and arrays and things like that your logical related stuff file input and output potentially even keyboard input and output or build a little gooey around it those sorts of things are just perfect for you to to cut your teeth on a new language with a a tool or an application that's actually going to be useful to you and it's going to be sort of cool when you especially if you're sort of new it's G to be cool when you get into that interview where you say well you know I was learning to Ruby and I had this problem that I was trying to solve or I was trying to copy some files around and then com then compile them but then there was a second thing and I had to pull a log file in and blah blah blah blah blah and then they're like oh that's pretty cool because you had a problem yo I got a problem and you know I'm going to solve it like vanilla ice the heck out of that thing and you did it in a new language and you get to like it's you can make sure you did commment it well well built you know code and all that kind of stuff it makes it the perfect portfolio kind of application for you to use um we could go forever on this I'll give you some closing thoughts and we'll wrap this one up yeah so one additional thing cuz you kind of made me think of this also consider if you do a lot of repetitive tasks in your environment doesn't necessarily have to be your development environment but even your operating system like we mentioned mail filters look at doing macros or write little automated tools that will do repetitive tasks for you this also leads to our development environments and a lot of idees allow us to write little scripts or macros within them that allow us to do code completion so we can type two or three letters hit a set of keys and boom there's a section of code that we would repetitively have to type a lot of text for so if you see a lot of things that you do a lot look at creating little templates or uh code completions to simplify your test so you're not saying they're having to write all this spoiler plate code all the time one additional thing to that is also make sure to look at what third parties IDE plugins whatever are for your development environments that could also act as code completions or ways of simplifying or shrinking down the amount of code that you have to write yeah I agree that was something i' I'd forgotten about I used to do that all the all the time and uh back in the day before idees have built a lot of this stuff was uh I had I had a a stock Java file that was just a Java file and it had some comment stuff at like a header block and a couple other pieces that was just like it was the stuff I found myself writing on all the time so instead of you a little macro I just copy and paste and that was where I started with is I go you know I'd have the the generic you know disclaimers and all that kind of crap and then it did all that and particularly if you you know when you got back when there was um back when there's like a lot of sharew sites and stuff like that there were always these little like you know like there's read me texts and stuff like that that it always made sense to have that usually now it gets generated by a tool but back beforehand that was and if you if it's something that you you know haven't reached that if it hasn't reached that maturity of whatever it is that you need then you definitely by all means do that because it's just going to save you time and it's like it is it's allows you to refine it over time and get better with it that being said we have refined the heck out of podcasting and yet we're still working on it we're still trying to get better every day just like you're trying to get better as a developer and the best ways to do that is shoot us an email give us some feedback back uh infopreneur decom check us out on Facebook check us out on LinkedIn check us out on develop preneur decom site you can check us out on YouTube and if you check us out on YouTube you'll get great bonus content like what I'm going to throw at these guys and gals just moments from now but not for you because we're wrapping up the podcast and you're gonna have to go check it out you can go out develop preneur youtube.com develop preneur hate to leave you that teaser but that's how we roll sometimes go out there and have yourself a great day a great week and we will talk to you next time the rest of you I was like I wanted to throw one extra thing in I was like no this is a perfect little bonus thing and it is I got this originally out of a working sort of like help Desy type stuff but one of the best things you can do is record yourself doing that repetitive task so if you're installing a server or like I did this the other day for somebody I was setting up a uh an Android U Android Studio environment it was like okay let's make sure that we've got yeah you got like this version is got to be right this version right this is a version this is a version this is where it's at this is where it looks like this is how you find this value in the IDE use zoom or whatever your favorite recording tool is record yourself doing that and then one you've got an awesome reference if you ever need to go back to it just like title it something useful and then you keep that two you can put it out on YouTube you can be just like us where we're going out there we're doing something and you You' now got your YouTube channel so it's like killing two or three or I don't know a couple hundred birds with one stone as you go in record it you're going to get better at it and even if you're not if nobody else looks at that video at least you have that video and can use it as a reference it's a when Michael's talking about like the little macros and stuff like that a lot of those macros you're the only one that's ever going to use them but little video like that you can record yourself and especially you could keep it 30 60 90 seconds kind of thing label it like how do I log into this thing how do I find that where did I put that and if you're like me and you've got all kinds of history of like projects and various sites and all these you can put it all out on a Wiki site and stuff like that that's awesome but it's amazing how often I will go look at my little Wiki pages and all of the little install or the login things and all that kind of stuff and I'll be like I remember that I could do this in this environment and I don't remember how I don't remember what it was that I had to do to do the right combination of stuff to make this work or to get here that's the kind of stuff you're going to have with the recording bonus material for you yeah so following with that so a lot of the stuff that we've done over time and I've caught myself doing this a lot especially if you're a Unix or a Linux user look at your history type history and look at all the commands that you type and actually if you're in the middle of doing something like we do this quite a bit at least once a year maybe more is I typically set up a WordPress site or install something on AWS free tier and way back when we did launching internet business as we recorded that I'm like you know what why don't I create a show script for that so I went through our recordings I went through our all of our documentation and wrote a full script that literally built the entire thing from beginning to end at a push of a button set up everything and maybe every six months every other year I have to go and tweak it just a little bit especially with the newer uh you know if Linux upgrades or command changes but you have that and you can literally take that and go anywhere with that and say here click done it builds it and runs it so these are a lot of those macros and shell scripts that are very beneficial and useful and it's also like Rob said was SQL you could do the same thing if you're a network administrator you could uh write these shell scripts to go create users go set up security policies all this can be automated all this can be you know Ma create macros or little tools or applications to do this so if you find yourself doing something repetitively see if you can automate it see if you can script it just maybe once a week or once a day audit yourself see what you're doing and see if anything you're doing can be streamlined so wow yeah history PPE GP and then something is your friend I don't know how often I use that as I jump on a Unix machine and I'll be like what was that username or what was that specific command or what was that folder path or something like that and I'll go look at my I don't know how often I look at my history when I'm jumping on a server that is that is an invaluable Little Golden Nugget right there another thing that I was actually taught by DBA way way way back that I found to be really useful from a database point of view now he would always have he had a working sequel script that he would just he had it pulled up almost all the time that would be the first thing he do is he'd pull up his sequel script and he had uh he would work tickets because we're doing a lot of database like performance doing stuff like that so if we had a ticket he would have the ticket number and comments and then he would have this the queries that he was working on around that for that ticket so he could really quickly go in and be like how did I fix that thing and he could go search for a ticket number and he could find the queries that he did and what he was working on and that is definitely have something like that have your little as a database person even as a developer have your working script and I do this for literally for every single customer that I have I have got a working Dash customer name. SQL and as I go through and I'm doing queries as I'm doing whether I'm creating stuff or whether I'm troubleshooting stuff or whatever is I've just got it's just like the history that you would have in you know on a Unix machine this is these are all the different things that I've run and I'll have notes around them and and I'll have IDs and all this kind of stuff so I can be like how did I do that and I can go fine I'm like oh yeah for that customer I had to do that really weird gnarly convoluted multi-union SQL select thing so I can go find it and go oh that's right that's how I did it and then make that you know use that again I can reuse it now it' be nice to have something more uh easier to search that's on my to-do list someday I'll write a little app that does that but for now it gives me something that like just that is so low Tech but so valuable to be able to be like what was that query I ran last week to get all of those customers that were you know Eskimos and be able to go grab that script and then just run it again and go there we go I executed I like and especially because you know you'll do something like that and a week later your boss will be like hey can you do this for me he be like ah yeah I just did that last week but now I forgot I got to start from scratch instead you could be like give me a minute and you go do it and you look like you're the hero you look awesome parting thoughts is we wrap this one up so with that that also leads into a discussion we had multiple times but couple videos back about building a kitchen sink application for these type of things so if you find yourself oh this is a cool little utility or oh like Rob said this is a SQL script build a little project that you can do Version Control on and keep track of it also with the SQL stuff there are are applications out there and tools like liquid base where you could actually create build your database structure for your application in code and then Version Control it as you actually build out the project so just some other things to think about yeah there there's a lot of that out there and as as we started this out Google these things or your whatever your favorite search engine is um go look for these things and you will find that there's a lot of tools out there there's a lot of scripts out there and if you don't find one that sus you build your own you're developer just get out there you do Your Own Thing uh that's like I said I've got and I know Michael is we've got lots and lots of applications that are in varying states of being built that in a lot of cases they started because we were scratching our own Edge we had something that we wanted to do some tasks that we're doing all the time that we're like I need to get this I need this done faster so I'm going to build something to do it and then yeah it's it may be an ugly little thing but it does the job and then eventually you can go back and clean it up and and maybe make it commercial and maybe make a side hustle or or a couple of bucks off of it that being said I'm not going to make any more bucks not been making bucks off of you anyways unless you've been watching ads and they love you and I don't even know I don't even know if we're running ads so we're we're we're a bad example of making a buck off of our our hard work and the sweat of our brows there but for the rest of you go out there and have a great time we will check you out next time we will return we're going to continue doing these every Tuesday every Thursday the podcast drops the uh the Youtube video this thing drops and we're still I promise we're at some point going to be getting back into like getting a couple of the blogs done I've still got like a stack of stuff that I'm going to start I'm going to do some of those recorded things again we're just like we've had a lot of stuff going on so just be patient we'll be back we'll get you more content and you'll also get stuff like this at least you know twice a week talking about the latest problems we're solving and or running into and either our Solutions or at least some recommendations on tackling when you run into the same that being said I'm going to say goodbye to as the sun is going down over the ocean or whatever it is yeah check you guys out same time same channel same bat Channel same everything next time around have a great one and we'll talk to you next time if I can find the stop button there [Music]
Transcript Segments
[Music]
so hitting record all right so here we
are again
um what's our do you have another topic
that you wanted to throw out for the the
OS world trying to think I had one the
other
day uh let's see it probably had to do
with
recent work
stuff what have I run into lately that
was a pain or spent a lot of time
on I mean the only real pain point that
I've been dealing with right now is
trying
to communicate with those thirdparty
vendors uh to figure out how that
application works I've actually finally
gotten a hold of two different people
but that took a week of just trial and
error with different sites trying to
reach out to people uh that was not fun
and even now
uh it sounds
like there's an application running
underneath the application and an agent
on another machine that is totally
unseen by anyone so it's like this is
just
becoming uh it's a good thing the Box
hasn't died because that this company
would not be in
business yeah those are fun I've run
into a few of those where they've got
like the the integration is not really
an Integra it's like they've got a
machine you know they've got a and we
did this at the one company I was at
recently is they would do um you would
install on their server a little you
know service that it was actually going
in and pulling the data and then it
would go and talk out to another little
box that would then pull some data in
and then move it around and then
transfer it all and do all the stuff so
it was they would call it an integration
and it was in a sense but it was like it
was you could integrate with us if you
installed our software on both your
machine and then the you know the target
machine because it was really your
integration was just really just telling
those two things how to work so it
wasn't really you were building your own
it was just we had to build which meant
it had to be very and it was it was all
hardcoded and all that kind of fun stuff
so it's just fun times all around
um what have I been working
on
and trying to think what I came up with
I don't want to spend too much time
thinking about stuff but I'm sure we can
figure out something fun
oh um I want to do something along the
lines
of I know we talked about
like um learning a language and or like
single language versus multiple
languages we covered that one
all right I'm G I'm thinking about just
generic being a better developer is some
of the talk a little bit about some
trips tips and tricks and stuff like
that to like speed up the
process um particularly just the VAR
things we know and some of it a lot of
it's quick and dirty and and maybe a
little
bit um it's not underhanded but probably
not the best approach but at least a way
to get stuff
done do you have an idea because you
were I sound like I sort of cut off a a
suggestion maybe well I like that one uh
the other one I was thinking of is
working with or building teams so like
you've gone through and you've built
your company you know you've hired some
people and things of that nature I don't
think we've really touched on as you're
building your business when to or how to
hire people how to get find that Talent
uh things of that nature that might be
another one uh or another topic too that
may be a good season would be more like
a team focused season and talk about
some of those kinds of things how do you
build M team and maintain a team
maintain them maintain a team um uh
training and growth and and all of that
stuff so that's actually a pretty cool
little seasonal uh topic I think is
maybe we shift gears and do like a the
team based approach for a season that'd
be sort of cool the teams not Microsoft
teams
seeson um yeah that's a that's excellent
because we have spend as much time we've
we've talked about here and there but
never really spent much real time on
that and and how that goes I think we
got three or four left of this one and
then we're in the next season
so yeah we can always I mean it's always
it's whatever we pick it to be so if we
wanted to do 75 episodes in a season
again we could it's just it's just it
just felt weird going you know going
into what's normally you know normally
it's about once a quarter I think I was
into like I think it was like a year and
a half to go through that season and so
it's just like it was oh but there was a
lot of good stuff and then I just
continued really I just finally was like
I'm gonna call it a season and then just
boom just went right into the other
because it was it like 140 straight
episodes of interviews something like
that so it was just Way Beyond what I
expected it would be okay let's do the
yeah we'll talk shortcuts and stuff like
that I think that's that's probably not
a bad way to go with this and I'll throw
some stuff out there and then you can
either you know complain about mine or
throw your o own into there or both well
hello and welcome back we are continuing
our season season
21 of the building better developers
developer podcast where we're here to
just help actually ourselves and you
become better developers uh with
ourselves it's sort of just you know
bouncing ideas off thinking through what
we've learned and making sure that we I
guess catalog it a little bit for
yourselves hopefully we're you know
helping to share you know either our
successes and even our failures so that
you can lean more towards the successes
and have less failures of your own and
fail in new and unique ways because
that's what developers do best I am Rob
broad I'm one of the founders of
developing ER on the other side you are
is Mike m co another co-founder of
developer and founder of Envision
QA and so you notice I'm like turning
the fire up a little bit I'm not even
helping him with his introduction now so
if he forgets his name that's on him not
on me I just like I'm I'm pushing him
making him a better developer because if
you know your name you're a better
developer that being said let's get into
this episode this episode I want to talk
about shortcuts and things that we can
do to help ourselves be more productive
and a better developer we do this a lot
for others this is part of our benefit
our value is that we are coming in and
looking at processes and systems and
finding ways to automate and to improve
and to Performance Tuning and all of
that stuff and maybe like the you the
plumber that's got a leaky faucet at
home I wonder how often we do that for
ourselves if you're like me not
enough if you're more like me then you
at least do regularly take an inventory
and say hey here's some things I can do
much like what we do for our customers
if we see a customer if we or we're
working in a company and we see somebody
doing something that it just pains us to
watch them do it either they do it over
and over and over again and it could
easily be automated or it takes forever
and there's a way that maybe we could
automate that to allow them to walk away
or to speed up the process to do be
performance tuning and things of that
nature now the I think the easiest way
to get
into helping yourself is look at just
like we do with our customers look at
what you do on a daily basis what are
some of the things like the repetitive
tasks that you do and then where are
some what's some opportunities then
because they all basically are what are
some opportunities to improve those now
they can be Things That Vary from and
we've talked about this before uh like
on the email side of stuff the app
stuff emails if you don't use filters
labels rules of some sort start today
just just if you pick one if you just go
in look at your inbox and you say I
could apply a rule to two emails that
would save me time on those and that
could be like organizing them replying
to them whatever it is just you can do
this in probably five 10 minutes a day
just do it for a while and the next
thing you know your email is just going
to disappear you're going to be in a lot
better shape uh I've preached this
before I I will preach it again right
now is that you should do that but on
the development side because we've
talked a little bit about your your
processes and stuff like that but think
more about your development side what do
you typically do on a day when you
develop well what are the some of the
things that most developers are going to
run into is there's some sort of status
reporting that they do every day whether
it's setting up for a standup or at the
end of the day you know there's some
sort of thing like that that they're
doing that status reporting may also be
heaven forbid putting useful comments on
your code commits and things of that
nature which is another one we commit
code or should be committing code fairly
regularly that includes maybe working
with version controls so maybe you need
to do that you look at things like you
maybe you're creating branches on a
regular basis if you have a branch for
every task every ticket and you're
working multiple tickets a day then you
could be easily creating multiple
branches per day merging everybody would
love to automate merging as much as
possible uh some of it builds it's it
maybe just you know maybe you're
compiling code maybe you're having to
copy code out to uh a Dev server or
something like that if you don't have
you may have you know cicd you may have
like pipelines and all that kind of
stuff in place but if you don't then
maybe you should build some or maybe you
could use some some you know some
scripting to help you out with that
particularly I find this early on when I
when I get a new customer and I've got a
new project if it's like and I'm talking
like brand new so this is
I'm not taking somebody else's stuff on
uh because although even then if I'm
taking somebody else's stuff on and
they've built these things out awesome
I'm going to use whatever tools they
have to for build process stuff for
myself if I make something new one of
the first things I'm going to do is I'm
going to have a I'm going to have a
squel if it's a database thing at all
I'm going to have a SQL script that's
like how do I create my basic users cre
basic tables stuff like that depending
on what the app is I may you know the or
the environment that may be part of it
is it maybe does some of that stuff for
me but there's like there's always that
foundational stuff you have to add I'm
almost always going to build something
I've got a build.xml ant script that I
have used tweaked modified over the
years many many times and it basically
gives me my it's with a single ant
command I've got things like being able
to uh clone stuff out of git really easy
copy you know commit stuff in get pull
it back out copy it out to a server
somewhere pack pack AG it all up into a
nice little T ball and throw it
somewhere you know all those kinds of
things that typically is not tough as a
developer it's like I'm G to write I'm G
to type out five or six commands maybe
and but depending on what your you know
directory structure is and stuff like
that it may take you 15 or 20 seconds
but if you're running it several times a
day it's just it's less prone to error
it's going to be a little faster to do
it and that's what we're looking for for
these kinds of tools tools and before I
toss over mik I'll suggest things like
ant or you can use some of the more you
know the nicer tools like Maven and
things like that you can have some tasks
that are built into there you can also
use like go back to go old school with
Unix you can use S and a and some of
those kinds things if you're Windows you
can use power scripting and batch stuff
make use of these things shell scripts
if you're on any Unix environment shell
scripts make use of these things because
it will
speed you up and it will save you
particularly when you're doing things
like uh IP addresses and server names
and file pass and all that kind of stuff
you're like did I put it on this level
or did I put it over there was that a
three or a two at the end of the IP
address and also just the typos when
you're you're typing it just those
simple things you can probably you're
probably going to skip it but it is one
of the things you could probably sit
down in five or 10 minutes do it and
then it's done and now you've got it and
you you're ready to go so now I'm going
to toss I'm going to do it and be done
and put toss it over to Michael and see
what are your thoughts on these and
where where do you want to go in this
conversation so I want to add on to your
shell script comment there for a second
so one of the things that I constantly
run into is every time I come into a new
environment a new machine or a new
company and I have to set up a new
development environment the first thing
typically you run into is what freaking
compiler do I need uh if you're dealing
with Java is it Java 8 Java 9 Java 10
Java 12 do you have multiple
environments so creating a interactive
shell script is actually even more fun
because you can write a shell script for
instance for
Java that covers all the flavors of java
and you can even set it up to install
the versions of java you need for your
particular machine set up your
environment and then boom you're done
it's like next time you're at a terminal
or command line instead of setting up
your system environment you can just run
the shell script and say you know set
Java environment or set Java version and
pick the version number and boom you're
done your entire environments configured
set up ready to go following that into
your code so one of the tips I want to
talk about is more kind of clean code
or those utility files as we're writing
code so like Rob mentioned he creates
ANS scripts to do the builds to
customize
his environments the other thing you can
do is as you're writing the code make
sure you use tools like uh sonar Len
where as you're writing the code it'll
say oh hey you know this may be a
potential issue the other thing is as
you start seeing repetitive tasks make
sure you pull those out and put them in
the correct Place put them in utility
files uh you know apache's been great at
doing this for years you know we have
the common libraries you have all these
string utilities same thing happens at
the system level Linux has a lot of
command line tools just like that where
you can actually run things at the
command line that will search files they
will edit files look at what you're
doing every day quickly Google chances
are there is a utility tool out there
for you to do it either at the command
line or within whatever development
environment or language you're using now
take that one step further so where Rob
was talking about at the beginning with
the databas is and writing all those SQL
scripts to set up the environment the
same thing can go on the back side when
you go to test your code because chances
are you're doing a lot of repetitive
tests to make sure that the code you
wrote Works make sure you write unit
tests to test that code if you see
yourself testing write a freaking test
that will do it so all you have to do is
push a button hey it's tested that way
six months from now when you forget what
you were doing to test and you're trying
to remember you just push a button hey
okay this test this works move move on
when you're going to web environments or
mobile developments it's even more
important to take those repetitive tasks
and script them either use things like
selenium web driver selenium IDE appium
write the scripts that walk through
step-by-step how the application is
supposed to work and then you can just
run that and make sure it works which
also turns out to be a road map for how
you should write the code so if you
start out writing the script on how it's
supposed to work from a user perspective
you can then Auto those tasks as you're
writing the code to the script so again
that kind of leads to the requirements
the other flip side to this is in
today's environment make sure to utilize
some AI tools like chat GPT co-pilot uh
Bard or whatever it's called These Days
um these tools also help you with
essentially Google search if you're
stuck and you need to ask a question try
asking one of the AI tools chances are
they'll give you some bit of information
it may be the answer it might not be but
it might also give you an idea on what
to go Google next or ask AI some
additional questions to kind of flush
out where you're trying to go or collect
your thoughts on the particular problem
you're working
on
that's I had one more and it just kind
of flew away um oh yeah the other thing
to think about too is make sure you
utilize other tools for communication
you know we've talked about these before
but use things like slack teams to
communicate with your other team members
and your customers you can also take uh
a lot of tools like Jenkins
um uh Confluence uh what's the other one
bit bucket you can put these plugins
into slack or into a lot of your
messaging tools that will get give you
updates when things get done so for your
continuous integration continuous
development these are other tools in
tricks you can use to kind of cut down
on constantly having to go monitor
things something breaks hey it sends you
a message out to either an email or to
your message queue so two things I want
to add to this is uh we haven't really
touched on yet one is templates reuse
the heck out of the stuff that you use
don't be afraid to take uh like your
ideal status reports your ideal email
your ideal you know form letter for this
that and the other and turn it into some
either turn it into a template or just
keep it as a template that you can copy
and paste and then just you copy it and
then just you know fill out your
information that kind of stuff it is
amazing how much that will help you out
particularly if you've got something
you're doing on a regular basis like a
weekly status report or U release notes
things like that is have a format and a
style that's all set up prettified and
all that kind of stuff so that you just
come in you plug in your content
eventually maybe you've got something
that plugs the content in for you and
then you've got all of that work and
polish gets to just reused be reused be
reused be reused now also I don't want
to I want to move on before we talk
about going back to like shell scripting
and some of those kinds of things you
can also this is again this is that
being a better developer is take some of
these uh utility moments we'll call them
and use them as an example or a an
exercise to try a new language this is
where I I don't know how many times I
have started off new languages doing
command line stuff that was it was
utilities when I first learned Java way
way way way way back in like literally
last
century I started with some command line
stuff because there were a couple of
things that Java did okay and it worked
with it the it already had I think it
was from version one I think it already
had the operating system stuff to some
level involved so I built like a little
like you know directory crawler for
Windows because it didn't have anything
that was very good at that point and
some things like that and then moving
forward a lot of times I'll do like
things like you know file movers and
loggers and and uh document parsers and
things like like log readers those are
the kinds of things that are perfect for
you know whether you want to learn you
know if you want to do commandline Java
or if you want to do python or if you
want to do C or whatever it is because
these utility tasks are going to hit the
common things that you need to learn for
that language your your looping
structures your uh call you know
Collections and arrays and things like
that your logical related stuff file
input and output potentially even
keyboard input and output or build a
little gooey around it those sorts of
things
are just perfect for you to to cut your
teeth on a new language with a a tool or
an application that's actually going to
be useful to you and it's going to be
sort of cool when you especially if
you're sort of new it's G to be cool
when you get into that interview where
you say well you know I was learning to
Ruby and I had this problem that I was
trying to solve or I was trying to copy
some files around and then com then
compile them but then there was a second
thing and I had to pull a log file in
and blah blah blah blah blah and then
they're like oh that's pretty cool
because you had a problem yo I got a
problem and you know I'm going to solve
it like vanilla ice the heck out of that
thing and you did it in a new language
and you get to like it's you can make
sure you did commment it well well built
you know code and all that kind of stuff
it makes it the perfect portfolio kind
of application for you to use um we
could go forever on this I'll give you
some closing thoughts and we'll wrap
this one
up yeah so one additional thing cuz you
kind of made me think of this also
consider if you do a lot of repetitive
tasks in your environment doesn't
necessarily have to be your development
environment but even your operating
system like we mentioned mail filters
look at doing macros or write little
automated tools that will do repetitive
tasks for you this also leads to our
development environments and a lot of
idees allow us to write little scripts
or macros within them that allow us to
do code completion so we can type two or
three letters hit a set of keys and boom
there's a section of code that we would
repetitively have to type a lot of text
for so if you see a lot of things that
you do a lot look at creating little
templates or uh code completions to
simplify your test so you're not saying
they're having to write all this spoiler
plate code all the
time one additional thing to that is
also make sure to look at what third
parties IDE plugins whatever are for
your development environments that could
also act as code completions or ways of
simplifying or shrinking down the amount
of code that you have to
write yeah I agree that was something i'
I'd forgotten about I used to do that
all the all the time and uh back in the
day before idees have built a lot of
this stuff was uh I had I had a a stock
Java file that was just a Java file and
it had some comment stuff at like a
header block and a couple other pieces
that was just like it was the stuff I
found myself writing on all the time so
instead of you a little macro I just
copy and paste and that was where I
started with is I go you know I'd have
the the generic you know disclaimers and
all that kind of crap and then it did
all that and particularly if you you
know when you got back when there was um
back when there's like a lot of sharew
sites and stuff like that there were
always these little like you know like
there's read me texts and stuff like
that that it always made sense to have
that usually now it gets generated by a
tool but back beforehand that was and if
you if it's something that you you know
haven't reached that if it hasn't
reached that maturity of whatever it is
that you need then you definitely by all
means do that because it's just going to
save you time and it's like it is it's
allows you to refine it over time and
get better with it that being said we
have refined the heck out of podcasting
and yet we're still working on it we're
still trying to get better every day
just like you're trying to get better as
a developer and the best ways to do that
is shoot us an email give us some
feedback back uh infopreneur decom check
us out on Facebook check us out on
LinkedIn check us out on develop preneur
decom site you can check us out on
YouTube and if you check us out on
YouTube you'll get great bonus content
like what I'm going to throw at these
guys and gals just moments from
now but not for you because we're
wrapping up the podcast and you're gonna
have to go check it out you can go out
develop preneur youtube.com develop
preneur hate to leave you that teaser
but that's how we roll sometimes go out
there and have yourself a great day a
great week and we will talk to you next
time the rest of you I was like I wanted
to throw one extra thing in I was like
no this is a perfect little bonus thing
and it
is I got this originally out of a
working sort of like help Desy type
stuff but one of the best things you can
do is record yourself doing that
repetitive task so if you're installing
a server or like I did this the other
day for somebody I was setting up a uh
an Android U Android Studio environment
it was like okay let's make sure that
we've got yeah you got like this version
is got to be right this version right
this is a version this is a version this
is where it's at this is where it looks
like this is how you find this value in
the
IDE use zoom or whatever your favorite
recording tool is record yourself doing
that and then one you've got an awesome
reference if you ever need to go back to
it just like title it something useful
and then you keep that two you can put
it out on YouTube you can be just like
us where we're going out there we're
doing something and you You' now got
your YouTube channel so it's like
killing two or three or I don't know a
couple hundred birds with one stone as
you go in record it you're going to get
better at it and even if you're not if
nobody else looks at that video at least
you have that video and can use it as a
reference it's a when Michael's talking
about like the
little macros and stuff like that a lot
of those macros you're the only one
that's ever going to use them
but little video like that you can
record yourself and especially you could
keep it 30 60 90 seconds kind of thing
label it like how do I log into this
thing how do I find that where did I put
that and if you're like me and you've
got all kinds of history of like
projects and various sites and all these
you can put it all out on a Wiki site
and stuff like that that's awesome but
it's amazing how often I will go look at
my little Wiki pages and all of the
little install or the login things and
all that kind of stuff and I'll be like
I remember that I could do this in this
environment and I don't remember how I
don't remember what it was that I had to
do to do the right combination of stuff
to make this work or to get here that's
the kind of stuff you're going to have
with the recording bonus material for
you yeah so following with that so a lot
of the stuff that we've done over time
and I've caught myself doing this a lot
especially if you're a Unix or a Linux
user look at your history type history
and look at all the commands that you
type and actually if you're in the
middle of doing something like we do
this quite a bit at least once a year
maybe more is I typically set up a
WordPress site or install something on
AWS free tier and way back when we did
launching internet business as we
recorded that I'm like you know what why
don't I create a show script for that so
I went through our recordings I went
through our all of our documentation and
wrote a full script that literally built
the entire thing from beginning to end
at a push of a button set up everything
and maybe every six months every other
year I have to go and tweak it just a
little bit especially with the newer uh
you know if Linux upgrades or command
changes but you have that and you can
literally take that and go anywhere with
that and say here click done it builds
it and runs it so these are a lot of
those macros and shell scripts that are
very beneficial and useful and it's also
like Rob said was SQL you could do the
same thing if you're a network
administrator you could uh write these
shell scripts to go create users go set
up security policies all this can be
automated all this can be you know Ma
create macros or little tools or
applications to do this so if you find
yourself doing something
repetitively see if you can automate it
see if you can script it just maybe once
a week or once a day audit yourself see
what you're doing and see if anything
you're doing can be
streamlined so wow yeah history PPE GP
and then something is your friend I
don't know how often I use that as I
jump on a Unix machine and I'll be like
what was that username or what was that
specific command or what was that folder
path or something like that and I'll go
look at my I don't know how often I look
at my history when I'm jumping on a
server that is that is an invaluable
Little Golden Nugget right there another
thing that I was actually taught by DBA
way way way back that I found to be
really useful from a database point of
view now he would always have he had a
working sequel script that he would just
he had it pulled up almost all the time
that would be the first thing he do is
he'd pull up his sequel script and he
had uh he would work tickets because
we're doing a lot of database like
performance doing stuff like that so if
we had a ticket he would have the ticket
number and comments and then he would
have this the queries that he was
working on around that for that ticket
so he could really quickly go in and be
like how did I fix that thing and he
could go search for a ticket number and
he could find the queries that he did
and what he was working on and that
is definitely have something like that
have your little as a database person
even as a developer have your working
script and I do this for literally for
every single customer that I have I have
got a working Dash customer name. SQL
and as I go through and I'm doing
queries as I'm doing whether I'm
creating stuff or whether I'm
troubleshooting stuff or whatever is
I've just got it's just like the history
that you would have in you know on a
Unix machine this is these are all the
different things that I've run and I'll
have notes around them and and I'll have
IDs and all this kind of stuff so I can
be like how did I do that and I can go
fine I'm like oh yeah for that customer
I had to do that really weird gnarly
convoluted multi-union SQL select thing
so I can go find it and go oh that's
right that's how I did it and then make
that you know use that again I can reuse
it now it' be nice to have something
more uh easier to search that's on my
to-do list someday I'll write a little
app that does that but for now it gives
me something that like just that is so
low Tech but so valuable to be able to
be like what was that query I ran last
week to get all of those customers that
were you know Eskimos and be able to go
grab that script and then just run it
again and go there we go I executed I
like and especially because you know
you'll do something like that and a week
later your boss will be like hey can you
do this for me he be like ah yeah I just
did that last week but now I forgot I
got to start from scratch instead you
could be like give me a minute and you
go do it and you look like you're the
hero you look
awesome parting thoughts is we wrap this
one up so with that that also leads into
a discussion we had multiple times but
couple videos back about building a
kitchen sink application for these type
of things so if you find yourself oh
this is a cool little utility or oh like
Rob said this is a SQL script build a
little project that you can do Version
Control on and keep track of it also
with the SQL stuff there are are
applications out there and tools like
liquid base where you could actually
create build your database structure for
your application in code and then
Version Control it as you actually build
out the project so just some other
things to think
about yeah there there's a lot of that
out there and as as we started this out
Google these things or your whatever
your favorite search engine is um go
look for these things and you will find
that there's a lot of tools out there
there's a lot of scripts out there and
if you don't find one that sus you
build your own you're developer just get
out there you do Your Own Thing uh
that's like I said I've got and I know
Michael is we've got lots and lots of
applications that are in varying states
of being built that in a lot of cases
they started because we were scratching
our own Edge we had something that we
wanted to do some tasks that we're doing
all the time that we're like I need to
get this I need this done faster so I'm
going to build something to do it and
then yeah it's it may be an ugly little
thing but it does the job and then
eventually you can go back and clean it
up and and maybe make it commercial and
maybe make a side hustle or or a couple
of bucks off of it that being said I'm
not going to make any more bucks not
been making bucks off of you anyways
unless you've been watching ads and they
love you and I don't even know I don't
even know if we're running ads so we're
we're we're a bad example of making a
buck off of our our hard work and the
sweat of our brows there but for the
rest of you go out there and have a
great time we will check you out next
time we will return we're going to
continue doing these every Tuesday every
Thursday the podcast drops the uh the
Youtube video this thing drops and we're
still I promise we're at some point
going to be getting back into like
getting a couple of the blogs done I've
still got like a stack of stuff that I'm
going to start I'm going to do some of
those recorded things again we're just
like we've had a lot of stuff going on
so just be patient we'll be back we'll
get you more content and you'll also get
stuff like this at least you know twice
a week talking about the latest problems
we're solving and or running into and
either our Solutions or at least some
recommendations on tackling when you run
into the same that being said I'm going
to say goodbye to as the sun is going
down over the ocean or whatever it is
yeah check you guys out same time same
channel same bat Channel same everything
next time around have a great one and
we'll talk to you next
time if I can find the stop button there
[Music]