Full Circle Research

back arrowBack to projects

Description

Another project as a Stackbuilders consultant. First time working on a production application using Haskell. Work was developing new features for the application (mostly security / bot detection related). The application and business logic was quite complex but over time I managed to get a good grasp on the programming language and (most) of the business logic.

Challenges

  • The application had a lot of complex business rules, so a lot of back and forth was required with the product owners to flesh out expected behaviours of new features.
  • Massive amounts of data (Millions of rows for multiple tables). I had to be careful when developing queries so as not to reduce application performance.
  • Small team for an evolving, complex application made tackling tech debt quite the challenge.
  • Lots of integrations with 3rd party services, so communication with external teams was quite common.

Lessons

  • Automated tests were invaluable, helped us spot when we broke old features while developing new ones.
  • Spotting slow queries using the query planner tools of the DBMS and optimizing via indexes.
  • Application reporting made me realize the importance of data warehouses for both developers and business owners.
  • Flexibility. Priorities would change frequently so I learned to be quite flexible and adaptable.