It’s the last episode! I’m sharing the biggest lessons I wish I knew when I first started learning to code, and also what’s still to come on the Start Over Coder journey.
My Parting Advice
1. Set a clear goal from the beginning
2. Build actual projects
3. Work with other people from the beginning
4. Teach someone else what you know
5. What to learn? Keep it basic and go deep
What’s Next for the Start Over Coder
Despite this being my “parting advice,” I’m not stopping coding or actually going anywhere! Though the podcast is coming to an end, my main goals (check out episodes two and four to hear about them) are still very much in play.
You can listen to the episode from about 16:15 to hear what’s coming up in the immediate future, and keep in touch for future updates by:
subscribing to the podcast feed wherever you get your podcasts
signing up for the SOC mailing list
following me on Twitter and/or Instagram (Direct Messages are open if you want to get in touch)
emailing me at startovercoder at gmail dot com
CodeNewbie podcast season 3, ep 8 - Colleen Schnettler
Episode 70 — First Real Life Dev Meeting
Grace Hopper Celebration
This episode was originally published 7 July, 2018.
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.
This week I’m sharing 2 more awesome resources for learning to code.
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.
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 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:
Kristerkari’s uMatrix Recipes
Gorhill’s Useful Rulesets
More in the Discoveries! series:
Ep 18: Learn To Code With Me Podcast & Free Lynda.com
Ep 41: Coding Solo Podcast & Millennial Money Diaries Blog
Ep 64: Financial Toolbelt & Second Career Devs Podcast
Ep 73: Chingu & uMatrix
This episode was originally published 13 June, 2018.
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…
Part One: 035 - New Node Express Project - First Steps
Part Two: 043 - Node Express Project - Progress Report
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!
Episode 36: The Complete Developers Guide to MongoDB [Online Course Review]
Base CS Podcast
This episode was originally published 5 June, 2018.
Since setting a goal at the beginning of the year, I’ve made 3 attempts to get my first paid developer work. These are the big takeaways and things I’ve learned:
Know when to not accept a project, even if you’re just trying to get a foot in the door.
Get the site content from the client as early in the process as possible to avoid project delays.
An “approved” prototype does not mean there won’t still be changes after I do a lot of coding!
Working to milestones (with specific dates) and showing work at each milestone is better than sharing work in progress.
I got a good handle on how much time freelance projects actually take me.
When estimating how much to charge, don’t forget about the time you’ll spend on the project for things other than coding. Calls, check-ins, revisions, and training may add to the project time and you should be paid accordingly.
Episode 50 - 6-Month Goal Setting
Episode 56 - Planning A New Web Project
Episode 62 - Prototyping With Figma
This episode was originally published 29 May, 2018.
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.
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:
Learn each aspect as it’s needed. Start with the basics, then learn more commands depending on the work that needs to get done.
Once there’s a basic comfort level, skim the documentation for whatever command line interface (CLI) you’re using. Maybe you’ll find some good options to use in the future to improve your workflow!
For commands that get repeated a lot, create aliases by editing the .bashrc and .bash_profile files on my computer (see article). This is especially helpful for chained events and for accessing deeply-nested folders that you use a lot.
Take notes or bookmark sites where you learn how to use the commands that aren’t used as often. Maybe they don’t warrant a shortcut, but at least you won’t have to start from scratch if you need to look up that command again in the future.
Lifehacker - Become a Command Line Ninja With These Time-Saving Shortcuts
Lifehacker - A Command Line Primer for Beginners
This episode was originally published 14 May, 2018.
I’m back from last week’s conference! How did I do with the goals I set out before going? Pretty well! Plus gained some tips for future conferences.
Episode 67 - Pre-Conference Prep
Codeland talk links coming soon!
Junior Developer Toolbox Podcast - Making the Most of Tech Conferences
This episode was originally published 8 May, 2018.
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.
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.
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!
Episode 10: Stumbling Block No 1
Episode 12: When Learning To Code Gets Overwhelming
Episode 63: Overwhelming Number of Coding Intros
Episode 56: Planning A New Web Project
100 Days of Code
Episode 51: Static Site Generators
freeCodeCamp Medium article: A month ago I knew nothing about podcasting. 50,000 downloads later, here’s what I’ve learned.
This episode was originally published 24 April, 2018.
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.
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!
Second Career Devs podcast
More in the Discoveries! series:
Ep 18: Learn To Code With Me Podcast & Free Lynda.com
Ep 41: Coding Solo Podcast & Millennial Money Diaries Blog
Ep 73: Chingu & uMatrix
This episode was originally published 10 April, 2018.
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.
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!
Episode 56 — Planning A New Web Project
YouTube Playlist — Level Up Tutorials Intro to Figma
This episode was originally published 27 March, 2018.
This week’s episode it about my first attempts at learning the React framework…it was a mixed bag but here are my first impressions:
Bottom line: I don’t think I’ve hit the pain points yet that React can solve. Also, using React requires a pretty solid foundation on ES6 methods which I could use some brushing up on. There are a few more pluses and minuses I discuss in the episode, so give it a listen! And if you have any suggested resources for learning React please share 😄
React and React Native and React VR sites
Create React App
Learn about other front-end frameworks and how they stack up against each other
Episode 29 - The Web Developer Bootcamp course review
Episode 51 - Static Site Generators Are Awesome
Advanced Web Developer Bootcamp
This episode was originally published 20 March, 2018.
It’s been a year since I started this podcast! But I’m still not earning money as a developer. Does it really have to take over a year to learn enough to become a working programmer?
Short answer: no, I really don’t think so!
But for me, a few things along the way have slowed down my progress. You can get the full story by listening to this episode, but to recap what I think I’d do differently to speed the transition up a bit:
Set a firm date for when I’d start seeking paying jobs and STICK TO IT! My “deadline” kept being pushed farther and farther away from me.
Work on a single program or curriculum that will provide you with full projects to complete and add to your portfolio. Some good examples are the freeCodeCamp certificates and Udacity nanodegree programs. Coding bootcamps are another viable option, though they can be costly.
Despite my (I think) slow timeline so far, I’m still excited by what’s still to come and look forward to sharing more updates soon!
This episode was originally published 13 March, 2018.
It’s the last episode (for now!) in the How I FI series and today I’m talking about my top 10 actions for getting myself to financial independence. To recap:
Know my expenses.
Know my net worth.
Have zero debt.
Keep an emergency fund.
Save before spending.
Optimize big expenses.
Get help often.
Keep the long game in mind.
Previous Episodes In This Series:
How I FI: The Starting Point
How I FI: Learning The Basics
Links From This Episode:
Mr. Money Mustache - The Shockingly Simple Math Behind Early Retirement
Pen & paper!
The Simple Dollar - How to Calculate Net Worth
Mr. Money Mustache - News Flash: Your Debt is an Emergency!!
Book - The Four Pillars of Investing by William Bernstein
Fee-Only Financial Advisors:
National Assoc. of Personal Financial Advisors
XY Planning Network
Mad FIentist blog & podcast
Martinis & Your Money podcast
Mr. Money Mustache blog
Choose FI podcast
This episode was originally published 6 March, 2018.
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:
Book: The Four Pillars of Investing by William Bernstein
Book: Your Money Or Your Life
Bogleheads Web Forum
Mad Fientist blog and podcast
ChooseFI Podcast, and check out their local listings to find a meetup group near you
Plain English explanation of how to achieve FI
Mint online personal finance tracker
Personal Capital - another online personal finance tracker (I personally like this one better)
This episode was originally published 27 February, 2018.
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!
SOC Episode 2: Why Learn To Code For Financial Independence?
SOC Episode 4: What is FI?
This episode was originally published 20 February, 2018.
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.
Verdict on CSS Grid…it is awesome! This episode is about what I learned after digging in to the syntax and how you can learn it as well.
CSS Grid is a new display method that is part of the native CSS3 syntax, and is supported in the majority of modern web browsers. The primary advantage of using grid is that you can create a web page layout by placing your content anywhere you like on a grid that you define yourself. No more floats, clears, or adapting to someone else’s grid system—just build what you need and it works. Using CSS grid also make is incredibly simple to make layouts responsive with not very much code at all.
Below is a list of the CSS Grid resources I’ve found to be the most helpful as I learned.
Start Here! CSS Grid Changes Everything - YouTube video
Learn Here! Wes Bos’ CSS Grid Video Course - highly recommended!
Talks & Demos (video content)
Start Using CSS Grid Layouts Today (conference talk)
Build a Mosaic Portfolio Layout with CSS Grid
Creating a nice layout CSS Grid layout using grid template areas
How to Create Website Layouts Using CSS Grid
CSS Grid Layout Crash Course
Flexibility & The Fold – new possibilities with CSS Grid
Web Demos & Documentation
CSS Tricks Complete Guide to Grid
Grid By Example - Rachel Andrew demos
Jen Simmons Labs
Learn CSS Grid
This episode was originally published 2 February, 2018.
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?
Up-to-date CV/resumé that is written with the type of job you want in mind. So if you’re transitioning from another career to being a developer, your old CV won’t do!
Up-to-date LinkedIn profile, again with programmer-relevant skills highlighted.
Bonus: online portfolio website to introduce yourself and show off your skills
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.
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.
What is pair programming? YouTube video
Codebuddies public Slack
Code Newbie public Slack
Codeshare lets you work on code together online
Codewars gives you coding challenges – great for pairing
This episode was originally published 23 January, 2018.
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!
Most popular baby names by US state
The Ultimate MySQL Bootcamp
W3 MySQL Exercises
US Government Data
UK Government Data
Cloud9 web environment to practice
This episode was originally published 16 January, 2018.
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:
You’ll need to get familiar with Markdown syntax for these
Jekyll - written in Ruby, lots of free themes available (I can recommend Clean Blog), and host for free on GitHub Pages
Hexo - written for Node.js, get started with a YouTube walk-through playlist
Hugo - written in Go
Gitbook - for book publishing
…or visit StaticGen for 199 options!
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.
This episode was originally published 9 January, 2018.
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.
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.
A whole year of learning to code, whew! In this episode I reflect on some of the bigger lessons that will carry into the new year: Code. With Others. And set goals! These are the keys to success.
Episode 019 - There's No One Right Answer
Episode 028 - Endings: Workshop, Bootcamp & Debt
This episode was originally published 26 December, 2017.
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.
This week I realized I didn’t know as much as I thought I did about Node.js, so back to the basics.
Node.js Docs - Getting Started
Start Over Coder Episode 20 - Too Early Intro to Node.js
The Net Ninja Intro to Node.js For Beginners Playlist
This episode was originally published 19 December, 2017.
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.
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:
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.
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.
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:
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!
Read books about best practices. I can recommend Clean Code by Robert C Martin.
Ask other developers to review your code and offer suggestions for improvement.
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.
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.
Quitting a well-paying, decent job to become a programmer is a big decision. This episode is all about the pros & cons.
Although the initial impetus to pursue a coding career was very reactive to a bad situation, I truly threw myself into—and got excited about—pursuing a career as a developer. But as the sting of a bad work situation wore off, all of the great things about the job I’d be leaving came more into the forefront. Not to mention the stories out there about non-diverse, workaholic workplaces in tech. Is this really a good decision?
No answers guaranteed in this episode, but here’s a glimpse into the thought process involved with leaving one career for another.
Learn more about Effective Altruism
Learn more about 80,000 Hours - lots of great research on choosing a career for personal fulfillment AND the greater good of the Earth. You can also learn about them in this TED talk.
This episode was originally published 14 November, 2017.
This week I share two more great (and free!) resources for learning to code. The Coding Solo podcast is an entertaining UK perspective on working as a freelance software developer. And check out the Millennial Money Diaries blog for another perspective on starting a programming career with a view on personal finance!
UPDATE FROM THE FUTURE: The Millennial Money Diaries Blog no longer exists 😩
The Coding Solo Podcast
Millennial Money Diaries Blog
MMD - awesome coding bootcamp post
MMD - Jing’s investing journey post
MMD - Prerequisites to Being Good With Money
MMD - This Story Will Make You Plan For Retirement
More in the Discoveries! series:
Ep 18: Learn To Code With Me Podcast & Free Lynda.com
Ep 64: Financial Toolbelt & Second Career Devs Podcast
Ep 73: Chingu & uMatrix
This episode was originally published 7 November, 2017.
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.
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.
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.
Episode 29: course review of The Web Developer Bootcamp
This episode was originally published 3 October, 2017.
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.
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:
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.
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.
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.
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.
Keep distractions to zero while you’re working, and focus on one part of your code in each session.
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.
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!!):
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
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.
Read this blog post for further comparison on these!
This episode was originally published 5 September, 2017.
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!
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.
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.
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.
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.
Colt Steele’s MySQL course
This episode was originally published 15 August, 2017.
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!:
Don’t get frustrated!
If you do, step away from the code and refresh your brain.
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.
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.
When things get tough, just stick with it…
…but ask for help (ideally well before getting worked up to tears)!
This episode was originally published 1 August, 2017.
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.
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.
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
This episode was originally published 25 July, 2017.
Learning to code while working full time is a huge undertaking. Here are some strategies to help you get there.
The main 2 requirements are:
Having clear goals about why you want to learn to code. It will help you make the tough choices when figuring out how to spend you time.
Code every day! Even if it’s just a review of the previous day, look at code every day to ensure you don’t have to learn the same things over and over again (check out episode 10 and episode 12 if you want to hear about what happens when you don’t do this!).
With these things squared away, you can try the following strategies:
Log your practice. You can use a simple wall calendar or a habit building app like HabitBull to keep track of your study days. Then you will notice when your “short break” turns into a longer one!
Schedule your coding time. And it is sacred! Phone off, email closed, just focus. Even if you only get in 20-30 minutes, this time is key.
Work on fixed-term projects. Find a course that has set deadlines, or set a deadline for yourself–if you’ve not made progress by a certain date, find another tool that’s going to be more motivating for you personally. (If you want to check out FreeCodeCamp there’s the link.)
Work on projects in a group. If you’re like me the social pressure of not letting your team down will be a great motivator to keep your studies up! Depending on your level, you could find some coding buddies or contribute to open source projects to get that accountability.
If you’re a parent, all is not lost! Here are a few of the articles I mentioned about other parents who have learned to code with young kids in tow:
How I got a second degree and earned 5 developer certifications in just one year, while working and raising two kids
Front-end Development: So simple a mom can do it?
In the end, you may find that you just don’t want to spend the little free time you have learning how to code, no matter how much you may want to know how to code. And that’s ok! This is where being clear on your goals will help you figure out how much pressure to put on yourself.
This episode was originally published 18 July, 2017.
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!
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!
Now that I’ve gained a proper understanding of the backend, there are many related topics to come in future episodes!
This episode was originally published 11 July, 2017.
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!
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
This episode was originally published 5 July, 2017.
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 for new developers, 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
This episode was originally published 28 June, 2017.
When learning to code, it’s important to jump into the deep end every now and then to keep leveling up. Unfortunately it didn’t work out in my favor when I gave a go to Node.js!
The workshop I attended was a purposeful break from my learning plan.
I’d love to include a clear & concise definition of Node.js here (intended for total newbies), but I still haven’t found one! If you know of a good one please leave a comment below. Otherwise, here are some of the resources I found which provide a bit of context:
Max Ogden’s Understanding Node
The Coding Train’s What Is Node.js? (YouTube)
If you want to give Node.js a try here are some links:
Nodeschool tutorial “workshoppers”
This episode was originally published 21 June, 2017.
This week I discovered two great (and free!) resources for learning to code. The Learn To Code With Me podcast is a great thought starter and source of inspiration. And did you know you can access Lynda.com courses for free!?
This episode was originally published 7 June, 2017.
Breaking down a problem into smaller steps is a great start, but it’s not enough! This week I’m talking about what more can be done to accomplish a goal, whether that goal is some tricky algorithm scripting or changing careers.
Harvard’s CS50 on EdX
To see a visual of the Mario exercise, visit this episode's show notes.
This episode was originally published 31 May, 2017.
Continuing the Learn To Code series, today’s episode is all about mobile apps.
Javvy & Swifty - no website but search your app store
…and many more out there!
The Learn To Code Series:
Episode 5: Learn To Code Overview
Episode 6: Free Online Resources
Episode 7: Paid Online Resources
Episode 9: Join A Group
This episode was originally published 24 May, 2017.
Teaching someone else to code is a great way to enhance your learning, even if you’re not too far from being a beginner yourself. In this episode I’ll talk about why, and how you can give it a try.
Girl Develop It
How Your Brain Learns (Lifehacker)
This episode was originally published 17 May, 2017.
If you’re new to programming you will undoubtedly come across GitHub & Git pretty early on. This episode describes the difference between the two, and explains how you’ll use both as you learn to code.
If you’re ready to get started, here are some of the beginner tutorials I found helpful when I first started using Git & GitHub:
Create a GitHub account
Tutorial to put a project from your local computer onto GitHub
How To Do The GitHub (YouTube)
Dev Tips ‘GitHub For Noobs’ video playlist (YouTube)
And once you’re more comfortable, some additional resources to check out:
How To Write a Git Commit Message
Learn Enough Command Line To Be Dangerous
This episode was originally published 10 May, 2017.
After a few weeks of zero productivity, I’ve set a new learning plan for myself to learn to code. If I’m going to be a capable full-stack developer, I need a plan.
The first step is to get over the unhelpful thoughts that stopped my progress in the first place. This episode walks through those thoughts and how to overcome them.
Then I signed up for three courses to build the foundation and to keep me on track:
Harvard University’s CS50 Intro to Computer Science
Colt Steele’s Web Developer Bootcamp on Udemy
Joe Natoli’s UX & Web Design Master Course on Udemy
In addition to the courses I’ve also set weekly calendar reminders to stay on track. I expect this new game plan will help me reach my goals! Stay tuned & subscribe to see how it goes.
This episode was originally published 3 May, 2017.
Learning to code can be really overwhelming, especially if you’re doing it with the hopes of making income. The overwhelm has been hitting me over the past few weeks, and I’ll unpack that in this episode.
This episode was originally published 29 Apr, 2017.
I’ve just completed my first project where I call an API to randomly generate an inspiring quote, and this episode is all about how I did it.
Before getting started though, I spent a lot of time procrastinating. Part of that led me to the Dev Tips YouTube channel (and in particular this video), which was the inspiration behind my quote machine’s video background.
Here are the other resources mentioned in the episode:
Free video backgrounds from coverr.co
Mashape is the API marketplace I mentioned
Forismatic created the API I ended up using
Random Quote Machine (video) from Stephen Mayeux
My main takeaways / things to remember from this exercise were:
After you’ve written the code to call an API but before implementing its data to appear on your site, test that it’s being called correctly by opening the browser console to console.log any output from the API. This way you can make sure it’s working properly before integrating the API information into your site or app. (video explanation)
My quote machine was coded using jQuery to get a new quote each time the button was clicked. The button click also annoyingly caused the whole page to reload and jump to the top, but this could be avoided by adding an event listener to the function to prevent this default action from taking place. (video explanation)
And finally, you can see the final outcome of my random quote machine on CodePen.
This episode was originally published 26 Apr, 2017.
I hit my first major stumbling block when it comes to learning to code. I say ‘first’ because I’m sure there will be more! In this episode I share what I think happened, and what I’m going to do differently to make sure this this speed bump doesn’t become a dead end.
This episode was originally published 21 Apr, 2017.
The Learn To Code series continues in this episode, as we talk about joining local coding groups!
I’m very lucky to live in a major metropolitan area where transportation is easy and there are lots of people learning to code. If that’s not the same for you, be sure to check out some of my other episodes in this series (links below). But if you live in a relatively populated area, chances are there are some in-person groups you can join up with like I have.
My first suggestion is checking out meetup.com for local groups. Enter your post/zip code and search for random terms like ‘coding,’ ‘programming,’ or the name of whatever language you’re trying to learn and hopefully you will find some meetups to join. Facebook is another good place to find local groups of people learning to code.
If you live near a coding bootcamp, you might also look into whether they offer any free or introductory courses in your area. These may turn out to be a bit of a sales pitch for their school, but you may well learn something and at the very least you’ll meet some other people who are learning to code.
Once you find a group, the practical things you need to know are to bring your laptop (and charger!), some food, and some water, just in case (spoken from experience!). In the episode I also talk about some of my impressions from a few groups I joined. But whatever your experience, go in with an open mind and be ready to put yourself out there and ask questions. Happy coding!
If you want to check out the other episodes in this Learn To Code series you can do so here:
Episode 5: Overview - all the ways you can learn to code
Episode 6: Free Online Resources
Episode 7: Paid Online Resources
This episode was originally published 13 Apr, 2017.
Hitting a key milestone in learning to code: that moment when you stop the coding exercises and actually build something!
This episode was originally published 7 Apr, 2017.
This time I talk about some ways you can learn to code online if you’re ready to shell out some cash. This is the third episode of my Learn to Code how-to series.
If you want to check out previous episodes in the series, you can start with an overview in episode 5 or find out about free online resources in episode 6.
Here are the paid courses I shared in this episode:
And here are some more I didn’t mention in the episode but are worth checking out!
I also mentioned the online bootcamp training programs. I’ll talk about bootcamps in depth in a future podcast, but to start your own research now, here are the few that I named which definitely offer online programs:
Hack Reactor (immersive or part-time)
One tip–when looking at these resources, be sure to confirm that the course matches the skill level you have already reached. You don’t want to go through the basics in each new course you try if you’ve already got the basics covered! You can usually find reviews of all of these sites (and more) on sites like Quora, SwitchUp, CourseReport, and of course YouTube.
This episode was originally published 30 March, 2017.
Continuing the learn to code series, in this episode I’ll go deeper into how you can learn to code online, for FREE!
The 6 resources I talk about in the podcast are:
Massive Online Open Courses (MOOCs) such as Coursera, edX, HarvardX
YouTube (check out The Net Ninja and his videos, as well as The New Boston)
Bootcamp Online Courses
Career Foundry Free Web Dev Short Course
Hack Reactor Bootcamp Prep
Coding Dojo Algorithm App
Flatiron School’s Learn.co
I also mentioned the Career Foundry blog post 20 Ways to Learn How To Code which talks about all of these resources and more–you might want to check it out for further research.
This episode was originally published 28 March, 2017.
Today’s episode is an overview of the different types of learn-to-code resources I’ve found out there. From apps to use when you’re bored to full-time study programs, there are a lot of options!
Before deciding which option to go for it’s important to think about your own personal learning style: are you self-motivated or do you need more structure? Is there something specific you want to build straight away? Do you already have some coding experience? Do you like learning on your own or in a group?
Once you have an idea of how you learn best, it’s time to look at the different tools. I’ll go into these in much more depth in future episodes, but in the meantime here is the overview:
Free online resources (YouTube, MOOCs, dedicated learning sites, etc.)
Online games & coding challenges (example: Code Wars)
Paid online resources (bootcamp prep courses, Udemy, Treehouse, etc.)
Mobile apps (examples: Mimo, Lrn)
Community programs (Meetup groups, Facebook, etc.)
University / school courses
Figuring it out from scratch (via Github, SourceForge, etc.)
Bonus method! Kids apps (example: Tynker, or this blog post)
Regardless of the method you choose, the one piece of advice I have is to code every day! There is a lot to learn and you want to make sure it sticks.
This episode was originally published 23 March, 2017.
In this episode I’ll explain how you can achieve financial independence, and why I’ve chosen to do it. It’s not just about sitting on the beach!
Here are some places you can read more about FI:
The Mad FIentist: The Perfect Life
Mr. Money Mustache: The Shockingly Simple Math Behind Early Retirement
Mr. Money Mustache: How To Go From Middle-Class To Kickass
And here’s Dave Ramsay’s article about me and my friend Einstein (well, you know what I mean!):
How Teen’s Can Become Millionaires
This episode was originally published 16 March, 2017.
In this episode I’ll help you figure out where to start once you’ve decided to learn to code or be a programmer.
Some of the resources I mentioned in the episode can be found at these links:
The Complete Guide To Everything: What Is the Best Programming Language to Learn First? (YouTube, 19 mins)
LearnCode.Academy: 2016/2017 MUST-KNOW WEB DEVELOPMENT TECH (YouTube, 23 mins) Or just click around the map via this link.
This episode was originally published 13 March, 2017.
In this episode I’ll define financial independence, and tell you why I think learning to code can get you there.
To read more about what FI is, you can check out the blogs I mentioned in the show:
Optimal Finance Daily Episode 224: Financial Independence in Plain English by J.D. Roth (and here’s the link to the original post by JD Roth)
Mr. Money Mustache: The Shockingly Simple Math Behind Early Retirement
This episode was originally published 11 March, 2017.
It’s the first episode! I’ll introduce you to the Start Over Coder podcast: what is it, and what can you expect going forward?
And there’s one small update about the podcast since recording–this will be weekly rather than twice weekly! Publishing a podcast is even more time-intensive than I anticipated, and I want to make sure I can stick with it. I hope you will subscribe and stick with me on the journey.
This episode was originally published 10 March, 2017.