Thirty-five

Standard

H1 at night

I distinctly remember sitting on the yellow fire hydrant outside my house in Mililani. It had a flat top — kind of an odd hydrant, really — but it was cool to the touch, even on hotter days. I used to sit on it and daydream while my father worked on cars in the garage.

I thought about life, why I was here or who I’d be where I’d grow up. I was eight, but something inside of me has always been older. I wondered who I’d marry — if I would ever be? — and what kind of adult I’d be. Would I be a scientist? An astronaut? A basketball player? A doctor? I’d think of these things as I tossed tiny red lava rocks over the retaining wall.

The thinking continued through high school, where I developed a fondness for writing. Creative writing, American literature and advanced writing taught me to see the meaning behind things. A scarlet letter, the eyes of a child, a handful of dust or a rye field — to some they are mundane, nondescript, uninteresting things. To the right person they are heavier than the world or brighter than the sun.

The last few weeks have been important for me. At thirty-five I’ve found space to appreciate the meaning of time, love, patience, loyalty, humility, family and friendship. I’ve the time to daydream again and I’m excited about what’s to come.

Last but not least: Thank you. To my colleagues, friends, family and all of you who have helped me along the way — my eight-year-old self could not have imagined a better life filled with better people. I am definitely lucky. Also, 7-11 serves free Slurpees on my birthday. What?!

Here’s to the next thirty-five.

Interns teach companies too

Standard

To speak truly, few adult persons can see nature. Most persons do not see the sun. At least they have a very superficial seeing. The sun illuminates only the eye of the man, but shines into the eye and heart of the child.
- Ralph Waldo Emerson, Nature

Web Excellence Award

Every summer at Mozilla, I was always amazed at what interns are capable of.

I was never a fan of taking the best and brightest and having them do mundane tasks like organizing desk furniture or data entry. It’s such a waste of time for a group of geniuses at the peak of their learning abilities.

So I’ve always pushed to create intern projects worthy of their time — projects that made a difference over Q2/Q3 and were on the critical path in some way. And by doing this, I’ve seen interns teach the company more than the company taught them. Not only was I okay with it — it was awesome to see.

Listen to your interns

There are a lot of simple things you can learn from interns if you’re listening. Their ridiculous, code-monster output can be inspiring and critical, but their feedback is just as important. Consider what you might learn from an intern:

  • Are your projects cool? If your company is doing interesting things, your intern projects should be interesting as well. They should be easy sells when speaking with interns who have a number of options. This helps you understand your cool factor — or the Nike or Apple factor — when it comes to recruiting talent. Are your products worth working on? Are they challenging enough to matter? Is your mission worthy? Interns can tell you this before you even hire them.
  • Do you have awesome engineers? Your ability to lead and mentor interns tells you something about the quality of your engineers. Are they able to teach a younger engineer the skills necessary to succeed? Do they have the maturity and patience to deal with someone who does not have the same amount of experience as they do? Do your interns respect them for it? Does your team even have the time to mentor an intern (and is that a good/bad thing)? Do interns out-perform your full-time folks? Interns can tell you a lot about what kind of people you have on your team and whether or not they have too much on their plate.
  • Do you have good engineering culture and processes? For an intern, the summer is all about getting stuff done. Interns absorb and accomplish things at a high rate — and they are a good litmus test for whether or not your culture and processes empowers people to get things done. If the way you do things is counter-intuitive or paralyzing, they will be the first to feel it. Their fresh perspective and intrinsic motivation make them great sounding boards for feedback on your process and culture.
  • Do your interns have fun? Last but not least, is whether they can have fun. If they can learn, be productive and have fun — it tells you you’re doing something right and this same energy translates to full-time employees. If they don’t enjoy their internship, or feel drained at the end of the day, there’s something wrong with your environment and they won’t be the last people to speak up about it.

Overall, interns can teach you a lot about what type of organization, team or company you have. Make sure to spend time with them and get all the feedback you can get. They are a valuable source of information and don’t have the usual organizational biases. Remember: if you don’t listen, you’ll miss all of it.

Making your internships awesome

