Hiring in Tech Based on Emotional Qualities

Hiring in tech is an oft talked and written about topic, but most of the content out there tends to focus on technical skills, interview questions, and whiteboarding. While finding a technical fit is at the core of the task, it’s often a cold, needlessly judgmental process that ignores the value of finding a candidate who can join a team and contribute more than just code.

A while ago, I listened to a Special Sauce podcast interviewing Danny Meyer. Danny Meyer is the CEO of Union Square Hospitality Group, the organization behind Union Square Cafe, Shake Shack, and a slew of other notable restaurants. He believes there are six emotional qualities that are critical to a team member’s success. Here they are, and how they relate to being a successful tech hire.

Optimistic kindness.

Team members need to be hopeful. Nothing shuts down a team quicker than someone who is pessimistic about new ideas and creativity. There are tons of code problems that are solvable, and treating them as such helps create a team committed to moving forward.

Curious intelligence.

Curiosity has two important ramifications; introspection into a candidates own ideas, and willingness to explore weird problems that crop up.

In tech, things change ridiculously quickly. New frameworks, methodologies and services pop up every day, and that makes every day is an opportunity to learn and apply something new. Without curiosity and introspection into the how of our work, skills stagnate.

Treating features as experiments is critical to discovering what works, and being deeply curious about interactions will help build domain knowledge for the team. When things go sideways, and they often do, in weird and unexpected ways, a sense of open curiosity is incredibly helpful in tracking down, understanding, and fixing problems.

Work ethic.

You can’t train or incentivize someone into giving a shit about doing the work right. Many don’t realize that the success of their own work translates to success for the entire team.

Empathy.

Be aware of the wake you’re leaving, and care about what it does to others. Everything we say and do has consequences. Ignoring requests for help, or failing to document and discuss the work you do makes it more difficult for those you with to build on what you’ve done.

Self awareness.

Understanding what your personal weather report is, and how it affects others. Know your weaknesses, and ask for help on decisions and work you know you are weak in. Also, understand your mood, and how it affects work. When you’re feeling in a funk, understand how to get out of it.

Integrity.

Does the candidate have the judgment to do the right thing, even if that thing is not in their own self interest.

The entire podcast was great, but click here to hear Meyers’s take on hiring.

With all the challenges of hiring, and vitriol around whiteboarding, focusing in on just emotional qualities is a great way for an organization to set themselves apart from the competition. Everyone needs a job, but few can have one where they have a team of great people.

Jan 21st, 2017

Combating Landlord Fraud

Horror stories of NYC apartments that don’t work out are tales as old as time. Everyone has one, and most of them start the same way. Everyone needs a place to live, preferably with access to nice bars and restaurants, and not too far from the subway they take to get to work.

The viewing goes well enough, but way too quickly, and in the afternoon, so there’s no way to see all the gorgeous light it gets in the morning. Our scrappy tenant needs a place, and it’s close enough, so screw it, let’s go through with the lease signing. After the humiliating probe into credit scores, bank statements, employer letters, all eyed contemptuously by a building manager, the landlord begrudgingly accepts. Then comes the scramble for thousands of dollars in cashiers checks, for security deposit, first month rent, and brokers. This is a process designed to intimidate and humiliate. A process for which there is no landlord equivalent.

Once in an apartment, should there be any condition undisclosed during the search process, then it’s tough luck on the part of the tenant. For example, a noisy subway or bar directly underneath the apartment. Or chronic issues with vermin, heat or hot water. These are existing conditions the landlord is typically aware of, but unwilling to disclose, as landlords and management companies are incentivized to fill vacancies, not to ensure tenants enjoy their stay.

Luckily, as more data becomes available to the public, smart folks are starting to put together publicly available tools to help tenants make smart decisions about where they live. My own simple project, Block Quality, will summarize 311 complaints to paint a picture of what problems have occurred at a given address. Entire organizations like Heat Seek have formed to address the issue of tenants being denied heat and hot water. Rent Logic assigns grades to tenants, allowing tenants to know exactly what they’re getting into.

Dec 14th, 2016

Coding Music, Fall 2016

