<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>Factorial Labs</title>
        <link>https://labs.factorialhr.com</link>
        <description>A sneak peek into the minds at Factorial and how we keep it all moving</description>
        <lastBuildDate>Wed, 11 Mar 2026 14:20:45 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>2025 Factorial HR</copyright>
        <item>
            <title><![CDATA[Scaling background job system]]></title>
            <link>https://labs.factorialhr.com/posts/scaling-background-job-system</link>
            <guid>scaling-background-job-system</guid>
            <pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Answering UX concerns in a background job system]]></description>
        </item>
        <item>
            <title><![CDATA[The Art of Code]]></title>
            <link>https://labs.factorialhr.com/posts/the-art-of-code</link>
            <guid>the-art-of-code</guid>
            <pubDate>Mon, 11 Aug 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[It’s about the beauty in structure, the elegance in problem-solving, and the human touch behind every line of code.]]></description>
        </item>
        <item>
            <title><![CDATA[The Omelette Guru]]></title>
            <link>https://labs.factorialhr.com/posts/the-omelette-guru</link>
            <guid>the-omelette-guru</guid>
            <pubDate>Sun, 11 May 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Two paths to mastery: one spreadsheet, one spatula, both chasing the perfect omelette.]]></description>
        </item>
        <item>
            <title><![CDATA[Optimize for Inspiration]]></title>
            <link>https://labs.factorialhr.com/posts/optimize-for-inspiration</link>
            <guid>optimize-for-inspiration</guid>
            <pubDate>Mon, 22 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Is your team inspired or uninspired? Learn about their traits and what to do about them.]]></description>
        </item>
        <item>
            <title><![CDATA[Engineering Lessons From Football: Scoring Goals in the Game of Collaboration]]></title>
            <link>https://labs.factorialhr.com/posts/engineering-lessons-from-football</link>
            <guid>engineering-lessons-from-football</guid>
            <pubDate>Mon, 18 Dec 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[A delve into the intersection of football dynamics and the world of engineering, drawing parallels that illuminate essential principles for effective teamwork and professional growth. Through vivid comparisons to football gameplay, we explore how strategies employed on the field align with collaborative approaches within engineering teams. From emphasizing the significance of teamwork over individual brilliance to tackling conflicts of ideas rather than personalities, each analogy unlocks invaluable lessons applicable to software development and team dynamics]]></description>
        </item>
        <item>
            <title><![CDATA[Revolutionizing My Retrospectives: How I Transformed My Process and Results]]></title>
            <link>https://labs.factorialhr.com/posts/revolutionizing-my-retrospectives</link>
            <guid>revolutionizing-my-retrospectives</guid>
            <pubDate>Mon, 01 May 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Factorial's frontend journey to Vite]]></title>
            <link>https://labs.factorialhr.com/posts/from-webpack-to-vite</link>
            <guid>from-webpack-to-vite</guid>
            <pubDate>Mon, 16 Jan 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Marc takes us on a journey from Factorial’s use of webpack, challenges faced, the investigation for a replacement, the solution proffered and the team’s adoption of this profferred solution. Get ready for a great ride!]]></description>
        </item>
        <item>
            <title><![CDATA[Belonging and the return of love.]]></title>
            <link>https://labs.factorialhr.com/posts/belonging-and-the-return-of-love</link>
            <guid>belonging-and-the-return-of-love</guid>
            <pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Employees are at their best when they feel that they belong in the organization. Belonging is vital to performance, innovation, and retention. Let’s delve deeper into this topic and why this is good for business.]]></description>
        </item>
        <item>
            <title><![CDATA[LeadDev Berlin wrap-up]]></title>
            <link>https://labs.factorialhr.com/posts/leaddev-berlin-2022</link>
            <guid>leaddev-berlin-2022</guid>
            <pubDate>Mon, 28 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Part of our team went to LeadDev Berlin 2022. This article is the highlights of the 2 days of the conference for Garance, through her favorite talks!]]></description>
        </item>
        <item>
            <title><![CDATA[Discoveries of a Junior software developer]]></title>
            <link>https://labs.factorialhr.com/posts/discoveries-of-a-junior-software-developer</link>
            <guid>discoveries-of-a-junior-software-developer</guid>
            <pubDate>Mon, 21 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Being a junior software developer on its own is an experience. Knowledge unfolds, and discoveries are made. Yara shares a personal experience that many junior developers can relate to.]]></description>
        </item>
        <item>
            <title><![CDATA[Business Intelligence as a service — a journey]]></title>
            <link>https://labs.factorialhr.com/posts/business-intelligence-as-a-service</link>
            <guid>business-intelligence-as-a-service</guid>
            <pubDate>Mon, 17 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Your customers call, and they want their data back. How can you give them access without compromising your release cycle, blowing up operations, or breaking the bank? In this article, you can learn about our journey through a couple of iterations, technical details, and all.]]></description>
        </item>
        <item>
            <title><![CDATA[How we merged our main repositories into a single monorepo]]></title>
            <link>https://labs.factorialhr.com/posts/how-we-merged-our-main-repositories-into-a-single-monorepo</link>
            <guid>how-we-merged-our-main-repositories-into-a-single-monorepo</guid>
            <pubDate>Mon, 19 Sep 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Get a detailed description of how we merged our main repositories into a single monorepo - the reasons, considerations, dos and don’ts, challenges, and wins.]]></description>
        </item>
        <item>
            <title><![CDATA[What are embeddings, really?]]></title>
            <link>https://labs.factorialhr.com/posts/what-are-embeddings-really</link>
            <guid>what-are-embeddings-really</guid>
            <pubDate>Mon, 15 Aug 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[How can AIs manipulate abstract concepts? In this article, we’ll develop our knowledge about embeddings, a powerful technique behind AIs today.]]></description>
        </item>
        <item>
            <title><![CDATA[How my 2-year-old daughter taught me a valuable Product-Management lesson]]></title>
            <link>https://labs.factorialhr.com/posts/product-management-lesson-from-daughter</link>
            <guid>product-management-lesson-from-daughter</guid>
            <pubDate>Mon, 08 Aug 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[A personal story about the nuances and subtle details we tend to overlook during communication/understanding, hence, making it ineffective, and how this relates to Product Management.]]></description>
        </item>
        <item>
            <title><![CDATA[Sneak Peek Behind the Scenes of MobX]]></title>
            <link>https://labs.factorialhr.com/posts/sneak-peek-behind-the-scenes-of-mobx</link>
            <guid>sneak-peek-behind-the-scenes-of-mobx</guid>
            <pubDate>Mon, 20 Jun 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[In the first three chapters of the MobX series, we have demonstrated how MobX works. However, in this chapter, we focus a little on how MobX works under the hood. What makes it tick you might say? How does MobX handle state changes internally?]]></description>
        </item>
        <item>
            <title><![CDATA[The N+1 Dilemma - Bullet or Prosopite?]]></title>
            <link>https://labs.factorialhr.com/posts/bullet-or-prosopite-for-nplus1</link>
            <guid>bullet-or-prosopite-for-nplus1</guid>
            <pubDate>Mon, 23 May 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Improving the performance of any Ruby application usually entails fixing N+1 queries. In this article, we’ll find out how well the Bullet and Prosopite gem perform in identifying the existence of these N+1 queries. ]]></description>
        </item>
        <item>
            <title><![CDATA[Async Action with MobX]]></title>
            <link>https://labs.factorialhr.com/posts/async-action-with-mobx</link>
            <guid>async-action-with-mobx</guid>
            <pubDate>Thu, 28 Apr 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[This article introduces the usage of asynchronous methods in mobx. Interacting with APIs is a major aspect of frontend development, hence the need for asynchronous calls. The article shows how async calls can be handled in mobx]]></description>
        </item>
        <item>
            <title><![CDATA[The epiphany: From Individual Contributor to Engineering Manager (and back)]]></title>
            <link>https://labs.factorialhr.com/posts/the-epiphany-from-individual-contributor-to-manager</link>
            <guid>the-epiphany-from-individual-contributor-to-manager</guid>
            <pubDate>Tue, 19 Apr 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[This article gives us insight into the path of an engineer in Factorial who went from an individual contributor position, to an Engineering manager, what helped him, what he learned, and what he took back as he transitioned back into the role of an individual contributor.]]></description>
        </item>
        <item>
            <title><![CDATA[Demystifying the JavaScript call stack]]></title>
            <link>https://labs.factorialhr.com/posts/demystifying-the-javascript-call-stack</link>
            <guid>demystifying-the-javascript-call-stack</guid>
            <pubDate>Mon, 04 Apr 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[At the most basic level, the call stack is a data structure that utilizes the Last in, First out(LIFO) principle to store and manage function invocations. This article would serve as a deep dive into how this piece of technology works in JavaScript.]]></description>
        </item>
        <item>
            <title><![CDATA[Hooks Considered Harmful]]></title>
            <link>https://labs.factorialhr.com/posts/hooks-considered-harmful</link>
            <guid>hooks-considered-harmful</guid>
            <pubDate>Mon, 21 Mar 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[React hooks changed radically how we build frontend applications allowing engineers to separate stateful logic from rendering. However, under a seemingly simple API there are some aspects of React hooks that are the source of bugs and performance issues. In this article, we will do a deep dive into the javascript internals to help us understand and overcome those pitfalls.]]></description>
        </item>
        <item>
            <title><![CDATA[Fast validation with A/B testing in Optimize]]></title>
            <link>https://labs.factorialhr.com/posts/fast-validation-with-ab-testing-in-optimize</link>
            <guid>fast-validation-with-ab-testing-in-optimize</guid>
            <pubDate>Mon, 14 Mar 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Fast iteration and validation are part of the day-to-day activities of Growth teams in Factorial. We need to activate levers of growth to boost our conversion rates through the whole funnel. For that reason, we use Google Optimize for A/B testing, so we can have fast validation and implement those changes that are likely to have a huge impact.]]></description>
        </item>
        <item>
            <title><![CDATA[Mobx Hooks]]></title>
            <link>https://labs.factorialhr.com/posts/react-state-management-with-mobx-pt2</link>
            <guid>react-state-management-with-mobx-pt2</guid>
            <pubDate>Mon, 07 Mar 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[With the introduction of hooks in React, there have been updates to the way components are written. MobX also leverages this with its hook APIs that give us a functional approach to the way application state is managed in react.]]></description>
        </item>
        <item>
            <title><![CDATA[Some months working in a utopia]]></title>
            <link>https://labs.factorialhr.com/posts/some-months-working-in-a-utopia</link>
            <guid>some-months-working-in-a-utopia</guid>
            <pubDate>Mon, 28 Feb 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Although, Factorial does not identify as an agile company, are its principles similar to that of the agile manifesto? Join Mario as he takes us on this journey of finding out.]]></description>
        </item>
        <item>
            <title><![CDATA[The Role of a Product Maker at Factorial]]></title>
            <link>https://labs.factorialhr.com/posts/the-role-of-a-product-maker-at-factorial</link>
            <guid>the-role-of-a-product-maker-at-factorial</guid>
            <pubDate>Mon, 21 Feb 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Take a ride with us as we introduce you to the Product maker role at Factorial, what it entails and why it exists.]]></description>
        </item>
        <item>
            <title><![CDATA[React State Management with MobX]]></title>
            <link>https://labs.factorialhr.com/posts/react-state-management-with-mobx-pt1</link>
            <guid>react-state-management-with-mobx-pt1</guid>
            <pubDate>Mon, 14 Feb 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[State management is one of the core building blocks of frontend development. This article introduces the use of MobX for state management in a React application.]]></description>
        </item>
        <item>
            <title><![CDATA[How we migrated 400K+ lines of code from Flow to TypeScript]]></title>
            <link>https://labs.factorialhr.com/posts/how-we-migrated-400k-lines-of-code-from-flow-to-typescript</link>
            <guid>how-we-migrated-400k-lines-of-code-from-flow-to-typescript</guid>
            <pubDate>Mon, 07 Feb 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Get a detailed description of how we migrated to TypeScript, the challenges faced and how they were surmounted in order to ensure a safe landing on the other side.]]></description>
        </item>
        <item>
            <title><![CDATA[Factorial’s Engineering Culture - A newbie’s perspective]]></title>
            <link>https://labs.factorialhr.com/posts/factorial-engineering-culture</link>
            <guid>factorial-engineering-culture</guid>
            <pubDate>Mon, 31 Jan 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Catch a glimpse of the engineering culture at Factorial. Learn more about how things are done and the impact this culture has had on the engineers over time.]]></description>
        </item>
        <item>
            <title><![CDATA[Don't create leftovers (DCL)]]></title>
            <link>https://labs.factorialhr.com/posts/dont-create-leftovers-dcl</link>
            <guid>dont-create-leftovers-dcl</guid>
            <pubDate>Thu, 26 Nov 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Improve the maintainability of your projects detecting this bad pattern in
your code.]]></description>
        </item>
        <item>
            <title><![CDATA[A trick with the Ruby documentation]]></title>
            <link>https://labs.factorialhr.com/posts/a-trick-with-the-ruby-documentation</link>
            <guid>a-trick-with-the-ruby-documentation</guid>
            <pubDate>Tue, 28 Jul 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Another post in the “Awesome Ruby tricks” series]]></description>
        </item>
        <item>
            <title><![CDATA[Why most developers fail their first tech interviews]]></title>
            <link>https://labs.factorialhr.com/posts/why-most-developers-fail-their-first-tech-interviews</link>
            <guid>why-most-developers-fail-their-first-tech-interviews</guid>
            <pubDate>Mon, 11 May 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[In this post, we will go over the developer recruitment process at Factorial, mostly as an excuse for me to explain what is it that makes so many entry-level candidates flop their interviews, and how you can avoid it.]]></description>
        </item>
        <item>
            <title><![CDATA[A set of programming aphorisms at Factorial]]></title>
            <link>https://labs.factorialhr.com/posts/a-set-of-programming-aphorisms-at-factorial</link>
            <guid>a-set-of-programming-aphorisms-at-factorial</guid>
            <pubDate>Wed, 15 Apr 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[At ,Factorial,, we maintain an engineering Handbook where we document aspects such as common abstractions, programming principles and documentation of our architecture.]]></description>
        </item>
        <item>
            <title><![CDATA[Some reasons to avoid Hashes in Ruby and some alternatives to them.]]></title>
            <link>https://labs.factorialhr.com/posts/some-reasons-to-avoid-hashes-in-ruby-and-some-alternatives-to-them</link>
            <guid>some-reasons-to-avoid-hashes-in-ruby-and-some-alternatives-to-them</guid>
            <pubDate>Mon, 16 Mar 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[So, hashes, uh?]]></description>
        </item>
        <item>
            <title><![CDATA[A handful of engineering principles at Factorial]]></title>
            <link>https://labs.factorialhr.com/posts/a-handful-of-engineering-principles-at-factorial</link>
            <guid>a-handful-of-engineering-principles-at-factorial</guid>
            <pubDate>Tue, 18 Feb 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Catch a glimpse of some of the Engineering principles adopted at Factorial and why these principles work]]></description>
        </item>
        <item>
            <title><![CDATA[A trick with Ruby anonymous classes]]></title>
            <link>https://labs.factorialhr.com/posts/a-trick-with-ruby-anonymous-classes</link>
            <guid>a-trick-with-ruby-anonymous-classes</guid>
            <pubDate>Fri, 14 Feb 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Since everything in Ruby is an object it is only normal that classes are objects too. Which means they just have regular constructors with initializers, as any other object would do.]]></description>
        </item>
        <item>
            <title><![CDATA[A trick with Ruby Hash.new]]></title>
            <link>https://labs.factorialhr.com/posts/a-trick-with-ruby-hash-new</link>
            <guid>a-trick-with-ruby-hash-new</guid>
            <pubDate>Wed, 12 Feb 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Hashes are used a lot in Ruby (sometimes even abused). However, they have a very interesting functionality that is rarely used. Find out more in this article.]]></description>
        </item>
        <item>
            <title><![CDATA[A trick with Ruby array literals]]></title>
            <link>https://labs.factorialhr.com/posts/a-trick-with-ruby-array-literals</link>
            <guid>a-trick-with-ruby-array-literals</guid>
            <pubDate>Mon, 10 Feb 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Learn how to save array elements as variables the same time you declare them and the scenarios in which this might come in handy.]]></description>
        </item>
    </channel>
</rss>