Skip to main content
Start Over Coder

Start Over Coder

By Start Over Coder

A podcast about learning to be a web developer and pursuing financial independence.
Available on
Apple Podcasts Logo
Google Podcasts Logo
Overcast Logo
Pocket Casts Logo
RadioPublic Logo
Spotify Logo
Currently playing episode

075: The Last Episode! (Possibly 😋)

Start Over CoderJan 19, 2021

00:00
28:40
075: The Last Episode! (Possibly 😋)
Jan 19, 202128:40
074: Ask Me Anything

074: Ask Me Anything

In this episode I’m answering listener questions…ask me anything! The questions I answer in this episode are:

  • What kind of laptop to you use? —Ellen
  • What was the coding school that rejected you in episode 48? —Karl
  • Do you think you’d ever start a new podcast, maybe focusing more on financial independence with a few updates on your coding? —Erica
  • What life is like in general for someone living abroad? Do you ever get home sick or was it easy to meet new people? —Erica
  • What was/has been your favorite part of living abroad? Would you like to make the move permanent or just a few years? —Erica
  • Any podcast recommendations? I know you mentioned Second Career Devs and I’m now a big fan of that. Not even just coding ones, but what are some others you enjoy? And what made you start the podcast vs just blogging? —Erica
  • What is your perception of the job market for entry level frontend web development jobs? —Alex
  • It’s my current plan to build a solid portfolio and apply for jobs online, but I wonder if that route has become so competitive that it’s not a realistic way to land a job anymore. As you said, it’s so saturated on Upwork that they turned you down(?!) —Alex
  • I know that meet-ups/networking is important, but it’s hard to prioritize that stuff since it would take up a lot of time that I could use to work on my coding skills. How do you decide how to prioritize these two aspects of the job hunting process? —Alex
  • In pursuing financial independence, for us self supporting folk, is coding the best route? Also, is there any threshold to transition completely to a self learning or school route or just to keep at it an hour or so a day? —Krista
  • If you had $1000 to spend, what would be your top resources? I have tried Udemy (Colt Steele and others), FCC, Learn XYZ the Hard Way, Treehouse, Udacity, community college, and am struggling with information overload… —Krista
  • It seems that web dev, computer science, mobile, data, and security are really all their own things. Is it best to be a generalist or only focus on one? —Krista
  • Any idea on how long to really be job ready at the hour plus a day? Is it really like Gladwell’s 10,000 hours or Norvig’s 10 years? —Krista
  • With limited time, is it best to do tutorials/learn or just go build? —Krista


This episode was originally published 26 June, 2018.

Jan 18, 202124:07
073: Discoveries! Chingu & uMatrix

073: Discoveries! Chingu & uMatrix

This week I’m sharing 2 more awesome resources for learning to code.

Chingu

Chingu is a learning community that gets you working on a dev team no matter what skill level you’re at. How it works:

  • Apply to join a team. Skill levels range from HTML/CSS beginners to building full stack apps. Your teammates can be from anywhere in the world.
  • Once you’re accepted, get together with your team and decide what to build during the 8-week commitment.
  • Build it!
  • Feel accomplished with your finished product, new portfolio addition, and all the soft & hard skills you have gained.

I’m excited to participate in Chingu because I learned so much during a similar group project last year. Of course your success depends entirely on the work you put into it and a bit of luck in getting committed teammates, but in my opinion the benefits far outweigh the risks, so I think it’s worth going for!

To learn more about what it’s like to go through Chingu, check out their Medium publication or YouTube channel.

uMatrix

uMatrix is a browser extension (available on Chrome, Firefox, and Opera) that can add privacy to your browser and teach you about the modern web at the same time. Its purpose is to give you control about what you want to allow/block—things like cookies, 3rd party tracking, 3rd party anything, iframes, external scripts, etc.

For a thorough description and to see uMatrix in action, check out this YouTube walk-through video. You can also take a look at some examples of uMatrix rulesets:

More in the Discoveries! series:

This episode was originally published 13 June, 2018.

Jan 17, 202118:41
072: CS50 Course Review & Wrapping Up My Node/Express App

072: CS50 Course Review & Wrapping Up My Node/Express App

