<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Esther Olatunde</title>
    <link>https://estherolatunde.com/</link>
    <description>Recent content on Esther Olatunde</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <managingEditor>ea.olatunde@gmail.com (Esther Olatunde)</managingEditor>
    <webMaster>ea.olatunde@gmail.com (Esther Olatunde)</webMaster>
    <copyright>&amp;copy; &lt;a href=&#34;https://github.com/esteedqueen&#34;&gt;Esther Olatunde&lt;/a&gt;</copyright>
    <lastBuildDate>Mon, 13 Jul 2026 08:01:00 +0100</lastBuildDate><atom:link href="https://estherolatunde.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Evals Are What Let Me Flip the Flag</title>
      <link>https://estherolatunde.com/posts/18-evals-are-what-let-me-flip-the-flag/</link>
      <pubDate>Mon, 13 Jul 2026 08:01:00 +0100</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/18-evals-are-what-let-me-flip-the-flag/</guid>
      <description>There&amp;rsquo;s a specific kind of dread that shows up right before you change one line of config in production. In my case the line was a feature flag that decides which provider actually runs our LLM calls - the ones that read real customer documents and make decisions about them. Migrating to the new provider was the easy part. Weeks of code, sure, but code you can review. The scary part was the moment I&amp;rsquo;d set that flag to true and real traffic would start flowing through a model I hadn&amp;rsquo;t watched behave on real inputs yet.</description>
    </item>
    
    <item>
      <title>About Me</title>
      <link>https://estherolatunde.com/about/</link>
      <pubDate>Thu, 25 Jun 2026 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/about/</guid>
      <description>Hi, I&amp;rsquo;m Esther Olatunde, a software engineer and product-minded builder.
I started a company straight out of school (Tress, YC W17) and have been building ever since. The work I love most sits at the intersection of systems thinking, product instinct, and design sensibility. I care about the whole picture: how the system performs at 0 and at scale, how the user feels, and whether the thing we&amp;rsquo;re building actually matters.</description>
    </item>
    
    <item>
      <title>Remote Work Playbook</title>
      <link>https://estherolatunde.com/posts/17-remote-work-playbook/</link>
      <pubDate>Tue, 04 Jun 2019 07:22:04 +0100</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/17-remote-work-playbook/</guid>
      <description>(aka how to get your team started with remote work) A friend who runs a couple of businesses in Lagos, Nigeria recently asked me to document a guide on how to introduce remote work to his team and I wrote this up. They found it helpful so I thought I might as well share it with y&amp;rsquo;all as this applies to any business out there who is curious about remote work.</description>
    </item>
    
    <item>
      <title>Migrate Rails App From Heroku to AWS Elastic Beanstalk</title>
      <link>https://estherolatunde.com/posts/09-migrate-rails-app-from-heroku-to-aws-eb/</link>
      <pubDate>Sat, 01 Sep 2018 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/09-migrate-rails-app-from-heroku-to-aws-eb/</guid>
      <description>In this article, I will document the process of how I helped a small startup with tens of thousands of users and data migrate their Ruby on Rails application from Heroku to AWS Elastic Beanstalk with no loss of data and service.
The application I migrated was a typical production Rails stack: Ruby on Rails backend/API (production and staging environments with Android, iOS and web clients), PostgreSQL database, Sidekiq for processing background jobs, Redis Cluster, AWS S3, A couple of Node microservices and custom domain names with wildcard SSL certificate.</description>
    </item>
    
    <item>
      <title>Why Did You Decide to Learn Rails?</title>
      <link>https://estherolatunde.com/posts/08-why-did-you-decide-to-learn-rails/</link>
      <pubDate>Thu, 16 Aug 2018 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/08-why-did-you-decide-to-learn-rails/</guid>
      <description>Ruby was the first language that I truly enjoyed after struggling to learn Java using the Head First Java book, building web pages with a bunch of PHP scripts and attempting to build an airplane ops application with Laravel.
I had lots of haha, light bulb moments when I was learning Ruby. A lot of things became crystal clear and I could finally explain code to a 5 year old.</description>
    </item>
    
    <item>
      <title>How to handle address already in use error</title>
      <link>https://estherolatunde.com/posts/10-til-address-in-use/</link>
      <pubDate>Tue, 31 Jul 2018 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/10-til-address-in-use/</guid>
      <description> </description>
    </item>
    
    <item>
      <title>How to access Rails console in a docker container</title>
      <link>https://estherolatunde.com/posts/11-rails-console-docker/</link>
      <pubDate>Thu, 05 Jul 2018 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/11-rails-console-docker/</guid>
      <description> </description>
    </item>
    
    <item>
      <title>Uses This Interview</title>
      <link>https://estherolatunde.com/posts/07-uses-this-interview/</link>
      <pubDate>Thu, 21 Jun 2018 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/07-uses-this-interview/</guid>
      <description>What hardware I use?
