PHPNews

User Experience Matters

User experience matters. Nowhere is this clearer than in the case of the accidental missile launch warning that was sent to all of Hawaii. Here’s a copy of the the actual screen that was used by technicians to send out alerts of various types: It is easy to mock the technician who sent out the […] The post User …

Continue reading »

Written by Brandon Savage - - Aggregated on Wednesday February 7, 2018


Getting past project inertia

Whenever I am ready to start a new project, I usually sit down and start thinking about the tasks that need to be completed. And I start wondering which tasks I should complete first, second, third, etc. What often ends up happening is that I end up with such a long list of things that […] The post Getting past …

Continue reading »

Written by Brandon Savage - - Aggregated on Tuesday January 23, 2018


Don’t write useless unit tests

The other day I came across the following code in a project: And the following was a unit test written to test this bit of code: Note that I have omitted the rest of the User class, as well as the Users array that is returned in the test. This test will in fact provide […] The post Don’t write useless unit tests …

Continue reading »

Written by Brandon Savage - - Aggregated on Tuesday January 16, 2018


What version of PHP should my package support?

Everybody likes “the new hotness.” Everyone loves a new car, or a new computer, or the state-of-the-art video gaming console. It’s why people camp out for days to get their hands on a new iPhone, when they could just buy one the next week off the shelf. People love to have the hot thing, right […] The post What …

Continue reading »

Written by Brandon Savage - - Aggregated on Tuesday January 9, 2018


Resolutions

For many, the beginning of a new year heralds an opportunity for improvement in our life through the creation of new year’s resolutions. Even though January 1 is an arbitrary date (and we are able to make change anytime we see fit), the roundness of a new year’s start brings about the will to initiate […] The post …

Continue reading »

Written by Brandon Savage - - Aggregated on Monday January 1, 2018


On PHP’s Best Practices

When it comes to best practices, there’s always a healthy debate, and that’s never more true than in the PHP community. The “best practices” that have been written about, agreed upon and talked about don’t exist out of thin air, but are hard-won knowledge derived from experience, plus a little bit of not following …

Continue reading »

Written by Brandon Savage - - Aggregated on Friday July 7, 2017


Help! My team is full of junior programmers!

Hiring is perhaps the most challenging thing that any manager can ever do. Getting it right is half skill, half luck. Making a good decision on a candidate can be the difference between moving the project forward and setting it back. So what happens when you’re hoping to hire mid-level or senior engineers, and you […] …

Continue reading »

Written by Brandon Savage - - Aggregated on Tuesday April 11, 2017


Is isolated testing dead?

Recently there’s been a great deal of discussion as to the merits of isolated testing versus integration and acceptance testing. Some proponents argue that integration testing far outweighs the value of isolated testing. While this is a perfectly valid position, I feel oversimplifies the complexity of testing in the …

Continue reading »

Written by Brandon Savage - - Aggregated on Tuesday April 4, 2017


The Software Dilemma

Any time software and business come together, there is an inherent conflict between “get it done fast” and “do a good job”. This conflict often comes to a head when deadlines are missed, whether through unrealistic expectation or underestimation on the part of the developers. The dilemma between quantity, speed and …

Continue reading »

Written by Brandon Savage - - Aggregated on Tuesday August 23, 2016


Book Review: Refactoring to Collections

Note: I received a free review copy with the promise to write a review. However, this review is my own review and reflects my viewpoints alone. What is wrong with this code sample? We’ve all written code that looks just like this. In fact, for many of us this is a default way of coding. […] The post Book Review: …

Continue reading »

Written by Brandon Savage - - Aggregated on Tuesday June 14, 2016


Model Design: Separation Of Concerns

The modern web has largely settled on Model-View-Controller (MVC) as the paradigm of choice. Though it may ultimately be described by different names, these components are the core of what makes most object-oriented web applications work. And most people know that the model is the most important element of the …

Continue reading »

Written by Brandon Savage - - Aggregated on Wednesday March 9, 2016


You (probably) don’t need to test that

Like many mentors, instilling best practices is an important part of what I do. And I encourage my mentees to follow best practices, including testing. For example, I encourage them that code isn’t done until it’s been properly tested, and that the higher the test coverage, the better the outcome overall. Yet even as …

Continue reading »

Written by Brandon Savage - - Aggregated on Wednesday February 17, 2016


The Parable Of The Piñata

Three engineers were standing around chatting at a children’s birthday party. The host approached them and asked, “can you help me hang this piñata somewhere in the house for the children to hit?” The engineers agreed, and set off to figure out the best approach to the problem. The most junior engineer was young and …

Continue reading »

Written by Brandon Savage - - Aggregated on Tuesday January 5, 2016


Earning more money as a PHP freelancer

Occasionally folks will ask me, “what does it take for me to earn more money as a freelancer?” They want to know if I have a magic bullet, or if I’ve learned anything through my travels in the business world. The truth is that there’s only one thing you can do to increase your revenues […] The post Earning more …

Continue reading »

Written by Brandon Savage - - Aggregated on Thursday September 24, 2015


Earning more money as a PHP freelancer

Occasionally folks will ask me, “what does it take for me to earn more money as a freelancer?” They want to know if I have a magic bullet, or if I’ve learned anything through my travels in the business world. The truth is that there’s only one thing you can do to increase your revenues […] The post Earning more …

Continue reading »

Written by Brandon Savage - - Aggregated on Thursday September 24, 2015


Stop returning arrays (use objects instead)

When returning large amounts of data, it can be common to turn to a built-in PHP data structure: the array. But in object-oriented code, arrays make poor object-to-object data transfer mechanisms. Object-oriented programming is and should be focused on objects. That means that each array should be converted into an …

Continue reading »

Written by Brandon Savage - - Aggregated on Wednesday August 12, 2015


Stop returning arrays (use objects instead)

When returning large amounts of data, it can be common to turn to a built-in PHP data structure: the array. But in object-oriented code, arrays make poor object-to-object data transfer mechanisms. Object-oriented programming is and should be focused on objects. That means that each array should be converted into an …

Continue reading »

Written by Brandon Savage - - Aggregated on Wednesday August 12, 2015