So how do you work with, mentor and recruit interns? Here are some tips on how to work with interns at different points of the summer. Everyone has opinions and every company is different — but these worked for me:

  • Start recruiting early. It wasn’t unusual for my team to have our interns locked up before Thanksgiving. I credit awesome recruiters like Julie, Kimber and Jill (kudos!) for this, but ultimately we got to them early through career fairs and meetups, showed we were humans who knew our stuff about technology, and got people interested in the company’s mission. Quick aside: don’t give people exploding offers. You’ll lose people this way but at least you’re not being predatory and putting undue pressure on these kids. When you get a talented intern who wants to be there, you’re going to get the most out of the opportunity both ways.
  • Get testimonials from past interns. There are a lot of books on attitudinal loyalty, but this is a case where it really makes or breaks you. Word of mouth matters, especially in some of the strongest CS programs. When you have a good intern who loved their summer, ask them to write about it — blog it, talk to folks at their school, maybe even help you recruit at their college’s next career fair. And when you’re recruiting, be prepared to talk about these projects and link to these blogs/writings — they are a great way to explain to prospective interns the kinds of projects they might be able to work on (even if you can’t be super specific about exactly what project it’ll be yet).
  • Make a connection. I always found a way to relate to interns and talk about their favorite projects. Robotics, AI, video games, ping pong — whatever it was, I wanted to talk about it. Not only was I genuinely interested in them (I was!), I wanted to connect with them on their terms, in their comfort zone. Maybe they aren’t going to be able to talk for hours about web security — that’s what they are talking to you for — to gain that experience. But give them a chance to talk about their world. Not only is it fun, you will learn something while giving them a chance to talk about who they are and what they love.
  • Show them you care. This comes easy with a little effort, and is usually about you giving them your time. Take them to lunch. Ask them how they are doing. Give them rides home if they need them. Help them find a bike to rent. Give them tips on what to do in the city. Congratulate them when they plow through a tough bug or feature. Buy them coffee! There are so many little things you can do to make their internship special and show your appreciation. Use your imagination.
  • Trophies and stuff. Everybody loves trophies — why not get one for “surviving” their internship? The internet has sites with amazing trophies — so I got some and I went out of my way to take photos. It helps us remember how awesome those summers were. The best part of all of this is the interns get to take the trophies home with them, hopefully on the plane, so they have to explain what it is to strangers. If you don’t like trophies, get them a book, picture or card — something to take home with them and remember their summer. Be creative!

Whatever you do, treat interns with respect and make them feel valued by giving them your time and attention. If you can do this, they will surprise you and your summers will be memorable and productive.

Here are some photos from the last couple of years:

2012 Webdev Interns

Bye Owen!

2011 Webdev Interns

Tony and his mentors

Reorgs: choose wisely

Standard

We trained hard … but it seemed that every time we were beginning to form up into teams we would be reorganized. I was to learn later in life that we tend to meet any new situation by reorganizing; and a wonderful method it can be for creating the illusion of progress while producing confusion, inefficiency, and demoralization.
- Charlton Ogburn, “Merrill’s Marauders”, Harpers Magazine, January 1957

Having been through a few reorgs, I can tell you that two requirements should usually be met:

  1. The change must be good for the org and mission
  2. The change should be good for the individuals involved

You should strive for both 1 and 2, exhausting all options, but sometimes you must choose just 1.

If you find yourself stuck choosing 1 over 2, it almost always results in people leaving. It causes boredom or animosity — both spell doom for an employee or team’s morale. Just be prepared to lose people.

I believe something is horribly wrong if you are in a position where 1 supersedes 2 and you have no better alternative than to lose valuable people — but it may not be worth over-generalizing. Just think about it.

BRAINS and the art of decision making

