What is Inclusive Design and Why Should I Care?
Intro to this Series Back in 2018 when I started my first job as a developer, I talked to a mentor about wanting to learn more about inclusive web design. His response was a disinterested: "Oh. That's...
View ArticleThree Equitable Design Considerations
Table of Contents: What is Equitable Design? Forms & Feedback: Are we turning a form into a barrier? Data Collection: Are we making assumptions about what data we need or how we should gather and...
View ArticleThree Web Accessibility Considerations
Table of Contents: What is Web Accessibility? Assistive Technologies for Web Accessibility: What's out there, and how is it used? Accessibility Through Design: Are we working with clarity and...
View ArticleBuilding a Calendar with Carbon
Have you ever wanted to create a custom calendar in your PHP code but weren’t sure how to approach it? How do you structure it? How do you consider the differences in the length of each month? How do...
View ArticleIntro to Terminable Middleware
This post assumes basic familiarity with Laravel’s request lifecycle and middleware. Creating and interacting with middleware is a common task for Laravel developers. You’re probably familiar with...
View ArticleTraditional Staff Augmentation Doesn’t Work. There’s A Better Way to Add Dev...
When companies decide they need to temporarily increase the capacity or speed of their software teams, they often reach for an arrangement called staff augmentation. And why not? It appears to be a...
View ArticleRequest-Level Validation
When we’re building web apps, one of our most common workflows is code that collects and validates user input. Laravel provides an rich suite of tooling for validating user input—for example, form...
View ArticleKill Switches: Interrupting Long-Running Processes
A kill switch—sometimes known as a “Dead Man’s Switch”—is a type of safety mechanism common in machinery that interrupts a process in the event of an emergency. For example, if a person operating a...
View ArticleTurn Your Boss from Enemy to Ally in Your Battle Against Technical Debt
The constant feeling of pressure to develop features as fast as humanly possible should be familiar to anyone who has managed a software team. It comes from the culture we work in, from within...
View ArticleAnnouncing Duster, a Code Linter and Fixer for Laravel
At Tighten, we’ve long believed that individual programmers shouldn’t waste their time worrying about code formatting. Early in our history, Tighten alum Adam Wathan saw Matt wasting time reviewing...
View ArticleAutomated Refactoring With Rector
Imagine that you are instructing an apprentice or junior programmer to go through your entire codebase, upgrade it to the latest version of PHP, and refactor the code to follow some pretty well laid...
View ArticleBuilding a Web App for Your Nonprofit Without an Internal Team?: Keep These...
So you want to build a web app? For nonprofits without internal dev teams, there are special considerations that make both the process of choosing a development team and the development process itself...
View ArticleHow We Help Our Developers Get More Done in 4 Days Than Most Do in 5
It’s common in the industry to see developers treated as fungible resources—as if you can swap one out for another with no impact. But humans aren’t fungible! Each person you work with has a unique...
View Article10 Tips for Facilitating a Project Retrospective
Okay, so your project has ended. You did it. It’s been merged in! Pushed up to production, and shipped out to the real world. The client is happy, and the team can finally relax and wipe the sweat...
View ArticleEncapsulating Polymorphism
Programmers aiming for simple, concise code often work to remove conditionals. But when we’re programming complex business logic and edge cases, especially when that logic interacts with varied...
View ArticleHow to Choose the Right Software Development Agency
The hardest part of building a web app for your nonprofit organization can be the first step: figuring out who is going to build it. There are a few routes you can take: build out your own robust team...
View ArticleThe Most Successful Software Projects Have One Thing In Common: A Clear...
Most software projects fail. There are plenty of reasons (excuses?) as to why this is the case. The most common predictor of failure in software projects is a lack of alignment between the development...
View ArticleFive Ways Automated Testing Catches Issues Humans Can’t
At Tighten, we write custom web applications. And, like all software, they sometimes have bugs, glitches, and unexpected behavior. Programmers, technical leads, and project managers always test our...
View ArticleWhat Makes A Code Audit Effective?
At certain points in the evolution of any software, it’s important to get a set of expert eyes on its codebase. Maybe you’re a founder and you built this app as you were learning to code, and you’ve...
View ArticleWhy Agility–not Agile–is the Best Tool for Project Management
As you search for a development partner to bring your company’s application to life, it’s important to evaluate not just a potential partner’s ability to code, but their ability to run and deliver...
View Article