Detailed Notes
This episode covers a key aspect of developer career advancement: short coding videos. Drawing from "Source Code for Happiness," we discuss how skills, projects, and hustles shape careers. We'll be focusing on the mindset behind creating coding video shorts. As well as offering a glimpse into the potential career boost this practice provides.
Getting Started: The Accessibility of Short Coding Videos
With the ubiquity of smartphones and PCs equipped with cameras, creating coding videos has never been more accessible. Whether you're learning Python, SQL, or building apps, the barrier to entry is minimal. You can showcase skills by recording and narrating your coding process. Documenting projects this way enhances coding abilities. Simply hit record to highlight your skills.
Verbalizing Your Thoughts: Why It Matters
Verbalizing thoughts while coding helps with problem-solving and improves the ability to articulate decisions and approaches. This practice prepares you to explain code rationale professionally and fosters crucial communication skills for collaborative work environments.
Building Your Brand: Leveraging Coding Videos for Career Growth
Coding videos are more than instructional content - they build your professional brand. Embedded in blogs, used as lead magnets, or on YouTube - they showcase coding skills. These videos tangibly demonstrate proficiency. They also provide valuable references for future projects and troubleshooting.
The IDE Environment Debate: Finding Your Comfort Zone
While IDE choice varies, using industry-standard options like Visual Studio Code or PyCharm offers familiarity. These align with real-world development practices potential employers recognize. Ultimately, choose an IDE based on personal comfort and efficient workflow. This ensures seamless recording sessions and effective code demonstrations.
Structuring Your Videos: Balancing Preparation and Authenticity
Creating short coding videos requires balancing preparation and spontaneity. Scripting or outlining code segments streamlines recording. However, allowing room for organic exploration and problem-solving adds authenticity. Find a workflow that suits your style while ensuring clarity and coherence for viewers.
GitHub Integration: Sharing and Showcasing Your Work
Integrating GitHub with coding videos adds professionalism and documentation. Sharing code repositories gives viewers access to project evolution, commit history, and supplementary materials. This includes README files and other documentation. The transparent approach enhances credibility and fosters community engagement.
Embracing the Potential of Short Coding Videos
In conclusion, short coding videos are a multifaceted tool for developer career advancement. Benefits include honing coding skills, building a professional brand, and fostering community engagement. Embracing this practice and integrating it into your development journey unlocks opportunities. Growth and recognition await in the ever-evolving tech landscape.
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 * Create a A Better Professional Network Through Planning - https://develpreneur.com/create-a-a-better-professional-network-through-planning/
* Be Intentional In Choosing Tasks For Career Growth - https://develpreneur.com/be-intentional-in-choosing-tasks-for-career-growth/
Turning Extra Effort Into A Better Career – Season Review - https://develpreneur.com/turning-extra-effort-into-a-better-career-season-review/
Transcript Text
[Music] so you're joining us mid conversation and we're just going to continue um so yeah so working on this this it's a it is it's actually interesting because initially it was PHP we application and um API those were both written in PHP and then it's a pure Android they don't have it is native Android so it's just Java they're not they don't care about iOS at all or anything like that it's just a little Android app and I looked at it and was like and the database is just my sequel so I was like or maybe no it was my Sequel and I said well let's go ahead and upgrade it it's not really much of upgade you know basically just kick it up to Maria DB so getting some of the newer stuff because it was an older version uh not anything substantial um their database really had like no indexes no really no indexes and almost no foreign Keys built into it it was just like tables so I said oh that's part of the reason it runs slow as lasses besides it's got hundreds of thousands of rows in a couple of places and um so built that out they already had they were using twillie already and I've used that several places on apps it was really easy to just like grab that and they've got they've got tons of python examples so even if there was something I needed off and running with that and uh and I converted I did converted I was like you know what I'm going to go ahead instead of PHP for the web server I was going to do um Django with an Apache front end and then I started out using flask to build out the API and the more I looked at I was like I think I'm going to try the Jango rest stuff because then it's just one server and you've got all of the above available and that has worked out really well I just and so I didn't have to you essentially duplicate code or have two code bases it's just one spot for everything except for the mobile and uh that's started that's been a pretty fun little little project in itself so it's one of those that it's a it is a Reclamation kind of thing where the the last time a developer touched it was probably a year or two ago they don't have any documentation they don't have they've had multiple developers and they have not had any like good handoff so that's part of what it is is it's it's sort of fun because it's a it's an ugly it was originally an ugly code Source it's actually a pretty cool application and they said you know ESS is like okay let's do this right so he like said let's do cicd and let's do all these kinds of things so I've talked about it said yeah I'm like trying to just get it converted up so they can get it running but I said I've got plenty of technical debt so I'm going to swing back around at the end and flesh out more of the documentation I'm G to actually use I'm going to go use a GitHub uh assuming I can use GitHub pipelines and that so that we can do like a push to development or push to test development whatever it is push to production get all that stuff automated um it's just been yeah it's those it's a it's a it's fun to have somebody that really wants you to do it right even and like I said even though the estimate initially was like oh yeah like if it all works like you think it is it's going to be pretty simple and it he wasn't sure and it was one of those he'd even warned me he said you might have to rewrite it from scratch I was like okay if I rewrite it from scratch that's going to take a while and I didn't realize exactly how long until I got into it because they've got a lot of logic built back into the code the good thing is I've got source code for everything so there's like as I've building out the API I'll go grab big chunks of PHP code and essentially convert them over to Python and have to update them anyways because we have made some some corrections in the database so they're all the crap that they sort of like just tacked on have designed that now knowing the end result can design it properly so fun times that's cool yeah um are you doing the documentation using asy docs or just pling markdown no no I haven't decided what I'm going to do yet for those um it does have some built-in and I haven't really played around with the D Jango rest uh rest X or whatever they call it I forget what they call it but it's basically their rest uh Library the flask stuff had it was really easy to to basically just hook in Swagger and I was using that from the API point of view and I I don't know if I'll be able to do that with the rest or if it's got I think it's got its own so I'll I'll explore that a little bit deeper and decide what looks better I think Swagger maybe the easier way or the more acceptable way to do it from the API point of view the um the code itself is not that complex uh once you get into the views in that but I'll probably do some sort of you know the equivalent to it's the equivalent to Java do for the python Jango side and then it'll be more I think I think it'll probably just be marked down because it's just that's what I've already got I'll probably end up doing the markdown for the general technical dot kind of thing of like hey here's how you build it and things of that nature so you were using flas to generate the Swagger or just Swagger with open a uh open API to generate the basically the you can hook there is a within flask there is a um a piece that just so it's just you as you write it out you're writing you know it's a markup code essentially it's you know as long as you write the code in the write the comments in a certain format then it's going to pick them up and it's going to generate your Swagger side for you that's what I did for the um I to show that real quick uh so the reason I'm asking that so let me kind of spoil this a little bit so I'm currently working on my code generator or my test generator and I'm trying to get it to read open API documentation and generate a test framework just off of an API just off the swag it doesn't even need the source code right and that's right you should be able to do it because this is so this is uh I think I'm sure yeah so um this is that little shortener and I just threw together when I built the API um I threw some extra stuff because I was working on documentation stuff but it's you know basically it's just it's stripping stuff out of the comments and then it's got within their uh within the library you've got essentially got a standard Rest Library and then they've got like the rest X Library that adds a couple of pieces including thing like so I can do just your regular you know Swagger stuff so I can do your whole you go in what's the Json so if you click the Json at the top does it dump it all out like open API does yes I think it does yeah o okay oh I could possibly use that too okay cool yeah I mean you can once you get it because the standard once you're into the standard Swagger stuff then I think it's it doesn't matter what it is on the back end um it's going to be once you're on that Swagger page then I think you can pull the source from it and you could easily that would probably be the way to do it is just grab that Json walk through that and that's how you do your your code generator yeah but it depends how the swaggers generated so I noticed that if you apply it if you define your Swagger to open API uh it formats it slightly different so the Json a little bit it's structured differently like you have different tags and IDs and things like that oh that's true so you may have to do some little format preformat or something like that to just say hey which one am I working with yeah and that's why I thought that was kind of cool you you just showed because I could potentially use that as a okay was it look like just plain Json just regular standard Swagger without the generated stuff that boot does with open API compare the two see what's different and then I could uh mock the generator to read it a certain way um but no cool I didn't want to digress too much from that but um that's neat so flas Django MD what was the uh tro you said was the uh uh mail server oh twio T Lio that's their they own they bought uh they were or they bought I think they bought Sy grid a while back and so twillo is really ni I mean they have they've got a pile of stuff they do SMS they do email they do all of those pieces and they're they're yeah they don't have a free I don't think I think they'll but I think you can if you open up a developer account I think they'll give you like per first $50 free or something like that or $20 or something but it's it's not I mean it's one of those as long as in a development mode and you're just sending you know a few emails here a few texts there it's it's basically it's pennies of you know and so you don't have to worry about it but it's um it's a really nice framework for doing all that kind of stuff basically once you get in and it's it's just your standard stuff is they've got a uh an ID they've got like a a secret or an API key or something like that and then a password with it you just send those things off they've got libraries um I'm trying to remember all they've got libraries for a couple of the major languages Python's one that I've like I've been in so they they've got those but they've also got uh I think they've got a PHP Library uh I'm pretty sure they've got a job in a C I'm almost positive I've seen Java in the past um so it's real easy to just grab the library fire up you know it's basically it's like grab a fire U grab the library connect with the class just give it the couple you know authentication information and then it's like you know it's just like you you would want so it's like send what's the what's the phone number what's the message you know stuff like that gotta it's branded and stuff like that depending on how you do it so you can it will either come from a random number that's well I mean it's your number you have a number that's always your number that it's from or you can you know you can customize those and things like that depending on what level you want to go to so there's a really good little ad for twilio so all you guys you're welcome go check it out Twi i l o e w i Li iio iio I think it's do um tell them we sent you I guess maybe they'll send us a a free t-shirt or something like that yeah we use local stack for that for testing so that we don't have to actually go generate we can use a like a random ID for the keys and it works really well to just quickly stand up a server run your test it will actually generate the email put it into the queue you can pull from the Q uh the email Que and make sure it's there make sure it's formatted right it's pretty cool yeah I thought I when I first was looking at it for one of the apps we did a little while ago thought about doing something like that and then when I looked at it I was like you know what it's easier to just I'll go ahead and set up the account with t and then I don't have to change anything it's just like it's 100% from Soup To Nuts that's it's the same code and stuff like that uh so this episode I think I want to get into uh uh what did I want to get into oh the the the video shorts we talked about that so I think for the first one is I think we'll Dive Right into that is sort of what the and and definitely ask questions when we go into it but it's I think it's just going to be sort of like what was my mindset how did I put those together you know and and I think it's because I do think it's useful along the lines of the um Source cord of Happiness kind of approach to like building your building your brand building your own skills and things like that is why not you know kill two birds with one stone is go out there and have some comment some content that shows you working through a problem because I think that's that could be very helpful if nothing else it shows you a real person so you where a lot of times now it's just they're like hey you know we want a video or a picture or something because they don't want you to be you know they don't want something like where you're the guy that's that's the resume that I'm hiding behind and then they end up talking to me at some point and they're like wow you are totally not that other guy because they find it they you know people they have no skills they have they're they're just stealing somebody's else identity practically and using that to launch them into their into their work uh into their you know into some projects so we'll do that for uh we'll start into that so be ready fire off a couple questions once I get going well hello and welcome back we are just chugging right along uh we have been actually you guys missed a whole lot of bonus content if because you're listening to this uh the podcast is preceded and post seeded actually I guess succeeded by video stuff that we have we have a little bit we have extra content all the time out on the developing Channel on YouTube uh if you're watching it hi if you're not you didn't see me just wave to you and we have that content it's sometimes it's a lot of times actually after the podcast it's sort of a continuation sometimes before we get into very different stuff for example this time if you want to learn a little bit more about what the heck is twio we just had a little conversation about that and uh check us out like I said YouTube develop or.com or check out the site and then you can go there as always or if you've never been here to introduce myself I am Rob Broadhead I am one of the founders of develop andur also known as building better developers that's its own little story and uh also founder of RB Consulting a software Solutions group where we do Integrations and migrations and things of that nature you could check us out at rb- sns.com enough for that kind of stuff I will also allow Michael to continue Michael go ahead and introduce yourself hey everyone my name is Michael MOS I'm also one of the co-founders of develop andur with Rob and I am also the founder of Envision Q8 where we help Healthcare and small businesses build integrated web systems or software to meet their needs and I just realized I haven't even talked about about what this episode is going to cover what we're going to talk about this time is essentially um it comes out of the source code for happiness book where we were talking about skills and side projects and hustles and how you can define those in a way that will help you along your career road map whatever your path is and one of the things that has has we've gotten into specifically is doing shorts doing video shorts of you coding which is what we've done you go out to the YouTube channel you'll sign find bunches and bunches and bunches of those where for example I walk through U getting a python certification learning python learning SQL uh there was a couple others oh um doing P using python to build a an API uh building a link shortener app lots of stuff out there and I wanted to talk about the the mindset of that because it's it was something that Michael and I was were having a discussion and it re I realized how much it's it really is something that I think anybody can do that you could you could jump in just basically if you've got a phone or you know better yet if you've got a camera on your PC which or laptop almost everybody does now is you just flick record or screen record you just put that onto your you a zoom call or pick your you know you can use Quick uh quick time you use whatever you want want to record stuff and there's a lot of screen recording things out there you don't have to have your face on the in the video at all is just put it record your desktop or your IDE as you're going through it and then all you have to do is just talk through what you're doing codewise now you may say okay that's easy for you to do because you talk all the time yes some people may say I do I would argue for a long time with them and then realize that I just spent a lot of time talking what you want to do though is this is I think some of us anyways we work better just verbalizing some of the thoughts that are going on in our head as we were working our way through problems but also this is going to help you sort of explain what you're doing as you're doing because it's it's good practice because at some point even if you're doing code that nobody ever you know nobody's like behind your shoulders and watching you code they may at some point say why did you do that or what your thought process or why did you build it in that way and this is going to help you build some of those skills plus you're going to be able to show off your ability to code in whatever that language or environment is you're going to have those videos so now you have this branding that you can start working with that you can you can include it in blogs you can point people to it you can use it as a uh sort of like a lead magnet kind of thing if you could have just like a lot of people do you can have a uh a YouTube channel that you just record yourself doing various coding tasks it's also useful from a reference point of view if you're going through and setting up for example a server this is one of the things we've done a lot where we we get out on Amazon grab an ec2 instance and go install a lamp stack we've done it several times we've got notes on it I've searched and found them and reused them multiple times we've built scripts around it something like that if you've got a little video that you did then you can walk through there and go okay that's right I did this I did this I did this and it's it's an excellent reference for you so I highly recommend in a general sense try recording yourself writing code and talking through it worst case when you get done you don't have to publish it or anything like nobody ever has to see it however I think it's it's valuable now as I mentioned earlier I've talked a little bit so let's start with some questions for Michael because I know this because you sort of prompted this conversation anyways so throw me some things of of where you'd like to see this go sure so what kind of prompted this whole discussion was I've been working on retooling my test driven development tool my code generator into multiple languages and I've come to the conclusion that my while it's very useful in Java it's not quite as scalable to quickly generate Frameworks in other languages from the Java from my initial approach because the initial approach was hey I wanted to hack something out it got really useful but the codee's dirty and it's a bit dated and it needs a refreshment so I was like hey I'll go to python you're like oh yeah hey I got all these python classes out here just refresh your memory with that so I started going through those and I know we've done a lot of classes recordings I've done a whole series on test driven development and testing but coding to me to record the like the small segments you did which was really cool however when you're doing something like that how do you get it refined enough to where you have okay here's the approach I want to do where you're not spending an hour or two for a 15minute video do you essentially script it out first or do you just do it once and then come back refine it in your mind and then record it like like do you actually like code it once then stop and then go back through and record based on how you went through it I feel like I'm giving away the magician Secrets here a little bit um actually I most well not most some of those were 15minute videos that took me two hours of recording and and another hour of editing to clear them out um what I do this is an approach that I take is one I I come I come into it with a um a small section of work I want to do that's like you know I want to I just want to do an example of this kind of code or tackle this little problem that and it's usually that I think is a little problem sometimes there were these multi- parters because I thought it was going to be quick and I realized oh no I'm gonna have to show some other pieces to get to that so it's going to have to be a two or three-part you know series but those were usually done usually in one you know sitting essentially and what I do couple tricks of the trade is I sit down and I start into when I'm going to sit down and do it my first little bit and you probably noticed is usually cleaner because it's basically my first minute or two I'm saying this is what I'm doing this is my goal uh one of the things that I did for uh the shortener app that was actually very helpful to me is I had um a little markdown page that you you know the standard project notes that you see that gets generated out of GitHub or something like that well I went in and the first thing I did is I said basically did like a a I did actually an episode of generating requirements and so what I did is I just it was in a very uh a really fast and loose quick kind of way but I said here's the requirements for my application and the way I did is I set up a bunch of of bullet points of I'm GNA have to do a and b and c and d and did them in ways that were broken down so that I was like I should be able to do these in 15 minute you know 15 to 20 minute increments because that's there's no magic to that time it's just that's what I've found I en I like that works best for me as far as me generating it nobody's ever complained so that's that's worked well and it's for me it's in then it's a a bite-size say so if somebody's searching for a specific solution how do I do X I've got something that doesn't take them three hours to figure out how to do that thing okay so to tack on to that so that was the first part of this now the second part is I noticed when you were going through some of these you had a particular environment uh IDE setup whatever is it better for our listeners if they want to do something like this to do it generically with like notepad or a text editor and then use the straightup compilers to try to enforce the environment setup that you want to use for what you're teaching I would not use the compilers and text editors because it's just this is because it's the this Century it's like nobody that's and that's honestly that's a conversation I had with a couple of guys not too long ago that had just come out I mean these are degreed computer science degreed guys that they never saw an ID they didn't know what an IDE was they could barely spell it when they graduated college and then they get into the real world and the first thing that happened the one guy he was I was his first the first thing that happened I said here's here's a couple of idees that you need to to uh install here's the plugins you want to do and he it took him a week to get going because he had to he had to Google what the hell is this stuff and you know we talked about it and it's because as soon as you get into the real development world you're not you're gonna use an IDE now granted if you if your content is IDE specific and it's it's very easy to it's very hard almost not to be because whatever your language is there's almost always going to be at least two or three major IDs if you're Java there's like intellig there's eclipses still out there's actually multiple flavors of eclipse and then there's uh Visual Studio code and then you could like Visual Studio there's take your pick but I think it's better off to to give examples that are to do it in a way that like this is me working now if you want to do it as a uh as a training material or something that is there's more of a class and a course then I do I do like that I mean I've always started whatever the languages I did I'll start with command line This is how you run it from the command line but I will usually very quickly like within the first week of of material switch over to an IDE because you really don't want you're not going to be sitting in an editor you don't want to be doing some sort of weird command line debugger you want to have a full-blown ID you want to be able to debug it you want to be able to run it as you as easy as possible and so I would pick an environment that's comfortable for you particularly in this case is just because you're essentially going to just click record do something that is comfortable for you and then start going and that's what I did now I I did tweak I think depending on what I did I did select the um the ID based on my task at times there was one that I did a while back that was all on uh Cloud9 Amazon's it's the you know the mobile uh it's basically Eclipse again it's the mobile eclipse IDE and wanted to make sure see if I could do that to actually go through and see if that actually worked as a full-blown IDE you know spoiler alert it did but this goes back to sort of that first question get yourself something that's comfortable because you may end up where I did is I'll be coding along and I think this is good and what we always do is we hit a bug something's not working and so what's fun and like this what I do is I would I would go in and go oh here's a bug and be something like like oh this isn't working right and usually I give it about one attempt and if it looked like I was going to need to take more then I would just shut up and so like when I'm watching the video I'll have like my little you know I can see the audio line and then suddenly hit flat lines for a while and then I would always come back and I'd go one two three or actually you know surpr you know guess it's not a secret I go 3 two one and then I could see the you know I could see each of those little Hills and so I could see when I Saw Three Hills together it's like oh this is me coming back in because what I do is I go through fix it and then or you know get through that bug and then say okay where was I at and then basically then set myself back up to say okay now I'm going to start talking again and move forward like that like one case I had an hour and a half of trying to track something out that hour and a half did not show up on the video because I just cut the whole thing out and it was literally it was like a two hours of video that turned out to be I think 20 minutes that I when I finally cut it all down because I just threw out all the crap I was just sitting there you like trying to figure out and it's like if you get configuration issues or something where you come back after 30 minutes and you go oh by the way I had the case wrong on this letter or I misspelled this you know parameter then you can edit that stuff out all right so let me sum this up a little bit for those that are listening because you just kind of unloaded a whole package of information there so my initial idea or question was how do you break down your recordings into smaller segments for those that are new you kind of want to go into it just hit record start doing it but do it in an environment or in a IDE that you're comfortable with so that you can just kind of flow get used to it do it a couple of different times for those that are a little more advanced or you're getting a little more custom getting into a more course driven typically use something that you're comfortable with but would it not safe to say use something that is a little more industry standard like visual code or at least something that's more exposure for what people are used to seeing or might see in the industry so you don't want to necessarily have them go show them something like maybe Cloud9 that may not be as useful today but like visual code is or like pie charm regardless but given take a look at where you are today and what's available and make sure you're doing something that's generic enough that can kind of stand the test of time release for a couple years so you don't have to go back every year and keep rehashing your videos if you're doing a course the second part of that was it was interesting so as you kind of laid out your courses and you and I have both taught multiple boot camps software classes and things like that my favorite approach and I kind of want your take on this because I I've seen you do it different ways is if I know that I'm going to be teaching X or I'm covering this topic and it has code I typically like to put together a empty file with nothing but some comments in it to basically fill in the gaps as I go along that way the users see what's there I have placeholders and I don't have to jump around a bit what are your thoughts on that I do that I've I have taken that Approach at times I find that it's a little um it just it takes a little bit extra time to actually build out that recording so what I'll usually do is I will do it like that is I'll have comments and then I'll build out all the code and then I'll have comments around the code and then sort of walk through the file as I go um sometimes it's actually it's actually stuff where I'll have like uh spoiler alerts in the code because I'll have stuff that I haven't covered yet and I'll say oh by the way we're going to come back to this section because that's also something you run into is particularly if you're building out a language like when I was doing the uh the python certification stuff there were cases where I treated it as if you haven't seen python before for the most part I mean it was like wasn't perfect but it's along those lines and there are cases where I would build a little applet to cover a topic and there would be other things in there and it's the it's the you know obligatory hey we'll come back to that later kind of thing that you'll see in almost anything you know it's even you know if you go back to like you know calculus professors are like well we'll leave that up to the student to solve that problem or something like that it's something where it's like hey just for now trust me because this code works or will you know you can use this code and then we will come back and usually I'll even mention that or I'll take a note as well that oh I need to cover this topic in this uh in this area you know in this section of of coding or something like that or have some sort of call back so I can say hey we're going to talk about this in the you know in the collections topic or whatever it is so that while you're looking at it you don't need it right away it's sort of a trust me this is solving this and solving this problem just go with the code that we're giving you in this area and then reference to if you want to know what this blocket code does go check out this other you know this other topic or something along those lines and that's also it's good like you throw stuff in the show notes or something like that that just is a link back to know episode one where we covered this or those kinds of things to kind of tech on to that the other thing that I like doing with something like that is I like kind of doing like a student copy of a project which is just a very structural just driven project like here's an empty project with the files that we will build with the comments in them so as I kind of go along through the lecture they already have have that they don't have to spend the time building that but then they can kind of follow along and fill in the code try to uh you know make it work as I go through the lecture the other thing that's that I like doing with that is I also like providing like a student hand like with the AL so you have the student handbook but I also give a student workbook so on top of that I give like a little lab section for homework assignments in that that basically is a big comment to go with a PDF and they basically go in and they have to like do the work fill it in then when I'm all done with the lecture I essentially dump out to GitHub I'll open up to the group here is the student solution to that project uh I kind of like to wait till the end uh instead of dumping it at the beginning because you want to make sure that they work through the assignment but for those that are trying to do their own projects or their own ideas what do you you think of of that do you think they should give it away with GitHub or do you think they should keep it proprietary me personally I like GitHub for one of two things one and I I know I I kind of ask you that but I kind of want to give my two cents on that but one I like to get Hub idea because it goes with what we've talked about previously about building that road map where do you want to go but also you're building your resume with hey I have experience in this here's example of what I've done and now you have an online profile to go with that but you got to be careful though because if you do put out in GitHub if you do it public people can't make changes to that and you could get in trouble if someone comes in and screws with your project and you say hey check this out and and employer someone comes and looks at it and your codes hot mess anyway you have to I mean you can block that so you can't there are ways you can block it so people can't Fork your code and stuff or they can only do it if they Fork it and things like that so there are ways to so not going to screw up your code plus you have a you have a GitHub history so what I've done uh with a couple and I do like using the GitHub approach I like to just what I do is I build the last couple times I've done it I build as I go so I start with a public GitHub repository and then one or two episodes into it I have I have committed code into GitHub and then I give them the link and say here you go and then I tag them as I go so you can go and you can say you know here's episode one episode two or you know class one class two class three so they can go in they can pull based on that label they can see what's there and then it's you know if nothing else you can PRI you can pull the prior version and then you can sort of you know work along as I do if you want to pull the code in and so it's and it's again this isn't aimed at like a quiz or something like that it's more of a hey watch the video you're going to get an explanation of what's there you can and skip to the end and just grab the code but then you're not going to know what the code does unless you've you know watched the video or read the the uh whatever the documentation is and things like that so I do find it very useful and then it gives you an excuse to have a public GitHub repository that people can check out your code they can and then they get the best of all worlds they can see you coding they can see what came up after the fact what the you know the final results are and really get a feel for for who you are and how you how you develop perfect before you get I know we're getting close on time so I got one final thought for you so if we're building these short courses or we're building out a kind of road map or a structural content for our listeners as you're building your GitHub or your markdown language is it useful to think about using things like asid docs or some other type of documentation that as you're writing kind the readmes or you're scripting out these uh classes to kind of generate an ebook format as you're building it so when you're done with your presentation you essentially have this free ebook you can hand out with it it can it depends on what your goal is if you're if you're trying to build a course then yes I mean you want to do that you're going to want to really have a there's there's a lot of those pieces you're going want to do like you're going to want to include unit tests and things like that and like build it out or if you want to show off your your total skill set is cover all of those bases if you're just you know wanting to show your you know little like you know vignettes of you coding then I don't know that you want to go that far this is It's one of these things that gets into scope it's like really how much do you want to get into this do you want to just show solving a problem or do you want to show off solving a problem and it's it's the kind of stuff is like you know do you want to add like a presentation and and all these things around it or do you really just want to be like hey here's me writing code and if you do always use those tools then by all means incorporate those in but if it's something that you normally don't use at all then one you can decide you're going to do it with this project to give yourself exposure and experience doing that um but two watch out you don't want to get into something where you like you know go all out and you say here's how I have code and you've got all these really cool things and these really high-end things that you produce and then when it comes down to what do you really do you're writing you're just cranking out code then there's going to be that disconnect and it does help you know if you want to do the whole thing if you want to do the really well polished code then by all means do so but just make sure that you're going to follow through with that and realize that that changes when you go out and do projects and you use those as references that changes is the what people are going to expect of you and you want to make sure that you are not setting false expectations when you put these things together it's all it's one of those things that's really and it's I guess one last thought because otherwise we'll go really long on this um don't put yourself in a situation where you're doing these little things and you're over architecting the snot out of solutions and doing a lot that you really don't need to do yeah it's great it's it's cool it's in some cases you will say the sort of the right thing to do or the the right way to do it but in a lot of cases it's not if you're dealing with somebody that's just trying to get a project like an MVP together then yeah they're still going to need documentation they're going want to do some testing but you don't you're not going to go all out with those because you're not going to have the bandwidth to do it so you don't want to be in a situation where they say hey we need to build a simple landing page and you say oh yeah I can do that it's going to take me three months to do it because there's all of these other pieces that I'm going to build into it it's like just be careful of getting too uh enamored of technology and some of the tools that are that are out there but if you can use stuff that's part of your process then by all means do so and I'm not going to give you the last word because we've gone a bit too long this time so we're gonna wrap this one up but there will probably be bonus content content after this uh for those of you who are listening feel free to check us out subscribe uh wherever you get your tunes of any c you know your podcasts of any sort whether it's iTunes or uh any of the check out like all the value for value places out there the Pod catchers as they they call them all those kinds of places we're out there um you can shoot us an email at info develop or.com if you have questions comments or if you want us to take a look at some of the videos and code stuff that you've done or if you have suggestions for what you would like to see from us we're happy to hear that uh as always we're just going to continue this on we are not done with the season yet we're going continue just sort of you know a uh topic of the week a topic of the episode and just sort of pull some of the experience that we have in our day-to-day lives as we're either developing code or from the business side as always go out there and have yourself a great day a great week and we will talk to you next time and now for the bonus material uh sort of closing thoughts on that so yeah uh I like the direction you went with my last question but I was kind of thinking along the lines for those that are building content like we have or similar things where you are building a course or you're building this online thing that you have I I'm kind of struggling a little bit because I'm watching what you're doing with the python stuff um because I never actually had a chance to go back and watch the 15-minute one you did on djingo um because when you publish that unfortunately my mom was dealing with her cancer so I I missed it completely it was out of my scope but now that I'm going back through it and refreshing my memory I'm looking at that and I'm looking at like those pocket books right the pocket sequel pocket JavaScript I'm thinking you know we could turned that into a pocket ebook that we could provide with it or if anyone just comes out to the site hey here's a free pocketbook that's where I was thinking along that question that's kind of where that question came from also with my test generated tool I'm thinking about putting together a type of pocket book or an ebook to go with that it's just a small maybe 50-page book uh you know small maybe 25 Pages 50 um that essentially covers the basics here is enough to get jump start you and I'm not looking like to do something super but just something small along those lines that I could also turn into Maybe my own 15 minute 10 minute uh presentation to kind of segment that out but yet go get the book if you want the full content you know what I mean yeah um if that's if in that sense if you're building a course of some sort then I would I think that is uh useful to do that was how sort of how I built the uh the one ebook and it was I ended up making it I added a few pages and I'm trying to remember what the reason why I think it was so that I could get like a a better cover like I had to get a certain thickness to be the cover that I oh that's what it was is I wanted a cover thick enough that you could read on the back on The Binding you could see the title and so I opened up a couple pages so it went from being just a like the vfold to one that's more like a square you know kind of binding so yeah like that and you're muted yeah but yeah so it's like a lot of the oilid books are like that yeah this is the beyond the 12 Factor app but it like yeah the bind the spine has nothing on it but it's you know 50 pages I was thinking something like this for the test stuff but in the same token I was thinking I could build out a more elaborate video series not even necessarily a course but a video series on it or take what I already did and condense that down to like 50 pages and say here here is a crash course or a pocket guide if you have questions in this flip to this section here's what you need go do it yeah it's I mean it makes a lot of sense from a branding point of view and from a a marketing material point of view I thought about with the I've thought about stuff on the the python things in particular the python Jango sequel series of stuff I did I thought of things like putting together quick references of some sort um I think I sort of have those in the notes I forget exactly what I did with each of them because I these are the things I was thinking about and I don't remember how much I executed um I've thought about putting together like a little you know like a little almost like a daily kind of thing which is what we did um the launch your internet business is it had that email that came out every day and I could always go back if I wanted to and go do a little you know whatever it was 20 21 days I think or 28 I think it was 28 days where we ended up so do a little 28 page little ebook of here's what you do and I could probably take the steps because I think each day I was like here's the steps you go through so we could do something like that it just that gets into a deeper level of like how do you how do you slice and dice stuff if you're going to if you want to have branding if you want to have content if you really you know it's to me it's different from I've got a personal brand and I've got some videos to show sort of help my resume out versus I'm building courses or something that I'm going to try I'm eventually going to try to like use it as either a lead Magnet or um you actually generate money to have content that I'm actually going to charge for if I'm going to use a class or something like that then if I'm going to sell courses then it's it's a little different for those still watching we're trying to think of what we're GNA do for the next episode this is one of those that oh and I think I know what I want to do so you guys can wait we're going to cut it right here and it's going to come in the next episode so it's like I'll do a little wavy thing so Michael knows where to cut it [Music]
Transcript Segments
[Music]
so you're joining us mid conversation
and we're just going to continue um so
yeah so working on this this it's a it
is it's actually interesting because
initially it was PHP we application and
um API those were both written in PHP
and then it's a pure Android they don't
have it is native Android so it's just
Java they're not they don't care about
iOS at all or anything like that it's
just a little Android app and I looked
at it and was like and the database is
just my sequel so I was like or maybe no
it was my Sequel and I said well let's
go ahead and upgrade it it's not really
much of upgade you know basically just
kick it up to Maria DB so getting some
of the newer stuff because it was an
older version uh not anything
substantial um their database really had
like no
indexes no really no indexes and almost
no foreign Keys built into it it was
just like tables
so I said oh that's part of the reason
it runs slow as lasses besides it's got
hundreds of thousands of rows in a
couple of
places and um so built that out they
already had they were using twillie
already and I've used that several
places on apps it was really easy to
just like grab that and they've got
they've got tons of python examples so
even if there was something I needed off
and running with
that and uh and I converted I did
converted I was like you know what I'm
going to go ahead instead of PHP for the
web server I was going to do um Django
with an Apache front end and then I
started out using flask to build out the
API and the more I looked at I was like
I think I'm going to try the Jango rest
stuff because then it's just one server
and you've got all of the above
available and that has worked out really
well I just and so I didn't have to you
essentially duplicate code or have two
code bases it's just one spot for
everything except for the mobile and uh
that's started that's been a pretty fun
little little project in itself so it's
one of those that it's a
it is a Reclamation kind of thing where
the the last time a developer touched it
was probably a year or two ago they
don't have any documentation they don't
have they've had multiple developers and
they have not had any like good handoff
so that's part of what it is is it's
it's sort of fun because it's a it's an
ugly it was originally an ugly code
Source it's actually a pretty cool
application and they said you know ESS
is like okay let's do this right so he
like said let's do cicd and let's do all
these kinds of things so I've talked
about it said yeah I'm like trying to
just get it converted up so they can get
it running but I said I've got plenty of
technical debt so I'm going to swing
back around at the end and flesh out
more of the documentation I'm G to
actually use I'm going to go use a
GitHub uh assuming I can use GitHub
pipelines and that so that we can do
like a push to development or push to
test development whatever it is push to
production get all that stuff
automated um it's just been yeah it's
those it's a it's a it's fun to have
somebody that really wants you to do it
right even and like I said even though
the estimate initially was like oh yeah
like if it all works like you think it
is it's going to be pretty simple and it
he wasn't sure and it was one of those
he'd even warned me he said you might
have to rewrite it from scratch I was
like okay if I rewrite it from scratch
that's going to take a while and I
didn't realize exactly how long until I
got into it because they've got a lot of
logic built back into the code the good
thing is I've got source code for
everything so there's like as I've
building out the API I'll go grab big
chunks of PHP code and essentially
convert them over to Python and have to
update them anyways because we have made
some some corrections in the database so
they're all the crap that they sort of
like just tacked on have designed that
now knowing the end result can design it
properly
so fun times that's cool yeah um are you
doing the documentation using asy docs
or just pling markdown no no I haven't
decided what I'm going to do yet for
those
um it does have some built-in and I
haven't really played around with the D
Jango rest uh rest X or whatever they
call it I forget what they call it but
it's basically their rest uh
Library the flask stuff had it was
really easy to to basically just hook in
Swagger and I was using that from the
API point of view and I I don't know if
I'll be able to do that with the rest or
if it's got I think it's got its own so
I'll I'll explore that a little bit
deeper and decide what looks better I
think Swagger maybe the easier way or
the more acceptable way to do it from
the API point of
view the um the code itself is not that
complex uh once you get into the views
in that but I'll probably do some sort
of you know the equivalent to it's the
equivalent to Java do for the python
Jango side and then it'll be more I
think I think it'll probably just be
marked down because it's just that's
what I've already got I'll probably end
up doing the markdown for the general
technical dot kind of thing of like hey
here's how you build it and things of
that nature so you were using flas to
generate the Swagger or just Swagger
with open a uh open API to generate the
basically the you can hook there is a
within flask there is a um a piece that
just so it's just you as you write it
out you're writing you know it's a
markup code essentially it's you know as
long as you write the code in the write
the comments in a certain format then
it's going to pick them up and it's
going to generate your Swagger side for
you that's what I did for the um I to
show that real quick uh so the reason
I'm asking that so let me kind of spoil
this a little bit so I'm currently
working on my code generator or my test
generator and I'm trying to get it to
read open API documentation and generate
a test framework just off of an API just
off the swag it doesn't even need the
source code
right and that's right you should be
able to do it because this is so this is
uh I think I'm sure yeah so um this is
that little shortener and I just threw
together when I built the API um I threw
some extra stuff because I was working
on documentation stuff but it's you know
basically it's just it's stripping stuff
out of the comments and then it's got
within their uh within the library
you've got essentially got a standard
Rest Library and then they've got like
the rest X Library that adds a couple of
pieces including thing like so I can do
just your regular you know Swagger stuff
so I can do your whole you go in what's
the Json so if you click the Json at the
top does it dump it all out like open
API
does yes I think it does
yeah o okay oh I could possibly use that
too okay cool yeah I mean you can once
you get it because the standard once
you're into the standard Swagger stuff
then I think it's it doesn't matter what
it is on the back end um it's going to
be once you're on that Swagger page then
I think you can pull the source from it
and you could easily that would probably
be the way to do it is just grab that
Json walk through that and that's how
you do your your code
generator yeah but it depends how the
swaggers generated so I noticed that if
you apply it if you define your Swagger
to open API
uh it formats it slightly different so
the Json a little bit it's structured
differently like you have different tags
and IDs and things like that oh that's
true so you may have to do some little
format preformat or something like that
to just say hey which one am I working
with yeah and that's why I thought that
was kind of cool you you just showed
because I could
potentially use that as a okay was it
look like just plain Json just regular
standard Swagger without the generated
stuff that boot does with open API
compare the two see what's different and
then I could uh mock the generator to
read it a certain way um but no cool I
didn't want to digress too much from
that but um that's neat so flas Django
MD what was the uh tro you said was the
uh uh mail server oh twio T Lio that's
their they own they bought uh they were
or they bought I think they bought Sy
grid a while back and so twillo is
really ni I mean they have they've got a
pile of stuff they do SMS they do email
they do all of those pieces and they're
they're yeah they don't have a free I
don't think I think they'll but I think
you can if you open up a developer
account I think they'll give you like
per first $50 free or something like
that or $20 or something but it's it's
not I mean it's one of those as long as
in a development mode and you're just
sending you know a few emails here a few
texts there it's it's basically it's
pennies of you know and so you don't
have to worry about it but it's um it's
a really nice framework for doing all
that kind of stuff basically once you
get in and it's it's just your standard
stuff is they've got a uh an ID they've
got like a a secret or an API key or
something like that and then a password
with it you just send those things off
they've got libraries um I'm trying to
remember all they've got libraries for a
couple of the major languages Python's
one that I've like I've been in so they
they've got those but they've also got
uh I think they've got a PHP Library uh
I'm pretty sure they've got a job in a C
I'm almost positive I've seen Java in
the past um so it's real easy to just
grab the library fire up you know it's
basically it's like grab a fire U grab
the
library connect with the class just give
it the couple you know authentication
information and then it's like you know
it's just like you you would want so
it's like send what's the what's the
phone number what's the message you know
stuff like that gotta it's branded and
stuff like that depending on how you do
it so you can it will either come from a
random number that's well I mean it's
your number you have a number that's
always your number that it's from or you
can you know you can customize those and
things like that depending on what level
you want to go to so there's a really
good little ad for twilio so all you
guys you're welcome go check it out Twi
i l o e w i Li iio iio I think it's
do um tell them we sent you I guess
maybe they'll send us a a free t-shirt
or something like that yeah we use local
stack for that for testing so that we
don't have to actually go generate we
can use a like a random ID for the keys
and it works really well to just quickly
stand up a server run your test it will
actually generate the email put it into
the queue you can pull from the Q uh the
email Que and make sure it's there make
sure it's formatted right it's pretty
cool yeah I thought I when I first was
looking at it for one of the apps we did
a little while ago thought about doing
something like that and then when I
looked at it I was like you know what
it's easier to just I'll go ahead and
set up the account with t and then I
don't have to change anything it's just
like it's
100% from Soup To Nuts that's it's the
same code and stuff like
that uh so this
episode I think I want to get into uh uh
what did I want to get into oh the the
the video shorts we talked about that so
I think for the first one is I think
we'll Dive Right into that is sort of
what the and and definitely ask
questions when we go into it but it's I
think it's just going to be sort of like
what was my mindset how did I put those
together you know and and I think it's
because I do think it's useful along the
lines of the um Source cord of Happiness
kind of approach to like building your
building your brand building your own
skills and things like that is why not
you know kill two birds with one stone
is go out there and have some comment
some content that shows you working
through a problem because I think that's
that could be very helpful if nothing
else it shows you a real person so you
where a lot of times now it's just
they're like hey you know we want a
video or a picture or something because
they don't want you to be you know they
don't want something like where you're
the guy that's that's the resume that
I'm hiding behind and then they end up
talking to me at some point and they're
like wow you are totally not that other
guy because they find it they you know
people they have no skills they have
they're they're just stealing somebody's
else identity practically and using that
to launch them into their into their
work uh into their you know into some
projects so we'll do that for uh we'll
start into that so be ready fire off a
couple questions once I get going well
hello and welcome back we are just
chugging right along uh we have been
actually you guys missed a whole lot of
bonus content if because you're
listening to this uh the podcast is
preceded and post seeded actually I
guess succeeded by video stuff that we
have we have a little bit we have extra
content all the time out on the
developing Channel on YouTube uh if
you're watching it hi if you're not you
didn't see me just wave to you and we
have that content it's sometimes it's a
lot of times actually after the podcast
it's sort of a continuation sometimes
before we get into very different stuff
for example this time if you want to
learn a little bit more about what the
heck is twio we just had a little
conversation about that and uh check us
out like I said YouTube develop or.com
or check out the site and then you can
go there as always or if you've never
been here to introduce myself I am Rob
Broadhead I am one of the founders of
develop andur also known as building
better developers that's its own little
story and uh also founder of RB
Consulting a software Solutions group
where we do Integrations and migrations
and things of that nature you could
check us out at rb- sns.com enough for
that kind of stuff I will also allow
Michael to continue Michael go ahead and
introduce yourself hey everyone my name
is Michael MOS I'm also one of the
co-founders of develop andur with Rob
and I am also the founder of Envision Q8
where we help Healthcare and small
businesses build integrated web systems
or software to meet their
needs and I just realized I haven't even
talked about about what this episode is
going to cover what we're going to talk
about this time
is
essentially um it comes out of the
source code for happiness book where we
were talking about skills and side
projects and hustles and how you can
define those in a way that will help you
along your career road map whatever your
path is and one of the things that has
has we've gotten into specifically is
doing shorts doing video shorts of you
coding which is what we've done you go
out to the YouTube channel you'll sign
find bunches and bunches and bunches of
those where for example I walk through U
getting a python certification learning
python learning SQL uh there was a
couple others oh um doing P using python
to build a an API uh building a link
shortener app lots of stuff out there
and I wanted to talk about the the
mindset of that because it's
it was something that Michael and I was
were having a discussion and it re I
realized how much it's it really is
something that I think anybody can do
that you could you could jump in just
basically if you've got a phone or you
know better yet if you've got a camera
on your PC which or laptop almost
everybody does now is you just flick
record or screen record you just put
that onto your you a zoom call or pick
your you know you can use Quick uh quick
time you use whatever you want want to
record stuff and there's a lot of screen
recording things out
there you don't have to have your face
on the in the video at all is just put
it record your desktop or your IDE as
you're going through it and then all you
have to do is just talk through what
you're doing codewise now you may say
okay that's easy for you to do because
you talk all the time yes some people
may say I do I would argue for a long
time with them and then realize that I
just spent a lot of time talking what
you want to do though is this is I think
some of us anyways we work better just
verbalizing some of the thoughts that
are going on in our head as we were
working our way through problems but
also this is going to help you sort of
explain what you're doing as you're
doing because it's it's good practice
because at some point even if you're
doing code that nobody ever you know
nobody's like behind your shoulders and
watching you code they may at some point
say why did you do that or what your
thought process or why did you build it
in that way and this is going to help
you build some of those skills plus
you're going to be able to show off your
ability to code in whatever that
language or environment is you're going
to have those videos so now you have
this branding that you can start working
with that you can you can include it in
blogs you can point people to it you can
use it as a uh sort of like a lead
magnet kind of thing if you could have
just like a lot of people do you can
have a uh a YouTube channel that you
just record yourself doing various
coding tasks it's also useful from a
reference point of view if you're going
through and setting up for example a
server this is one of the things we've
done a lot where we we get out on Amazon
grab an ec2 instance and go
install a lamp stack we've done it
several times we've got notes on it I've
searched and found them and reused them
multiple times we've built scripts
around it something like that if you've
got a little video that you did then you
can walk through there and go okay
that's right I did this I did this I did
this and it's it's an excellent
reference for you so I highly recommend
in a general sense try recording
yourself writing code and talking
through it worst case when you get done
you don't have to publish it or anything
like nobody ever has to see it however I
think it's it's valuable now as I
mentioned earlier I've talked a little
bit so let's start with some questions
for Michael because I know this because
you sort of prompted this conversation
anyways so throw me some things of of
where you'd like to see this go sure so
what kind of prompted this whole
discussion was I've
been working on retooling my test driven
development tool my code generator into
multiple languages and I've come to the
conclusion that my while it's very
useful in Java it's not quite as
scalable to quickly generate Frameworks
in other languages from the Java from my
initial approach because the initial
approach was hey I wanted to hack
something out it got really useful but
the codee's dirty and it's a bit dated
and it needs a refreshment so I was like
hey I'll go to python you're like oh
yeah hey I got all these python classes
out here just refresh your memory with
that so I started going through those
and I know we've done a lot of classes
recordings I've done a whole series on
test driven development and
testing but coding to me to record the
like the small segments you did which
was really cool however when you're
doing something like
that how do you get it refined enough to
where you have okay here's the approach
I want to do where you're not spending
an hour or two for a 15minute video do
you essentially script it out first or
do you just do it once and then come
back refine it in your mind and then
record it
like like do you actually like code it
once then stop and then go back through
and record based on how you went through
it I feel like I'm giving away the
magician Secrets here a little bit um
actually I most well not most some of
those were 15minute videos that took me
two hours of recording and and another
hour of editing to clear them out um
what I do this is an approach that I
take is one I I come I come into it with
a um a small section of work I want to
do that's like you know I want to I just
want to do an example of this kind of
code or tackle this little problem that
and it's usually that I think is a
little problem sometimes there were
these multi- parters because I thought
it was going to be quick and I realized
oh no I'm gonna have to
show some other pieces to get to that so
it's going to have to be a two or
three-part you know series but those
were usually done usually in one you
know sitting essentially and what I do
couple tricks of the trade is I sit down
and I start into when I'm going to sit
down and do it my first little bit and
you probably noticed is usually cleaner
because it's basically my first minute
or two I'm saying this is what I'm doing
this is my goal uh one of the things
that I did
for uh the shortener app that was
actually very helpful to me is I had um
a little markdown page that you you know
the standard project notes that you see
that gets generated out of GitHub or
something like that well I went in and
the first thing I did is I said
basically did like a a I did actually an
episode of generating requirements and
so what I did is I just it was in a very
uh a really fast and loose quick kind of
way but I said here's the requirements
for my application and the way I did is
I set up a bunch of of bullet points of
I'm GNA have to do a and b and c and d
and did them in ways that were broken
down so that I was like I should be able
to do these in 15 minute you know 15 to
20 minute increments because that's
there's no magic to that time it's just
that's what I've found I en I like that
works best for me as far as me
generating it nobody's ever complained
so that's that's worked well and it's
for me it's in then it's a a bite-size
say so if somebody's searching for a
specific solution how do I do X I've got
something that doesn't take them three
hours to figure out how to do that
thing okay so to tack on to that so that
was the first part of this now the
second part is I noticed when you were
going through some of these you had a
particular environment uh IDE setup
whatever is it better for our listeners
if they want to do something like this
to do it generically with like notepad
or a text editor and then use the
straightup compilers to try to enforce
the environment setup that you want to
use for what you're
teaching I would not use the compilers
and text editors because it's just this
is because it's the this Century it's
like nobody that's and that's honestly
that's a conversation I had with a
couple of guys not too long ago that had
just come out I mean these are degreed
computer science degreed guys that they
never saw an ID they didn't know what an
IDE was they could barely spell it when
they graduated college and then they get
into the real world and the first thing
that happened the one guy he was I was
his first the first thing that happened
I said here's here's a couple of idees
that you need to to uh install here's
the plugins you want to do and he it
took him a week to get going because he
had to he had to Google what the hell is
this stuff and you know we talked about
it and it's because as soon as you get
into the real development world you're
not you're gonna use an IDE now granted
if you if your content is IDE specific
and it's it's very easy to it's very
hard almost not to be because whatever
your language is there's almost always
going to be at least two or three major
IDs if you're Java there's like intellig
there's eclipses still out there's
actually multiple flavors of eclipse and
then there's uh Visual Studio code and
then you could like Visual Studio
there's take your pick but I think it's
better off to to give examples that are
to do it in a way that like this is me
working now if you want to do it as a uh
as a training material or something that
is there's more of a class and a course
then I do I do like that I mean I've
always started whatever the languages I
did I'll start with command line This is
how you run it from the command line but
I will usually very quickly like within
the first week of of material switch
over to an IDE because you really don't
want you're not going to be sitting in
an editor you don't want to be doing
some sort of weird command line debugger
you want to have a full-blown ID you
want to be able to debug it you want to
be able to run it as you as easy as
possible and so I would pick an
environment that's comfortable for you
particularly in this case is just
because you're essentially going to just
click record do something that is
comfortable for you and then start going
and that's what I did now I I did tweak
I think depending on what I did I did
select the um the ID based on my task at
times there was one that I did a while
back that was all on uh Cloud9 Amazon's
it's the you know the mobile uh it's
basically Eclipse again it's the mobile
eclipse IDE and wanted to make sure see
if I could do that to actually go
through and see if that actually worked
as a full-blown IDE you know spoiler
alert it
did but this goes back to sort of that
first question get yourself something
that's comfortable because you may end
up where I did is I'll be coding along
and I think this is good and what we
always do is we hit a bug something's
not working and so what's fun and like
this what I do is I would I would go in
and go oh here's a bug and be something
like like oh this isn't working right
and usually I give it about one attempt
and if it looked like I was going to
need to take more then I would just shut
up and so like when I'm watching the
video I'll have like my little you know
I can see the audio line and then
suddenly hit flat lines for a while and
then I would always come back and I'd go
one two three or actually you know surpr
you know guess it's not a secret I go 3
two one and then I could see the you
know I could see each of those little
Hills and so I could see when I Saw
Three Hills together it's like oh this
is me coming back in because what I do
is I go through fix it and then or you
know get through that bug and then say
okay where was I at and then basically
then set myself back up to say okay now
I'm going to start talking again and
move forward like that like one case I
had an hour and a half of trying to
track something out that hour and a half
did not show up on the video because I
just cut the whole thing out and it was
literally it was like a two hours of
video that turned out to be I think 20
minutes that I when I finally cut it all
down because I just threw out all the
crap I was just sitting there you like
trying to figure out and it's like if
you get configuration issues or
something where you come back after 30
minutes and you go oh by the way I had
the case wrong on this letter or I
misspelled this you know
parameter then you can edit that stuff
out all right so let me sum this up a
little bit for those that are listening
because you just kind of unloaded a
whole package of information there so my
initial idea or question was how do you
break down your recordings into smaller
segments for those that are
new you kind of want to go into it just
hit record start doing it but do it in
an environment or in a IDE that you're
comfortable with so that you can just
kind of flow get used to it do it a
couple of different times for those that
are a little more advanced or you're
getting a little more custom getting
into a more course
driven typically use something that
you're comfortable with but would it not
safe to say use something that is a
little more industry standard like
visual code or at least something that's
more exposure for what people are used
to seeing or might see in the industry
so you don't want to necessarily have
them go show them something like maybe
Cloud9 that may not be as useful today
but like visual code is or like pie
charm regardless but given take a look
at where you are today and what's
available and make sure you're doing
something that's generic enough that can
kind of stand the test of time release
for a couple years so you don't have to
go back every year and keep rehashing
your videos if you're doing a
course the second part of that was it
was interesting so as you kind of laid
out your courses and you and I have both
taught multiple boot camps software
classes and things like that my favorite
approach and I kind of want your take on
this because I I've seen you do it
different ways is if I know that I'm
going to be teaching X or I'm covering
this topic and it has code I typically
like to put together a empty file with
nothing but some comments in it to
basically fill in the gaps as I go along
that way the users see what's there I
have placeholders and I don't have to
jump around a bit what are your thoughts
on that I do that
I've I have taken that Approach at times
I find that it's a
little um it just it takes a little bit
extra time to actually build out that
recording so what I'll usually do is I
will do it like that is I'll have
comments and then I'll build out all the
code and then I'll have comments around
the code and then sort of walk through
the file as I go um sometimes it's
actually it's actually stuff where I'll
have like uh spoiler alerts in the code
because I'll have stuff that I haven't
covered yet and I'll say oh by the way
we're going to come back to this section
because that's also something you run
into is particularly if you're building
out a language like when I was doing the
uh the python certification stuff there
were cases where I treated it as if you
haven't seen python before for the most
part I mean it was like wasn't perfect
but it's along those lines and there are
cases where I would build a little
applet to cover a topic and there would
be other things in there and it's the
it's the you know obligatory hey we'll
come back to that later kind of thing
that you'll see in almost anything you
know it's even you know if you go back
to like you know calculus professors are
like well we'll leave that up to the
student to solve that problem or
something like that it's something where
it's like hey just for now trust me
because this code works or will you know
you can use this code and then we will
come back and usually I'll even mention
that or I'll take a note as well that oh
I need to cover this topic in this uh in
this area you know in this section of of
coding or something like that or have
some sort of call back so I can say hey
we're going to talk about this in the
you know in the collections topic or
whatever it is so that while you're
looking at it you don't need it right
away it's sort of a trust me this is
solving this and solving this problem
just go with the code that we're giving
you in this area and then reference to
if you want to know what this blocket
code does go check out this other you
know this other topic or something along
those lines and that's also it's good
like you throw stuff in the show notes
or something like that that just is a
link back to know episode one where we
covered this or those kinds of
things to kind of tech on to that the
other thing that I like doing with
something like that is I like kind of
doing like a student copy of a project
which is just
a
very structural just driven project like
here's an empty project with the files
that we will build with the comments in
them so as I kind of go along through
the lecture they already have have that
they don't have to spend the time
building that but then they can kind of
follow along and fill in the code try to
uh you know make it
work as I go through the lecture the
other thing that's that I like doing
with that is I also like providing like
a student hand like with the AL so you
have the student handbook but I also
give a student workbook so on top of
that I give like a little lab section
for homework assignments in that that
basically is a big comment to go with a
and they basically go in and they have
to like do the work fill it in then when
I'm all done with the lecture I
essentially dump out to GitHub I'll open
up to the group here is the student
solution to that project uh I kind of
like to wait till the end uh instead of
dumping it at the beginning because you
want to make sure that they work through
the assignment but for those that are
trying to do their own projects or their
own
ideas what do you you think of of that
do you think they should give it away
with GitHub or do you think they should
keep it proprietary me personally I like
GitHub for one of two things one and I I
know I I kind of ask you that but I kind
of want to give my two cents on that but
one I like to get Hub idea because it
goes with what we've talked about
previously about building that road map
where do you want to go but also you're
building your resume with hey I have
experience in this here's example of
what I've done and now you have an
online profile to go with that but you
got to be careful though because if you
do put out in GitHub if you do it public
people can't make changes to that and
you could get in trouble if someone
comes in and screws with your project
and you say hey check this out and and
employer someone comes and looks at it
and your codes hot mess anyway you have
to I mean you can block that so you
can't there are ways you can block it so
people can't Fork your code and stuff or
they can only do it if they Fork it and
things like that so there are ways to so
not going to screw up your code plus you
have a you have a GitHub history so what
I've done uh with a couple and I do like
using the GitHub approach I like to just
what I do is I
build the last couple times I've done it
I build as I go so I start with a public
GitHub
repository and then one or two episodes
into it I have I have committed code
into GitHub and then I give them the
link and say here you go and then I tag
them as I go so you can go and you can
say you know here's episode one episode
two or you know class one class two
class three so they can go in they can
pull based on that label they can see
what's there and then it's you know if
nothing else you can PRI you can pull
the prior version and then you can sort
of you know work along as I do if you
want to pull the code in and so it's and
it's again this isn't aimed at like a
quiz or something like that it's more of
a hey watch the video you're going to
get an explanation of what's there you
can and skip to the end and just grab
the code but then you're not going to
know what the code does unless you've
you know watched the video or read the
the uh whatever the documentation is and
things like that so I do find it very
useful and then it gives you an excuse
to have a public GitHub repository that
people can check out your code they can
and then they get the best of all worlds
they can see you coding they can see
what came up after the fact what the you
know the final results are and really
get a feel for for who you are and how
you how you
develop perfect before you get I know
we're getting close on time so I got one
final thought for you so if we're
building these short courses or we're
building out a kind of road map or a
structural content for our
listeners as you're building your GitHub
or your markdown language is it useful
to think about using things like asid
docs or some other type of documentation
that as you're writing kind the readmes
or you're scripting out these uh classes
to kind of generate an ebook format as
you're building it so when you're done
with your presentation you essentially
have this free ebook you can hand out
with
it it can it depends on what your goal
is if you're if you're trying to build a
course then yes I mean you want to do
that you're going to want to really have
a there's there's a lot of those pieces
you're going want to do like you're
going to want to include unit tests and
things like that and like build it out
or if you want to show off your your
total skill set is cover all of those
bases if you're just you know wanting to
show your you know little like you know
vignettes of you coding then I don't
know that you want to go that far this
is It's one of these things that gets
into scope it's like really how much do
you want to get into this do you want to
just show solving a problem or do you
want to show off solving a problem and
it's it's the kind of stuff is like you
know do you want to add like a
presentation and and all these things
around it or do you really just want to
be like hey here's me writing code and
if you do always use those tools then by
all means incorporate those in but if
it's something that you normally don't
use at all then one you can decide
you're going to do it with this project
to give yourself exposure and experience
doing that um but two watch out you
don't want to get into something where
you like you know go all out and you say
here's how I have code and you've got
all these really cool things and these
really high-end things that you produce
and then when it comes down to what do
you really do you're writing you're just
cranking out code then there's going to
be that disconnect and it does help you
know if you want to do the whole thing
if you want to do the really well
polished code then by all means do so
but just make sure that you're going to
follow through with that and realize
that that changes when you go out and do
projects and you use those as references
that changes is the what people are
going to expect of you and you want to
make sure that you are not setting false
expectations when you put these things
together it's all it's one of those
things that's really and it's I guess
one last thought because otherwise we'll
go really long on this um don't put
yourself in a situation where you're
doing these little things and you're
over architecting the snot out of
solutions and doing a lot that you
really don't need to do yeah it's great
it's it's cool it's in some cases you
will say the sort of the right thing to
do or the the right way to do it but in
a lot of cases it's not if you're
dealing with somebody that's just trying
to get a project like an MVP together
then yeah they're still going to need
documentation they're going want to do
some testing but you don't you're not
going to go all out with those because
you're not going to have the bandwidth
to do it so you don't want to be in a
situation where they say hey we need to
build a simple landing page and you say
oh yeah I can do that it's going to take
me three months to do it because there's
all of these other pieces that I'm going
to build into it it's like just be
careful of getting
too
uh enamored of technology and some of
the tools that are that are out there
but if you can use stuff that's part of
your process then by all means do so and
I'm not going to give you the last word
because we've gone a bit too long this
time so we're gonna wrap this one up but
there will probably be bonus content
content after this uh for those of you
who are listening feel free to check us
out subscribe uh wherever you get your
tunes of any c you know your podcasts of
any sort whether it's iTunes or uh any
of the check out like all the value for
value places out there the Pod catchers
as they they call them all those kinds
of places we're out there um you can
shoot us an email at info develop or.com
if you have questions comments or if you
want us to take a look at some of the
videos and code stuff that you've done
or if you have suggestions for what you
would like to see from us we're happy to
hear that uh as always we're just going
to continue this on we are not done with
the season yet we're going continue just
sort of you know a uh topic of the week
a topic of the episode and just sort of
pull some of the experience that we have
in our day-to-day lives as we're either
developing code or from the business
side as always go out there and have
yourself a great day a great week and we
will talk to you next time and now for
the bonus material uh sort of closing
thoughts on that so yeah uh I like the
direction you went with my last question
but I was kind of thinking along the
lines for those that are building
content like we have or similar things
where you are building a course or
you're building this online thing that
you
have I I'm kind of struggling a little
bit because I'm watching what you're
doing with the python stuff um because I
never actually had a chance to go back
and watch the 15-minute one you did on
djingo um because when you publish that
unfortunately my mom was dealing with
her cancer so I I missed it completely
it was out of my scope but now that I'm
going back through it and refreshing my
memory I'm looking at that and I'm
looking at like those pocket books right
the pocket sequel pocket JavaScript I'm
thinking you know we could turned that
into a pocket ebook that we could
provide with it or if anyone just comes
out to the site hey here's a free
pocketbook that's where I was thinking
along that question that's kind of where
that question came from
also with my test generated tool I'm
thinking about putting together a type
of pocket book or an ebook to go with
that it's just a small maybe 50-page
book uh you know small maybe 25 Pages 50
um that essentially covers the basics
here is enough to get jump start you and
I'm not looking like to do something
super but just something small along
those lines that I could also turn into
Maybe my own 15 minute 10 minute uh
presentation to kind of segment that out
but yet go get the book if you want the
full content you know what I mean yeah
um if that's if in that sense if you're
building a course of some sort then I
would I think that is uh useful to do
that was how sort of how I built the uh
the one ebook and it was I ended up
making it I added a few pages and I'm
trying to remember what the reason why I
think it was so that I could get like a
a better cover like I had to get a
certain thickness to be the cover that I
oh that's what it was is I wanted a
cover thick enough that you could read
on the back on The Binding you could see
the title and so I opened up a couple
pages so it went from being just a like
the vfold to one that's more like a
square you know kind of binding so yeah
like
that and you're muted
yeah but yeah so it's like a lot of the
oilid books are like that yeah this is
the beyond the 12 Factor app but it like
yeah the bind the spine has nothing on
it but it's you know 50 pages I was
thinking something like this for the
test stuff but in the same token I was
thinking I could build out a more
elaborate video series not even
necessarily a course but a video series
on it or take what I already did and
condense that down to like 50 pages and
say here here is a crash course or a
pocket guide if you have questions in
this flip to this section here's what
you need go do it yeah it's I mean it
makes a lot of sense from a branding
point of view and from a a marketing
material point of view I thought about
with the I've thought about stuff on the
the python things in particular the
python Jango sequel series of stuff I
did I thought of things like putting
together quick references of some sort
um I think I sort of have those in the
notes I forget exactly what I did with
each of them because I these are the
things I was thinking about and I don't
remember how much I executed um I've
thought about putting together like a
little you know like a little almost
like a daily kind of thing which is what
we
did um the launch your internet business
is it had that email that came out every
day and I could always go back if I
wanted to and go do a little you know
whatever it was 20 21 days I think or 28
I think it was 28 days where we ended up
so do a little 28 page little ebook of
here's what you do and I could probably
take the steps because I think each day
I was like here's the steps you go
through so we could do something like
that it just that gets
into a deeper level of like how do you
how do you slice and dice stuff if
you're going to if you want to have
branding if you want to have content if
you really you know it's to me it's
different from I've got a personal brand
and I've got some videos to show sort of
help my resume out versus I'm building
courses or something that I'm going to
try I'm eventually going to try to like
use it as either a lead Magnet or um you
actually generate money to have content
that I'm actually going to charge for if
I'm going to use a class or something
like that then if I'm going to sell
courses then it's it's a little
different for those still watching we're
trying to think of what we're GNA do for
the next episode this is one of those
that oh and I think I know what I want
to do so you guys can wait we're going
to cut it right here and it's going to
come in the next episode so it's like
I'll do a little wavy thing so Michael
knows where to cut it
[Music]