I went through a birthing class with my wife prior to having our first kid. They introduced a framework for making decisions that is universally applicable and works well with reorgs. It’s called BRAINS:

  • Benefits: What are the benefits of the reorg — for both the mission and the people involved? What is your vision?
  • Risks: What do you stand to lose by going through with it? Will you lose people? Will it slow your teams down initially? What are the costs if it doesn’t work out?
  • Alternatives: Is it not an org issue? What if you hired a key person to fix the issue, changed your process or reset priorities? What are other ways to address your concerns?
  • Intuition: Does it feel right? Would it feel right to the team? Are you finding it hard to defend it because it seems so counter-intuitive? Typically if things do not feel right, something is wrong. Intuition is usually overlooked with these types of things but it’s a powerful motivator for the org and has direct ties to morale. Pay attention to this and listen to what people are telling you.
  • Nothing: What happens if you do nothing? Sometimes letting things play out resolves problems. Time works miracles if you can afford it — but sometimes you can’t. That said, understanding the relative cost of doing nothing is an important yardstick when rationalizing change.
  • Smile: Smile because you made a decision. When all is said and done, if you can support your decision and commit to it, be happy you made one. Move forward and be positive — it’ll help things work out and get folks to come along with you.

The reorg sanity test

There are some questions you should be able to answer before bestowing a reorg onto your organization. So in the spirit of the Rands test, follow these questions and see how many points you end up with:

Is the reorg easy to defend? (+1)
Like relationships, if things are rocky early on, something is off. Most often promotions, reorgs and other changes feel right. Intuition goes a long way here and if the first general reaction people have is “huh? what?” that’s not a good sign. You’re looking for the nod here — when you explain it to someone it should be self-evident and make sense. If it isn’t, and don’t kid yourself, then no points for you.
Did you discuss the reorg with your team? (+1)
The idea that someone can draft a master plan, drop it on a group of brilliant people and tell them to just do it is draconian. In software, solutions built from the ground-up have galvanized buy-in as a built-in feature; this applies to organizations as well. If you’re making decisions without input from the org you are forgoing a valuable resource and missing opportunities to a) evolve your solution into something better b) let the org be heard and help them own the solution. If you shared your plans early and got feedback on them before making a decision, give yourself a point.
Did they like the idea? (+1)
First impressions are hard to change. When you shared your plan or decisions (whatever stage you were at) did your team like the idea? Were they uncomfortable? Was there an awkward silence after you explained the plan? Or were they happy about the change and reinforce it? If they liked it, give yourself a point.
Did your team come up with the idea? (+1) Did upper management? (-1)
If you are a progressive leader, your team may have even come up with the idea in the first place. Asking the right questions can lead to solutions. If your team actually came up with the new reorg plan, give yourself a big fat point. Good on you. If this is an idea from upper management and has never involved anybody from your team below a certain rank, subtract a point — you are creating issues with buy-in down the road.
Did you discuss the reorg with other parts of the company? (+1)
This is a transparency check. Did you make the overall decision without dependent teams knowing about it? If you shared the plan and did a dry run to see other groups’ reactions, give yourself a point. If you hatched your plan in private and the first time folks saw it was via a) being told it was happening via an email b) rumors — then no points for you.

If you scored 3 or less, you’re playing with matches. Some combination of top-down leadership and lack of transparency leads to issues with buy-in. It means your reorg, even if applied, will not stand the test of time and erodes trust in your leadership. It could make everything harder for you.

The golden circle

I mentioned that doing what’s right for the people involved is important. I think it’s arguable that rule 1 and rule 2 must always be met — but I know in practice that people can’t always just do whatever they want and there is usually a bottom line to uphold.

Some of this all comes back to what kind of leader you want to be. In relation with Simon Sinek’s thoughts on the golden circle, I’ve always striven to be the type of leader who leads with why, guides people to how and empowers people to discover the what.

A conventional approach is to start with what you want, tell people how you want them organized and explain why when the plan is shared.

I think a better approach is to help your team understand why changes are needed, help them find a solution for how they want to be structured and ultimately they will arrive at the correct what — the right org to match the challenges they face.

Leading with the why is inclusive and gets you better buy-in long-term. This means less of a cliff when the initial proposal is thrown out there. It makes transition easier but can get hung up on finding 100% consensus. Remember that even if you lead this way, you still need to make a call and push forward.

If all else fails, do your best to listen to your team and what they are telling you before and after you discuss the problems they face. The answer to how your organization should be formed lies within your team as much as it lies within you.

Never impose on others what you would not choose for yourself.
– Confucius

