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.
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 Advice1. 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 CoderDespite 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:
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:
Thoughts on this episode? Leave a comment at startovercoder.com/074, tweet me @startovercoder, or visit the SOC contact page to email me directly.
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: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…
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: 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:
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:
Here are some of my favorite tips about getting comfortable working in the command line:
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: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?
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?
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?
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 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:
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.
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:
Thoughts on this episode? Leave a comment at startovercoder.com/065 or tweet me @startovercoder.