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:
Show Links: * CodeNewbie podcast season 3, ep 8 - Colleen Schnettler * Episode 70 ā First Real Life Dev Meeting * Grace Hopper Celebration * freeCodeCamp
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:
This episode was originally published 26 June, 2018.
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:
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: * 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ā¦
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:
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: * Episode 36: The Complete Developers Guide to MongoDB [Online Course Review] * CS50 * 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:
Show Links: * Upwork * 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:
Here are some of my favorite tips about getting comfortable working in the command line:
.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.Show Links: * traceroute * 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.
Show Links: * 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:
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.
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: * 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 * Trello * 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:
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!
Show Links: * Financial Toolbelt * 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!
Show Links: * Figma website * 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 š
Show Links: * 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:
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:
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 * Expense tracking:
Banktivity
Quicken
Mint.com
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!):
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: * 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.
Top Recommendations: * 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 * MDN Documentation
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:
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: * 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!
Show Links: * Most popular baby names by US state * The Ultimate MySQL Bootcamp * W3 MySQL Exercises * SQLZoo * 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:
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.
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:
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.
Show Links: * 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.
Show Links: * Node.js * 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:
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:
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.
Financial Independence and a career in coding are like peas in a pod. Hereās why!
This episode was originally published 28 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.
Show Links: * 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 š©
Show Links: * 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: demystifying a common programming acronym.
This episode was originally published 31 October, 2017.
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.
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.
Show Links: * Episode 29: course review of The Web Developer Bootcamp
This episode was originally published 3 October, 2017.
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.
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:
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!!):
Heroku
Amazon Web Services
Other Services
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!
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.
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:
Collaboration Working with a group has both benefits and challenges. Here are some things which can make the experience work well:
ā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.
Show Links * Paper.js - JavaScript animations library * Howler.js - JavaScript library for playing sounds * Colt Steeleās MySQL course
This episode was originally published 15 August, 2017.
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.
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!:
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:
Show Links: * Where to find the book: Goodreads, Amazon, No Starch Press * Start Over Coder ep 18 - free stuff from your local library * V. Anton Spraulās YouTube Channel
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:
With these things squared away, you can try the following strategies:
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:
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!
So why is the backend necessary? It basically comes down to what your browser (Chrome, Firefox, Internet Explorer, etc.) can and canāt do. It can process HTML to put content on the page. It can process CSS to style the content and make it look interesting. And it can process JavaScript to make things a little bit more dynamic.
What it canāt do is process information from the user in a permanent way (like if they fill out a form for example), or pull existing information from a database (like if you want their name, photos, or personalized content to show). Thatās where the server comes in. The server can process all of this information (and more) and then translate it into the HTML, CSS, and JavaScript that your browser can understand.
Backend frameworks give you the ability to host a server on your local computer. The most popular frameworks (for the time being) are Node.js for JavaScript, Rails for Ruby, Django and Flash for Python, and Laravel for PHP. Of course there are many more frameworks for each of these languages, as well as other frameworks for other programming languages.
With these frameworks installed, you can start writing instructions to the server about what to do when people visit your site. For example, if they fill out a form, where to send the information! Or if they want to look through some pictures, which pictures should be displayed!
With JavaScript backend programming, Express is a popular framework that accomplishes these tasks in conjunction with Node and npm packages. Much of the code to build a dynamic website has already been written, itās just a matter of finding what will work best for your project and getting everything to work together.
Now that Iāve gained a proper understanding of the backend, there are many related topics to come in future episodes!
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!
Show Links * 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:
If you want to give Node.js a try here are some links:
This episode was originally published 21 June, 2017.
Even when we know in theory that there are many ways to solve a problem, living with this fact in the context of programming has been a big lesson this week.
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.
Show Links * 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.
The Apps: * Mimo * Javvy & Swifty - no website but search your app store * Lrn * SoloLearn * Hopscotch * ā¦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.
Show Links * 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:
And once youāre more comfortable, some additional resources to check out:
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:
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.
One of the Free Code Camp projects that must be completed while learning JavaScript is to build a random quote generator by calling an external API, and including a button that lets people tweet the randomly generated quote. It was a great project and not as hard as I thought it would be!
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:
My main takeaways / things to remember from this exercise were:
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:
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!
After months of going through exercises and theoretical practice problems, I finally reached a point where I can see some practical uses for JavaScript. In todayās episode I share my excitement about it with you, and askāwhat are some of your learning milestones?
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:
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:
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:
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:
And hereās Dave Ramsayās article about me and my friend Einstein (well, you know what I mean!):
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:
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:
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.