Ode to James Socol

Standard

James Socol is moving on from Mozilla. It took me a week or so to digest what this means to me. Today I’m sitting here, in what would have been our weekly 1:1, writing this post because:

  • I’m not letting James leave without a proper tribute
  • I’ll miss working with him (a lot)
  • He is too humble to write a post about how badass he is
  • I couldn’t take him out drinking to dinner last week

What I’ll Miss

At the top

James Socol is a force of good. He can usually be found getting shit done and pushing forward every day. I’ve worked with James for about four years as his manager. He possesses both sound principles and a wicked work ethic. He was reliable and never said, “that’s not my job.” He’s the kind of guy you want on your side.

There are many reasons to miss James but here’s what I will most (in no particular order):

  • Sense of humor: James has a dry sense of humor and has mastered the art of sarcasm (the good kind!). He also understands all internet memes and often corrected me on these. His depth of Penny Arcade and xkcd knowledge are unparalleled. I’ll miss all the laughter we shared during work weeks and meetings.
  • Passion for people: It was great seeing James grow as a manager. James and I first started testing Rypple for managing feedback loops a few years ago here at Mozilla. Neither of us were going to accept a yearly feedback loop as enough for personal development of our teams. He volunteered to experiment with new methods for managing teams and led by example. You could tell he actually cared about people and being a manager was more than just a job to him. I’ll miss working with him on leadership and management because I learned as much from him as he learned from me.
  • Solving problems, not symptoms: Regressions are always something to worry about in software. What made James special is he isn’t happy just fixing regressions faster or reducing them to a reasonable level. He strives to eradicate them and pushed us to move forward with continuous integration and deployment. James approached every problem with soul. His work will persist in what he leaves behind but I will miss how well he matched the work of today with the principles behind tomorrow.
  • Putting his heart into it: All in. That’s what comes to mind when I think about how James approached things. He’d be upset if things weren’t working well, if someone was unhappy with him or if a launch went poorly. He lived and breathed his work for Mozilla and I will miss his passion for the mission because it inspired me and everyone around him.

A Giant Code Impact

James discusses his favorite topic

On top of everything else, James was a code beast. He has quite a few repositories but when it comes to code, here’s what stands out:

bleach
An easy, HTML5, whitelisting HTML sanitizer. A powerful and widely used libary; gives webdevs granular control over HTML inputs.
pystatsd
A Python client for the statsd daemon. James pushed for us to use statsd and Graphite. Instead of complaining that we didn’t use them he got his hands dirty and made it work and convinced everyone why it was important.
django-waffle
A feature flipper for Django. It can define the conditions for which a flag should be active, and use it in a number of ways. This helped our first continuous projects focus on shipping features instead of arbitrary versions.
jingo-minify
A CSS/JS bundler and minifier for use with Jingo; connector to use Jinja2 templates with Django. This helped us minify assets for deployment.
commonware
A collection of small but useful tools for Django. Often used internally by our developers.
playdoh
James was a key contributor to playdoh, especially in the early days before it became an official library. He wrote a lot of its middleware and built one of our first sites using Django as its foundation. Today, playdoh is a popular choice for new projects at Mozilla (if written in Python).
kitsune and kuma
Last but not least, James was the lead engineer behind Mozilla’s customer support knowledgebase and developer documentation software. If I’m not mistaken he also chose the codenames.

Mad Street Cred

Nice kicks

James leaves behind two solid teams who build and support support.mozilla.org, input.mozilla.org and developer.mozilla.org. It’s important to note that his peers will miss him as much as I will. Here are some things they were thankful for:

On management:

… totally the best manager I’ve ever had. He understood the way that developers work (being a developer himself) and he was also such an awesome person! Also I think as far as my experience goes, he’s the first manager I’ve had that I felt completely comfortable being 100% open with.

broke every stereotype I had about managers. Great to come to Mozilla and have an awesome manager.

encouraged us to think about sane remote working practices

being a very nice interviewer

James always was encouraging and offered a tremendous amount of support to new developers. James was one of my favorite people who interviewed me when I applied to Mozilla. James’ demeanor, personality and attitude put me at ease. James truly displayed the Mozilla attitude that I love about working here.

