Coding with Jess

Background Music

Check out Free Music Archive to see how I can play music in the background while coding.

Other

Goal: Get feedback from others.

Coding with Jess Goals:

  • 1,000 mailing list subscribers in 2020
  • 10,000 hours of video watched in 2020

Hi and welcome to Coding With Jess - where you code along with me while I build a thing!

I've been building web applications professionally for over a decade and have shipped dozens of products, from MVPs for brand new startups to enterprise software for Fortune 100 companies. I've also had my share of bumps and bruises along the way.

Every week, I livestream a coding session working on a variety of web applications and related software. We use technologies ranging from Ruby on Rails to Javascript, Postgres to Amazon Web Services.

But this is not a how-to for a particular technology! It's about how to think and work as a software engineer. I focus on the fundamentals of software development: how to plan, design, develop, and ship production-quality features.

Livestream episodes are usually two hours long, and we use a pomodoro timer to keep the energy high - 25 minutes of focused work followed by a 5 minute break.

So tune in every Thursday at 11AM eastern and code with Jess!

If you'd like to watch some of the past live streams, I recommend you check out Spotify New Releases, where I build a simple app to showcase new releases by artists you follow on Spotify. If that sounds awesome, and it is, then click on the playlist on the right.

Or, you can check out the most recent livestream video by clicking on the video on the left.

See you on Thursday!

I often bring in a guest to work with me. Pair programming can be a more natural mode of teaching since we have to talk aloud as we work. If you'd like to pair with me, reach out at jessmartin@gmail.com.


2020-08-06

Inspiration from Adam Wathan - YouTube

  • Split "Coding with Jess" into different tracks:
    • Building Spotify New Releases with Rails
    • Building the RedwoodJS Tutorial
    • Building jessmart.in with GatsbyJS

  • Fast forward the pomodoros

  • Mixdown the audio

  • Upload all videos to YouTube

  • Post videos to jessmart.in

  • Write show notes for each episode

  • Buy codingwithjess.com

  • Design and launch web site

  • Watch TED talk on streaming

  • Check out GitDuck.com

First Livestream

Happy Halloween! 🎃
Excited to announce a project I've been working on for a few months! I'm 15 hours in to building a product from whiteboard to real users and I've recorded every minute of my work.

Today I'll be live-coding from 11am ET to 1pm ET if you want to follow along! Here's the link - join me here in 45 minutes! https://youtu.be/QrwlwoHhqqQ

Examples I like:


Episode 1

  • 1:39 - Pomodoro Technique - Wikipedia: https://en.wikipedia.org/wiki/Pomodoro_Technique
  • 1:59 - Pomodoro #1 Begins
    • UI sketch at whiteboard
  • 4:02 - Spike
    • A spike is a
  • Exploring the Spotify API Docs
  • 5:51 - First discussion of performance issues
  • 8:20 - Release Date Precision discussion
  • 8:38 - Get something working as soon as possible
  • 9:04 - Working Scratchpad
    • What are the goals for the session I'm working on
  • 10:05 - Technology choices - going with a Rails app
  • 11:00 - How to evaluate open source libraries
    • "Any time I say 'just build it myself', that's a really
  • 12:16 - Making the git repository
  • 14:25 - Creating a README
  • 16:30 - Using GitHub with ssh versus https
  • 19:00 - How to evaluate open source libraries
  • 27:00 - Pomodoro #1 timer goes off
    • 27:24 - Stop talking
  • 32:00 - Pomodoro #2 Begins
  • 32:00 - Expunging Client Secrets
  • 38:40 - REPL-driven development
  • 39:02 - Spotify API OAuth flow

Email to Jeremy Coleman:

So after digging around for a few weeks, my "mildly-crazy YouTube idea" is probably just that - only mildly-crazy. There are other people doing variants of the idea with some success, so in some ways that's validation that it's possible.

A few weeks ago, an experienced CTO and startup guy challenged me to "sell my knowledge, not my time." That got me thinking...

Basically, my idea is this: record unedited videos of (or just livestream) me "pair programming", either pretending that the viewer is my pair programming partner or actually pairing with other developers, while working onrealapplications. Not toys, not teaching videos, but building real-world products.

Why?

  • Show how an experienced senior developer really works. How often we get stuck, have to look up documentation, how we debug, how quickly some things can be done. Not understanding how to work really held me up for a long time until I pair programmed with a lot of other senior developers and slowly absorbed their tricks and their mindset.
  • Show how to build real things from scratch. Not teaching videos where the toy project is sanitized and pre-defined. But building real products while also exploring the requirements, hitting technical challenges, etc. Too often I think developers get stuck working on "one piece of the pie" and don't realize that it's entirely possible to actually build the whole thing yourself. (not necessarily recommended)
  • Teach about how to pair program. If you haven't had a good experience pair programming with others, some people write it off as "not for me" when it can be a super productive and fun way to build software.
    I think it's a good fit for me because I already verbally process while I'm coding, I love teaching, and I already have enough experience with video and sound production stuff to be able to put together decent quality stuff.

Anyways, that's the idea. And it's not only an idea. Here's the first episode . Be warned, it's long (1h50m) and I haven't yet perfected my audio/video setup, so the quality isn't what I know I can produce. My main question is: is this at all interesting? If so, what parts are most interesting, and what should be cut.

I'll probably record a couple more episodes then start releasing them weekly, but curious to hear your feedback. Feel free to share that link with others. I'm going to hit "publish" on it as soon as I can fill out the show notes.

If I keep doing this, would you be interested in being a guest pair programmer on the show?


Episode 2 recap

  • By the light of a brand new day, we actually made more progress than I realized:
    1. We implemented a simple OAuth flow which would allow any user to connect to our app using their Spotify creds
    2. We improved the overall look of the albums page
    3. We discovered some silly things we were doing with secrets and fixed them
  • Thinking more about how we want to store the access key and refresh token for the user. Three choices, really.
    1. User's browser, in memory
    2. Rails app, in memory
    3. In database
  • Today I want to focus on doing OAuth right and having a really clean, simple authorization strategy that doesn't require the user to do any account creation on our side
Coding with Jess
Interactive graph
On this page
Coding with Jess
Background Music
Other
2020-08-06
First Livestream
Examples I like:
Episode 1