This Fall, I’ve found myself in an 8-bit, video game mood. With some bluegrass, for good measure.

Bastion & Transistor Soundtrack, Darren Korb

Bastion and Transistor are gorgeous, ethereal iOS games put out by the venerable studio Supergiant. This Spotify playlist does a great job of gathering the two soundtracks and adding a couple remixes, for fun. While video game soundtracks should be pretty obvious background music for coding (especially the final boss themes), I’ve never found one that was as sensitive, narrative and well thought out as this. In particular, Ashley Barret’s hummed tracks are wonderful for feeling the melody while not having to get all tangled in words.

Hacker’s Coffee, Spotify Playlist

I was looking for a good coding soundtrack, and turned to Spotify’s search for some quick wins. There were a ton of great lists, but Hacker’s Coffee was the only one that not only held me, but sent me looking looking for music from the featured artists. Highlights include Hans Zimmer’s Mombassa, from the Inception Soundtrack, a number of tracks by 65 days of static, and Infiltration, from the Mass Effect Soundtrack. Due to this soundtrack’s sheer depth (532 tracks), there is a high chance you’re going to find something you like.

Radio, Steep Canyon Rangers

A couple weeks ago, I randomly saw Steve Martin with the Steep Canyon Rangers. While I’ve never been a fan of bluegrass, I was super impressed by what I heard and felt. Turns out the twangy busyness of the banjo (which should be quite distracting), actually turns into a lovely mélange when backed by guitars and mandolin. Look out for all the awesome fiddle hooks, too, especially on the title track Radio.

Nov 7th, 2016

Open Source

After almost ten years working in web development and operations, I’ve used a ton of open source software. And now, it’s time to give back.

It’s been amazing to see how the opinion of open source has changed. Early on, it was a point of pride to say that one didn’t use third party code. It was viewed that if you did that, you didn’t know how to program.

As time went on, the industry’s perspective has shifted to the point where writing significant amounts of your own code is folly. The logic being that there are too many details that need to be accounted for to build a meaningful app. Any amount of time spent on problems that have been solved over and over again was time not spent on your product.

Nowadays, thanks mainly to Github, any problem that I’ve encountered can be (mostly) solved by a search through open Github repos. Many of these freely given solutions have been things I’ve used to build to a business. In most cases, I’ve used these solutions for free, without even thanking the author.

Now that my life is a bit different, it’s time to give back, lest karma catch up with me. My goal is to contribute to a project every week for the next year. While I have a couple good ones in mind, I’m totally open to suggestions. And to stay accountable, here’s a page I set up to track my contributions.

Oct 17th, 2016

Volunteering at Hour of Code

Yesterday, as part of the Hour of Code, I went to Information Technology High School in Long Island City. I spent the morning talking to students about what it’s like to work in Web Operations.

It was amazing seeing students taking an interest in technology and coding. Many of them had already completed the Hour of Code projects. Others were still tinkering, seeing what they could add and change. I spent some time critiquing and reviewing work they had done in Mrs. Ramirez’s Web Design class. The students had all created functional portfolio sites, complete with content, small bits of javascript, and even Flash games.

The students were interested in my day to day, and the path I took to get where I am in my career. The students were amazed to hear that I didn’t work in a dark closet by myself, but in a brightly lit office constantly interacting with colleagues. They were also amazed to hear that the skills they needed to be truly successful in tech weren’t just coding and hardware, but communication, teamwork, and judgment. How a college education fit in to a career in Web Operations came up a few times. It was particularly interesting because I’m not aware of any four year university that offers a program in the field.

Students were particularly interested to hear about about some of the work I’ve done around security and incident response. Tales of defending against DDoS and spam attacks were a great way to let them know that career paths in tech aren’t just limited to coding or back office IT. They were spellbound to hear that mitigating DDoS attacks were actually something that could be part of an actual career path, and not just something they see in TV and movies. I truly hope that some students are inspired to pursue a career in Systems Administration and Web Operations.

One thing that was made clear to me as I was asked to describe my path to Web Operations was there is no clear path, and that sad fact has resulted in a shortage of people in the field. I would encourage other folks in Web Operations to spend some time talking to young students about the work that we do in the hopes that in a few years the industry will grow and mature. After all, for every class that learns to code, there need to be a few students who know how to run the infrastructure for that code.