As an engineering mentor:

continuous deployment/improving webdev’s deployment processes a LOT

He put freakin’ LOLcats in a code review! He’s very serious about quality code but he reminds us not to take ourselves too seriously.

Being Webdev’s security ambassador with the Security team

Being Guardian of Code Cleanliness on all his projects

James was humble and helped webdev grow through through various scaling points.

As a person:

letting me crash on his couch twice in one summer with random people he’d never met

Starting the “Better Know A Webdev” blog series

Onward

James leaves Mozila with solid teams, solid code and better practices. He takes with him acquired wisdom and lasting friendships.

I think James will continue to build amazing things and be successful wherever he goes. If anybody out there doubts him, hopefully they can read this post.

James – I’ll miss you but this isn’t goodbye. I will still troll you on twitter and expect you to keep your libraries up to date!

See you soon. Cheers. <3

James approves!

A Hero’s Journey

Standard

I spoke with my team this week about the hero’s journey, or Joseph Campbell’s monomyth. This was brought up in a leadership program at Mozilla as a tool we could use to understand the different types of journeys we take as leaders and what phase we might be in.

Hero's Journey

There are a few things I wanted to emphasize with the group:

  • Put things in perspective. “The Pit” or “The Abyss” can seem pretty daunting and when you’re in the middle of it, things can seem pretty bleak. However, once you conquer a few, you build confidence and recognition that what you’re facing isn’t the end of the world — that you’ll find a way to work your way through it and make a breakthrough.
  • You need faith. Belief in yourself, your abilities or your cause can sustain you through otherwise dark periods. There’s a reason why you answered “The Call” — just like Luke left Tatooine in Star Wars without really thinking about it. It’s because deep down, even if you are frustrated or tired, you know you can accomplish great things and overcome this challenge.
  • You will need allies. There is no Luke Skywalker without Yoda or Obiwan. Likewise, you won’t be able to move mountains without help from others. Could be your mentor, your god, your friends or your spouse. Either way, it’s important to realize that to make true breakthroughs you need to open up enough to let people help you get to where you need to go. Help can come as feedback, support, listening or many other ways. Remember to look for it and seek it.

Not very useful, but I found it pretty entertaining to deconstruct movies from the 1980s and see how they fit in with (or butchered) the formula. It’s interesting to see how they used montages to breeze through parts of a hero’s journey just because of budgeting or time constraints. You have to admit, though: the training montage from Rocky IV is pretty epic.

Anyway, just wanted to share some of those thoughts.

At Peace

Standard

My uncle Craig passed away this morning. He struggled for many years, bed-ridden after a series of issues. I am sad because I will miss him — at least the version of him I knew before he got really sick.

I’ll admit it was hard to watch him suffer, and his death brings a kind of closure and peace. I’m sure some of you understand the feeling. The last time I saw him, I sat next to him and said, “Don’t be scared, Craig. You will see your dad soon and he’ll take care of you. We are all here with you.”

I don’t know if he could hear me or understand me, but I already said goodbye. This morning I was sad but mostly for my mom and grandma, who lost a brother or son. I told my Mom she was a good sister to him, and took care of Craig through the worst parts. It was hard work — years of hard work — and all because she loved him and hoped to make him a little more comfortable.

As I usually do during these times, I read Thanatopsis today. The last part explains death better than most:

So live, that when thy summons comes to join
The innumerable caravan which moves
To that mysterious realm, where each shall take
His chamber in the silent halls of death,
Thou go not, like the quarry-slave at night,
Scourged to his dungeon, but, sustained and soothed
By an unfaltering trust, approach thy grave
Like one who wraps the drapery of his couch
About him, and lies down to pleasant dreams.

I hope Craig went in peace, as if laying down to pleasant dreams. He had a good soul. Rest well, uncle.

Lucky One

Standard

I was never a fan of first dates. The nervous tension was always palpable and I never had much of an appetite. Some of them went fine, some were terribly bad. I started to lose hope that I’d find the right person. The odds seemed against me after many failed attempts.

