All Articles
June 11 2024
An API a Developer Can Love
Tithe.ly is built on numerous internal Application Programming Interfaces (APIs). These are the building blocks for our main application. Tithe.ly Integrations is primarily focused on getting Tithe.ly Giving data to external services. This requires my team to interface with internal and external APIs. We deal with both excellent and sub-par APIs. I’m going to share some of the things that make me love an API and why you should do it.
April 5 2024
Site Performance Tips
Over the past year, we’ve worked on building the new Giving Form to be highly performant and feature-rich. You probably just rolled your eyes, thinking, “Highly performant and feature-rich? Yeah, right.” Site performance absolutely gets worse as you scale. The more features you add, the harder it is to maintain optimal site performance.
February 19 2024
Lessons Learned in My First Year
I just wrapped up my second year as a developer, so I’m far from having fully arrived. (Check out My Story below if you’re curious about how I got here.) But with that said, I’ve been in it long enough to learn a few things along the way. The following are my top 6 lessons learned in my first year as a web developer at Tithely.
February 19 2024
Specifying APIs for the Future
In a recent project, our team was tasked with creating a new API. Many of the Tithe.ly engineering teams already had specifications for their internal APIs using OpenAPI. API specifications provide the contract between back-end API development and front-end API consumption. With this contract firmly in place, both back-end and front-end teams could work in parallel to provide the finished project.
February 12 2024
Greater readability using Ruby’s Variable-like Method Syntax
Prior to joining Tithe.ly, PHP had been my bread and butter for 14 years. Having solved a variety of problems with it, I came to see it as a capable language. Though it was capable, however, I never found it to be particularly readable. I strove to write readable code, but the language didn’t seem to be doing much to help.
February 6 2024
Caching and where it can go wrong
Rails Caching is a powerful tool to speed up your application. It works by caching the result and allowing the next request to skip the work of generating the result. This can be a huge performance boost, but it can also cause problems if not used correctly. For Sites, we use Fragment Caching, SQL Caching, and Low-Level Caching. We also have a few custom caching solutions that we use. In this post, we will go over how caching works, how to test caching, and some of the problems we have encountered.
September 14 2023
Lessons Learned as a Tech Lead for the Past 1.5 Years
For the last 1.5 years, I have been a Tech Lead for the Tithe.ly Integrations team. During that time there have been changes: someone has left the team, others have joined, projects have changed status, and priorities have shifted. In the ever-changing landscape of software development for a pseudo-startup like Tithe.ly, it can be difficult to lead well. I have learned a few things along the way that have helped me to be a better tech lead (I hope) and I think that these might help you, no matter what role or industry you’re in.
October 6 2021
Clear communication: the anxiety killer
When an individual or team of engineers have clear instructions and a laser focus on the project at hand, they can move swiftly and efficiently.
June 2 2021
Why We Do Cool Downs
As the CTO, I’ve been thinking through a lot of the processes we have here at Tithe.ly. Here is a post I shared with our Engineering team recently.
June 2 2021
Rails Dependency Licenses
We recently had to evaluate all of our repositories for dependency licenses that would potentially cause problems, e.g. mimemagic breaking Rails. It’s better to be proactive about these things, so we decided to do this during a recent coding cool down.