/README

My leadership operating manual

Craig's leadership operating manual

Disclaimer

This document only applies to myself and not other managers at NerdWallet. Every manager has their own style and personal quirks. This doc attempts to fill you in on some of mine.

Wat is Dis

We need to get to know each other a bit to work effectively together. This document will help "prime the pump" and get that relationship going. It should also make some of the most critical expectations as clear as possible early on, setting you up for success.

My Leadership Philosophy

I am a big beleiver in servant leadership. I exist to make it easier for you and the team to do great work. I want you to grow as an employee, I want the team to grow in its responsibiltiites, and I want NerdWallet to grow because our organization is successful.

My Job

In order of decreasing importance:

  1. Single-threaded Leader
    I am responsible for the Core Engineering single-threaded team (STT), a group of 50 software engineers, software managers, and product managers. I am the single-threaded leader (STL) of this organization. This means that I am the ultimate owner of our organization's resources and I am accountable for delivering on our goals. I have a strong voice in determining what our goals should be since I am a member of the senior leadership team (S-Team) at NerdWallet. The S-Team is a group of executives and STLs that exists to discuss strategy, set goals, and review goal progress.

  2. People manager
    Our people are our most valuable asset. I need to learn quite a bit about the personal and professional context of each team and each individual. This helps me guide the right projects to the right people, making each engineer maximally effective and helping them grow over time. It also helps make this a great organization to be part of.

  3. Project manager
    There is a lot going on within our organization. I am contantly weighing many factors to determine project priorities and assist in getting things unblocked. I try to focus on the "what" and not the "how". It is your job as an engineer to decide how we will approach the technical challenges assigned to your team.

  4. Product manager
    While we have dedicated product managers, I do a lot of work across NerdWallet organizations to understand how our software is used and what improvements should be prioritized. I also coordinate with other team so that our needs will be addressed as well. We have dependencies too...

  5. Software engineer
    I am no longer doing software development work. It is one of the challenging tradeoffs of management. Still, I work to stay sharp technically so I can effectively understand the challenges facing our org. Coding is why I got in the business and I always want to keep my "hands dirty" in some way. These days, most of my coding is on personal side projects.

Empowerment

I try hard to not be authoritarian or micromanage. I want to provide a work environment where you can be creative, deliver value, and shine as an engineer, manager, or product manager.

• I believe in and practice servant leadership, meaning I serve you and not the other way around.

• Your role on the team is to ship great software to our internal and external customers.

• My role on the team is to make sure you have the skills, space, and context to do that in the best possible way

• I am also here to assist in your professional goals, helping you get to where you want to be in your career.

Default to High Autonomy

My default management mode is to let you handle your work without constant guidance or direction from me.

• We hired you because you are smart and capable. I trust you to know your own limits and get support when needed.

• I may provide suggestions, but I will try to not force a solution.

• At the end of the day, you own the code/project/product and know more about our systems than I do. I will trust your judgement.

• Everyone is different, and I realize some people need more guidance than others. If you need more direction from me then don't hesitate to let me know. I am happy to provide more (or less) input.

• I’ll get better at finding this balance as we get to know each other better. Please give me feedback on this often.

What do I value most?

Consumer, Company, Team, Self
We should care deeply about how our internal customers use our software and what they need from us to be succcessful. We should always keep our end-users in mind as well, even though our impact on end-users is indirect through other development teams.

Ownership
You take your responsibiltiies seriously. You consistently work to deliver solutions to the problems facing your team and our org. We can trust you to get things done.

Holding High Standards
We should be delivering top-quality software at all times. We will occasionally take on technical debt to speed things along, but at no time will we compromise our standards.

What will dissapoint me?

This is pretty much the inverse of the points above:
• Not caring about our customers or how our software impacts their work.
• Not being invested in our software development or your team.
• Delivering substandard software with low quality.

Transparency

• I bias toward transparency and candor. You can ask me anything. Most of the time, I'll answer. On rare occasions I will not be able to answer. If I can't answer, I will tell you why. I'm committed to never lying to you.

• I will work to be as open as possible about what’s going on with our team, organization, and the company. I have no intention of hiding bad news from you.

• My calendar is public and very few events are marked private.

• This company may require me to not tell you about something before a certain date. This has happened three times in the last two years: twice for major reorgs and once for the NerdWallet IPO.

• This company cannot require me to lie to you. I've never been asked to do so at NerdWallet. If asked, I would refuse.

Personality Quirks

Everyone has particular personality quirks. I try to list a few of mine here so you are aware of them.

• I am very friendly and flexible, but I do have limits. For example, need a last minute day off? Shouldn't be an issue. What about a string of several last-minute PTO requests? The first few will probably be fine, but once it becomes a pattern then my irritation scales up. I will work hard to let you know when you are close to the line so you can course-correct early.

• I need to know that you can be trusted with the basics. If I don't have confidence that you can handle the fundamentals, like consistently showing up for meetings on time, then it raises questions about how you will handle other critical aspects of your job.

• I can get stressed out on rare occasions, like most people. When this happens, I may be seem to be in a hurry or otherwise distracted. Please call me out privately if I am being wrong-headed and I will take a step back (really).

• Sometimes I have a tendency to want to be right Often I am just playing devil's advocate. I want to push you to consider other points of view. Other times, I can keep pushing a point because I think it’s right, not because it objectively is. Please call me out on it if you feel this is happening and I will reconsider my position.

• When giving feedback, I tend to skew toward the "big picture". This means I can sometimes omit information on specific instances or episodes of a behavior. I have been working hard to utilize the situation/behavior/impact (SBI) framework for feedback, but it is a habit I am still developing. If you prefer more-specific feedback then please let me know and I will get specific.

Work Hours

