Start Over Coder

Start Over Coder

By Start Over CoderTechnology
Download on the App Store

Start Over Coder episodes

  • 031: How To Host A Website (Part 1)

    Once you've learned a bit of code, you want to show it off! Here are some of the options you can try for hosting a static website.

    In part 1 of 2 we're talking about hosting static websites, or sites that don't require any database connection or dynamic content. You might want to buy your own domain name (ex: yourname.com) which is where people will find your website. Separately, you will need website hosting, a service which stores your webpage files on a server and sends them to users when they visit your domain. 

    There are many companies eager to sell you a domain name and/or their hosting services. Sometimes you can bundle the two and get some great discounts! Here's a quick overview of the different web services I mention in the podcast (not a comprehensive list!!):

    Free Web Builders

    • Do a Google search for "free website builder YEAR" (whatever year it is now) and check out the lists people have curated for what's hot at the moment. There are MANY options!
    • Most have a drag & drop interface...you can write the code on some but these are designed so you don't need to know how to code.
    • Choice & customization possibilities are limited.
    • You will be required to keep ads on your site!

    GitHub Pages

    • GitHub Pages Link
    • A much better free option if your goal is to show off your own code.
    • Post your code to your GitHub account and your site will be automatically generated from your repo's master branch.
    • Check out episode 14 to hear about git & GitHub basics.
    • Your site can be visited at yourusername.github.io, or you can hook up your own domain.

    Squarespace

    • Squarespace Link
    • Drag & drop easy user interface but waaaaay cooler looking pages than the free options!
    • You really don't need to know how to code to use Squarespace but it's a good option for getting a site up quickly, and you can code customizations if you want to.
    • All Squarespace sites are responsive -- no matter what device people check out your site on, it will look great.
    • But it comes at a cost! At the time I recorded this podcast accounts start at $12/month and go up from there. Squarespace hosting includes a free domain name which you can port to another registrar if you decide to close your account.
    • Look for vouchers or promo codes to get some discounts or free service.

    Wordpress.org

    • Wordpress.org Link
    • Different from wordpress.com!
    • Free, you're not required to have ads on your page, but you need to pay for your own hosting.
    • All hosting services are Wordpress compatible. Some may require you to install it yourself, but most will even do the Wordpress installation for you.
    • There are many free Wordpress templates, some better than others...or you can buy a template for more features.
    • Or of course build your own template! You will need to learn PHP and CSS (and a bit of JavaScript).
    • You can make your site really dynamic with Wordpress plugins for social media, SEO, eCommerce, etc.
    • Unfortunately because it's so popular, it's also very vulnerable to security threats (listen to my story as a tale of caution!!!). Be sure to update your Wordpress software and plugins often to avoid being hacked.
    • Be sure to backup your site regularly too in case you do get hacked. There are plugins that can do this for you.

    Amazon Web Services

    • AWS Link
    • Certainly the most complicated of these options...very steep learning curve for newbies!
    • Many AWS services are free to try for a full year. At the end of the year you go to the normal pricing, but even so it's still pretty inexpensive. For example, monthly hosting on AWS might cost $0.50/month compared to $7+ monthly on other hosting services.
    • AWS is very scalable. If/when you want to expand the capabilities beyond just a basic static site, you'll be able to do it pretty seamlessly. (For example, you can grown to the scale of AirBnB, NASA, GE, Capital One, or Netflix to name a few...all users of AWS!)

    My Approach

    So which of these should you choose? My approach is always based on my goals for the site I'm building at the time. Do I want it to be ready quickly, do I want it to be inexpensive, or do I want it to be high quality (ideally with my own code)? You can only get 2 out of 3 at a time!

    For fast & quality, Squarespace is certainly the one to pick, but I'll pay more than what I'd like. For cheap & quality (well, as good quality as I'm capable of writing), it's AWS...but the tradeoff is the time it will take me to write my code, AND the time to figure out the monster that is AWS!

    The next thing I ask myself is what are the goals for this project. If it's something I know I'll keep up long term, I'll take the time to set things up properly on AWS and build it myself from scratch. On the other hand if it's something I'm just trying out, I might start on Wordpress.org (with a steeply discounted hosting plan) just to get something up quickly and see whether I'll actually stick with it. Perfect example--startovercoder.com!

    Next question--are there any deals to be had? Even though I prefer AWS, sometimes it's worth it to use another service in the first year to take advantage of their promotions. For example, to buy the Start Over Coder domain on AWS it would be $12 for the domain, plus the monthly hosting and storage costs. Instead I used a registrar which offered a free domain and 12 months of hosting for $11.92! At the end of the year it's just a matter of moving everything over to AWS (another great skill to learn!).

    Visit domcomp.com to compare the latest prices & services from many registrars at once. 

    Final question: I ask myself what I want to learn by building my website. Personally, I'm not interested in learning PHP (not for now at least) so I'm fine to use a mediocre-looking Wordpress theme rather than building my own or doing a lot of customizations. On the other hand, having a level of comfort with AWS will be a great asset (I think!) when it comes to looking for jobs, so I accept the pain & time that will go into figuring it out.

    Thoughts on this episode? Have I missed any services you think are worth mentioning? You can find the show notes and leave a comment at startovercoder.com/031 or tweet me @startovercoder.

     

    24 min
  • 030: Building A Web App From Scratch With A Group

    Recently completed my first web app as part of a group workshop and I learned a lot! Here are the key steps and biggest takeaways from the experience.

    Coming Up With App Ideas

    • Set a constraint or goal to help narrow down ideas. Pick one problem to solve, and then think about many ways to solve it.
    • Do a lot of brainstorming--everything goes on the list! 
    • Research each idea to determine what you need to do technically to build it. Pay special attention to APIs, data sources, and other aspects which may take a lot of work to integrate.

    Picking An App Idea To Build

    • Set a deadline for when you want to complete a minimum viable product, and then pick an idea that is feasible within that time limit.
    • Pick an idea that stretches your learning, but isn't so advanced that it will discourage you from finishing.
    • If you know very little about the tech stack, do a bit of extra research to find out how much documentation there is and how many tutorials exist online...if you don't have resources to go to when you get stuck, it will prove to be very difficult!

    Building the App

    There will be a lot you will come against that you can't even imagine ahead of time, but that's the fun of it! Here are some things which can help guide the process despite this:

    • Wireframing: Sketch, Invision, Origami, Google Docs, or even just pen & paper will give you a map to follow during the project.
    • Build the function before building the design, as existing design can limit the code you write.
    • Set some user questions at the beginning to make sure you're hitting all the key needs when building the app.

    Collaboration

    Working with a group has both benefits and challenges. Here are some things which can make the experience work well:

    • Git for version control & GitHub for collaboration. Check out episode 14 of this podcast to learn some basics. Use branches so that each person is working on different parts of the code.
    • You can also use GitHub's issues and projects to keep track of what needs to be worked on, what's in progress, and what's been completed.
    • Meet with the group to get everyone on the same page as far as expectations go. If some people have more/less time to work on the project, or more/less skills in certain areas, it's helpful to know in advance. Be honest!
    • Ask questions about the code other people write to learn even more.

    "Finishing" The App

    • If you identified some user questions at the beginning to determine what you would be happy with as a minimum viable product, make this your goal for "finishing." There will always be something else to do or other improvements to make, but focus on shipping something stable as an initial goal.
    • Deployment is the final hurdle which may take more effort than anticipated. Don't let this derail the project. Go for a simple service like Heroku if it helps.
    • Send the live link to some friends for user testing. They may find some things you missed while you were deep in the code.

     

    Thoughts on this episode? You can find the show notes and leave a comment at startovercoder.com or tweet me @startovercoder.

    29 min
  • 029: The Web Developer Bootcamp [Online Course Review]

    Udemy's Web Developer Bootcamp is a fantastic course I can highly recommend. In this episode I share the best & worst parts, and some tips to get the most out of it.

    To check out the full description of Colt Steele's course or to sign up, view the course on Udemy.

    Other things mentioned in this episode:

    Paper.js - JavaScript animations library

    Howler.js - JavaScript library for playing sounds

    Colt Steele's MySQL course

     

    Thoughts on this episode? You can find the show notes and leave a comment at startovercoder.com or tweet me @startovercoder.

    31 min
  • 028: Endings: Workshop, Bootcamp & Debt

    Three big endings this week: online bootcamp, a coding workshop, and 15+ years of debt. That's a lot for 9 days!

    Thoughts on this episode? You can find the show notes and leave a comment at startovercoder.com or tweet me @startovercoder.

     

     

    14 min
  • 027: The Painful Parts of Programming

    FRUSTRATION!!! This week I share the painful experience of getting stuck while coding. And some helpful tips to get through it!

    I'm in the process of building my first web app from scratch and adding the login feature proved to be massively difficult. No matter what I tried, no matter what tips I got, I just couldn't get it working. While it's not the first time I got stuck coding something, it definitely held out the longest, leading me to bang my head against more walls than I'd like.

    But in the end I found some tips to get through it (be sure to check out last week's episode which inspired all of them!:

    1. Don't get frustrated!
    2. If you do, step away from the code and refresh your brain.
    3. Break the problem into smaller pieces: take the part you can't solve and write it as standalone code. Then it should be easier to fit into the bigger piece.
    4. If you use other people's code, be sure to take the time to learn how it works, otherwise it's just a band-aid.
    5. When things get tough, just stick with it...
    6. ...but ask for help (ideally well before getting worked up to tears)!

    Thoughts on this episode? You can find the show notes and leave a comment at startovercoder.com or tweet me @startovercoder.

    18 min
  • 026: Job Recruitment 101 - Try It Early So It's Less Scary Later!

    How can you make looking for your first tech job less scary? Go to a recruiting event before you're actively looking! This week I attended my first tech job fair to take the edge off.

    Thoughts on this episode? You can find the show notes and leave a comment at startovercoder.com/026 or tweet me @startovercoder.

    13 min
  • 025: Think Like A Programmer - Key Takeaways From A Helpful Book

    Think Like A Programmer by V. Anton Spraul aims to teach the fundamentals of computer programming. It's not perfect, but it offers some great takeaways for anyone learning to code.

    In the book Spraul breaks down how to go about solving a problem step-by-step, covering fundamental topics like arrays, pointers, dynamic memory, classes, and recursion. Each topic comes with code snippets written in C++, and the chapters conclude with a list of exercises you can do on your own to make sure the information sticks.

    The key takeaways were:

    • Take the time to form a plan when faced with a problem to solve. Random trial and error is not advised!
    • Break big problems into smaller pieces and try to solve the small pieces. Then you might spark ideas about how to work on the parts you're less comfortable with.
    • If a program will have multiple parts to solve, start with the one with the most constraints.
    • Write separate programs to test small functions within a bigger project. If you can write a small piece on its own, you'll have an easier time fitting that function into the bigger project.
    • Start with what you know and find analogies with code you've already written.
    • Be careful with using other people's code...doing so can hinder your own learning, even if your program works.
    • Don't get frustrated! Work on something different or just go take a walk when things get tough.

     

    Episode Links:

    • Where to find the book: Goodreads, Amazon, No Starch Press
    • Start Over Coder ep 18 - free stuff from your local library
    • V. Anton Spraul's YouTube Channel

     

    Did you read this book? Let me know what you thought! Leave a comment at startovercoder.com/025 or tweet me @startovercoder.

    21 min
  • 023: What's a backend framework?

    Finally starting to understand backend programming and how it all comes together with the front end! Since it's still pretty new to me, here's an explanation in the simplest terms possible.

    If you missed episode 20 you can go back and listen to my first introduction to the backend..it was a major FAIL!

    So why is the backend necessary? It basically comes down to what your browser (Chrome, Firefox, Internet Explorer, etc.) can and can't do. It can process HTML to put content on the page. It can process CSS to style the content and make it look interesting. And it can process JavaScript to make things a little bit more dynamic.

    What it can't do is process information from the user in a permanent way (like if they fill out a form for example), or pull existing information from a database (like if you want their name, photos, or personalized content to show). That's where the server comes in. The server can process all of this information (and more) and then translate it into the HTML, CSS, and JavaScript that your browser can understand.

    Backend frameworks give you the ability to host a server on your local computer. The most popular frameworks (for the time being) are Node.js for JavaScript, Rails for Ruby, Django and Flash for Python, and Laravel for PHP. Of course there are many more frameworks for each of these languages, as well as other frameworks for other programming languages.

    With these frameworks installed, you can start writing instructions to the server about what to do when people visit your site. For example, if they fill out a form, where to send the information! Or if they want to look through some pictures, which pictures should be displayed! 

    With JavaScript backend programming, Express is a popular framework that accomplishes these tasks in conjunction with Node and npm packages. Much of the code to build a dynamic website has already been written, it's just a matter of finding what will work best for your project and getting everything to work together.

    Now that I've gained a proper understanding of the backend, there are many related topics to come in future episodes! If there's anything you're particularly interested in learning about, you can leave a comment on the Start Over Coder website, or tweet me @startovercoder.

    17 min
  • 022: Should I Learn More Than 1 Language At Once?

    With an endless list of programming languages and topics to try & master, it can be tempting to try to learn more than one language at a time. In this episode I explain why I think that's a bad idea!

    Mentions in this episode:

    • My learning plan - Start Over Coder episode 13
    • Harvard CS50 on EdX
    • The Web Developer Bootcamp on Udemy
    • My intro to Node.js - Start Over Coder episode 19
    • Super easy (!!!) Jekyll blog on GitHub pages
      • If you're going to give it a go I highly recommend Jonathan McGlone's Step-By-Step Guide

     

    Do you think it's a good/bad idea to learn more than one language at once? I'd love to hear what you think! Leave a comment at startovercoder.com or tweet me @startovercoder.

    16 min
  • 021: You Need Code For That? Disney Tech Talk Reflections

    I attended a massively interesting* talk last week by some developers at Disney, talking about how they use code to build the amazing worlds and characters in their films. From Wall-E to Moana to Star Wars, the developers at Pixar, Disney Animation Studios, and Industrial Light & Magic (LucasFilm) play a big role in creating some awesome movies!

    Besides seeing how cool their work and jobs are, I learned that as a new developer, working at this level is many, many years away, and probably not a career path to focus on with a quicker transition in mind. Regardless, it was fascinating to learn about a new facet of programming and meet some cool people in the process.

    *PS - this is a great episode if you like the word 'interesting,' apparently I love it! ;P 

    18 min

About Start Over Coder

From the publisher's feed

What is the Start Over Coder? Well, that's me! And I'm taking you along on my quest: taking up a new career as a professional developer, and pursuing financial independence. On the podcast I share all…