Code[ish]

Code[ish]

By Heroku from SalesforceBusinessTechnologyManagement
Download on the App Store

Code[ish] episodes

  • The Agony and Ecstasy of Maintaining Good Documentation

    With the explosive growth of people using, and contributing to, open source projects over the last decade, more and more of us are spending their time reading, writing, and understanding documentation.

    Heroku's Dev Center is the central hub of documentation for Heroku, covering everything from getting started, to how Heroku works, to extending the platform. It acts as a manual for the entire platform, spanning an enormous number of topics and tools.

    Stephen Barlow, lead strategist for Dev Center, joins Heroku designer / developer Charlie Gleason to discuss why good documentation is so important—from some of the common challenges you and your team might face while writing them, to advice for rationalising and improving your documentation workflow.

    Tune in to learn why good docs aren't just good—they're great.

    Links from this episode
    • Heroku Dev Center
    • Heroku Buildpacks
    • Rust
    • Create React App
    • Write The Docs Conference
    • Prettier
    • Typescript
    • Git hooks and Husky
    • Runbooks
    • Heroku Changelog
    • Stack Overflow
    34 min
  • How to Learn Something New

    Vaidehi Joshi found that many resources on the web about core computer science concepts she wanted to know more about were either too obtuse or too academic. She started a blog, basecs, where she wrote down something she had learned that week--every week--for an entire year. While learning something new in and of itself was a delight, her curiosity led her to question how people learn best.

    She discusses the Feynman Technique, which, through a processes of iteratively explaining a concept to someone who doesn't know anything about it, strengthens the knowledge for both the student and the teacher. The best way to do this is by telling a narrative. It keeps the listener engaged, while also serving as a way of identifying gaps in ones' own understanding, as new questions arise.

    Links from this episode
    • basecs and baseds are two of Vaidehi's websites which teach concepts about computer science and distributed systems
    • The Feynman Technique: The Best Way to Learn Anything
    30 min
  • Coordinating Remote Work

    Heroku splits its units of work into squads; on this episode, we're joined by some members of the squad responsible for the Private Spaces feature. Every member of the squad is remote from one another. The team talks about the pain points around this setup, and the solutions they've set up to minimize feelings of isolation. One tactic has been to keep a long-running meeting URL. Individuals from around the team can hop in and enter a space where they can just be social with one another.

    Each teammate also explains why they joined Heroku, and what they appreciate about a company that values remote work. They conclude with a discussion on their favorite programming languages and editors.

    Links from this episode
    • An introduction to Heroku's Private Spaces
    17 min
  • Sharing Data with Dataclips

    Chris Castle introduces Becky Jaimes, the product manager for Heroku Dataclips. Dataclips is a feature that allows you to save and version SQL queries against a Postgres database. You can export these queries to JSON or CSV, share them online, or simply access them through an HTTP API.

    The two discuss the history of Dataclips, namely what its original needs were and how it has evolved. It was originally targeted towards individuals who simply wanted a quick way to get access to rows from a database, and now it's grown to be a useful source of information for BizOps teams, engineers, and product managers.

    The newest release of Dataclips came out of a very long beta program involving customers of various sizes. Some customers had a few dozen queries they accessed frequently, while others had thousands of them. The team at Heroku wanted to create a one-size-fits-all solution, while at the same time reducing technical debt which had been a hinderance to shipping quickly. Becky shares some of the features that are now available.

    Links from this episode
    • A Dialog with Your Data Using the New Dataclips
    • Dataclips is often used as a lightweight Extract, transform, load (ETL) framework
    31 min
  • Application Performance and Building SaaS on PaaS

    Chris Castle introduces Ryan Townsend, CTO of Shift Commerce, and the two begin by discussing the absolutely abysmal performance of web sites in areas with bad latency: airplanes, the rural countryside, or even just within a crowded cafe or conference. Shift Commerce provides a customizable shopping platform for its customers, who are several big brand retailers. For them, every millisecond of delay means lost revenue, as studies have shown that customers are unlikely to complete their purchase if it takes too long.

    It's important for Shift Commerce to stay hyper-tuned into its performance. Since it's a multi-tenant application, they have several safeguards in place to ensure that one customer's traffic spike doesn't affect any other retailers. One such strategy is to lean into several of Heroku's features, such as its API, to do some of the heavier lifting. They're perfectly contently to let Heroku manage the operations work while they focus on the application itself.

    When it comes to increased traffic, although there are "quick wins" by increasing the number of dynos available, fundamentally what Ryan has found important is to think about the architecture of the site holistically. That means everything from trimming down the amount of JavaScript delivered to efficiently managing the number of database connections made.

    Links from this episode
    • Ryan's talk at #PerfMatters Conference 2019
    • Web Performance Optimization stats, listing articles about how popular websites have sped themselves up
    • How One Second Could Cost Amazon $1.6 Billion In Sales
    • Facebook's '2G' Tuesdays, an initiative that artificially slows down the Internet connection at Facebook to spur empathy towards creating faster response times
    37 min
  • Making Remote Work Work

    More than half of the employees who work on Heroku are remote or distributed employees, meaning Heroku is what you might call remote-first. Host, Chris Castle, brings together five Heroku employees who have had interesting distributed employee experiences. They share some personal stories and discuss setting boundaries, self-awareness, timezones, and some advice for others interested in distributed work.

    Raúl Barroso is based in Madrid, Spain. He compares his experience working at Heroku HQ with his current experience as a distributed employee, working from Spain with a team across Europe and the U.S. He also shares his thoughts on the phrase "remote employee" vs "distributed employee" (hint: use "distributed" if you are serious about fostering a culture that values distributed employees as equals to those at HQ).

    Alasdair Monk is based in the UK. He published a blog post in September 2016 titled Making remote work: What we've learned at Heroku discussing distributed work in three categories: working asynchronously, working together, and staying aligned. He reflects on his experience in the past two years since writing that post and also shares his perspective of UX and Design work as a distributed employee.

    Jon McCartie lives way up in northern Idaho by the Canadian border. He and his wife decided to spend 1.5 years with three kids (ages 7, 5, and 2) traveling around the western U.S. in an RV. Oh, and he did this while working on the Customer Support team -- successfully. He shares some fun stories of video meetings with gorgeous views, choosing the right size RV, and using a mobile Wi-Fi hotspot as your family's primary internet connection. Here is a picture of Jon's "office".

    Annie Sexton currently lives in Austin, TX. For most of 2017, she was a "digital nomad" fulfilling a life-long dream of hers. She started with a month in Thailand, and then went to Japan, Bali, Morocco, Croatia, Slovenia, back to the U.S., and then back to Thailand, and then Panama. Her Instagram makes it look glamorous, but she says, "it's easy to romanticize the lifestyle of working on your laptop on the beach drinking coconut water, but it's just not like that."

    Niklas Richardson is based in the UK. He shares why and how he put his desk in the garden. He poured a foundation and then bought a pre-fab shed that he had insulated and electrified. Here's what Niklas's beautiful backyard office--aka garden oasis--looks like, and also the website he mentions in the podcast showcasing other beautiful sheds.

    Links from this episode
    1. Alasdair Monk's blog post Making remote work: What we've learned at Heroku
    2. Website with other beautiful sheds Niklas mentioned
    44 min
  • Solving Social Problems with Data Science

    Isaac Slavitt is the co-founder of DrivenData, a platform for organizations to solicit help from data scientists to solve real-world problems. DrivenData does this by running "competitions" which asks teams to comb through data sets to solve problems for cash rewards.

    One such competition was Zamba. Researchers set up cameras in African forests and asked engineering experts to develop AI software which could classify the types of animals which were captured. This would then help with research and conversation efforts without disturbing the natural ecosystem. Another such competition is DengAI, which seeks ML techniques to try and predict future outbreaks of dengue fever.

    Isaac concludes the interview by talking about DrivenData's tech stack. He discusses the uses of both R and Python in the data scientist community. He notes that many computationally intensive task, such as ML classification and testing, are able to be offloaded to a service like Paperspace, while the majority of their platform runs on Heroku.

    Links from this episode
    1. DrivenData
    2. Zamba
    3. DengAI
    4. Paperspace
    42 min
  • Delivering Amazing Presentations

    Nickolas Means likes to tell stories. His conference talks [1] often center around a curious anecdote, but he deftly weaves both technical and organizational relevancy into them. Nickolas talks about how he builds a talk from conception to execution and goes over some fundamentals of good presentation slides. The goal is to provide a narrative without overwhelming the user with too much textual content.

    He continues with advice for novices and experts alike, including how to craft a CFP that will increase the likelihood of your talk being accepted. He suggests that new speakers choose a larger conference to speak at, rather than a smaller one, as they have more capacity to provide mentoring. Even if you're not a Ruby or Rails developer, their conferences tend to be very welcoming, and he suggests taking a look at rubyconferences.com to find one that fits.

    Links from this episode
    1. Nickolas' conference talks
    2. Nickolas Means on Confreaks TV
    3. How to Talk to Developers by Ben Orenstein
    4. What Your Conference Proposal Is Missing by Sarah Mei
    5. Better talk proposals in 3 easy steps
    21 min
  • Spreading the Database Love

    Brendon Murphy, CTO of Kajabi, talks about his company's experience with Dataclips [1]. Instead of requiring developers to connect to their database, everyone in the company is able to generate analytics on-the-fly, and they even democratize the information via a Slackbot. Their marketing team is able to get real-time feedback on their campaigns through Lita.io [2]

    The advantage of using Dataclips dovetails with their preference for using Heroku in general. While they could build their own wrapper to communicate with Postgres, or even manage their own infrastructure, they've found that the financial and operational costs are simply not worth it. By offloading this vital work, they free themselves up to focus on building features for their users.

    Brendon concludes by talking about Postgres, and why it's the right choice for his team. It can act as a NoSQL document store via its JSONB data type, serve as a key-value store obviating the need for Redis, and comes with strict type assurances reducing the need for checks in the software layer. He also mentions add-ons provided by Heroku, such as PGBouncer [3], along with his feature request for how Heroku can better serve Kajabi's large data needs.

    Links from this episode
    1. Sharing Query Results with Dataclips
    2. Lita.io chat bot
    3. Heroku buildpack: pgbouncer
    47 min
  • Ruby, Regexes and Risk: Aaron Patterson Explains Why Hiring Open Source Developers Will Make Your Company Stronger

    In this episode Aaron Patterson joins our own developer advocate Jonan Scheffler to discuss his experiences as an open source developer within GitHub, and explains how he manages to balance his work as a member of the Ruby and Rails core teams with his other responsibilities.

    Aaron is the only member of both the Ruby and Rails core teams, and he's been working with Rails since 2005 when his friends attended the No Fluff Just Stuff (NFJS) Pacific Northwest Software Symposium and heard Dave Thomas speak.(1)

    In discussing his path to becoming a Ruby developer, Aaron walks through his time working with Perl and Java, covering language regular expression engines (PCRE, Oniguruma, POSIX), the joy he felt in finding Ruby, and how falling in love with Ruby eventually forced him to become a C programmer.

    Later in the episode Aaron offers some advice to aspiring open source developers and discusses the future of Ruby, along with some features he would like to see around deep freezing data structures(2) and concurrency/parallelism(3).

    If you'd like to learn more about Ruby development and how you can contribute, please visit https://bugs.ruby-lang.org.

    Links from this episode
    1. Dave Thomas "Ruby on Rails" talk abstract from NFJS PNW Software Symposium
    2. Vaidehi Joshi explains frozen hashes in Ruby
    3. Rob Pike explains concurrency and parallelism at Waza 2012:
    33 min

About Code[ish]

From the publisher's feed

Code[ish] takes a closer look at the stories, tools, and people that make Heroku and our global developer community so exciting.