In this episode I’m wrapping up a few loose ends: the final report on my first from-scratch Node application, and a course review of Harvard’s CS50: Intro to Computer Science.

NOTE: The CS50 course review starts about 9 minutes in!

Node/Express App Part 3

To catch up from where we left off…

As I kept working on the project, I learned quite a bit about working with dates in programming (hint: not a straightforward endeavor!), and had a frustrating attempt at deploying on Amazon Web Services.

But eventually I was able to successfully deploy the app using Heroku, and overall by the time all was said and done I had a working application that I actually still use to this day!

CS50 - Intro To Computer Science Course Review

CS50 is the introductory computer science course offered at Harvard University, and it’s available for anyone around the world to take for free on the EdX learning platform. It covers a lot of basic topics to build an understanding of how computers, networks, and applications work. My favorite aspects of the course were:

  • They have an honor code which discourages people from posting their homework solutions online. As a result, when I searched or asked for help solving the problem sets, I got nudged in the right direction rather than being given the answers full out. I learned a lot more this way.
  • The presentation is very high quality—they have an excellent media player for the weekly lectures, and lots of supplemental materials to make sure the concepts stick.
  • Learning CS fundamentals (data structures, big O notation, HTTP, etc.) has really helped my understanding of other topics like git, Node.js, writing functions, using hex color codes, and much more.

If you’re interested in taking the class, prepare yourself for a lot of work and time if you really want to make the most of it!

Show Links:


This episode was originally published 5 June, 2018.

Jan 16, 202125:30
071: First Freelance Work
Jan 15, 202114:44
070: Real Life Dev Meeting

070: Real Life Dev Meeting

This week I sat in on a status meeting with a developer team in my company. Pretty cool to see what it’s actually like to work as a developer (well, get a glimpse at least!)!

I was really glad to have had access to this experience without much effort—it was just a matter of reaching out to a VP in my company and asking for an informational. Now that I know this is possible, I’ll be doing it a lot more!


This episode was originally published 22 May, 2018.

Jan 14, 202115:05
069: Working The Command Line

069: Working The Command Line

The command line is a basic necessity for any developer and I’ve gotten fairly comfortable with it since I started learning how to code. Not sure what I’m talking about? Think back to any movie/tv show with a hacker hacking away into that black computer screen, typing green text. They are most likely using the command line (for good or evil, depending on the context!).

But more to the point, the command line is how you can have direct access to your machine to carry out any system-level actions, from moving files around to executing programs, to communicating with other computers over a network. As a developer there are many use cases for working in the command line:

  • Accessing servers (remote or local) and their logs
  • Managing versions of code, like using git
  • Tracing errors, crashes
  • You can even write code in the command line
  • …and the list goes on from there!

Here are some of my favorite tips about getting comfortable working in the command line:

Show Links:


This episode was originally published 14 May, 2018.

Jan 13, 202116:56
068: Post-Conference Review
Jan 12, 202112:10
067: Pre-Conference Prep

067: Pre-Conference Prep

I’m heading to a coding conference in a few days! And unlike some past events I’ve been to, this time I’m doing a bit of preparatory thinking/planning to help me make the most out of attending. I’ve set 3 goals I’d like to accomplish during the two-day conference.


How To Go To Conferences (Financially)

Since Financial Independence is a big goal in my life (not to mention a topic of this podcast), I also wanted to share some tips/ideas about how to attend conferences without attacking the wallet too much:

  • Ask your employer if they will pay for your ticket, or at least give you the day off as a “development day” (or whatever they want to call it without taking from your vacation days)
  • Check for corporate sponsors who might be offering scholarships
  • Volunteer to help at the conference in exchange for free admission. If they don’t explicitly offer this opportunity on the conference website, contact the organizers directly and ask if you can offer your services. While there, take advantage of the network of people in attendance, and definitely listen in on some presentations if you have the chance.
  • If none of these free or discounted options are possible, and if you can afford the price of admission without making any serious sacrifices, then don’t hesitate to invest in yourself and just buy a ticket. If you’ll genuinely get value out of the experience, it’s probably worth it.
  • Redeem travel rewards for flights & accommodations if the conference is not near where you live. I got my flight for free!
  • Stay with family or friends if you have them wherever the conference is taking place.
  • Look at inexpensive options to get accommodations, like Couchsurfing or shared rentals on Airbnb. If there’s a way to connect with other conference attendees ahead of time, see if there’s anyone who’s looking to split the cost of accommodations.
