
Sign up to save your podcasts
Or


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:
If you're learning how to code (on your own or otherwise), I would highly recommend working some pair programming time into the mix! It might be intimidating to start, but these benefits and more make it worth it in the end.
And if you don't live in a busy area or can't get yourself to a place where other people are up for pairing, don't discount the option of finding a pair programming partner online. My experience was great—I'll include some links to open communities where you can look for a pairing partner in the list below.
Show Links:
Thoughts on this episode? Leave a comment at startovercoder.com/053 or tweet me @startovercoder.
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!
Links from this episode:
If you have some tips on how to practice working with a database, leave a comment at startovercoder.com/052 or tweet me @startovercoder.
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!
If you've made a site using a static site generator, I'd love to see it! Leave a comment at startovercoder.com/051 or tweet me @startovercoder.
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:
Thoughts on this episode? Leave a comment at startovercoder.com/050 or tweet me @startovercoder.
This week I got rejected from a coding program that would have been great for jumpstarting my 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.
Have you ever been rejected from something you had your mind set on? How did you reset your path? Leave a comment at startovercoder.com/048 or tweet me @startovercoder.
This week I realized I didn't know as much as I thought I did about Node.js, so back to the basics.
Episode Links:
Thoughts on this episode? Leave a comment at startovercoder.com/047 or tweet me @startovercoder.
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.
Thoughts on this episode? Leave a comment at startovercoder.com/046 or tweet me @startovercoder.
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:
All of these are just a start. If you have some tips to add, you can leave a comment at startovercoder.com/045 or tweet me @startovercoder.
Financial Independence and a career in coding are like peas in a pod. Here's why!
Thoughts on this episode? Leave a comment at startovercoder.com/044 or tweet me @startovercoder.
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...
Thoughts on this episode? Leave a comment at startovercoder.com/043 or tweet me @startovercoder.
From the publisher's feed