Refactored Code, Refactored Workplace

February 09, 2016

It Matters Where You’re From

Our team hails from a broad variety of backgrounds. Our executive team has worked for: state governments, large banks, UPS, Deloitte, Dell, manufacturers, local school districts, farms, and a Greyhound bus station. At this point, it’s safe to say that our exec team has seen every known form of management and workplace.

 

If you make your team’s life miserable, they will, almost assuredly, return the favor.

With such diversity in our past, we all have an idea of what we want our company to be. More importantly, we’ve have purposeful discussions of what we don’t want our company to be. Our team regularly discusses avoiding the things that made their previous employment difficult or impossible to continue. We do this because we’ve learned, over time, even the most highly intelligent and motivated staff will simply get tired of bumping into the walls of bureaucracy. Their work quality will suffer and, eventually, they’ll find better work elsewhere.

It’s my job to prevent this from happening at SchoolStatus.

Refactoring Our Code

One of the first things I learned when we first set out to develop SchoolStatus was how important it was to refactor our codebase. Essentially, stale code = bad code. This was a hard lesson for me to learn. At first, I would grow very frustrated when I would catch our engineering staff re-writing modules they had just completed. I saw this work as duplicative and non-productive time… especially given the scale of the problem we were trying to solve.

Over time, I realized our engineering team is way, way smarter than I am, and I learned to simply trust their judgment. Much to my surprise, I found that when I allowed them to refactor their code as our company/product grew, the better we were for it. Without being mindful of the constant need for refactoring, we often found ourselves trying to solve problems that we, frankly, just couldn’t figure out. It was only when we completely tore something apart that we finally solved some of our most daunting technical challenges.

Refactoring Our Workplace

Everything I’ve read tells me that culture is notoriously hard to get right on the first try. Often, young companies feel as though the culture and environment they have during their first day will eventually give way to “corporate” structure and tons of layers of management. While SchoolStatus certainly has more structure that it did when we first started, we have frequently dissected very complex processes and rebuilt them to make them better; we did this to avoid adding layers of decision-making and nuance. In the end, we ended refactoring our business and its processes just as often as our codebase.

It’s especially hard work to make things easier. In fact, it’s far easier to create another rule or process to combat an issue with an individual. It’s easier to forgo courage and create a company-wide meal limit to address an employee who is being too generous with their travel meals. Without courage, we add rules that penalize everyone. We do this to resolve personnel issues that, frankly, may not exist in six months. (Personnel problems don’t tend to hang around at SchoolStatus, we remediate or offer severance, generally.)

Order of the Day: Adding Capacity

When we hire bodies in a pinch instead of refactoring, we end up with this guy…

Lately, the emphasis on my team has centered around building capacity. Adding bodies is both very easy and expensive. Building capacity is difficult.

Why review our support policies to wring every last drop of efficiency out of them when we can just add a body? Adding a body is easy. It makes us feel good. We feel like big shots adding a new staff member; it feels like what our company should be doing.

The answer is simple: building capacity requires that we take apart and refactor our support process from top-to-bottom to ensure our users have the best possible experience without destroying our support budget simultaneously. That work… that refactoring… is hard. It doesn’t make us feel good. In fact, this requires time from an already busy Ops team. But it’s smart and it makes SchoolStatus a better company.

We’re an astonishingly dedicated crew. We work all hours of the day and night trying to create an incredible experience for our customers. Today, I know we’ve got folks on our team that are at capacity. Every fiber of my being tells me to go out and hire additional bodies to help them. Adding a body without evaluating the entire situation, would be a mistake. Adding a staff member in this situation will only serve to create much larger inefficiencies down the road. In the long run, this would likely spell doom for staffers in that situation.

Grit. It’s what’s for dinner.

We owe it to our staff to instill grit into the very soul of our company

I reject the easiest path, in the above case, because we owe each and every person within our organization the hard work that builds capacity. Some people call this grit, others call it moxie. At SchoolStatus, we call this one of our core values.

Doing hard work always makes us a stronger organization; more importantly, it makes for stronger and better leaders. That’s what we’re trying to build within SchoolStatus… leaders to take this company into the future.

Instead of arbitrarily adding staff, we build capacity. We take apart the processes that aren’t working, refactor them (gaining every last ounce of efficiency, and THEN decide on how many staff members to add. It’s tough work (especially for our exec team), but I know we’ll be better for it on the other side.

__________

Changing Education, Forever is a task that requires an immense amount of flexibility, creativity, and a willingness to listen to the needs of those in the trenches. Russ Davis and his team at SchoolStatus are dedicated to improving education by creating tools that actually make data actionable. Find out more HERE

LEARN MORE

Recent Posts

   

Subscribe to Email Updates