Build and Learn: Recent Episodes

CJ Avilla, Colin Loretz

A podcast about software development and developing ourselves as software engineers. Hosted by CJ Avilla and Colin Loretz.

View Details

It's the One Year Anniversary of Build & Learn!

In this episode we chat about refreshing OAuth tokens and building CRM features with SMS/voice APIs. CJ and Colin also talk about the tradeoffs of building "calm", bootstrapped companies versus venture-backed startups. It seems like everything that is old is new again! What startups from the 2009-2012 vintages do you think could do with some disruption today?

Some resources mentioned:

  • GoRails
  • Twilio Flex

Follow along off-pod!

  • @colinloretz on Twitter
  • @cjav_dev on Twitter

View Details

In this episode you'll hear about Colin's adventure of building a Google Calendar Discord bot using CloudFlare, mastering Google Calendar APIs, and navigating serverless Postgres with neon.tech. We'll also share our insights on the benefits of being part of Y Combinator, and the unexpected hiccups we faced with Rails' Turbo Streams. Dive in and learn from our experiences!

Resources:

  • https://neon.tech/
  • Jason's tweet: https://twitter.com/jmcharnes/status/1687286039356829698 
  • Cloudflare Worker docs: https://developers.cloudflare.com/workers/
  • Jumpstart Pro starter kit for Ruby on Rails: https://jumpstartrails.com/
  • Turbo Streams documentation: https://turbo.hotwired.dev/handbook/streams
  • YCombinator: https://www.ycombinator.com/
  • Google Calendar API docs: https://developers.google.com/calendar/api/guides/overview 
  • Microsoft Startup program for credits: https://www.microsoft.com/en-us/startups

View Details

Welcome back after the summer break! CJ and Colin get caught up after a summer of adventure and... new job announcements!

  • CJ update
    • Tahoe Time / Family Time
    • E-Bike with Dad
    • Boat / Plane flight simulator
  • Colin update
    • Spending time on the coworking space
    • Summer camping
  • Role reversals and announcement
    • We have new jobs!
    • Context switching
      • Colin: product & engineering → developer relations
      • CJ: developer relations → product & engineering
    • Fewer guard rails, much less narrow focus, wearing more hats, more autonomy, freedom and responsibility
    • CJ is now at Craftwerk
      • NextJS
      • T3 stack
      • MySQL with Planetscale
      • Drizzle ORM
      • Zod schema validation
      • Back office/Admin CRUD app in Rails
    • Colin is now at Discord
      • Currently onboarding and learning
      • Building a Google Calendar app to get fully up to speed on all the areas of the developer experience
  • Other happenings: RailsWorld is happening later this year in Amsterdam
    • Tickets sold out in 45 minutes
    • Speakers announced this week
  • Must download calendar app for MacOS folks: Fantastical

View Details

In this episode, we chat with Dave Paola, the founder of the Agency of Learning, an organization aimed at getting early-career developers job-ready, especially developer boot camp graduates. We delve into the history of boot camps, identify key gaps in current education methods, and explore how the Agency of Learning addresses these gaps by simulating a real-team environment and emphasizing technical and non-technical skills.
Resources and Links

  • Visit the Agency of Learning to learn more about Dave's innovative approach to junior engineer hiring and management.
  • For a more in-depth understanding of teaching for mastery, check out Sal Khan's illuminating TED Talk.
  • Get involved with open-source contributions and support social good with Ruby for Good.
  • Discover Casa, a case management open-source app that supports volunteer work for children in foster care.
  • Dive deeper into the tech industry's professional growth and career progression with Engineering Ladders.
  • Check out "Engineering Management for the Rest of Us" by Sarah Drasner for relatable and pragmatic advice on engineering management.
  • Read David Marquet's transformative leadership book, "Turn the Ship Around" for a novel perspective on leadership and management.
  • Connect with our guest on Twitter @dpaola2 for more enriching content and discussions.