I use a pretty simple and old MacBook Pro (Retina, 13-inch, Early 2015) for my day to day programming. I also have an HP Pavillon 15-inch with Linux Ubuntu OS as my secondary laptop, 2 1TB hard drives and a Google Home device
What software do I use?
For development, I use a mix of Sublime Text, iTerm, Bash, Tmux and Vim. I recently download VS Code to check out what the hype was about but it didn&amp;rsquo;t stick (probably because I was lazy to try something new).</description>
    </item>
    
    <item>
      <title>How to fix rbenv: version `x.x.x` is not installed</title>
      <link>https://estherolatunde.com/posts/12-fix-rbenv/</link>
      <pubDate>Thu, 31 May 2018 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/12-fix-rbenv/</guid>
      <description> </description>
    </item>
    
    <item>
      <title>What are your first steps when looking at a new codebase?</title>
      <link>https://estherolatunde.com/posts/06-first-steps-on-a-codebase/</link>
      <pubDate>Wed, 22 Nov 2017 00:33:22 +0100</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/06-first-steps-on-a-codebase/</guid>
      <description>When looking at a new codebase, the first thing I look out for is the docs for getting set up. If none exists, I ping the contact person to find out how to get set up. It’s important to always document what worked/didn’t work for me while getting setup because sometimes, even on a repo with documentation, the original developer(s) may have missed documenting a key component because they were writing the doc with loads of context and local libraries/packages that a developer new to the codebase might not have.</description>
    </item>
    
    <item>
      <title>How I Prioritise What To Learn</title>
      <link>https://estherolatunde.com/posts/05-what-to-learn/</link>
      <pubDate>Fri, 17 Nov 2017 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/05-what-to-learn/</guid>
      <description>One of the reasons why I love tech is because it&amp;rsquo;s an ever-evolving industry where there&amp;rsquo;s always something new to learn. There&amp;rsquo;s always an old or shiny new concept or knowledgebase to explore. This makes it fun for me but it can also get a bit overwhelming if not managed well.
I like that at Happy Bear we have a culture of asking each other what we want to learn next for self-development.</description>
    </item>
    
    <item>
      <title>What are some good and bad things about working remotely?</title>
      <link>https://estherolatunde.com/posts/04-working-remotely/</link>
      <pubDate>Tue, 31 Oct 2017 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/04-working-remotely/</guid>
      <description>I love remote work because it allows me to optimize my daily work routine for when I’m most productive.
I also like how the focus of remote work is much more about the work you’re able to produce than anything else - so it&amp;rsquo;s quite effective.
I love the freedom and control remote work gives. It’s quite exciting that with a very good internet connection, a laptop and a workspace that&amp;rsquo;s convenient for you, you can be a functioning part of an organization.</description>
    </item>
    
    <item>
      <title>How Do You Stay Productive as a Developer</title>
      <link>https://estherolatunde.com/posts/03-how-do-you-stay-productive/</link>
      <pubDate>Tue, 17 Oct 2017 23:25:42 +0100</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/03-how-do-you-stay-productive/</guid>
      <description>Here&amp;rsquo;s my answer to &amp;ldquo;How do you stay productive as a developer?&amp;rdquo;, this one is definitely more than 300 words :)
I’m one of those people with lists of goals for the year, month, 5 years plan, etc. I started this habit at 16 on pen and paper. Of course, when life happens, I always question why I still write down my plans/goals? :facepalm: I think I need to do that to have a sense of direction, some sort of control - otherwise, I’d be a complete mess.</description>
    </item>
    
    <item>
      <title>How I Learned About Testing</title>
      <link>https://estherolatunde.com/posts/02-how-i-learned-about-testing/</link>
      <pubDate>Mon, 02 Oct 2017 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/02-how-i-learned-about-testing/</guid>
      <description>At Happy Bear Software, we have this writing series where each member on the team is asked a question and we write down our answers in approx 300words.
I really love the question prompts and my answers so I thought that I might as well share them here. Here&amp;rsquo;s my answer to &amp;ldquo;How I learned testing&amp;rdquo;:
The first time I was taught testing was in a class. It really didn&amp;rsquo;t make much sense to me because I didn&amp;rsquo;t get why I needed to write a bunch of code before I write the actual code.</description>
    </item>
    
    <item>
      <title>How to dump production PG database into development PG database</title>
      <link>https://estherolatunde.com/posts/13-dump-pg-data-from-heroku/</link>
      <pubDate>Thu, 21 Sep 2017 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/13-dump-pg-data-from-heroku/</guid>
      <description> </description>
    </item>
    
    <item>
      <title>Logging the page content in Rspec Capybara tests in Rails</title>
      <link>https://estherolatunde.com/posts/14-logging-capybara-page-content/</link>
      <pubDate>Sun, 13 Aug 2017 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/14-logging-capybara-page-content/</guid>
      <description> </description>
    </item>
    
    <item>
      <title>Introducing jq - pretty print JSON</title>
      <link>https://estherolatunde.com/posts/15-jq-pretty-print-json/</link>
      <pubDate>Sun, 21 May 2017 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/15-jq-pretty-print-json/</guid>
      <description> </description>
    </item>
    
    <item>
      <title>Managing keys for pushing to multiple heroku accounts</title>
      <link>https://estherolatunde.com/posts/16-multiple-heroku-accounts/</link>
      <pubDate>Tue, 16 May 2017 00:00:00 +0000</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/16-multiple-heroku-accounts/</guid>
      <description>For convenience when you manage multiple applications from multiple Heroku accounts, so you won&amp;rsquo;t have to login on the terminal to switch between multiple accounts whenever you have to make deployments.</description>
    </item>
    
    <item>
      <title>Background Jobs with Sidekiq</title>
      <link>https://estherolatunde.com/posts/01-background-jobs-sidekiq/</link>
      <pubDate>Tue, 02 May 2017 19:41:23 +0100</pubDate>
      <author>ea.olatunde@gmail.com (Esther Olatunde)</author>
      <guid>https://estherolatunde.com/posts/01-background-jobs-sidekiq/</guid>
      <description>Background jobs in rails applications make our development lives easier.
We rely on them for a lot of things - common use cases include sending emails, push notifications, processing 3rd party API interactions, transactions and long-running requests that tie up server resources.
In a typical production app, there&amp;rsquo;s a possibility of processing hundreds of jobs per second under normal circumstances and thousands depending on the number of users and campaign(s) going on.</description>
    </item>
    
  </channel>
</rss>