Jaime and Michael
I met Jaime online and she sounded fine on the phone. Sane, independent, smart, sense of humor. She even grew up in Hawaii like I did and was in vet school.

This girl is different, I thought.

For a first date, we did fairly well. Her roommates spied on me picking her up and her friend jokingly said to have her home by midnight. I didn’t oblige.

We didn’t eat much and I stared at the table a little too often. We went to American Dream Pizza and had gelato at Francesco’s on the second floor. I didn’t even finish my gelato.

For a night cap she showed me all of the animals at the vet school she had told me about on the phone. I introduced her to my cats and gave her a ride home. My face hurt the next day from smiling.

She moved in a few months later. Mostly, it was driven by necessity. This way I could feed her and comfort her while she went through the hardest part of vet school: surgery rotations. Until then I had never seen someone work a 36-hour shift. She complained, but not much. She just kept working hard.

Rio and Maia sleepingGetting the cats to get along was an interesting problem. I remember Maia and the boys almost killing each other when they were introduced. It turned into a weird feline love triangle, and they became family. Things seemed to have a way of working out.

Then, we decided to get a dog. The first day we had Scout was when I knew Jaime would make a great mother. I also knew I’d marry her by that point. She was a DvM. now, which was not easy. She passed her boards on the first try and was ready to start her career. Jaime was busy, but she still had time to take Scout to training classes and teach her a ton of tricks.

Soooo tiredWe moved to Portland eventually. Jaime worked at the VA for a while and we lived in west Portland. A year later, after our lease was up, we were off to California.

Jaime agreed to move to California knowing she had no job. We found a place at the last minute in Mountain View thanks to a friend and she started looking for work. She turned down a crappy offer only to walk into a good job less than a month later. She learned quickly and became a leader on her team. I was proud, but not surprised. Not at all.

Oh yeahI asked Jaime to marry me on February 13th the next year. I was worried because it was close to being cliche, so I made sure to avoid the 14th. Her family was there and I proposed to her on the coast of the Pacific on Land’s End. “Jaime, I have a question for you,” I said. At first she thought I had to use the bathroom, but she was shocked when she realized what was happening. We cried a little, hugging each other on the side of the trail. The wedding was even better, and we were happy.

Things went well for a while. One year, in spring, my grandfather passed away. When I got home, Jaime told me, crying, that Maia was also sick. I didn’t have to ask why she was upset.

Maia DozingJaime knew what had to be done, and she took responsibility for Maia’s life. The next day, we went in to the vet and put Maia to sleep. Jaime softly said goodbye, and I watched Maia die in her arms. Jaime was so strong. My heart was tired when I went to sleep that night.

And then, we got another dog. This one was tiny, shy and relaxed as a puppy. I’m not really sure what happened, but Junebug turned into a rascally poodle with an unhealthy obsession for socks, sunbathing and Greenies. Jaime took the time to take Junebug to classes and teach her tricks as well.

Jaime and JunebugThe years flew by. We found a new home for Rio and Junior and tried to start a family. One day, we found out she was pregnant.

Jaime was overjoyed. She read all the books and scoured websites. She wanted to be prepared, eat right, and take care of herself and the baby. As always, she looked at it as an opportunity to learn.

Today, she is around two months away from being a mother. I find myself in awe of Jaime. She has remained patient, graceful and loving even with her big belly, swollen feet and sore hands. She still goes to work and does yoga. Without hesitation, she assembled a beautiful baby room. I helped, but only a little.

I think about the journey we are on. There are so many memories, but so much still to come: all the firsts, wonderful discoveries, tough times, lack of sleep and those hard nights as parents. I am oddly at ease with the whole thing. I am not scared. I know Jaime is my partner, and I know she will be strong. It gives me confidence. I am lucky.

New set of shoes for a special baby girl

I wonder: will I ever be able to adequately tell our daughter how I feel about Jaime? Will I be able to describe how much I love her, and how rare it is to know someone like her? Will I do her story justice?

I will do my best — through actions and words alike. I am excited to be a father, teacher and friend to our little girl. But what I’m most excited about, above all else, is that my daughter will have Jaime for a mom.

Because, baby girl, your mom is special.

Princess