View Details

  • Sourcing where you want to apply
    • Make a list of the tools/apps/companies you like to use
    • Outbound (Make a top 10 list)
    • Inbound (review inbound recruiter outreach from the past 3 months or more)
    • Networking (who do you know, try to do some coffee chats to see if they like their company and team)
    • Cold outreach is tough (numbers game)
    • Timing - interviewing such that offers come in around the same time
  • Resume & cover letter & LinkedIn & Social
    • Have these reviewed by your peers and iterate on feedback
    • Make sure you communicate the things you’ve done that add value, ideally how much value you’ve added. Situation Behavior Impact (SBI) is a good framework for bullets
    • Omit anything unrelated to the job you’re going for (hot take?)
    • Clean up social
  • Preparing for Interviews
    • Practice Interviews with friends/mentors
      • Pairing
    • Research the company
    • Algorithms
      • HackerRank
      • LeetCode
      • Exercism
  • Communities
    • Rands Leadership Slack
    • Reverse Job Boards
      • https://railsdevs.com/
    • RemoteOK.com
    • WeWorkRemotely.com
    • HN Who’s Hiring - first of each month
  • Resources
    • interview cake https://www.interviewcake.com/
    • Cracking the coding interview by Gayle Laakmann McDowell https://www.crackingthecodinginterview.com/
    • Atomic Habits - James Clear https://jamesclear.com/atomic-habits

View Details

Some Links

  • Laravel Bootcamp
  • Rails Hackathon
  • Ruby Archaeology by Nick Schwaderer
  • "Build vs Buy" on Rails by Colin Loretz
  • Content Creation for Software Developers
  • CFP Land

Why speak at a conference?

  • Share your hard-won learnings
  • Meet other people
  • Grow an audience
  • Build your talent brand to hire people

What makes a conference worth speaking at?

Do you need to be very senior to speak at a conference?

  • No!

Picking a topic

  • What are you interested in?
  • What are you excited about?
  • What do you know a lot about?

Components of a CFP

  • Abstract
  • Description
  • Outlines

Usually a blind selection process

Other Tips

  • Watch past talks from the conference you are applying to on YouTube if they are available.
  • Check out speakerline.io for examples of CFPs
  • On writing well - William https://www.amazon.com/Writing-Well-Classic-Guide-Nonfiction/dp/0060891548

View Details

Types of Content

  • Tweet
  • Blog Posts / newsletter
  • Live Streaming (Twitch, etc)
  • YouTube & YT Shorts
  • TikTok & Instagram

Resources

  • Rubyists who tweet useful and helpful stuff
    • https://twitter.com/websebdev
    • https://twitter.com/siaw23
    • https://twitter.com/ShinoKouda
  • Newsletters
    • Ruby Radar: https://rubyradar.dev/
    • Ruby Weekly: https://rubyweekly.com/
    • Short Ruby: https://newsletter.shortruby.com/
    • rendezvous with cassidoo: https://cassidoo.co/newsletter/
  • Podcasts
    • Syntax.fm https://syntax.fm/
    • ChangeLog https://changelog.com/podcast
    • Maintainable https://www.maintainable.fm/
    • Art of Product https://artofproductpodcast.com/
    • Planet Argon’s top 10 Ruby podcasts: https://blog.planetargon.com/entries/10-best-tech-podcasts-in-2022-as-chosen-by-the-rails-community
  • Twitch and YouTube channels
    • Mastermind.io https://www.twitch.tv/mastermndio
    • Coding Garden https://www.twitch.tv/codinggarden
    • Fireship https://www.youtube.com/c/Fireship
    • CJ Avilla https://www.youtube.com/c/CJAvilla
    • RC Academy https://www.youtube.com/channel/UCV9km7xyZ0P3i9oQtmKxKIw
  • Course platforms
    • GoRails https://gorails.com/
    • EggHead https://egghead.io/
    • Pluralsight https://www.pluralsight.com/
    • CBT Nuggets https://www.cbtnuggets.com/it-training/cisco
  • Tailwind UI - https://tailwindui.com/

View Details

Disclaimer: The episode on Creating Pull Requests got lost so Episode 6 ended up being our Build vs Buy episode.

Upcoming Conferences Of Note

  • Rails SaaS - Oct 6-7, 2022 (already happened)
  • Ruby Conf Mini - Nov 15-17
  • RubyConf - Nov 29-Dec 1
  • Chirp - Nov 16th

Pull Request Guide from Thoughtbot

Other Tips for giving a nice PR review

Remember the person on the other end of your review is a human. As devs it’s easy to mix our identity with the code we write and any criticism of that code can be challenging to absorb.

  • Timeliness
    • Respond quickly if you are a reviewer
    • This can be especially challenging when dealing with major differences in timezone
  • Checklists
    • Does this code belong somewhere else?
    • Is this code tested?
    • Do I understand this code?
      • PRs can be a way to do knowledge transfer to other folks on the team
    • Are there any glaring security concerns?
    • Should someone else also review this change?
    • What might go wrong when this is deployed?
      • Is there observability in place?
      • Is there a large migration that needs special treatment?
  • Other things:
    • I try to group all of my replies into one big response rather than lots of individual comments, that way the