Follow Up
  • Addition: I did another podcast episode after attending the conference to review how it went. Check out episode 68!*


This episode was originally published 1 May, 2018.

Jan 11, 202115:07
066: Documenting The Process

066: Documenting The Process

I was getting set to record a second ‘stumbling block’ episode when I went back to the podcast episodes I recorded last year when I first had these difficulties, and instead was reminded of the things I found helpful at that time to get out of the funk and keep making progress.

The first was remembering not to beat myself up over losing momentum. Learning a new skillset is a huge undertaking and it’s bound to have times of both high and low momentum. There’s absolutely no value in reprimanding myself for slowing down for a few weeks!

The second benefit was remembering what led to the stumbling block last year…turns out some of the same life events are happening now, so is it really a surprise that I might have a similar response?

The third and biggest benefit helped plan a way forward from here. Since I can refer back to what I did last year (and I know how it worked out for me), I have a good sense of what might help me move forward this time around.

So overall, having documented the obstacles I ran into last year really helped me get to a more optimistic outlook this time around. And as a result, I think I’ve moved past it faster!

Show Links:


This episode was originally published 24 April, 2018.

Jan 10, 202119:22
065: New Computer, New Dev Setup

065: New Computer, New Dev Setup

There’s a lot involved to get up and running with a new dev environment—it can be pretty troublesome in fact! After working on one machine for a while, it’s easy to forget (or take for granted) all of the software and helper tools you’ve installed slowly over time. But as soon as you want to get coding on a new machine, those tools are quickly appreciated!

Here are some of the steps I took to be able to keep coding while traveling with a temp laptop, and what I plan to do going forward to make it easier next time around:

  • Store coding projects on Dropbox to sync project files across the machines. No need to push/pull commits using a remote repository.
  • Keep a list of all of the tools I use (especially in the command line). I think even the simplest of lists would be a better place to start than trying to remember all of the software I’m used to using. Check search results for “dev environment new computer” to also check lists others have come up with.
  • Keep a copy of my command line shortcuts (.bashrc file) in a GitHub gist for easy future reference.
  • Document! Document! Document! Any time I do a new installation on my machine, I’ll take note of how I did it and any resources that helped with the installation.


This episode was originally published 17 April, 2018.

Jan 09, 202115:22
064: Discoveries! Financial Toolbelt & Second Career Devs Podcast

064: Discoveries! Financial Toolbelt & Second Career Devs Podcast

It’s another pair of discoveries this week! The website Financial Toolbelt has some great calculators if you want to start getting to know your personal finances. And the Second Career Devs podcast is a must for any and all Start Over Coders!

Show Links: More in the Discoveries! series:


This episode was originally published 10 April, 2018.

Jan 08, 202111:41
063: Intros Intros Everywhere!

063: Intros Intros Everywhere!

Introduction overload! There are plenty of good introductory workshops, blog posts, and articles out there. But is it too much of a good thing? Recently I’ve felt like the sheer number of articles and events have been taking away from my efforts to become a developer.

In this episode I talk about the good & bad aspects of introductory resources, and some tips about how to figure out which ones are worth spending time on.


This episode was originally published 3 April, 2018.

Jan 07, 202115:53
062: Prototyping with Figma

062: Prototyping with Figma

Figma is a great prototyping tool I’ve been experimenting with this week. It’s a software tool available for Mac or PC, and they also have a great web interface that allows you to collaborate on designs live (!) with other people.

I’ve been using it to mock up a redesign for the Start Over Coder website, and also for a new web project I’ve started for someone else. Bottom line, I can highly recommend Figma for creating UI mockups and expect I will be using it for time to come!

Show Links:


This episode was originally published 27 March, 2018.

Jan 06, 202113:28
061: React First Impressions
Jan 05, 202115:18
060: It Doesn’t Actually Have To Take This Long!
Jan 04, 202118:34
059: How I FI - Day To Day Details & Top 10 Action Points
Jan 03, 202132:45
058: How I FI - Learning The Basics

058: How I FI - Learning The Basics