Dec 17th, 2015

AWS Tags as a Lightweight Datastore

One of the most common tasks in administering clusters of machines is running regular tasks on individual machines in a cluster. For example, Cassandra benefits greatly from running repairs on individual nodes to ensure data consistency. Operating manually, an ops team would maintain a document of when each machine has been, and look at that to determine which machine should be repaired next.

However, in a world where there could be hundreds of machines, this quickly becomes unscalable. Even with only a handful of machines, a team could spend a ton of energy and time simply remembering where the source of truth lives and how to decide which machine should be repaired next.

Go for it
Nov 29th, 2015

Burnout

It was 4:43 PM. As I headed out the door, someone asked, “Leaving early?” No malice, no judgment, just a bit of surprise. The office was still full, keyboards clicking and the drone of technical conversation dully throbbing. “I’m entitled to it, I just worked an incident for 3 days straight,” I shot back.

Was I entitled to bail early? Probably, but that wasn’t the right way to say it. I needed to leave. Despite handling the incident deftly, I still felt fucking awful, and in a dark, looming, nonspecific way. I needed to run from the firehose of problems, lack of solutions, apathy and anxiety. The incident in question was a days-long spam attack. It wasn’t my first rodeo with hackers, but this mitigation required bringing several groups together, which is always a challenge at a large organization. To add to that, there was a pronounced lack of resources from my own team. This attack came at a time when we were gearing up to launch a new product, and the team was completely focused on it. Even I had been intensely involved with ensuring the stability of a new, shaky platform. Being pulled away just added to my frustration.

I had already spoken with my manager that afternoon, told him I was tired. He kindly ordered me to go home, and take a vacation. I took the next two days off, calling in sick. This was the second time in a month I’d unexpectedly needed time off. At home, I crashed, played video games, watched a bunch of shitty movies my girlfriend normally wouldn’t palate, and generally just tried to avoid the real world. Physically, I wasn’t all that tired, considering I had only slept 9 hours or so over the past 3 days. But my mind and nerves were totally shot, and worse, I felt like I didn’t care, which I hated myself for.

In short, I burned out. Hard.

Go for it
Nov 7th, 2015

Chat and Dense Communication

If you haven’t noticed, communication among teams (distributed or local) is a thing that people care a lot about. For my team, we specifically care about density of quality communication across mediums. We’re an ops team, and being able to broadcast status and information is critically important. As we work, we don’t want to have to re-communicate across mediums, but we still want to make sure the right people hear us and provide feedback.

As our team was searching for ways to accomplish this, we started using the ubiquitous and humble webhook to push information between systems. At first, we simply started pushing Pull Request comments into our Slack channel. This immediately increased our velocity, as we found ourselves seamlessly moving discussions from traditionally asynchronous mediums (Github Pull Requests) to more real time mediums (Slack, In Person).

Go for it
Aug 30th, 2015

A Note on Amazon Autoscale Groups

AWS provides auto scaling to allow applications to scale up and down to meet demand. Autoscaling is an excellent tactic for ensuring that an application can add and remove capacity based on demand. Autoscale policies can be infinitely tuned to use anything that can be recorded by CloudWatch. However, autoscale groups are also incredibly useful for ensuring that a set number of instances is always available. This can be accomplished by omitting scaling policies.

Go for it
Aug 26th, 2015

FizzBuzz in Go and Rust

My team and I attended DockerCon earlier this week. We went with the intention of taking time at the hackathon to spend some time digging into what it would be like to operate services running on Docker & CoreOS. Part of the challenge of CoreOS is that there isn’t a package manager, which makes installing any modern programming language difficult. The only way to execute code is to drop a binary on the machine or to run code in a Docker container.

Therefore, it made a lot of sense to take some time to experiment with both Go and Rust. It was also a ton of fun to play with some new ideas. To get a grasp of the basics, I looked to the tried and true FizzBuzz. FizzBuzz is a great exercise because it forces you to loop, use control logic (if/else or case), and understand some basic math operators.

Go for it
Jun 26th, 2015