Tools Mentioned

  • Graphite.dev

View Details

Colin's RailsConf 2022 Talk - https://www.youtube.com/watch?v=A-GDhlBTHoo

Innovation tokens blog post - Choose Boring Technology

ReadMe jobs - https://www.ycombinator.com/companies/readme/jobs

View Details

  • PTO & Taking Time Off
  • Self-care
  • Accrual caps
  • Burnout

  • Unlimited time off - good or bad?

  • Trap of not taking enough, personal guilt, fear of letting team down
  • Brad Feld’s 1 week a quarter - completely off grid, no work (= 4 weeks a year)

  • Why taking time off is good for your team / company

  • Marathon / not a sprint, you need to be able to take time off
  • Ensures you are not the blocker for things
  • Encourages better docs, better socializing of concepts and ownership of the code

  • Tips for taking time off

  • Github Away Feature
  • Delete or disable Slack
  • Create a list of things that you are responsible for and who will help cover those things

  • Other Time Off

  • Parental Leave
  • Sick Leave
  • Company-wide holidays: Refuel Week

Send an Open Source Developer on Vacation
Voting is over but you can check out the winners at https://tuple.app/sends-you-on-vacation/

Share your time off habits and feedback with us on Twitter:
@buildandlearn_
@colinloretz
@cjav_dev

View Details

Paths

  • Educational paths toward programming
    • Self-taught - blogs, articles, tutorials, online platforms like Udemy, code academy
    • 4-year computer science degree
    • 2-year “web design” degree
    • 12-week full-time boot camp
    • 6-month part-time bootcamps
    • Bootcamps that specialize in a discipline like data science, graphics design
    • Bootcamps that serve underrepresented groups - resilient coders, shecodes.io,
      • time, attention, resources
    • Master in computer science
  • Side door and back door entryways to tech
    • Product management
      • The mom test
      • product school
    • Project management
    • Support, then technical support
    • Solution architects
    • Developer marketing

Advice for people thinking about getting into programming

  • Learn hello world
  • Go through a codeacademy or similar interactive course
  • Try to build something on replit or glitch where you don't need an actual environment set up
  • Connect with other new devs on Twitter
  • Use https://exercism.io/ to get feedback about your code, don’t work in a silo
  • https://roadmap.sh/

How to pick a language or stack to start with in 2022

  • Programming languages are tools
  • Some are more commonly used to build specific things
    • JavaScript/TypeScript - web (started as front end, now is also backend, is what browsers run), iot, drones, most things support javascript (Airtable, lambdas, google sheets, etc.)
    • HTML/CSS - web (front end only, structure and style)
    • Python - web, data, machine learning
    • Ruby - web, small utilities
    • PHP - web
    • C#/F# - enterprise, windows, azure, games like X-Box
    • Go - CLI tools, scalable servers and large-scale programs
    • Elixir - web, event-driven systems, distributed systems
    • Java - enterprise tools
    • SQL - data only, not for building applications
    • R - data
    • Fortran, COBOL, VBA, objective-c, Perl - I would not invest much in learning these unless it was required for a job I was already hired at
  • CJ says - learn javascript, but then I say learn ruby and ruby on rails
  • Whatever you decide, stick with it until you feel comfortable building decent working applications

Cord management

  • Braided cable managers https://www.amazon.com/CrocSee-25ft-Management-Protector-Self-Wrapping/dp/B08FJ2WDMK
  • Conway Electric pretty extension cords https://www.amazon.com/s?k=conway+electric&gclid=CjwKCAjw3qGYBhBSEiwAcnTRLmh5ke7bwCi9XoBwyjybypGPUD-TeEmXgoa4Ge6FBDkyFNYkRSpe0hoC7EUQAvD_BwE&hvadid=616991286179&hvdev=c&hvlocphy=9002297&hvnetw=g&hvqmt=e&hvrand=16357591836090420375&hvtargid=kwd-3626162047&hydadcr=24660_13611807&tag=googhydr-20&ref=pd_sl_27vjmz70n7_e
  • Instagram desk setups -

