Working with Caspar

Did you find this because I'm about to interview you, or you're considering joining the Statuspage team at Atlassian? Perhaps you're wondering what your work life would be like if you end up joining my team?

If so, you're in luck, because I'm about to try and give you an idea of that.

What to expect from me as a manager

I'm technical; you don't have to worry about my not understanding what you're up to. I've been programming since I was 11, and programming full-time and professionally since 2009. However, I prefer to delegate as many technical decisions as possible to you; this is because...

Management is my craft now, not coding. It may not be that way forever, but while it is, my job is to be a multiplier of your efforts. That means:

I've been a manager since early 2016: I still have a lot to learn (thankfully - I'd hate to be bored!), but I'm also firmly out of first-time-manager territory, and I've dealt with enough shit and fan interactions to get a good idea of my strengths:

Finally, I've been at Atlassian since 2013, so I know who to talk to for most things, and where to find answers when I don't. But I'm damn well not resting and vesting, and never will.

What I expect from you if you are a developer

If you're joining my team as a developer, the short answer is that I expect you to consistently put 100% effort into advancing the objectives of your team. Typically, this means trying to move the needle on a metric or address qualitative customer or internal feedback by building a new feature or reworking existing functionality.

The most basic form of this is working on tickets which are mostly assigned to you by other team members. This is the level which I expect a junior or newly joined engineer to operate at.

A mid-level engineer should be able to take a functional specification of requirements, suggested changes and UX mockups, and implement that from start to finish. That means turning the functional specification into a technical specification of work to be done, getting that reviewed by more senior team members, breaking that work down into a set of incrementally executable tasks, estimating how long they will take, executing on those tasks, and keeping interested parties (including me!) apprised of your progress.

If you are joining as a senior engineer, I expect you to participate heavily in the initial crafting of the functional specification by working together with product managers and designers. Typically the scope of your projects are larger or riskier, so you should also be able to break down work so that multiple people can execute on the same project in parallel, and then adjust your estimate to account for that parallelism.

Concretely, your day to day priorities should be:

  1. Interviewing potential candidates to join the team (once you are senior enough to be on the interviewing roster)
  2. Unblocking your team mates: answer their questions and review their code, specifications, and other artifacts.
  3. Unblocking people outside your team, when reasonable. If unreasonable in your opinion, I expect you to protect your time by clearly communicating that to the people in question, pointing them to an alternative, or escalating to me if you can't think of any other options.
  4. Planning upcoming work, collecting & analysing data, writing technical specifications, writing code & tests, verifying your and others' work, writing blog posts to share technical and organizational knowledge, and responding to escalated support cases. (Priorities within this bullet point should be clear from your team's weekly planning and daily discussions during standup.)

There is a lot more to say on this topic, and we will talk about it a lot more if you join my team, but if you aspire to live up to the archetype described at On Being A Senior Engineer then you will be on the right track.

What I expect from you if you are a manager

If you're joining my team as a manager, this answer is easy: first read what people can expect from me (see relevant heading above).

That's what I'm going to expect you to handle, except scoped to your area of responsibility; in the same way that my job will still be to multiply your effectiveness, I will expect you to multiply the people working directly with you. I will be your backup, but once you are fully ramped up, I expect you will be able to handle the everyday proceedings of your team.

In addition, on top of surfacing project progress & risks, I will expect you to be able to coherently discuss the career aspirations, progress and performance of your team members with me.