Chris Tankersley

Chris Tankersley is a husband, father, author, speaker, podcast host, and PHP developer. He works for InQuest, a network security company out of Washington, DC, but lives in Northwest Ohio. Chris has worked with many different frameworks and languages throughout his twelve years of programming but spends most of his day working in PHP and Python. He is the author of Docker for Developers and works with companies and developers for integrating containers into their workflows.

twitter: @dragonmantank

Articles

The Dev Lead Trenches: Creating a Culture

By Chris Tankersley

I have spent much time talking about creating and managing a working team, but there is one important piece I’ve left out of the puzzle until now—creating and crafting a culture that makes people want to work on your team and stay on your team. If you have a company culture which does not attract people, employees will be hard to find.

The Dev Lead Trenches: The Talk

By Chris Tankersley

About the only thing that makes me upset as a lead developer is people that do not play ball. I am completely for questioning authority, asking questions about workflows, and having ideas on making what we do work for everyone, but it really bugs me when someone doesn’t even try to work with the team.

The Dev Lead Trenches: Burning Out

By Chris Tankersley

The tech industry is a double-edged sword. On the one side, we (generally) have well-paying jobs with nice perks, but on the other, we can easily slip into not only boring, repetitive work but figurative death marches. The former is used by most companies as an offset to the latter, but that rarely works out well. This leads many developers to come face-to-face with burnout. Burnout is unhealthy for any individual, but it will kill your team’s productivity, increase turnover, and make it harder to recruit as people learn about the environment at your company.

The Dev Lead Trenches: How Long Will It Take?

By Chris Tankersley

This month, let’s discuss what we can do to help come up with better estimates. I hate estimating, but it is an unfortunate part of software development. We cannot come up with schedules without estimates. My boss wants to know I’m not wasting his time when I say something will take 40 developer hours. I want to make sure my team is doing things in the best possible order and not waiting until the very end to deliver a big feature.

The Dev Lead Trenches: From Issues to Code

By Chris Tankersley

Everyone on your team should have a good idea of the actual problem or feature they are working on before any code is written. Once the issue itself is ready to go, the work can begin. Every company will be slightly different in how they want to handle actual commits, but this month I will detail the most common workflows I use with teams to manage changes to a codebase.

The Dev Lead Trenches: Issue Workflows for Teams

By Chris Tankersley

Issues and issue tracking are central to your team’s communications about what’s getting worked on and needs fixing. Having a clear and agreed upon standard for working with them will keep your team focused and productive while minimizing misunderstanding.

The Dev Lead Trenches: What Not To Do

By Chris Tankersley

Over the last nine months, I have talked about all of the things you should be doing as a technical and developer lead. There are many things that you should be doing, and I hope that so far the advice has helped. These are some of the habits and problems I have seen as developers move into the more managerial role a lead developer actually is.

The Dev Lead Trenches: It’s Toxic

By Chris Tankersley

The tech industry is a relatively young industry, and in many ways, it shows. In one of my favorite books, Hackers: Heroes of the Computer Revolution, Steven Levy talks about the birth of the open source industry going back to the late fifties and early sixties. Many of his descriptions of programmers then are not vastly different than programmers today. These problems are not technical and can drive good programmers away. What can we do to avoid these issues?

The Dev Lead Trenches: Ongoing Education

By Chris Tankersley

As a development lead, one of the best things you can do for your team is encouraging and fostering an environment of ongoing learning. There is an entire world of developers out there who stagnate in their jobs because they don’t learn anything new. It does not have to be a whole new language, but every developer should be learning constantly. There are a few ways you can help with this.

The Workshop: The Road to 7.3, Part One

By Chris Tankersley

Last month as I was writing “The Workshop: Producing Packages (Part Three)” I had a feeling I would regret the line “This will be the third and final installment in this series.” Sure enough, I have one more topic I want to cover: upgrading to a new PHP version.

Education Station: DevOps and You

By Chris Tankersley

The tech industry is always awash with new ideas that are actually old. One which gained traction in the last ten years is the idea of “DevOps.” This term is the combination of “Development” and “Operations” and is meant to show these two roles can be combined for more efficiency.

Education Station: Night of the Living Dead (Code)

By Chris Tankersley

Legacy code is an unfortunate fact every developer has to face. Whether you subscribe to the idea that legacy code is just inherited code, untested code, or that it’s code which has reached a certain age, the grim reality of software development is that code lives, for a very long time. See how to tombstone your application to find dead code.

Reviewing Code

By Chris Tankersley

Code reviews are one of the best ways to help a team ensure they’re writing the best code possible. In all of the jobs where we have done peer-lead code reviews, we have caught more bugs and had better discussions about code than in places or times where we just hammer code through the approval process. I know, I know; we all write beautiful, bug-free code, so why go through the hassle of a code review?

The Dev Lead Trenches: Coming Aboard!

By Chris Tankersley

The need to onboard new hires is one of the most significant reasons why adding workers to a project does not actually increase the project’s productivity. It takes time to get them up to speed with how the system works, what their role is, day-to-day workflows, and a host of other things. The goal of any new hire, even ones where you aren’t trying to fill in gaps during emergencies, is to get new hires as productive as possible as quickly as possible.

The Dev Lead Trenches: Finding Someone New

By Chris Tankersley

There will come a time when you will need to add to your team. This can be due to a team member leaving, the workload becoming more than your team can handle, or just because you want to expand what your team does. In any of those cases, you will need to start the arduous task of finding someone new to bring to your team.

Education Station: Explicit is Better Than Implicit

By Chris Tankersley

The argument over strict typing is nothing new in PHP. When the PHP 7.0 release was under development and the idea of scalar type hinting came up, there were developers on all sides with opinions on how it should work. While PHP 7.0 could introduce backward compatibility breaks, introducing strict typing had the potential to break years and years worth of code. How far the language went with this surfaced a variety of opinions. Let’s look at the benefits of using scalar type hints to clarify the intent of your code.

Education Station: What Went Wrong

By Chris Tankersley

The very first thing you need to do when something goes wrong is to get a good handle on the situation and find out what’s wrong. Many users first instincts are to get frustrated and say, “This is broken!” and expect you to figure it out. While there can be lots of places to look, narrowing down the possible causes can help greatly.

The Dev Lead Trenches: Measuring Success

By Chris Tankersley

There will come a time, probably once a year per team member, when you will have to assess how well a team member is working. Are they contributing overall to the team? Are they making their goals? Do they know what their goals are? Are they pulling their weight? For as long as there have been companies, there has been a need to quantify how well an individual employee is doing. “Gut feeling” is not the most accurate way to do this. There are also many ways which do not work in real-world situations.

Education Station: Data Structures, Part One

By Chris Tankersley

I’ll admit, one of the best things I love about PHP is that I don’t have to deal with all sorts of different ways to deal with data. At the base of the language we have nice primitives like strings, integers, floats, and Booleans, and we also have one of the most flexible structures known to programmers—the PHP Array. The array itself wears many hats. If you are coming from other languages, you have to think about the structure of ordered data in a few different ways. The reason for this tends to deal mostly with how we need to represent data and how we manipulate data. Different data has different requirements.