• I typically work 9am-6pm. Most of the team keeps similar hours. I am flexible regarding when you come in, but in your first 90 days you should bias toward being available when the rest of the team is around.

• Being on-call is an important part of software engineering at NerdWallet. Every engineer will begin taking turns on-call after a few months. You are expected to respond quickly to pages and service warnings when you are oncall. We will not put you oncall until you are comfortable and prepared. With that said, you may not feel completely prepared the first time you go on-call. That is natural.

• NerdWallet is remote-first, and as of Q4 2022 about 60% of our staff work outside the Bay Area. We have engineers from Hawaii to Scotland. It will take effort to understand who is in which time zone and adjust accordingly. Please make every effort to be mindful of local time zones when you are making requests from others.

• I usually work over lunch, but that is a personal decision. Please ensure that you can disconnect over lunch if you would like to.

Communication

Email: I expect you to read and reply to emails at least once per day during the work week.

Slack/Chime: Direct messages should be responded to within a few hours during the work week.

Phone/page: Urgent, expected to be answered or responded to ASAP regardless of day.

• Any email/slack message I send you outside of work hours can typically be ignored until the next business day. If I need a response more quickly I will make a note of it in the message.

• If I call you or page you outside of business hours then it is likely an emergency. You should get back in touch with me as soon as you can. This should be a very rare occurrence, on the order of once per year.

• Don't hesitate to send me a message, even outside of work hours or on the weekend. Feel free to reach me via Slack, Chime, email, SMS, whatever, whenever you need to. If you need a response quickly then please let me know it is urgent. I am always happy to help.

Growth/development/coaching

It is my job to help you get to where you want to go professionally, even if it means a trajectory away from NerdWallet. I think that this is one of the most-important aspects of my job and we will spend a fair amount of time talking about long-term goals in our 1:1s.

We will have a sit-down meeting at least once per quarter to talk about your career growth. I will also be asking some future-focused questions during our weekly 1:1 meetings. These tend to work better when you have done some introspection on where you would like to be in 1, 2, or more years. I can only be of service when I know how I can help.

Feedback

I love feedback. It is super-critical to both your success and mine.

• Three dimensions are required for people to continue to give effectifve feedback:

  1. Safety: probability of you being punished for providing feedback. This should be low.
  2. Effort: the amount of work in order to give feedback, also known as "how much do you argue/debate when people give you feedback?". This should be low.
  3. Benefit: how likely is it that giving you feedback will materially impact your behavior? This should be high.

• Let me know if I don't do well on any of these three dimensions.

• I'll let you know if you don't do well on any of these three dimensions.

• I care about kindness, but I'll optimize for effectiveness and, within that optimized effectiveness, try to be as kind as possible.

• My job is to always make sure that you heard and understood the feedback I provided.

• Effective feedback is something I am always working to do better and better on. In the past I have been too kind at the expense of being effective. If I need to be more direct then please let me know.

Want to Talk? Let's Talk

• Uncertainty is a relationship killer. I never, ever want you to wonder where you stand with me. We should always default to communicating about important topics, particularly when there is a concern.

• Have a quick question? Send me a Slack message.

• Need to have a longer discussion? Let's talk in person or on Zoom, 1:1, at any time.

• Let me know that you want to chat. I can almost always move things on my calendar to meet with you. I am in a lot of meetings. Very few of them are more important than spending time talking with you if you want to talk with me.

• Feel entirely free to put time on my calendar to talk whenever you want. Any open slot is yours.

Weekly 1:1s

• This is your time. While I will bring up questions and topics, you should feel free to steer the discussion as you see fit. If I need more time to talk with you about something I will schedule another meeting at another time.

• We can talk about sprint work, but that isn't really what the 1:1 is all about.

• Urgent matters should not wait for a 1:1.

• Our 1:1 meetings are currently held every week. We can do 30, 45, or 60 minutes depending on how much we have to talk about. This is largely up to you.

New Employee Expectations

• It is expected that you will put in sufficient extra hours to onboard as quickly as possible. More than eight hours of work is sometimes expected on this team and your first few months is one time when additional effort is required.

• For engineers, I fully expect that, at some point in the first three months, you will take down one of our production systems. As long as you are doing your best to avoid production errors then I will not be dissapointed by this. We run complex systems, and it takes time to learn them. My only request is that you learn from your mistakes and not make the same mistake twice.

The Road Ahead

This is a lot to take in all at once, I know. Even with all this complexity, I have high confidence in your ability to get up to speed on the team. We wouldn't have hired you otherwise. There are going to be plenty of bumps in the road ahead: code that makes no sense, undefined goals, a cranky sprint partner, and ineffective management on my part from time-to-time. When this happens, we will work together to get through it and learn from missteps.

Imposter syndrome is likely to hit you hard in 2-4 weeks. This is expected. Let me know when it comes knocking and we can talk about it.

Random Miscellany

• GIF pronunciation: I think it is "gif" and not "jif". I know the creator of GIFs says otherwise, but he is profoundly wrong.

• Tabs vs Spaces. Spaces, always. This was the coding standard at every job I have worked at and is the coding standard for our team.

• Text editors. I never got on the Emacs or Vi bandwagons. I use BBEdit for most text work on the Mac. I have literally used it since I was a kid.

• I have been an avid cyclist since I was a teen. I like to do long road rides around the county and short rides up mountains. I have been a decent runner since 2007, but I am in no way fast.

• I am a private pilot and fly small planes on the weekends. I would be happy to take you flying around Santa Barbara if you happen to be in the area.

• I am just getting into SCUBA diving. The Channel Islands offshore from Santa Barbara are a wonderful place to sightsee underwater.

• I still like to do embedded programming on the weekends. I set up a LoRa radio network at my house to control lanscape lights and read sensor data.

• My communication can get meme-heavy at times. Feel free to send me funny cats at any time.