Episodes

  • 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

    It’s the lesson I keep coming back to (as discussed in episode 13, episode 49, and episode 50): it’s a lot harder to get where you want to go if you’re not sure where that is. Setting a clear goal about what you want to accomplish (and by when) is the most important step, both for learning new tech and especially for switching careers.

    Granted, if coding is new to you, it can be difficult to set realistic goals—you just don’t know what you don’t know. In this case, I’d say set short term (like 2 weeks or 1 month) exploration goals to learn as much as you can about one topic in a set time frame. At the end, decide if you want to keep learning it or move on to something else. Also, no. 3 below can help you work on your goals as well!

    2. Build actual projects

    While tutorials and code-alongs are great for getting introduced to a topic, building something on your own from scratch will be a much more effective way to have that topic sink in for most people. It’s also through building things from scratch that you can see just how libraries and frameworks can quickly solve problems that you would otherwise code from scratch.

    What kind of project? For me, I found it the most rewarding when I built something that I actually wanted to use myself—think about what that might be for yourself and then build it! If you want some more ideas, take a look at the freeCodeCamp curriculum or the (somewhat overwhelming) lists below:

    800+ Project Ideas Build Your Own X

    3. Work with other people from the beginning

    I’ve noticed a huge difference in my learning progress since I started getting other knowledgable programmers involved.

    First, they’ve helped me figure out what to work on next and how to approach my goal setting.

    Second, working with other people on coding projects—first in person and then as part of Chingu—has accelerated the speed with which I pick up new skills dramatically.

    Third, interesting opportunities can come of it, like job prospects or access to special events.

    And finally, it’s just nice to have someone to vent to or commiserate with occasionally about the frustrations of coding—encouragement from someone who knows your pain can be great!

    4. Teach someone else what you know

    This may be hard to wrap your head around even once you have years of coding experience behind you, let alone as a beginner. But to learn something new, you really only need a teacher who is a few steps ahead of you in the process—why can’t that teacher be you?!

    I released a previous episode about the personal benefits of teaching someone else, and also how you can go about doing it yourself.

    5. What to learn? Keep it basic and go deep

    One of the biggest conundrums when I first started learning was what I should actually learn. Which language? Or should I pick more than one? (Answer: no!) Which framework should I pick up?

    The short answer to all of these questions: pick one thing and go deep. It will be difficult to shut out all of the noise from many corners of the internet pulling your attention away from that one thing, but try hard to stick with it. Then, once you know that thing well, add to it.

    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 Show Links: CodeNewbie podcast season 3, ep 8 - Colleen Schnettler Episode 70 — First Real Life Dev Meeting Grace Hopper Celebration freeCodeCamp

    Thoughts on this episode? Leave a comment at startovercoder.com/075, tweet me @startovercoder, or visit the SOC contact page to email me directly.

  • 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 Show Links: Recurse Center My Podcast Picks Radical Personal Finance: My Podcasting Equipment, Workflow, and Lessons Learned From 200 Episodes Radical Personal Finance: Thirty Podcasting Lessons Learned From 300 Episodes and 2,000,000+ Downloads freeCodeCamp Podcast: Ep. 28 - How to land a six figure job in tech with no connections freeCodeCamp Podcast: Ep. 32 - How you can start a career in a different field without experience Start Over Coder Episode 63 on prioritizing networking events Start Over Coder Episode 30 on the super-productive group coding project I did Start Over Coder Episode 33 on how to practice well 100 Days of Code

    Thoughts on this episode? Leave a comment at startovercoder.com/074, tweet me @startovercoder, or visit the SOC contact page to email me directly.

  • Missing episodes?

    Click here to refresh the feed.

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

    Chingu

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

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

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

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

    uMatrix

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

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

    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

    If you have another discovery that’s worth sharing, leave a comment at startovercoder.com/073, tweet me @startovercoder, or visit the SOC contact page to email me directly.

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

    Show Links: Episode 36: The Complete Developers Guide to MongoDB [Online Course Review] CS50 Base CS Podcast Thoughts on this episode? Leave a comment at startovercoder.com/072, tweet me @startovercoder, or visit the SOC contact page to email me directly.
  • 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 stills 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. Show Links: Upwork Episode 50 - 6-Month Goal Setting Episode 56 - Planning A New Web Project Episode 62 - Prototyping With Figma Bonus!

    There’s a big announcement at the end of this episode
don’t miss it!

    Thoughts on this episode? Leave a comment at startovercoder.com/071, tweet me @startovercoder, or visit the SOC contact page to email me directly.

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

    Thoughts on this episode? Leave a comment at startovercoder.com/070 or tweet me @startovercoder.

  • 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. Show Links: traceroute Lifehacker - Become a Command Line Ninja With These Time-Saving Shortcuts Lifehacker - A Command Line Primer for Beginners

    Thoughts on this episode? Leave a comment at startovercoder.com/069 or tweet me @startovercoder.

  • 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

    Thoughts on this episode? Leave a comment at startovercoder.com/068 or tweet me @startovercoder.

  • 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:

    ONE
    From all the people I meet, I will meet 3 people to exchange contact details with in stay in contact with after the event has finished. These may be people who I can learn from, or share my own experience with. But I want to leave with at least three new solid connections that I can build upon.

    How will I do this?

    Get clear on what I do & what I want so that I can clearly share this with other people Actually ask for people’s contact details! Sounds obvious, but I don’t always do it.

    TWO
    I plan to get some practice speaking technically and bearing my expertise. I’m in the habit of minimizing my skills and knowledge, especially when it comes to talking about technical topics. This needs to stop!

    How will I do this?

    Make an effort to talk to people! No hiding in my mobile or laptop. Works well with goal number one 😄 No more “I’m just learning ABC” or “I think you can maybe, possibly, sort of, kind of try XYZ to fix that