Other mentions

Product school - https://productschool.com/

Black tech pipeline - https://blacktechpipeline.com/

wnb.rb - https://www.wnb-rb.dev/

codeacademy - https://www.codecademy.com/

View Details

Welcome from Build & Learn!

  • Learnings from our first full episode: The First Pancake
  • Stack Overflow Developer Survey 2022

In May 2022 over 70,000 developers told us how they learn and level up, which tools they’re using, and what they want.* Developer Profile + Education + Learning to code + Experience + Roles + Where + Who * Technologies + Most loved + Most dreaded + Most wanted + Worked with vs Want to work with + Version Control + Web3 * Work / Employment * Community * Professional Developers

Interesting Highlights

  • Daily time spent searching for answers/solutions - 60% spend 30-120 minutes a day
  • 88% of Professional Developers code outside of work, with 73% of them coding as a hobby.
  • 66% of Professional Developers have at least some influence over their organization’s purchases of new technologies. This is up from 56% in 2020 when we last asked this question. Unsurprisingly, senior-level positions have the greatest amount of influence when purchasing new technologies. But with the exception of students, at least 60% of all developer types have at least some influence on purchasing.
  • 85% of developers say their organizations are at least partially remote.
  • No other technology is as widely used as Git (93%). Especially among Professional Developers. But for those learning to code, 17% still do not use a version control system.
  • With Professional Developers, we see some interest in wanting to use chat and video platforms other than they are using now.
  • Ruby is 50/50 loved and dreaded

Links

  • Why isn't the internet more fun and weird?
  • 2022 StackOverflow Survey

Follow us on Twitter

  • @buildandlearn_
  • @cjav_dev
  • @colinloretz

View Details

  • Why a podcast?
    • Fun to hang out
    • We learn a lot from one another.
    • Chance to share what we’re building and learning in public
    • Chance to meet and elevate other folks in the community
  • Set the stage for what to expect on the show
    • We are figuring this out, so don’t hold us to it in these first few episodes ;)
    • Building and learning from Software Development but also life
  • Introduction and background - Our Origin Stories
    • First web dev moments
    • CJ
      • TI89 games (2003)
      • MySpace (2004?)
      • Perl for seismology lab (2005)
      • free 000webhost style domain with ads (2005)
      • PHP pamphlet sites for air conditioning company
      • UNR Student union ASP.NET
      • Contract work building one-off apps - campaign management app that later rebuilt in Rails
      • Joined the military, deployed in 2011 to Afghanistan, and learned a ton of Cisco networking and security
      • Learned c++ in CS, but also did a lot of IS classes and started IS focused MBA after graduating
      • VB.NET at a finance company focused on insider trading
      • .NET c# for robots - wasn’t a fan of the company
      • “become a hacker” - App Academy fell in love with ruby
      • Small vacation rental startup where I learned - Django and python
      • Stripe
    • Colin
      • Library books on “VRML”, making games, “hacking” games locally to do different things https://store.steampowered.com/app/32380/STAR_WARS_Jedi_Knight_Dark_Forces_II/
      • Homestead, Geocities, Myspace https://en.wikipedia.org/wiki/Yahoo!_GeoCities, https://myspace.com/
      • Photoshop Communities & Kirupa Forum - Layer Tennis
      • Writing code in Notepad, no syntax highlighting, no project folder
      • College - Started with Computer Sci but decided to take another path
      • College Newspaper - College Publisher
        • Rails CMS for the newspaper
        • Realizing that I would graduate, I moved us to WordPress
      • Agency → Laid off in recession → Starting my own agency
        • WordPress
        • APIs
        • Salesforce
      • Building tech community
        • Reno Collective Coworking
        • Ignite Reno
        • hackathons, meetups
      • A few startups
        • Founder, first-employee
      • More consulting
      • Now at Orbit - https://orbit.love/
    • Links
    • https://twitter.com/colinloretz
    • https://twitter.com/cjav_dev
    • https://github.com/cjavdev/vim-curriculum

https://abookapart.com/

https://www.aneventapart.com/

http://www.csszengarden.com/

https://www.zeldman.com/

https://www.reddit.com/r/PixelCanvas/ live pixel canvas

https://www.youtube.com/cjavilla

View Details

Welcome to Build & Learn, a podcast about software development and developing ourselves as software engineers. Hosted by CJ Avilla and Colin Loretz.