Litmus logo
Blog
Our Teams
  • Applications
  • Infrastructure
  • Site Reliability
  • Support
Culture Careers
Team Name 1 Team Name 2 Team Name 3 Team Name 4
  • Jan 6, 2023

    Integers in Crystal

    DALL·E's interpretation of crystal integers

    Another blog post on the journey of discovering the differences between Ruby and Crystal. This time, we’re taking a look at some of the differences with integers.

    Read more...

  • Dec 8, 2022

    Dipping into Crystal

    DALL·E's interpretation of Christmas trees made entirely of black crystals

    For this year’s Advent of Code, I decided to have a shot at completing excercises I attempt only using Crystal – a compiled, statically-typed language. Yet, inspired by Ruby.

    Read more...

  • Oct 3, 2022

    An adventure in serialization

    DALL·E's interpretation of blue green rails cerealization

    A cautionary tale debugging the strange behaviour of a Rails upgrade during a blue-green deployment.

    Read more...

  • Jun 21, 2022

    Engineers Need Rubber Ducks

    Rubber ducks are foundational to a well-functioning development ecosystem. Without them, software developers wouldn’t know how to explain what they were doing.

    But “rubber ducks” aren’t always plastic waterfowl. Let’s chat about them, where they show up, and why they’re awesome.

    giant-duck

    Read more...

  • Sep 1, 2021

    Getting to Know the Litmus Slack Interview

    Litmus Slack Interview

    For the past few years, a Slack meet and greet has kicked off the interview process for the Litmus Applications Engineering Team. With a fully remote and largely asynchronous team, Slack is our primary mode of day to day communication. We designed our interview process with the intent of giving applicants as much insight as possible into what the role will entail and that’s why we included a Slack chat.

    Read more...

  • Mar 25, 2021

    Meet the Team: Emily Skitek

    Emily Skitek

    This post is part of our “Meet the Team” series where we chat with members of the engineering team and take a brief look into their lives inside and outside of Litmus.

    Read more...

  • Feb 24, 2021

    Planning a virtual retreat (that is almost as good as an in-person one)

    Litmus Engineering Retreat 2020

    For the past few years, our engineering department has gotten together in-person for a week-long departmental retreat. These retreats are extra special for our mostly remote group—a rare opportunity to connect in a different way with teammates we don’t regularly work with. As 2020 progressed, we realized in-person was just not a possibility. Plan B was to create a remote retreat that could somehow capture a little bit of the camaraderie and respite we had been looking forward to.

    What we learned was: take the time to listen to your team and get them involved early and often. In the end, what makes it special is all of us coming together with our collective talents and feeling like we’re able to both contribute and gain something, which you don’t necessarily have to be in-person to accomplish.

    If you’re looking to plan your own virtual retreat, here’s our top tips for every step of the way:

    Read more...

  • Dec 15, 2020

    Meet the Team: Teresa Tarn

    Teresa Tarn

    This post is part of our “Meet the Team” series where we chat with members of the engineering team and take a brief look into their lives inside and outside of Litmus.

    Read more...

  • Dec 2, 2020

    The Desks of Litmus Engineering

    Our engineering team has been fully remote for quite some time now, even before the pandemic hit. This is a glimpse into what some of our team’s home desk setups look like!

    Read more...

  • Nov 13, 2020

    The Anatomy of a Customer Response

    In 2019, we made the decision to align Customer Support and Engineering. This alignment works to strengthen the feedback loop in several ways. Firstly, it ensures that the team building and maintaining our platform is as close to the customer as possible. Additionally, our support team benefits from working adjacent to engineers. We now have a clear pipeline for escalation, as well as a deeper understanding of the product that we can then translate back to our customers. There’s a lot to unpack from this alignment in terms of benefits, as well as areas we can improve upon, but in today’s post we’re focusing on the very start of the feedback loop—the customer touchpoint.

    Read on to learn more about what a typical customer touchpoint looks like in support. We’ll dive deeper into what we pay attention to, how we take care of the customer, and finally, what feedback we extract and bring back to Product and Engineering for improvement.

    Read more...

  • Nov 13, 2020

    Testing Private Methods

    In any codebase there are places that are that bit harder to test. If you are testing after the fact, and trying to cover as much code as possible, testing private methods can be a very appealing tool.

    TL;DR

    ✅  Always test through the public interface of an object.

    ❌  Never test private methods directly.

    Read more...

  • Nov 12, 2020

    Meet the Team: Allie Sperry

    Allie Sperry

    This post is part of our “Meet the Team” series where we chat with members of the engineering team and take a brief look into their lives inside and outside of Litmus.

    Read more...

  • Nov 12, 2020

    Extract Scope: where should the code live?

    In Rails, accessing specific records from the database can at times become unnecessarily complex.

    The complexity is compounded when this code is jammed in the middle of an already bloated controller action. Naturally this has a knock on effect on the complexity of testing the new functionality.

    Read more...

  • Nov 12, 2020

    Pruning Deadwood

    Software developers generally lean on principles and techniques when creating or modifying software. Some of these are design principles, like the SOLID principles. Others might be process or techniques like test-driven development, or pair programming. Ultimately, why we follow these principles and methods is to create better, more maintainable software with as few defects as possible. Helping us make our code more reliable, and easier to grok and change in the future.

    Read more...

  • Nov 10, 2020

    Boundary Testing

    Motivation: Avoid issues in boolean methods due to wide ranging test data or not enough test cases.

    Let’s take an example of a boolean / question method, goal_achieved?

    Read more...

Litmus logo Blog
Our Teams
  • Applications
  • Infrastructure
  • Site Reliability
  • Support
Culture Careers