Working with CJ

This is a place where I'm working through some self reflection and might be
valuable as a bit of a "working with CJ" or some insights to help more quickly
start collaborating effectively.

About my life

Born and raised in the Sierra Nevadas on the North shore of Lake Tahoe. Our
family moved from Kings Beach, CA to Reno, NV when I was 13. Attended high
school (Manogue) and college (UNR) in Reno. Nicole and I were married in 2010.
We have two boys who are 15 months apart in age. Growing up, I snow and water
skied, wake and snow boarded, and was very into BMX -- 🚲 bikes are still a big
part of my life.

About my career

I've had a really odd and varied career journey.

I started trading code for money in 2005 when I got a job that I was woefully
unqualified for in a seismology lab. I was writing perl, learning vi, and using
a sun solaris machine. After that I started buildng websites in classic asp, a
little php, and then for many years with .NET.

While in college studying Computer Science, I joined the Nevada Army National
Guard which took me on deployment to Afghanistan in 2011 -- a year where I
learned a ton about networking and security.

After college, I had a couple jobs where I wrote code in the Microsoft
ecosystem: VB.NET (finance / stock trading), ASP.NET (liquid handling
robotics).

In 2013, I found and fell in love ♥️ with Ruby. I attended, then taught at App
Academy (Rails bootcamp in SF). In 2015, Nicole and I decided to move back to
Northern Nevada from the Bay Area and I took a remote job working for MyVR, a
platform for vacation rental managers. Here, I learned python, django, and
angular and built a ton of API integrations.

In 2019, I made the move from product engineer to support engineering at Stripe
where I had the opportunity to help more developers learn how to build API
integrations. In 2020, I again shifted a bit into Developer Advocacy -- a role
where I'm able to work across dozens of technologies to build demos and videos
to help grow the GDP of the internet.

Reaching me

  • If we work at the same place, Slack DM is always welcome
  • If we dont work at the same place, Twitter DM is the next best thing
  • Email me if you need a paper trail
  • I ignore any phone calls from numbers I don't recognize

Things I care about

  • Passionate execution: Do everything to the best of your ability and work hard to get better.
  • Hacker ethos: bend the spoon; do things that don't scale;
  • Respect: Have regard for the abilities, qualities, and achievements of users and colleagues alike.
  • Grit: perseverance for long-term and meaningful goals (book rec).
  • Impact: Have a strong (measurable) effect on someone or something
  • Ownership: be responsible for tasks which you directly control and for tasks that affect whether or not your mission is successful (book rec).
  • Freedom and responsibility: Set your own schedule and be held accountable for your actions.

My working style

  • FILO Tornado Stack: I will start a task 1, get an interrupt for task 2 and start working quickly on task 2, get an interrupt for task 3 and quickly bang out task 3, then go back to task 2, get an interrupt for task 4 and bang out task 4, then go back to task 2 to complete, then go back to task 1 to complete. Tornado because I'll often move from thing to thing haphazardly keeping track of tasks in a quick and dirty TODO list.
  • Dreamer: I love to brainstorm and get a lot of energy from trying to think of creative ways to solve problems.
  • Starter: I'm super good at starting new things. It takes a lot of will power and effort to drive them to 100% completion, but I can get there.

Some context about what follows

I've been told that I can be quite rigid in my perspective of how the world
works. That I live by a bit of a "CJ's rules for life" that might be different
from most. I'm going to try to capture some of that here.

Unreasonably high expectations

I tend to have unrealistic expectations for myself. These expecations sometimes
begin to fall onto others (unfairly) and its something I have to work really
hard to combat. Telling myself "X is good enough" when X is my own or others
work. Its a challenge to know where to draw the line.

An unfortunate side effect is that sometimes I worry that something wont be
done to the bar I've set, so I tend to say "yes" to way too many things from a
dillusional place of thinking that I might be able to do it better (rarely
true).

It takes effort for me to see others perspectives and without full and clear
context from others, I can sometimes jump to the default conclusion that
something didn't happen the way I envisioned it.

Given I want to achieve, compete, push hard, something I've found really useful
is to constantly ask for feedback from peers and managers, especially outside
of the standard performance cycles so that I learn my blind spots.

Rush to accommodate

It's better to rush to accommodate others rather than "taking it easy" if
others are waiting. Even to the point of being a martyr, I feel like one way we
can help others is to be on-time, and avoid making anyone wait. I hate being
late to meetings.

This also manifests as being poor at advocating for myself.

High bias for action

My bias is generally to manifest something. Take action and iterate. This comes
at a cost of not fully thinking things all the way through before diving in.

Juggling and prioritizing

I tend to have very high output. This can lead to some slop in areas that I'm
not passionate about or that I don't consider important. If something is
especially important to you on a project I'm executing for you or with you,
please let me know so that I can actively prioritize.

One example: I am horrible at CSS and I while I could invest in getting better
at that, I've mostly just learned enough to get by.