Continuing on with a favorite topic of mine—financial independence! In last week's episode I shared a bit about what my mindset around personal finances was before I discovered the concept of FI. Tl;dr: the more I earned, the more I spent, and I couldn’t imagine a reality where things would or could be different. I’m so glad I learned that there is a better way!

For me, finding that better way came in three parts: 1) getting introduced to the idea & basic concepts of financial independence; 2) applying that information to figure out my current FI status; and 3) making a long term plan to actually work towards FI.

Show Links & Additional Resources To Check Out:


This episode was originally published 27 February, 2018.

Jan 02, 202120:35
057: How I FI - The Starting Point

057: How I FI - The Starting Point

Let’s talk about financial independence!

Up until now I’ve shied away from talking about the FI side of this Start Over Coder project. I’ve made so many wrong moves with my own money that it’s like, who am I to talk about the subject with any kind of authority!? Not to mention the fact that I’m years away from seeing the outcomes of my actions…maybe I’m still doing it wrong. Plus it’s just a sensitive topic!

But I do think one of the main reasons why it can feel so sensitive is because people don’t really talk about it, and since FI is a big part of why I started learning to code, I definitely don’t want to hold anything back about that side of things.

So over the next few episodes I’ll share a bit about how I FI, what I’m doing to become financially independent.

But before getting into the specifics, it might be helpful to know a bit of my background to get a sense of what led me to do all of this in the first place. Here’s a quick recap from the podcast (listen for more context!):

  • Pretty solid upbringing with all of the basic needs (safe home, food, education) covered.
  • At the same time I was very aware that there wasn’t extra money available for the “wants.”
  • My “money mindset” evolved as:
    There isn’t enough money for everything.
    Whatever money there is will run out.
    You have to work work work to earn money in order to survive. It’s the only way.
  • As a result, when I earned more, it meant I could afford more, so I just spent more.
  • There was no big picture: no savings goals, no retirement plans, no money plans in general.

I lived with this mindset for years and years, but eventually I realized that this outlook wasn’t working for me. In fact, I was working for it! Literally: working for the bi-weekly paycheck that I needed to keep up the lifestyle I built for myself (not exactly music to my ears).

I’ll share more about what changed, and what changes I made as a result in future episodes in this series. But the biggest change was finding some goals to work towards. Financial independence means having enough income to cover all of your expenses without having to work for that income. Instead, money comes in through savings interest, investment income, businesses that generate income without your personal hours of labor…all of this is often referred to as passive income.

Being financially independent gives you the freedom and flexibility to live life exactly how you want to. For me that involves a lot of travel…long-term travel ideally. And contrary to popular belief, it doesn’t necessarily mean not working! I actually really like working when it means having interesting projects, solving problems, and working with interesting, dynamic people. Reaching FI means having the freedom to work only when you find work that meets these criteria.

That’s the kind of life I want!

So with these goals in mind, how do you actually do it? I’ve found some ideas, and I’ll talk about them in the next few episodes. Stay tuned!

Show Links:


This episode was originally published 20 February, 2018.

Jan 01, 202115:42
056: Planning A New Website Project

056: Planning A New Website Project

For any new web project, taking the time to PLAN before you CODE is key! Here are some key questions I asked myself before I started coding the new Start Over Coder website. It came down to 7 key questions, which I discuss in this episode.


This episode was originally published 13 February, 2018.

Dec 31, 202022:05
055: CSS Grid Is Awesome!!!
Dec 30, 202014:59
054: Don’t Wait Like Me!—Get Recruitment Ready

054: Don’t Wait Like Me!—Get Recruitment Ready

Whether you’re actively looking for a job or not, you should be recruitment ready! I learned that the hard way this week. This episode is about what I wish I’d done ahead of time.

What is recruitment ready?

While this might seem like obvious advice, I wish I had taken it a lot earlier! These things have a way of not being prioritized if you’re not actively looking for a job. Why? Well it’s hard! How do you write about programming experience when you don’t have any? What on earth can you write about that will make someone want to hire you? For these reasons and more, I never quite got around to preparing these things with dev opportunities in mind.

AND THEN…randomly out of the blue I was introduced to the hiring manager at a company I would love to work for, and they are searching for a junior developer! We had a great conversation that made me even more excited about the opportunity to work there. And what was the first thing she asked for? A relevant CV!

