php[architect] logo

Want to check out an issue? Sign up to receive a special offer.

Cultivating the Developer Experience

February 2020

In the February 2020 issue, let’s focus on elevating the developer experience: efficient code reviews, trying out pair programming, and leveraging Open Source. On the technical side of things, we look at integration testing, TLS security, and GitHub actions.

Late to the Party, but Nailing It! A Journey into Pair Programming

By Jennifer Schrader

A coworker and I went on a journey together and tried out pair programming. There were challenges, learning curves, and fun times. Ultimately, the two of us became better programmers and dare I say, friends.

How to Speed up the Code Review

By Sergey Zhuk

The larger the pull-request you submit, the longer it takes to review, and the less valuable the review holds. Moreover, to spend several days on feedback, fixes, repeated reviews, approval, and merging is laborious and not very pleasant. How do we avoid such situations? How can we streamline reviewing our requests, allowing them to be more quickly merged?

How We Build Sulu CMS: 10 Tips for Creating an Excellent Developer Experience

By Daniel Rotter

“Yet another CMS? Are you crazy?” Back when we started Sulu, in 2013, the CMS market was crowded. We could have skipped building our own CMS in favor of using one of the others, but something was missing for us—a system with a great DX (Developer Experience). I want to share with you some of what we’ve learned along the way while doing just that.

Education Station: Integration and Functional Testing

By Chris Tankersley

Previously, we discussed unit testing and why it can be useful. Unit testing can help make sure the public-facing APIs for your classes are easier to understand. It helps map out the dependencies of your classes, and—more importantly—it helps ensure behavior does not change from release to release. Functional, or integration, testing allows you to put multiple systems together and validate how they interact.

The Workshop: GitHub Actions for Continuous Integration

By Joe Ferguson

Read Article PDF

Continuous Integration (CI), or the ongoing process of integrating changes in a shared version control repository, should be a goal of every project you work on. This month, we’re going to dive into configuring GitHub Actions to build and test our PHP application. Then we’ll look at a larger scale API, which also uses GitHub Actions for Continuous Integration. by Joe Ferguson

History and Computing: The Y2K Deadline

By Edward Barnard

Twenty years later, we’ve mostly forgotten Y2K. Nothing happened. However, there were years of effort behind the non-event. Corporate delay made the endeavor far more complicated because skills had not been passed along to the next generation. What was so difficult? I’ll show you, with a few lines of code from my piece of Y2K.

Security Corner: A Reintroduction to TLS

By Eric Mann

A mid-January warning from the US National Security Agency about a critical security flaw in how the Windows operating system validates cryptographic certificates. As these certificates underpin how TLS (transport layer security) protects the internet at large, it’s essential to understand both what happened and how your development team can avoid similar mistakes.

Community Corner: Greater Toronto Area PHP

By Eric Van Johnson

This month, in our little community corner, we travel back to Canada, Toronto, more specifically. This city sports a population of over 5.6 million people who speak over 180 languages and offices of some of technology’s heaviest hitters such as IBM, Microsoft, Oracle, Facebook, Twitter, and Google.

finally{}: Interview Introspection

By Eli White

Last month, I wrote about certifications and now would like to touch on a tangentially related topic: Interviews. Interviewing developers can be tricky. Unlike some other fields, people can learn enough about coding to make their way through a basic screening, leaving you hiring someone who doesn’t work out in the end.

Leave a comment

Use the form below to leave a comment: