“Who Caged me?”

Who Caged Me?

How our distinct company culture has made me a better developer.

Cole Goodling
Published in
7 min readMar 31, 2017

--

I’m standing over my desk in what is a bid to resume my work for the afternoon, after coming back from my lunch break. I pause for a moment to collect myself for what will be the continuation of a productive day; everything seems to be in place on my desk. I move the mouse to wake my computer from its sleep.

The monitor illuminates, revealing the most impossibly ridiculous visage of actor Nicolas Cage leering back at me. I smile, un-phased. And look up across the open floor and yell, “Alright, who Caged me?” I hear a few chuckles over the raucous sound of what can only be developers engaged in a serious match of Super Smash Bros.

In the cage.

Being “Caged” is somewhat of a right-of-passage here at Helpful Human. It’s one of the many cultural quirks within this organization that contribute to fostering the open and inviting atmosphere that has ultimately improved my abilities as a software developer.

Helpful Human has an open office environment and shared activity spaces. I have heard arguments before that open floor dynamics can hinder individual productivity and be distracting. I’m sure there are those who could make a solid argument against them — everybody has a different routine.

But in my experience, I see them as collaborative means for allowing us to build strong professional and personal relationships. For me, this opens a communication space that lets me more freely express myself, share my ideas and skills, as well as communicate my needs for improvement.

With friends like these…

Establishing a rapport with a co-worker is advantageous for several reasons. You have fun, you can blow off steam, and of course, you build an arsenal of memes, inside jokes, and gifs to bombard the Slack board with.

But more importantly, as you work together over time (whether toward a shared project goal or just to lend a helping hand), you get a better understanding of your co-worker’s learning language; you see how they process and accumulate information and you see how they apply that information.

In my experience, this makes it easier to communicate, and you can quickly get into a productive rhythm. It becomes easier to set milestones and give better estimates on the time it takes to complete tasks when collaborating.

Another advantage in building a strong work friendships is that you gain a better understanding of your coworkers’ strengths and limitations while making them aware of yours. Each of us has a diverse set of skills at work.

For instance, some of us are better front-end designers and know awesome CSS tricks, while others are better at manipulating data and writing awesome functional back-end or middleware services. Having this awareness has allowed me to not only impart the things that I know more clearly, but to also pick up new skills. I’ve even relearned things that were explained to me so badly my previous understanding was dead-wrong.

You don’t have to be the smartest person in the room.

As a developer, there has always been a stigma that you need to be the smartest person in the room, and I’m not the only developer to have experienced anxiety from this notion.

For me, this irrational fear could have been reinforced by horror stories of job interviews involving white-boarding solutions to long-winded coding problems in front of a panel of veteran software engineers. Or, even from the flood of opinions and arguments about what design-patterns and tools are best to get a job done; or, that what you’re doing is wrong and you should be ashamed of programming/thinking that way.

Whatever the worry, it only boils down to the delusion that you need to know a lot and know it well. So you end up in a battle, to balance the breadth of what you know against the depth what you know about each and every little everything. It can be a real blocker to creativity.

The truth is, you’re never going to know a fraction of what you think you need to know. Someone is always going to know more than you about something — and vice versa.

And that’s a wonderful thing! The people I work with collectively share a diverse range of skills and experience. But in addition to these skills, they possess an amiable and supportive nature from which they are always willing to graciously help you learn.

As a colleague of mine put it, “Our culture is such that, I don’t feel belittled by going to anybody for anything.”

I fully agree with this sentiment.

With the pretense of being some sort of magical, code-genius out of the way, you’re free to see your areas of deficiency as opportunities to explore and expand your knowledge. You become more predisposed to ask questions without feeling stupid, and absorbing information becomes easier.

Everyone and everything’s opinionated.

There’s more than one way to skin a cat, and it seems like in software development, this statement grows at a complexity of O(n!).

That’s a really bad joke. Sorry.

With the many languages, conventions, practices, and tools at your fingertips, there are so many opinions on what’s good, better, or best. One stack is better than another, or this tech is a dinosaur that will never match up to the latest framework. Even the frameworks are opinionated! And in our company culture, it’s no different.

We have opinions on what linting conventions we should be enforcing and why building an abstraction layer could be better than being slightly more coupled to a stable and supported service. Sometimes the debates get intense, and people really harp on their points.

But, despite any brief tension, I find it encouraging because you not only get to hear evidence for both sides of the argument, but also a forum for discussion and collaboration has opened. We’re pooling our collective knowledge and getting a lot out of it. I’ve even gained a better understanding of situations in which to use or not use certain conventions or tools as a result. And usually, the argument arises from a collective goal that we as a team are trying to reach, or a problem we need to solve.

Ultimately, everyone in the world is just figuring things out as we go. We’re going to get there together faster if we can be fully aware of the discussion and all valid points within.

Stand-ups and sit-downs.

Weekly standup meetings are another great aspect of our company’s culture — and probably many others as well. Adding transparency to the many goings-on of the company, they help keep everyone in the loop. It’s an opportunity to share with everyone what your workweek looks like and where your headspace is at.

It’s also a means to lend a hand to those seeking help and plan your collocated, developer time with others in an efficient way, maximizing your productivity.

Another boon to success is in wrapping up a busy week with our 4pm retrospectives. The team gathers in the meeting room with a selection of curated beers, spirits, and snacks in order to look back and talk about our week. It’s a chance to vent; to share victories and failures. It’s a safe space in which we bond and take comfort in knowing that we’re all just figuring things out. And from there, we can ask ourselves what the next steps are in becoming better versions of ourselves.

Is it perfect?

Nothing’s perfect.

I admit sometimes it can be easy to get distracted; we do have a lot of fun. But no matter what, you’re going to face distraction at work whether it’s self-inflicted by looking at your phone’s arsenal of social media apps; or, by loading up Celery Man (Google it) with your fellow developers. And in accepting this fact, you have the opportunity to train yourself to better handle your distractions. Everybody here has the same concerns about managing distractions and are supportive when you make it clear that you need to be head-down.

In Conclusion

What we have here at Helpful Human is a space where talented people with great personalities and diverse interests have come together to build a strong organization that joins professional expertise with a unique and distinctive culture.

It is a culture where strong relationships lay the foundation for greater communication of ideas and experience. It is a culture where you can feel comfortable with your own limitations and be aware and willing to expand on them.

And finally, it is a culture where people with very different opinions and ideas can share them and debate their merits, fostering discussion, collaboration, and learning.

These are but some our company’s characteristics that have helped me better cultivate my skills as a software developer. And, they are characteristics that will ultimately help the company and our clients.

--

--