Tithe.ly Engineering

Articles from the engineers at Tithe.ly

Tithe.ly is the #1 church technology platform providing all the tools you need to run your church.

All Articles

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.

Continue Reading

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.

Continue Reading

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.

Continue Reading

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.

Continue Reading

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.

Continue Reading

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.

Continue Reading

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.

Continue Reading

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.

Continue Reading

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.

Continue Reading

GitHub Notification Tips

Recently, Tithe.ly has been formalizing our processes around GitHub and our pull request process. As a part of this, I shared some tips that I’ve applied to my personal GitHub (GH) workflow to make notifications actually useful. For purposes of this post, when I say Github Notifications, I’m talking about your personal notification inbox that you have available at https://github.com/notifications that you might not even know exists! We will only really talk about notifications in the context of one GitHub organization. However, you can apply these same principles to any other organization, personal repos, or other watched repos that you participate (or want to participate) in.

Continue Reading