So I spent the weekend getting this together—not ideal on a short deadline, without time to finesse it and get others’ feedback. This was my approach.


This episode was originally published 30 January, 2018.

Dec 29, 202016:04
053: Pair Programming

053: Pair Programming

Pair programming is a productive way to write code with other people, and often used as an interview tool as well. I’ve been incorporating pairing into my study plan recently, and here’s what I learned!

What is pair programming? It’s two people writing code together, and sharing one computer to do it. One person is the driver: their hands are on the keyboard and they are talking through the code they write as they write it. The other person is the navigator: the navigator takes a ‘big picture’ approach and reviews the code as it’s being written, stopping to ask questions or offer guidance based on what the driver writes.

During the pair programming session, you would periodically switch so that each person sits in both roles several times. The main idea is that with two heads working together, the code will be better than if just one person was working alone.

Here are the biggest benefits and lessons I’ve found so far in my pair programming experiences:

  • You see another way to approach solving problems. It could be better, it could be worse, or it could simply be different. Regardless, you can learn something by seeing multiple ways of doing something!
  • It’s easy to put pressure on yourself to start writing code even if you haven’t thought it all the way through yet, just because there’s another person there watching. Instead, take advantage of a second mind and work together to create a full plan before actually writing any code.
  • Pairing is a unique experience that you can only practice with another person! Make the effort, it’s worth it.
  • Since you’re may work more slowly as a pair, take any environment obstacles out of the way before starting: dedicate a set amount of time and make sure you have a good internet connection (and backup plans).
  • Regardless of who is the more experienced coder, it’s beneficial for both people to work in both positions?the driver and the navigator. Make sure you switch off regularly!
  • If you’re learning how to code (on your own or otherwise), I would highly recommend working some pair programming time into the mix! It might be intimidating to start, but these benefits and more make it worth it in the end.

And if you don’t live in a busy area or can’t get yourself to a place where other people are up for pairing, don’t discount the option of finding a pair programming partner online. My experience was great—I’ll include some links to open communities where you can look for a pairing partner in the list below.

Show Links:


This episode was originally published 23 January, 2018.

Dec 28, 202016:59
052: Relational Databases Intro

052: Relational Databases Intro

Working with data is one of the most important aspects of development. This week I got an intro to relational databases, and here’s what I learned.

As we all know, a database is where we store data…what makes it relational is the method we use to store it: information is stored in tables, and then we relate those tables to each other by referencing unique id numbers from one table to the next. To interact with the data, we use a relational database management system (RDBMS) like MySQL, PostgreSQL, MariaDB, etc.

Another option for storing data is to use a non-relational database like MongoDB or Neo4j which takes a less rigid approach to how and where data can be stored. These are also sometimes called NoSQL (not only SQL) databases and they provide flexibility when the data you’re working with vary a lot in structure and content. However when the information is uniform, relational databases can be very efficient because there is not a lot of repetition, and you can easily access exactly the information you need with SQL, when you need it.

With an RDBMS like MySQL, you can write queries to do everything from basic CRUD commands (create - read - update - delete/destroy) to refining searches and aggregating information. Using these queries and commands not only allows you to determine what information is displayed in your application, but it can also help with marketing decision, business development, advertising and much more.

One correction—when I gave the Instagram example, I said that you would have a table for users, and then a table for “that user’s photos” and so on. I meant to say you would have a table for ALL photos—it would not be a table for each user. You then link a user id to the photos table to show which user that photo belongs to. Sorry I misspoke!

Show Links:


This episode was originally published 16 January, 2018.

Dec 27, 202014:11
051: Static Site Generators - Best Bet For A Low-Maintenance Website

051: Static Site Generators - Best Bet For A Low-Maintenance Website

They say every professional coder should have a portfolio available for potential clients and employers to review. Here’s a low-maintenance, inexpensive (or free!) way to do it.

The simplest and least expensive way to host a website is to create a static website (I talked all about these in episode 31). But hard-coding all of the pages and your entire file structure is tedious and not a good use of time, especially if you expect the amount of content to grow over time (like with a blog, for instance).

