A log of articles, blog posts, and podcasts, that I've read and listened to in recent month.
I liked the following podcast most:
What I didn't enjoy as much as I expected:
In this episode I talk with Tyler Williams, Software Engineer at Home Game Poker, about the contents of a blog post he recently wrote entitled Heuristics for Object-Oriented Design in Ruby. Tyler and I discuss some of the ideas in his blog post, most of which came from Sandi Metz's book Practical Object-Oriented Design in Ruby (POODR).
It's commonly accepted that it's better to deploy frequently than to only deploy once in a while. However, an obstacle to achieving this ideal is when you have a long-running feature that can't be released until it's all the way done. In this episode Matt Swanson and I talk about the solution to this problem: release toggles, also known as feature flags.
UX designer Lisa Baskett describes herself as empathic, impatient, pedantic, dedicated and curious, but there are a few adjectives I'd like to add: namely, brave, tenacious and strong. I believe you'll understand why in this episode of Making UX Work.
Barry O’Reilly of Black Tulip Technology discusses Antifragile Architecture, an approach for designing systems that actually improve in the face of complexity and disorder. Host Jeff Doolittle spoke with O’Reilly about the characteristics of antifragility and the nature of complexity in software systems and business environments. Various processes and practices were discussed for applying the principles of Antifragile Architecture.
Robby speaks with Hampton Lintorn Catlin, CEO at Veue. They discuss how to reframe technical updates as investments and lessons learned from collaborating in open source. Hampton also shares how why he avoids the phrase "technical debt", along with his first-hand story of how he helped invent the open-source projects Haml and Sass.
Robby speaks with Jeff Haynie, Co-Founder and CEO at Pinpoint. They discuss boundaries around APIs and contracts, useful and less-useful metrics for development teams to focus on, and more. Jeff also gives an introduction to Pinpoint's tooling for software development teams and stakeholders, and shares a story about how he had to reverse-engineer a proprietary application in under 24hours to keep the trains running on time.
In this episode of Ruby Rogues, the panelists discuss the progress, problems, and strategies for implementing JIT in Ruby for the Ruby 3×3 goal all while being humbled a bit as Takashi improves our understanding around the subject.
In this episode of Ruby Rogues, guest Jonathan Reinink joins the Rogues to talk about what Inertia.js is and why Rails developers would want to use it.
In this episode of Ruby Rogues, Eric Hayes joins us with the story of his journey into the dark, undocumented depths of Arel, ActiveRecord’s private API. We learn why writing custom SQL queries in 2020 can make sense and how to unlock the more powerful features of modern databases without resorting to SQL strings. Eric tells us how he manages the potential pitfalls of using Arel and achieves massive performance wins for difficult queries on large databases.
Dave Kimura starts the episode by defining asynchronous jobs; he and Andrew Mason discuss the differences between server side and client side asynchronous jobs. They discuss use cases and address scenarios for which asynchronous jobs can be used for. Dave answers Andrew’s questions about tools, gems, and libraries. Dave expresses his love for Active job and advocates for Gitlab. The panel discusses overuse and misuse of asynchronous jobs and times when it is better not to use this tool. Dave shares what he thinks makes a good microservice; he and Andrew discuss where people go wrong with microservices.
Leonardo Tegon is a software developer at Plataformatec, the company that created Devise. Leonardo talks about how he ended up at Plataformatec and shares a little bit about the talk he gave about alternative authentication methods. He talks about the difference between Devise and Warden. Some of the panelists have had some issues with cache warming in Warden, and Leonardo shares ways to get around it. They talk about authentication strategies used in Warden and Devise and different strategies that tap into hardware.
Leonardo talks about some of the features coming to Devise, although their primary focus is on maintenance. He talks about the work that goes into such a long-standing project, especially concerning maintaining the integrity of the code but also allowing for progress. They talk about some of their favorite features of Devise. Devise is easy to set up and very functional, but also intimidating. When a library is so big and does so much, it has to make some assumptions. Leonardo talks about how they decide what goes into the library at this point and how easy is it for new maintainers to contribute to the project. Leonardo ultimately wants to make it easier for people to jump in.
Paul Campillo is the director of brand and communications at Typeform, a SaaS platform that lets you create interactive forms, surveys, quizzes, and more. Paul was a social worker helping youth involved in the juvenile justice system and he was helping adults coming out of prison to find jobs. One day, the CEO of the non-profit where Paul worked told him that she'd heard about some software called Typeform which might be useful for them and asked if he could look into it.
Paul went to the Typeform website and thought the product looked pretty cool. He came across a job application form that was created in Typeform. Filling out the form seemed like a good way to play around with the product so he answered the questions and submitted the form. About a week later, he got an email from the head of HR at Typeform asking him if we could chat with their CEO about his job application. And eventually, he became Typeform's first marketing hire. In this interview, we talk about his journey from joining a startup in its early stages and seeing it grow into an 8-figure SaaS company with over 300 employees and $52M in funding.
Paul explains that whether you realize it or not, your startup is building a brand. And we dig into what exactly that means beyond how many people think of branding. We explore the importance of building a product people love, how to build deeper connections with customers and Paul shares a painful example of what happened at Typeform when they didn't pay enough attention to customers. We cover the fundamentals of storytelling, why it's so powerful, and how you can start using it to communicate with your customers in a more engaging way. And Paul shares a simple but powerful 5-part copywriting framework that you can use to market and sell your product.
I really enjoyed doing this interview. Paul is a real down to earth, no BS kind of guy. He shares some great ideas and insights in this interview and I'm sure you'll get a ton of value from listening to Paul.
Grant Deken is the co-founder and CEO of Unstack, a SaaS content marketing platform designed to help you rapidly build, measure, and scale your digital presence without writing code or hiring developers. In 2013, Grant co-founded an influencer marketing platform called Grapevine, which he eventually sold in 2019. During that time he worked with hundreds of advertisers and saw that a lot of them struggled when they had to quickly update their website or create a landing page. That got him thinking about what the ideal content management platform might look like. And he started having conversations with other founders about what they were doing to build out and manage their web presence.
Eventually, he realized that there was a market for the type of product he'd been thinking about. So he basically pre-sold the idea to a few people and then spent the next few months building the first version of Unstack. He and his co-founder Steve charged for the product from the day they launched. And they were able to find their first 10 customers through their existing relationships. But getting to their first 100 customers was much more challenging. In this interview we talk about:
We also talk about some of the mistakes that the co-founders made and what Grant wishes that they had done differently.
Mark Tanner is the co-founder and COO of Qwilr, a SaaS product that helps you create design-perfect proposals, quotes, client updates, and more. This story starts in 2013 with a designer/developer named Dylan. He was running a micro-agency and found himself wasting a lot of time creating proposals. Like any self-respecting designer, he wanted to create beautiful proposals. But that meant a lot of work and back-and-forth using Word, Excel, and Adobe InDesign.
One day, out of frustration, he created a website as his proposal doc. Not only did he get hired, but the client loved the website proposal and was impressed by how quickly he'd built a website for them. And that's how the idea for Qwilr was born. Dylan and Mark teamed up and decided to give this business idea a try for a couple of months. They wanted to learn if they could find their first 10 customers.
In this interview, you'll learn how they turned that 2-month experiment into a business with 45 employees, $7.5M in funding, and around 3,000 customers. We also talk in-depth about the pros and cons of a freemium business model. And you'll learn about the mistakes, failures, and successes that Qwilr had with their freemium plans. We also identify some important considerations you have to make before choosing a freemium model and how you can avoid making some of the same mistakes Dylan and Mark did.
Sabba Keynejad is the co-founder of Veed.io, a UK based SaaS startup that provides a simple online video editing platform. I originally interviewed Sabba about 9 months ago on episode 241 where we talked about how he and his co-founder Tim had struggled to get their SaaS business off the ground.
They weren't able to raise funding so had to work contract jobs during the day and on their startup in the evenings and weekends. They made it to the final YC interviews, flew out to the US but were rejected because they weren't making any money. And a few months later they were on the brink of shutting down with just about one month's runway left.
In episode 241 we talked about how Sabba and Tim dealt with each failure and kept going. And at the time the founders had managed to start generating about $10K in MRR. Recently I was in touch with Sabba and discovered in the last 9 months, they've grown their SaaS business from just over $100K to over $2 million in ARR. So obviously I wanted Sabba to come back on the show and talk about how they've been able to grow their bootstrapped business so fast in less than a year.
We talk about the importance of building a great product, how to decide on the right features to build, creating a frictionless experience, the specific growth tactics that helped them grow faster, and one critical ingredient that you must have to make everything else work.
There’s a perception that web development using Ruby on Rails has already peaked, with more damning critics shouting that “Rails is a dying language.” Conversely, Python, and Django by extension, seem to be ever-increasing in popularity. Today we’ve set up a grudge match — it’s Django versus Rails, with the winner declared the better language. We open our conversation by exploring perceptions of Rails and Django, along with why Python’s many libraries give it a leading edge.
Tori Huang, software engineer at Gusto, and her team recently embarked on a journey toward unbundling part of Gusto’s monolithic Ruby on Rails app. She and Brittany discuss knowing when to uncouple a service and how to identify orphan code.
Ruby is more than Rails. Brittany welcomed Piotr Solnica, Senior Ruby Backend Engineer at Castle.io and creator of ROM.rb and dry-rb core team member to the show to discuss his new job, OSS contributions and why he left Rails.
What is service design, and how does it relate to UX?
Presentations are everywhere: we use them for talks, webinars, investor meetings, and many other occasions. Today our guest is Payman Taei, the founder of Visme. You’ll learn the story behind their tool, what makes a good presentation, how to translate your ideas into visuals, and what mistakes to avoid.
Adam and Jack discuss how it sucks when you're forced to change billing platforms, and embark upon a deep dive on the merits of Adam's favorite solutions. We also talk about Jack's recent Radical Icon launch and promotional strategy regrets, which thankfully has a bit of a silver lining, and in Statamic news – the W3C drops WordPress and narrows their next CMS choice down to Statamic and Craft.