maybe” etc. If I know it, no need to pretend I don’t. I AM A DEVELOPER!

    THREE
    I’m going to document the talks and take notes about what I learn throughout the course of the two days. I want to be able to remember what I learned after the fact, so it can’t be in one ear and out the other. I’d like it to stick!

    How will I do this?

    Take comprehensive notes throughout the talks Recap the information in a different format (i.e. blog or this podcast) so that I revisit the information several times. Forge those neural pathways every way I can. How To Go To Conferences (Financially)

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

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

    Follow along with me at the conference on my new startovercoder Instagram!

    Thoughts on this episode? Leave a comment at startovercoder.com/067 or tweet me @startovercoder.

  • One thing that I’ve learned can really help along the learn-to-code process is documenting as you go. Whether it’s vlogging, blogging, or a simple pen & paper, tips from your past self can be an excellent learning shortcut.

    I’ve been reminded of this recently, as I believe I’ve hit another stumbling block on my quest of becoming a professional developer. In fact 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. Taking on a whole new career 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!

    So if you want to get started documenting your own progress, what are some options? Here are a few:

    Take notes with pen & paper Write notes on a calendar or daily agenda as you work Use a project management tool like Trello Get involved with 100 Days of Code Start your own blog Start your own podcast Start vlogging on your own video channel

    Don’t forget: the key is having something you can reference at a later date, so if you find an alternative to this list that’s mostly verbal (like a study buddy or success group where you check in with each other for example), make sure you’re also taking notes or meeting minutes for future reference.

    The most important thing is to document the challenges you face, and how you’ve gotten through them: this will be the most valuable information to refer back to later on. After all, your success will end up in the code—it’s the failures along the way that are easily forgotten!

    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.

    Thoughts on this episode? Leave a comment at startovercoder.com/066 or tweet me @startovercoder.

  • 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.

    Thoughts on this episode? Leave a comment at startovercoder.com/065 or tweet me @startovercoder.

  • 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 Access Ep 41: Coding Solo Podcast & Millennial Money Diaries Blog Thoughts on this episode? Leave a comment at startovercoder.com/064 or tweet me @startovercoder.
  • 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.

    Thoughts on this episode? Leave a comment at startovercoder.com/063 or tweet me @startovercoder.

  • 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

    Thoughts on this episode? Leave a comment at startovercoder.com/062 or tweet me @startovercoder.

  • 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

    Thoughts on this episode? Leave a comment at startovercoder.com/061 or tweet me @startovercoder.

  • It’s been a year since I started this podcast! But I still haven’t become a full-time developer. Does it really have to take over a year to change careers and become a 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 quit my job 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. This is massively necessary when it comes to actually looking and interviewing for jobs. 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!

    Thoughts on this episode? Leave a comment at startovercoder.com/060 or tweet me @startovercoder.

  • It’s the last episode (for now) in the How I FI series and today I’m talking 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. Spend wisely. Invest wisely. 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 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

    Thoughts on this episode? Leave a comment at startovercoder.com/059 or tweet me @startovercoder.

  • 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;

    3) making a long term plan to actually work towards FI. To summarize the steps I talked about in the podcast


    1. Getting A Proper Introduction

    While I’d love to take the credit for making a conscious decision to improve my finances, the credit actually goes to the book The Four Pillars of Investing by William Bernstein, which I got on a whim when it was on sale on Amazon. This book covers all the basics & history of the stock market.

    Most importantly, it gave me understanding and the confidence to realize I can manage finances pretty easily on my own, and set myself up for a comfortable retirement without paying a lot for professional help.

    Once I understood this I fell down the rabbit hole and found an endless supply of other great resources to learn more about personal finances, FI, investing, and more. Check the links below for some of my favorites.

    2. Applying The Information

    Once there was a basic understanding of how it all works, I took a look at my own situation to see how I stacked up. Some basic questions needed to be answered:

    What is my net worth? How are my employer retirement accounts invested? Are they invested? What fees are they charging? Do I even remember all of the accounts I have out there!?

    Full disclosure: this may not turn out to be a pretty picture but at least you know where you’re starting, and can then figure out how to make it better.

    3. Put A Plan In Place

    While answering the questions above, it’s helpful to gather all of the information into one place. Tools like Mint and Personal Capital make it really easy to do if you’re based in the US. Since some of my accounts aren’t in the US, I just used a good old Excel spreadsheet to collect the information.

    Once I had everything in one place, it was easier to figure out how I could make changes, and also how to think about my day-to-day spending and saving. I’ll be talking more about that in depth next week so stay tuned!

    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) Thoughts on this episode? Leave a comment on the Start Over Coder Website or tweet me @startovercoder.
  • 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!

    Thoughts on this episode? Leave a comment at startovercoder.com or tweet me @startovercoder.

  • 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:

    Question 1: Who is the site for (visitors)?

    This is about taking into consideration all of the likes and dislikes, wants and needs of the people you expect will be visiting your site.

    Are there certain aesthetics that they like or are used to? Do they expect a certain level of interactivity? Do you need to think about optimizing your site and code for accessibility (hint: yes!)? What do you need to do for browser support? Can you reliably expect your visitors to have modern browsers, or should you focus a bit on making the site compatible for older browsers (if your visitors are less tech savvy, probably!)? What kinds of devices and internet connection speeds are your visitors likely to have? How does this affect the content and media assets you include on your site?

    Question 2: Who is the site for (client)?

    If you're building the site for someone else (friend, family member, or even paying client) and they will be adding content in the long term, how technologically savvy is that person? Can you build and hand over something that's quite involved, or would they really be better suited with something that's more intuitive like WordPress?

    And who will be maintaining the site? Can you minimize the number of package dependencies or plugins in your project to make long-term maintenance simpler? If you're handing the site over, how will you ensure updates and security patches are carried out?

    Question 3: What's the 1 thing you want your visitors to get from visiting the site?

    No matter your content, it's helpful to think about messaging when you're building a website, and a good way to narrow this down is to think about the one takeaway you'd like visitors to have after visiting your site. Some examples:

    For the Start Over Coder website, I wanted people to be able to sample the podcast, so I put an player at the top of every page. If it's a portfolio site and you're a new developer, it could be a headline called HIRE ME! followed by all of the reasons why someone should consider you for jobs. If it's a non-profit or business trying to raise money, make sure the DONATE button is front an center, and that it looks like a button people will want to click! If it's a blog, help visitors navigate: maybe it's a Start Here page that gives an introduction to the blog, or maybe it's a Featured Posts section which helps people get acquainted with your best content. In this case you may not need to implement this when you're first creating the blog, but it's good to consider in the planning phase for the future, when you'll have more content to wade through.

    Question 4: What is my timeline for this project?

    Having a deadline really helps keep things moving when you're working on the project. If an actual deadline doesn't exist, create one, and then tell it to someone who will check in with you to keep you accountable. There are few feelings worse than a "fun" side project dragging on forever, and a deadline can help it avoid this fate.

    It's also important to make sure that the project is actually possible within the timeline you set out. If you need to break the project into phases to keep your deadlines realistic, do.

    Question 5: How can I manage the project effectively?

    Keeping a task list to keep track of things that need to be done/built/designed/optimized can keep the project organized and on schedule. This could be as simple as writing things down on a piece of paper, or you could use tools like spreadsheets or issue trackers in an online repository.

    My favorite system at the moment is using Trello, an online kanban board where I list my tasks as ice box, to do, doing, or done. Priority tasks are stored as 'to do' items, while less timely to dos are kept in the icebox for future consideration. My highest priority tasks move into 'doing' and this list is limited to the 1-3 tasks I can accomplish within 1-2 work sessions.

    The biggest benefit of keeping a task list (in any format), is that it gives you a place to park new ideas whenever they come to mind. Especially if—like me—you get distracted easily and every new idea is an excuse to stop what you're doing at the moment to explore! Working off of a Trello board allowed me to prioritize every idea or improvement that came to mind while still keeping on-task from moment to moment.

    Question 6: Do I have all of the tools I need to complete the project?

    If there are skills that need to be improved before starting, it's good to know ahead of time where you might run into issues. Similarly, if you're picking up a project from someone else, or for someone else, it's helpful to check whether you have all of the access necessary to any existing setups (server access, authorization keys, access permission, etc.). All of these things can ruin the momentum of a good project if they come up unexpectedly.

    Likewise, if you don't have something you think you need, it's good to consider how you can proceed without that thing (if you can at all). Can you find a workaround or a replacement technology? If not, it's good to be prepped for any repercussions as early as possible!

    Question 7: How will the site be deployed and maintained?

    Can deployment be streamlined, and if so do you need to set anything up from the beginning to facilitate this? A good example might be linking a remote repository to your content host so that deployments are initiated automatically any time you push new code to the repo. Or if it's not such a simple setup, can you create a bash shortcut to at least streamline your deployment steps into one command? All of these things can save time in the long run and are worth considering before starting the project.

    Also how will you test your live site before deployment? Do you have access to a second server that can be used for testing? Do you have anyone who can test it objectively and provide feedback?

    All of these questions are worth considering before you dive into coding a project. And really, this is a jumping off point...there may be other things to consider that are unique to your project. But overall, taking the time to plan as much in advance as possible can help keep things moving, on schedule, and in a stable position when unexpected (and inevitable) obstacles present themselves along the way.

    What questions do you ask yourself before you start a new project? Leave a comment at the Start Over Coder website or tweet me @startovercoder.