Static site generators allow you to set up a template for your site one time…after that’s done, you only need to think about adding new content going forward. You write the content, and the site generator will process everything into a bundle of HTML pages for you. If you don’t want to write any HTML or CSS you don’t even really have to…there are many, many ready-made templates out there so all you need to do is add content, if you want. Easy!

You’ll need to basics to work with a static site generator:

  • Access to your computer’s command line (not as scary as it sounds!)
  • A text editor (check out episode 39 for more info)
  • Your programming language of choice installed
  • A package manager or install method for getting the site generator

Here are some options for getting started with static site generators:

No matter which one you choose, be sure to take the time to look through some theme examples to see the capabilities…some generators have more functionality & more flexibility than others.

Happy coding!


This episode was originally published 9 January, 2018.

Dec 26, 202017:02
050: Learning Plan 2.0!

050: Learning Plan 2.0!

It’s time to revisit my learning plan for learning to code! With the start of a new year and career uncertainty ahead, I’m setting some goals to make sure this Start Over Coder expedition stays on track.

For the record & prosperity (!) I’m going to:

  • Gain skills with relational databases: learn structure, learn SQL, build sample projects.
  • Learn React, and build sample projects.
  • Learn CSS grid, and build sample projects.
  • Dive deeper into JavaScript and Node.js. And build sample projects!
  • Get my first paid work as a developer by 30 June, 2018.
  • Be more specific about calendarizing work sessions: more specificity = more productivity.
  • Share what I learn in this podcast and in a blog.
  • Practice pair programming.


This episode was originally published 2 January, 2018.

Dec 25, 202017:32
049: Lessons From A Year In Coding
Dec 24, 202012:32
048: Coding School Rejection! 😣

048: Coding School Rejection! 😣

