More work on job description

This commit is contained in:
2024-10-07 09:52:12 -04:00
parent be99876af5
commit 4ff168940a

70
one.org
View File

@@ -1,12 +1,10 @@
* I'm being willfully obtuse
* You're being willfully obtuse
:PROPERTIES:
:ONE: wfot-default-home-list-pages
:CUSTOM_ID: /
:END:
Hello,
Here's what I've been thinking about
Here's what I'm thinking...
* HTTPS @ Homelab
:PROPERTIES:
@@ -268,10 +266,74 @@ I've never liked working at [[#/large-companies/][large companies]]. Mostly beca
they complicate things, but some things are more complicated at small
companies.
Specifically, leadership roles tend to be fluid in their definition
where they grow organically over time. Also, as I'm learning, old
responsibilities don't tend to get pruned on their own. So you have to
be diligent about shaping your role over time or you'll end up
over-burdened and unable to do a good job at any of your
responsibilities.
Here's an outline of my job;
** Stated title
Director of Engineering (formerlly technical lead)
** Actual responsibilities
*** Business goal prioritization
Providing technical input to and vetting of business goals.
This is basically a combination of saying
- "X will take (days|weeks|months|years)"
- "Y will be (easier|better|less risky) if we do it after X"
- "We can get 90% of the benefits of A if we do B - at half the cost - instead"
- etc...
*** Writing stories and technical plans
Many (but not all) of our "tickets" "cards" "stories" what-have-you
end up getting written directly by me. This is, in some sense, an easy
job to delegate out but it's risky to do so because getting this part
wrong can lead to a lot of re-work amongst other costs.
*** Iteration planning
Deciding what the team will actually do in a given week.
*** Ensuring timelines get met
While we don't have a lot of "hard dates" on deliverables compared to
[[#/large-companies/][large companies]], we have them sometimes and it's my responsibility to
either ensure we hit them or to understand why we didn't so we can
better [[#/managing-expectations][manage expectations]] in the future.
*** Keeping production from breaking
At the end of the day, if the system is on fire then I have to make sure it gets fixed.
Fortunately, our system is fairly resilient and we have a rotating
"support" role that everyone gets a turn at - so I am not personally
responding to every issue that comes up.
However, if we do have a big enough or hard enough problem then I need
to be able to provide support. And that usually means the situation is
urgent so I have to know the details of the system well enough to
resolve issues quickly.
*** Software design
** Expectations (from others)
*** Discuss story details, expectations, changes, etc
[[https://en.wikipedia.org/wiki/User_story][A user story is a promise for a conversation]]. Very often I am the one keeping that promise and this puts me in the middle of a lot of conversations.
*** TODO Adjudicate technical disagreements
** Expectations (on myself)
*** TODO Maintaining technical quality
*** Primary interrupt
This responsiblity is a hold-over from my tech lead days and it's one I need to get rid of.
Being the primary interrupt means protecting the team from interruptions and allowing them to focus on executing the current plan of work (i.e. the stories in the iteration)
* TODO Managing Expectations
:PROPERTIES:
:ONE: wfot-default
:CUSTOM_ID: /managing-expectations/
:END:
:DRAFT:
I'll figure this out one day. Until then I'll just keep saying yes and burning myself out making everyone happy.
:END: