Sarah Savage logo

A fusion of development and business

Microservices may be dangerous for your team

Last week, Zend by Perforce wrote a blog post about when and how to migrate from a monolithic application to a microservices architecture. For those that haven’t read the post, the TL;DR is that as your application grows, it makes sense to migrate to microservices in order to streamline development. I find this advice to be dangerous, for a number of reasons. Microservices as architecture Microservices were never meant as a purely architectural pattern; rather,… continue reading.

Coding tests as an interview smell

Recently I had an opportunity to interview with a company that I really respected. Normally I wouldn’t consider taking any kind of role or gig (as I run a small business), but the problem space was particularly interesting and the company seemed progressive and unique. But then came the coding test. And I bombed. Hard. It might surprise people that an engineer of my caliber would “fail” a coding test. After all, I have extensive… continue reading.

Productivity tools I use to stay on track

As a busy business owner and software consultant who has numerous projects on tap at any given time, I’m always working hard to stay on task and focus on what needs doing, at the time it needs to be done. Over the years I have developed a routine that I use to map out exactly what my days will look like, complete with checklists, to-do items, calendars and time blocks. I wanted to share some… continue reading.

Is there a place for manual testing in software development?

Anyone who has read my work knows that I’m a huge fan of automated testing. I’ve preached automated testing ever since Chris Hartjes (Grumpy Programmer) wrote about it years ago. He converted me, and I have been a dutiful, loyal apostle of the “test everything” movement for years. Similarly, I’ve long been a faithful proponent of code review to catch bugs and improve development processes. But what happens when automated testing and code review fall… continue reading.

Makefiles make life easier

Web developers have long sought ways to make their projects easier to run, maintain and work with. From console apps like Composer and Artisan to custom implementations using things like Symfony Console, there’s a myriad of development tools aimed at running commonly needed commands like resetting a database or seeding information. All of these tools, however, depend on a common set of things: the presence of PHP on the system OR access to a system… continue reading.

The joy in the dirty jobs

Everybody loves to make software that is glamorous, beautiful, and amazing. But very few people like doing the grunt work that it takes to get there. Work like devops, deployment, CI/CD pipeline management, project management, and more is required for every project to succeed. Being able to dive deep into the bowels of a framework or package, uncover why the pipeline is failing every so often, or determining the best way to deploy an application… continue reading.

Backups matter.

It’s 4 am and your servers are down. Your infrastructure provider is having a major outage with no estimated restore time, and your entire application is offline. You’re scrambling, because in two hours your customers come online and will flood support with complaints and questions. The decision is made – let’s stand up a backup infrastructure. And then you ask yourself the question: Do you know where your backups even are? If your backups are… continue reading.