Start Over Coder

Start Over Coder

What is the Start Over Coder? Well, that’s me! And I'm taking you along on my quest: taking up a new career as a professional developer, and pursuing financial independence. On the podcast I share all of my experiences and lessons learned, from learn-to-code resources to getting paid for your work, and all of the wins and losses along the way.

  • 28 minutes 40 seconds
    075 - The Last Episode! (Possibly 😋)

    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:

    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:

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

    8 July 2018, 6:59 am
  • 24 minutes 7 seconds
    074 - Ask Me Anything

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

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

     

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

    27 June 2018, 4:00 am
  • 18 minutes 41 seconds
    073 - Discoveries! Chingu & uMatrix

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

    Chingu

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

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

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

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

    uMatrix

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

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

    More in the Discoveries! series:

    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.

    13 June 2018, 4:00 am
  • 25 minutes 30 seconds
    072 - CS50 Course Review & Wrapping Up My Node/Express App

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

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

    Node/Express App Part 3

    To catch up from where we left off…

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

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

    CS50 - Intro To Computer Science Course Review

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

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

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

    Show Links: Thoughts on this episode? Leave a comment at startovercoder.com/072, tweet me @startovercoder, or visit the SOC contact page to email me directly.
    6 June 2018, 4:00 am
  • 14 minutes 45 seconds
    071 - First Freelance Work

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

    30 May 2018, 4:00 am
  • 15 minutes 5 seconds
    070 - Real Life Dev Meeting

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

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

     

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

     

     

    23 May 2018, 4:00 am
  • 16 minutes 57 seconds
    069 - Working The Command Line

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

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

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

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

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

     

     

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

     

    16 May 2018, 4:00 am
  • 12 minutes 10 seconds
    068 - Post-Conference Review

    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:

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

    9 May 2018, 4:00 am
  • 15 minutes 7 seconds
    067 - Pre-Conference Prep

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

    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.

    2 May 2018, 4:00 am
  • 19 minutes 23 seconds
    066 - Documenting The Process

    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:

     

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

    25 April 2018, 4:00 am
  • 15 minutes 22 seconds
    065 - New Computer, New Dev Setup

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

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

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

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

    18 April 2018, 4:00 am
  • More Episodes? Get the App