Lessons from JJ
“What do you want to do with your life?”
Those were the first words JJ said to me.
I was an intern at the time. The team I was on owned an internal logging tool for retail systems (i.e., RTLA), but we were soon to be defunct: mandate had came that we be merged into AWS Cloudwatch. I was given two options. I could either accept the return offer, contingent that I emigrate to Dublin, or find another team to return to. I chose the latter.
I spent the remainder of my internship interviewing. I cold-called managers in Alexa, SageMaker, Last Mile, and a few dozen more. I didn’t quite know what I was looking for, but I knew what not to look for. Many teams sounded the same. They were all working on something “business critical” and I’d be given opportunities to “grow my career” and “own scope.” I was being sold - and I disliked it. I distrusted them.
My first call with JJ started off similar. I explained who I was, the position I was in, and then asked for an overview of his team and the work I’d be doing. He stared at me for a few seconds in silence, ignored me, and then asked me what I wanted to do with my life.
I don’t quite know what I replied with. Probably some incoherent anxious mess, something along the lines of “I want to learn and build something great.” His response was as honest as his character. “Great" and hung up. A few days later, Jim reached out to me to give an overview of Percolate, and a few months later, I was on the team.
JJ was our team’s Principal Engineer. He built Percolate, Amazon’s content optimization system. He created that vision and made it a reality. He wrote every doc, was in every meeting (and was always right), still found time to push code daily, and tore through any and all blockers (be that people or systems).
He was my mentor. And though my ego wouldn’t let me admit it at the time, he and I were quite similar. He worked hard and I did too. He loved work and taught me how. He held a ruthlessly high bar and I did the same. He was blunt (at times, overly so) and whether you loved or hated him, everyone in our org knew him. He was incredibly hard to work with, and I loved working with him.
There’s a lot I learned from JJ. Some of it was new, ideas that challenged me and made me grow in ways I didn’t envision before. But most of it was pushing me to be a better version of who I already was. This doc sheds light on a few — the principles I’ve learned to work by.
Aim for great
When I first joined Percolate, work was not my motive. I had just dropped out of graduate school at Carnegie Mellon and moved to Seattle. There was much to distract me and fascinate me outside of work. I was addicted to Overwatch at the time. I tend to get quite competitive when playing video games, with the mindset of either I’ll be the best in the world or quit it entirely.
I did that initially with League of Legends, where I no-lifed it for a season and got up to Diamond, but then quit when I plateaued shortly afterwards. Overwatch was dangerous because I didn’t. I kept climbing until I was ranked in the top 100 and was even courted by a few pro teams to come do tryouts. That’s all to say, my day-to-day initially consisted of coding in the office from 10AM to 5PM, going home, and then playing Overwatch from 6PM to 2AM.
The first project I was given exacerbated that fact. Jim gave me the Percolate Management Tool. The goal of the tool was to provide a single consolidated view of all the different content strategies scheduled in Percolate. It was an odd project as it was isolated from the rest of the team. And it was an easy project, as it was just spinning up a web server to call an API and render some JSON data in a Gantt chart view. So I just did it. I hacked it up, showed Jim what I built, made him happy enough, and went along thinking “Is this all work really is?”
JJ broke that. About three months in, I received an email for a “Search-Percolate kick-off meeting.” I showed up and JJ was in the room, along with a Sr. Manager and two Sr. SDEs from Search. He began commandeering the meeting, throwing a deluge of terms I didn’t understand: link parameters, eventual cache consistency, customer targeting criteria. The meeting escalated as JJ and the SDEs began arguing over both technical and business details. “What’s the expiry time on the cache, should it be configurable per provider?” “How do we ensure data isolation between different providers?” “Is the end customer experience we’re enabling here sufficiently large to justify the investment?”
Then JJ turned around, quit talking, stared at me and asked “What do you think Paul?” I felt a rush of red course through my head and stammered out “I don’t know.” After the meeting ended, JJ grabbed me and said “You’ll be owning this, write a design doc.” and walked briskly away to another meeting.
I felt a mix of feelings. Yes, I felt embarrassed, I felt unprepared, I felt I was in a position I was unready for. But at the same time, I was excited. I was shown how much I didn’t know, how much I lacked, and how much I could learn.
I wrote my first design doc the next day of and sent it to JJ by email at 5PM. An hour later, he replied with 60 comments in red. State all requirements as P0 or P1. Propose a singular solution. Use the word shall not will. Does this meet the latency requirement, have you tested? This schema isn’t flexible enough, fix it.
I was in shock. For one, I didn’t expect he’d reply so quickly. And for two, I never received feedback like that before. It was direct, it was detailed, and it was stated as fact. As much as I tried to dispute his comments, they were right. I revised the design doc the night of, sent it to JJ, and he replied a few minutes later with “Great, thanks, go build it.”
A lot happened after that. I started working hard because I found a reason to care. I was given projects that were beyond me, things that I couldn’t handle and was expected to fail. And I did fail. I failed a lot. Those failures made it clear how I lacked and motivated me to become more than who I was before.
I’ll caveat that this rather draconian way of mentorship isn’t one I think works for all people. People are different, and there’s some inherent parts of my personality that suit the JJ school of thought well. Yet, I’ll be transparent and honest in who I am. This is the way I’ve learned to work and this is the way I love to work.
Aim to be great. Don’t settle for good. Don’t compare yourself to the other SDE Is, or the other SDE IIs, or even the other SDE IIIs. Find the single smartest person in your org, the guy who’s doing 10 times the work others are, the guy who’s always right about everything, the guy who comes up with new ideas every week and aim to be him. If you can’t find him, then define him. Redefine expectations and push the bar of what’s possible. That’s your comparison.
JJ was my bar. Not anyone else. My goal was to exceed him: to do something he couldn’t and to make him proud.
Work hard
I’ve never thought of myself as a dumb person. And though I wouldn’t say I was particularly precocious, I did pretty well in school while trying relatively little. I made games of skipping university classes, minimizing the number of in-person attendances required to get an A contingent I’d ace all my exams. My linear algebra professor caught notice of it and used to announce my arrivals with especial emphasis, “Paul, how nice of you to join us today!”
But I’ve never thought of myself as a smart person either. That was painted in clear reality when I met my cofounder, Mikkel, freshman year of college. I was taking discrete math at the time and catching up on overdue homework as usual. There was a particular proof I struggled with, and though I solved it, I presented the answer with some uncertainty. Mikkel took one look and said “Wrong.” I asked “Why?” His reply, “It’s obvious.” I spent the next three hours furiously trying to disprove him, but then realizing he was (as he always tends to be) right.
I felt the same in Percolate. I keenly understood that I was the dumbest person in the room. And not just JJ and Jim, it was everyone in our team. Our team leaned very senior, we had one Principal Engineer, three Sr. SDEs, two SDE IIs, and then me. These people weren’t only strong because of their tenure, they exceeded it. They were smarter than me, more talented than me, and had more experience than me. How was I to catch up? My answer was to work.
There’s times in life where failings can feel crippling. Where I feel frustrated at my own weaknesses, my own lacking, and lament myself for it. I wish I was smarter, I wish I was older, I wish I walked a different path than I had thus far. It’s painful because it’s true - there are certain walls you can never overcome despite how much you might try.
But still, I choose to work. Hard work is my solace. And if I’m about what I say I’m about, if I really want to build something great, that’s my only option. I can’t change who I am. I won’t ever be smarter than Mikkel. I won’t ever be older than I am.
The only thing I can do is work - so I will.
It’s easy to romanticize the life of a startup founder, thinking that your passion will be so fulfilling that it’ll obviate all the effort required. That once you’re doing what you want to do, work will be effortless. It won’t. You’ll be working 80 hour weeks and if you can’t deal with that, if you can’t do that, you shouldn’t start. It’s the same for many other pursuits. It’s fun to talk about starting a restaurant, it’s not fun to actually do it. I can talk about wanting to be a journalist, but the reality will always betray the thought.
If you want to do what you want to do, if you want to do something real and meaningful to you, then work.
Work hard. Try the hardest you’ve ever tried. Give it your all and do everything you can. Do that every single day. Don’t just read this and be motivated for a few days. Each and every day, wake up, remind yourself of the person you want to be, and work hard.
Love what you do
There’ll be times in life where the only thing you want to do is work.
JJ said that to me on a Friday night in the office. I don’t recall why he said it, but the phrase strikes in my memory since.
Work gives me purpose. I like what I do, I like building products for people, I like mentoring and developing others, I like writing, I like inspiring, at times I even like the politics and the absurdity of it all.
When I was on Percolate, work gave me an incredible amount of purpose. I believed in our vision, I truly wanted to make Percolate succeed and thought that what we were doing was the right thing to do for the customer. We were buccaneers making the site for better. We went from page to page, found crappy content systems, and replaced them with dynamic personalized recommendations. I loved the people I worked with. I learned from them, became close to them, and eventually felt responsible for them. They relied on me and I was intent on never betraying that trust.
After I quit Percolate, there was a certain void that occurred. Work had been the primary thing in my life that fulfilled me, to perhaps an abnormal degree. Some part of me attempted to rectify that by doing more of the same. I found stuff to work on, kept myself busy by taking lectures and reading papers, and continued to build side-projects. That didn’t quite work: I still felt empty and unfulfilled.
So I started something new. I got into a lot of hobbies, met a lot of people, and did things I’d probably never do again. I learned how fulfilling life can be outside of work, how purposeful relationships can be, and how meaningful life in itself really is. I'm grateful for that and cherish what I’ve found.
But I still love work. I love what I do.
At the end of the day, few things are cooler than building products that solve problems for people.
So learn to love work. Give it a shot. Rather than think about how to minimize effort, give a shit. Actually try. Be an owner and think about what would you do if you were in charge. What would you do instead?
And even after that, if you find that what you’re doing is not what you’re supposed to be doing, then quit. Figure out what you want to do: be that art, literature, activism, or whatnot. Quit and go do that. Be proud of what you do. You choose what to work on. Not your manager, not your director, not anyone else. Don’t forget that.