
Abstract: On the Existential Crisis of Software Development, and My Own

A few weeks ago, Convex hosted our first conference, Abstract.
The idea was simple, if writing code keeps getting easier, the hard part becomes deciding what to build and how. Which raises the obvious question: what's left for us to do?
I may not be a software engineer but I can recognize an existential crisis when I see it. I spent a good chunk of my angsty adolescence reading depressing French existentialist literature, so this is weirdly my area.
One of the main ideas, which also happens to be tattooed pretentiously in French on my ankle, is "existence precedes essence." Basically, we exist first, and then we become who we are through the choices we make. I'll spare you the depressing parts about dread and being "condemned to be free" (if you write code for a living, you've probably got enough of that right now). What's relevant is that there's no blueprint for who you become, much like the current state of engineering. Fortunately, the existentialists would argue that what's left is choice.
We still (for now) get to decide what's worth making, whether it's software or ourselves. Which is a nice idea, until you're planning a conference with no idea how to plan a conference.
For context, I joined the Convex marketing team less than a year ago with zero traditional marketing experience. Before that, I was the office manager, and I figured planning holiday parties and offsites was basically the same thing.
Nope. I've never been more humbled in my life. A conference goes from idea to logistical nightmare shockingly fast. Suddenly you're drowning in choices about speakers, coffee carts, stage production, catering, swag, flowers, load-in times, and oh god, where the hell do I put the wooden prop boomerang I insisted on getting because our CTO is Australian. As someone with a lot of opinions and chronic choice paralysis, I had created a very specific kind of hell for myself.
Found a spot
Somewhere around the boomerang crisis, I noticed the irony. I was planning a conference about software's existential crisis while having one of my own. A conference doesn't show up with an identity any more than a piece of software does. It becomes itself through a thousand tiny choices. Those choices add up to design, or what tech Twitter calls "taste." My coworker Wayne has a much less pretentious word for it. He calls it "sauce."
I like to think sauce is part of why Convex took a chance on me. Jury's still out on that one, but I tried to bring some of that to Abstract. Thankfully I wasn’t alone. Wayne brought years of experience building community and planning prior conferences. Fayeeza was amazing at handling an enormous amount of vendor wrangling while also entertaining every increasingly specific, probably dumb, idea I brought her.
Wayne, fayeeza and I post Abstract
I fell into the project management side pretty naturally, but the part I loved, and where I think I was most useful, was figuring out what Abstract should feel like. I kept coming back to Japanese vinyl listening bars. They're warm and full of tiny details, but nobody's trying too hard. The space serves the idea, so you just walk in and feel comfortable.
Luckily, SFJAZZ was already such a beautiful venue. We wanted to celebrate what was already there, especially the space's musical history, so we hired a jazz band during lunch and booked a vinyl DJ for the afterparty. The side room was turned into a lounge where people could sit down, take a call, or actually talk to each other (a wild idea, I know). We used wristbands instead of name badges so nobody had to stare at your chest to decide if you were important enough to talk to.
The Abstract lounge with leather seating, plants, and patterned rugs
Fayeeza and I went to a massive prop warehouse in Oakland and dug through old speakers and dusty objects for the DJ booth(shout out Fayeeza! Sorry I made you do that).
Oh, and because apparently I wasn't stressed enough, I decided I should personally make an art installation out of vinyl records. We'd gotten an absurd quote to have someone else build it, and my response was basically, “fuck it, I can do that”.
So the week before Abstract, when there were approximately 400 more practical things I could have been doing, I drilled holes through 64 records by hand, attached O-rings to each one, and figured out how to hang the whole thing in front of a window. Honestly, it was pretty therapeutic as I was stressed and needed something to do with my hands. But mostly I just wanted to prove to myself I could.
One of our values at Convex is "give a shit." For me, that means caring a lot about the details even though most people don’t notice. Most people at Abstract had no idea how much went into the day. That wasn’t the point, I just wanted the space to serve the idea, and for people to enjoy being there. The flowers, the music, the coffee cart, the old speakers, the random boomerang, the lounge–none of them mean much on their own. But together, they create the vibe. The “sauce”.!
Good design, whether it's software or a tech conference, keeps the work out of view. When it's done well, you don't see the hundreds of decisions underneath it. It just works. That's the whole point of an abstraction. Kind of like building on Convex. (Shameless plug, sorry.)
I spent months making decisions I didn't feel qualified to make. I never really knew if I'd chosen the right vendor or if the whole thing would come together. There was no moment when I suddenly became qualified. Some decisions were good, some were bad (like forgetting we needed an MC until about two weeks out, whoops), but I just kept making them. Eventually, I stopped waiting to feel certain and I learned to trust my judgment enough to make the call and keep going.
Turns out that's still the job, even when the code writes itself. Someone still has to decide what's worth making and how it should feel, and someone has to give enough of a shit to actually choose.
I'd never thrown a tech conference before this, and now I have. I'm not great at feeling proud of myself, but I'm working on it.
Abstract became itself one choice at a time, and I think I did too. Existence precedes essence.
Anyway, thanks to everyone who came. I hope you liked the flowers.
Convex is the reactive backend platform that keeps up with you and your agents. Database, functions, workflow, sync, search, file storage, and more. All TypeScript, zero glue.