Ben Carr Wed, 18 Jan 2023 00:00:00 +0000 This is all there is a6dde5d0-b5f7-40ff-a44b-b15f986f9959 Wed, 18 Jan 2023 00:00:00 +0000 Wed, 18 Jan 2023 04:41:05 +0000

Today I want to talk to you about why I am the way that I am. And by that I mean, why I care so much about experience design; about the experiences people have with things. Why I get frustrated by things that don’t work, or don’t work well, or aren’t easy to use. Why mediocrity infuriates me so much.

What a beautifully blunt characterization of this one, short life we all have, and the ensuing responsibility we have as people who make things.

2023: The Year of Connection 75835869-6d50-4cc6-984f-3040898c1cbf Sun, 01 Jan 2023 00:00:00 +0000 Sun, 18 Jun 2023 01:28:12 +0000 Over the last several years, I have noticed myself slowly detaching from the world around me; not a lack of awareness, but a lack of presence. I’ve found it easy to lose myself in the stream of national and global concerns facing humanity, and that has caused me to drift away from more tangible, nearby, and familial connections.

I recognize that part of the detachment I’m feeling is a coping mechanism to deal with the barrage of “unprecedented times” in recent memory, and the corresponding emotional cocktail of helplessness, dread, and pessimism. However, this detachment was able to fester because it’s far easier to be keenly aware of every detail about humanity's challenges than to have a significant, direct impact on them.

That’s why my 2023 yearly theme is “connection.“ I want to shift my focus toward feeling more connected with the world directly around me: rekindle interpersonal connections that have lapsed, create new ties to places close to my heart, re-balance my relationship with social media, and resurface writing as a way to better connect with my own mind and emotions.

Ideal outcomes

  • Be a more communicative with family and friends — I’d like to be more proactive about communication and I hope that communicating more with those around me will help strengthen and broaden my personal support system.
  • Volunteer in my local community at least twice — I hope that volunteering will provide a sense of personal satisfaction or accomplishment, and generate new connections to people in my local community.
  • Take photo walks to find new things to love about my neighborhood — My photography hobby has stagnated, but I think photo walks could be a great way to reconnect with something I once loved and examine my neighborhood through a different lens.1
  • Blog at least four times — Writing has always helped me gather my thoughts professionally, but has not been a tool I’ve reached for personally. I’d like to try to use it more to examine my own feelings, and I hope that sharing those thoughts publicly might foster a connection to the open web I love dearly.

  1. Not sorry for the pun. Hope you didn’t shutter too hard. Can’t f/stop won’t f/stop. 

A Mountain of Unknown 8c474410-0afe-4221-bbf3-f102ce66708c Thu, 13 May 2021 00:00:00 +0000 Thu, 22 Dec 2022 22:54:47 +0000 The staggering pace of growth and change in tools, technologies, and capabilities is one of the most exciting and daunting aspects of the web. As a developer in client services, a critical component of my job has always involved learning what needs to be learned in order to allow our clients to understand and take advantage of the benefits of this pace. Whether it’s an unfamiliar codebase, a new framework, or new browser capabilities — new challenges are always on the horizon.

At Happy Cog, I’m fortunate to be able to lean on the incredible wealth of knowledge and experience of our team to surface new ideas, give me a starting point, help me over a hump, or point me back in the right direction. This culture no doubt shapes the quality of solutions we’re able to deliver to our clients. But even in this environment, project challenges can feel isolating when they’re unusually complex or unfamiliar.

Story time

One of my first projects at Happy Cog was a large CMS re-platforming. This project had lots of moving parts, and a sizeable team to support it. A few months in, a task landed on my plate for a specific, self-contained piece of functionality: an email relay for the client’s job board. Applicants could send an email to a job-specific auto-generated email address, and the system would forward incoming email to the job poster, obfuscating the poster’s true email address.

There were a few additional requirements to consider:

  • It should stop forwarding messages when the job posting expires
  • It should allow attachments, for applicants to include a resume
  • It should work for any existing job postings migrated over for launch
  • It should try to avoid forwarding spam
  • It should be able to handle brief downtime for maintenance

Reading through the details, I understood all the requirements, and they felt familiar, like something I’d used — as a user — in the past. But thinking through how I would develop this, I realized:

Here’s the thing:…I’ve never done anything remotely similar to this.

In fact, I don’t even know what I don’t know.

For me, that feeling was scary. As familiar as the feature felt to me as a user, it felt utterly foreign to me as a developer. And with no prior experience in this area, how could I even decide on the solution, much less build it?

Flash forward a few weeks, and with lots of help from other members of the development team, (panic), web searches, (self-doubt), documentation reading, (career-questioning), and debugging later, and I was able to come up with a solution that met all the requirements.

The End.

Kidding. But this isn’t a post about the solution or how you can build your own email relay service using SES Inbound Mail Processing, S3, SQS, SNS, and a small Lambda function. This is a post about what I realized about myself during this process, and how I got through each day along the way.

You will get through it.

My primary takeaway from this experience was a deeper understanding of the relationship between my excitement about solving a problem, and the number of unknowns in that problem. For me, not knowing something can be really exciting! Needing to learn a new skill or technology is exciting! And big problems are exciting! But there’s a critical mass of those things, and once a problem exceeds it, my confidence falls, my interest plummets, and excitement gives way to dread.

Looking back on those few weeks, getting through each day was tough, but the things I took away from that time I now carry with me into every new challenge.

Get one thing done

Progress — no matter how small — is crucial. For me, it was incredibly easy to spiral into doom and helplessness. When you feel that descent starting, try to take a step back and assess what you know right this second. I almost always realized that there was at least one thing I knew and could tackle at that moment in time. No matter how trivial, taking one crumb off what needs to be done always feels good.

Similarly, knowing you’re tackling a big problem can make it easy to zoom out and let new unknowns creep into your knowns. I tried to keep my days focused on the small things to keep me from going back to feeling overwhelmed by the big thing.

Set a framework for your progress

Having a day full of micro-decisions about what’s next when you’re feeling overwhelmed is a recipe for disaster. Instead, take a moment to separate yourself from the problem and decide what your progress should look like. For me, this came down to two options:

  1. In Sequence — My problem involved a particular flow through different systems, and I could tackle them one-by-one in that order.
  2. By Difficulty — Start with what’s easy to build momentum, or get the hard thing out of the way first and ride downhill from there.

Freeing myself from asking “what’s next?” helped me focus my efforts, recognize how far I’d gotten, and feel confident about what was to come.

Importantly, allow yourself to change your framework, but not in the name of procrastination. In this case, I started tackling things by difficulty, thinking I’d get the hardest aspects out of the way first, but ended up shifting to a sequential approach once I came to a better understanding of the inherent dependencies in my problem.

Work toward better questions

It’s easy to want to work toward the solution immediately, but when tackling big problems with lots of unknowns, sometimes you need to work toward better questions instead. Rather than focusing on how to come up with the solution, try focusing on how to come up with the questions that will narrow and better define your problem. A new or specific question can sometimes be as impactful as an answer.

Once you are looking for answers, you may not find much information covering your exact problem or situation if it’s complex or project-specific. If results are sparse, you may have better results looking for resources covering one small part of your problem. Finding a good resource or example that tackles that small part can get you the momentum you need to keep pushing through.

The usual advice

It might seem cliché, but the basics honestly do help:

  • Be vocal! The web has brought humanity closer than ever before; there’s no need to struggle in silence. Moreover, talking out your problem with a coworker, friend, or loved one is a great way to rubber duck yourself.
  • Take a break, go for a stroll, and get a good night’s sleep. Fresh eyes can do wonders for tough problems.
  • Psych yourself up! You’ve solved tons of problems before, you’ll get through this, and you’ll solve tons more in the future. Give yourself a pep talk, put on your favorite playlist, and get to it.

Reflect and go forth

We all need a reminder every now and then that we can achieve more than we think we’re capable of. In client services, you don’t always get to choose the problems you tackle, and every once in a while something ends up in your queue that throws you for a loop, and pushes you in new and different ways.

But once you get to the other side, take a few moments to reflect on what you’ve learned, both about the problem and about yourself, and carry those lessons with you. One day you’ll be in that position again with another problem; it might look different, and have its own nuances, and challenge you in ways you can’t anticipate now, but you’ll be ready. Not with the solution, but with the tools to get you there.

And I know I’ll get through it — as can you.

Originally written for Cognition