This week I got rejected from a coding program that could have been a great way to jump into a new career. Bah humbug : (

While I put a lot of effort into researching and then applying for the program, turns out it’s just not in the cards for the near future. So now it’s about resetting, making some plans, and figuring out where to go from here.


This episode was originally published 22 December, 2017.

Dec 23, 202007:50
047: Node.js - Back To Basics
Dec 22, 202012:06
046: Too Much Reading, Too Little Coding

046: Too Much Reading, Too Little Coding

The reading-to-coding ratio is important to be aware of when learning to code…it’s important they don’t get out of balance. When I notice I’m not writing enough code, here are some things I try.


This episode was originally published 13 December, 2017.

Dec 21, 202016:00
045: Improving Naming Conventions

045: Improving Naming Conventions

The more you write code, the more you realize the importance of choosing good names for your functions and variables. In this episode I discuss a few best practices I’ve picked up so far.

As a newbie to writing code, it’s just about getting the darn code to work. Lots of questions take priority: What is a function? What is this var I keep seeing everywhere? Did I miss a semicolon AGAIN!? Thinking about how to name functions, variables, or elements takes a back seat.

But the more you read code, and especially the more you read your own code from the past, it’s easy to see just how important it is to name things well. It’s probably the most important thing you can do to make your code readable.

Here are some tips I’ve picked up so far about naming conventions:

  1. Be specific with names so that the name describes what is actually happening. Example: name a function calculateAge() instead of just calculate(), which is too vague.
  2. Don’t use similar names. My terrible bad example was when I called a button “item-reward” and on the same page called a form “reward-item.” This is the epitome of confusing when you go back and read your code after a few weeks away.
  3. Don’t use initials, single letters, or numbers as names. It’s harder to understand and nearly impossible to search. Brevity does not always win over clarity!

Basically when reading through your code, the reader should be told a story: a sequence of actions that makes sense to human understanding.

To improve your own style of naming things I can recommend:

  1. Read other people’s code, both good and bad. You’ll get best practices from the good, and can see what not to do from the bad!
  2. Read books about best practices. I can recommend Clean Code by Robert C Martin.
  3. Ask other developers to review your code and offer suggestions for improvement.
  4. Do the time test: read your own code a few weeks or months after you’ve put it down. After some time away you’ll see rather quickly where improvements could be made, as well as how clear or confusing it is.


This episode was originally published 5 December, 2017.

Dec 20, 202012:46
043: Node/Express Project - Progress Report

043: Node/Express Project - Progress Report

For some info on what it takes to build an app from scratch, here’s a progress update on the app I introduced in episode 35.

The main updates:

Goal #1 is shipping a minimum viable product (MVP). Since my initial plans got a bit complicated, I took a new approach and simplified the basic functionality of the app. I can always go back and add more robust features later?for now I’d like to get a good foundation completed.

I also aimed to pick up a new skill by using a new front end framework, Semantic UI to style the site.

In the testing stage, I found a bug! So researching some possible fixes, including the Mongoose queries written in my Express routes, and using AJAX requests to update small portions of the page.

I’ll do at least one more update on the app before wrapping it up! In the meantime…


This episode was originally published 21 November, 2017.

Dec 19, 202010:07
044: Why Programming & Financial Independence Go Hand In Hand

044: Why Programming & Financial Independence Go Hand In Hand

Financial Independence and a career in coding are like peas in a pod. Here’s why!


This episode was originally published 28 November, 2017.

Dec 19, 202010:50
042: Should I Quit My Job?
Dec 18, 202012:08
041: Discoveries! Coding Solo Podcast & Millennial Money Diaries Blog
Dec 17, 202008:32
040: Programmer 101 - What is an IDE?

040: Programmer 101 - What is an IDE?

The Programmer 101 series answers the questions all new coders might ask themselves. Today: demystifying a common programming acronym.


This episode was originally published 31 October, 2017.

Dec 16, 202006:17
039: Programmer 101 - What is a text editor (and what’s the big deal?)?

039: Programmer 101 - What is a text editor (and what’s the big deal?)?

The Programmer 101 series answers the questions all new coders might ask themselves. Today: shedding some light on the great text editor debate.


This episode was originally published 25 October, 2017.

Dec 15, 202010:30
038: Programmer 101 - What is front end vs back end vs full stack development?

038: Programmer 101 - What is front end vs back end vs full stack development?

The Programmer 101 series answers the questions all new coders might ask themselves. Today: differentiating between different types of web developers.


This episode was originally published 17 October, 2017.

Dec 14, 202007:33
037: Programmer 101 - What’s the difference between a web developer, a software developer, and a software engineer?

037: Programmer 101 - What’s the difference between a web developer, a software developer, and a software engineer?

The Programmer 101 series answers the questions all new coders might ask themselves. Today: clearing up some job title terms that sound quite similar!


This episode was originally published 11 October, 2017.

Dec 13, 202007:22
036: The Complete Developers Guide to MongoDB [Online Course Review]

036: The Complete Developers Guide to MongoDB [Online Course Review]

Udemy’s Guide for MongoDB from Stephen Grider is a good course for intro & advanced MongoDB topics. In this episode I share the best & worst parts.

Show Links:


This episode was originally published 3 October, 2017.

Dec 12, 202015:13
035: New Node/Express Project - First Steps

035: New Node/Express Project - First Steps

I’ve started a new project, building a web app using Node & Express. These are the first things to think about when beginning a new project.


This episode was originally published 26 September, 2017.

Dec 11, 202008:59
034: How To Get Unstuck When You’re Learning To Code

034: How To Get Unstuck When You’re Learning To Code

Getting stuck when you’re learning to code on your own can be FRUSTRATING!! Here are some tips on how to get help.

TIP #1 - Google

TIP #2 - Rubber Duck It

TIP #3 - Slack Communities

TIP #4 - FreeCodeCamp Message Boards

TIP #5 - StackOverflow, Reddit, etc.

TIP #6 - Revisit What You’ve Already Learned

TIP #7 - Take a break!

TIP #8 - Join A Group

TIP #9 - Pay For Help


This episode was originally published 19 September, 2017.

Dec 10, 202014:26
033: Why & How To Code Every Day

033: Why & How To Code Every Day

This week I saw just how beneficial it is to practice every day, and more importantly, to practice well. How can we apply this to learning to code?

After months of dillydallying around the piano I recently decided to rededicate myself and practice just 15 minutes a day to keep up the minimal skill I had earned through lots of practice. In 5 days I learned the majority of a song I’d been “learning” for the previous 4 months! This showed me just how productive it can be to not only make a daily practice habit, but also to be focused and targeted in that practice.

So how can we apply this to learning to code?

First of all, code every day. Forget less in between sessions and keep the skills you pick up along the way fresh in your mind. This is not new advice, but it’s important!

Equally important (maybe more so) is being specific about what you want to take away from each learning session. In a way, I’m still figuring out what this means for myself, but here are some of the key ideas I’ve been focusing on:

  1. When you’re first learning, write code out as much as possible (instead of copying & pasting), even if it’s something you’ve written many times before. Doing so will ensure you know what you’re doing rather than relying on application or keyboard shortcuts.
  2. Work and re-work code you’ve written in different ways. You’ll learn different ways to go about accomplishing the same thing, and will very likely find ways to optimize your code as well.
  3. Build small proofs of concept for bits of code that you’re writing, and then practice working them into bigger projects. Really study the smaller pieces so you have a better understanding of the whole.
  4. Schedule your learning time to make sure you get it in each day. At the end of each session, plan what you’ll work on the next day. These actions set you up for productive, daily sessions.
  5. Keep distractions to zero while you’re working, and focus on one part of your code in each session.
  6. Always take the time to study the code you’re writing–especially if you’re taking inspiration from other people’s code. Make sure you understand how it works before moving on to the next thing.


This episode was originally published 12 September, 2017.

Dec 09, 202018:60
032: How To Host A Website (Part 2)

032: How To Host A Website (Part 2)

Picking up from last week, this episode shares some of the options you can try for hosting a full blown web app, so you can show off your work when you’re learning to code.

If you missed last week’s episode which was all about how to host a static website, go back and listen to episode 31. Today we’re talking about hosting applications with dynamic content, i.e. you need a database and have written the backend code.

To review the basics, you will need a domain name (most of the time!) and web hosting to have a website–go back and listen to episode 31 to hear more about these. To host an app you will also need a database server, and the good news is that you can usually get the hosting bundled in with this. But you will almost always need to buy the domain separately.

Here’s the overview of services I talk about in this episode (this is not a comprehensive list, just my experience!!):

Heroku

  • Heroku link
  • My #1 recommendation for small scale apps & proofs of concept
  • It’s free! You can host up to 5 free apps on Heroku.
  • You interact with Heroku from the Heroku command line, but don’t be scared off by this…they’ve got great tutorials and documentation.
  • You can also link Heroku to your GitHub master branch for automatic, continuous deployment.
  • You get a nice domain name, or can create your own: your-app-name.herokuapp.com
  • You can get a database server for free, and lots of other services as well (both paid and free). Look in the ‘add-ons’ section.
  • Be aware if you want to scale up: you can get quality service for lower prices with other service providers once you need to leave the Heroku free tier.

Amazon Web Services

  • AWS link
  • Works for static sites, works for more complicated sites too
  • To host an app you’ll use EC2 (web server), S3 (file storage), and RDS (relational database server) or DynamoDB (NoSQL database server).
  • All of these services can be used for FREE for 12 months or more, and after that they’re still massively inexpensive for simple, low-traffic demo apps.
  • There’s a steep learning curve for using Amazon Web Services, and also for getting all the services to work with each other correctly. Personally, I think it pays off in the long run.
  • You do need your own domain name when using AWS. You can get one through Route 53 on AWS, or any domain registrar.
  • Unfortunately, you do need a credit card to sign up for AWS. If you’re not in the US, be wary of any fees your card company may charge–AWS services are billed in US dollars.

Other Services

  • Azure
  • Digital Ocean
  • Google
  • Read this blog post for further comparison on these!


This episode was originally published 5 September, 2017.

Dec 08, 202016:26
031: How To Host A Website (Part 1)

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!

My Approach

So which 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.


This episode was originally published 31 August, 2017.

Dec 07, 202023:50
030: Building A Web App From Scratch With A Group

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.


This episode was originally published 22 August, 2017.

Dec 06, 202028:38
029: The Web Developer Bootcamp [Online Course Review]
Dec 05, 202030:58
028: Endings: Workshop, Bootcamp & Debt

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!


This episode was originally published 8 August, 2017.


Dec 04, 202013:57
027: The Painful Parts of Programming

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)!


This episode was originally published 1 August, 2017.

Dec 03, 202017:03
026: Job Recruitment 101 - Try It Early So It's Less Scary Later!

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! Last week I attended my first tech job fair to take the edge off.


This episode was originally published 31 July, 2017.

Dec 02, 202012:24