Skip to content

Instantly share code, notes, and snippets.

@0xdevalias
Last active October 24, 2023 02:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 0xdevalias/ab3d5249a7f64202c667f2f5088740b4 to your computer and use it in GitHub Desktop.
Save 0xdevalias/ab3d5249a7f64202c667f2f5088740b4 to your computer and use it in GitHub Desktop.
A 'personal user manual' / README, detailing some relevant information about 'How to speak Glenn'

How to speak Glenn

AKA: Glenn's 'Personal User Manual' / README

The original/canonical version of this document lives in my private Obsidian notes.

You can also find a 'living document' version of this (that may have more recent updates, and will show a version tracked history, etc) on my GitHub Gists at:

Changelog

  • 2023-02-15: First Version
    • +update to add the gist link
    • +added 'Uncategorised / TODO' section

See Also

Conditions I like to work in

  • Quiet working environment, with my own music. Too much external noise (particularly anyone talking, or too many lyrics in songs) is MASSIVELY distracting for me, my brain latches onto their words and fails to be able to process anything.
    • The music I will use varies from day to day, but it generally has few to no lyrics, and is either calming or energising. Electronica features heavily, often using the 'driving' energetic bassline/kicks/etc to 'force' my brain into an energised focus; and drown out distractions
  • My own space, with a good ultrawide monitor, 'proper' lighting, etc
    • Lighting that is not too bright, not too dark, but is 'just right' (I can by hypersensitive to it, and what 'just right' means can differ from day to day)
  • I can be either completely unaware, or hyperaware of temperature, and I find that if it's too cold or too hot, I am just way more distracted. Too hot also tends to make my brain just seize up and stop working properly; yet when it it does, i'm usually not even necessarily aware of it; just struggle and get frustrated more easily.

Times / hours I like to work

  • Lately I seem to try and roughly stick to a 9am-5pm sort of timeframe for my 'main work day'
  • I generally work better during the earlier parts of the day, as my brain/focus/motivation (and prescribed stimulants) can start to run out as the day drags on.
  • There was a time that I would start as soon as I woke up (which on some days could be 5-6am if brain decided I needed to 'get going'); but usually these days I will try and use that time for personal things, as otherwise I tend to just end up doing massively long days/hours and overworking
  • I'll also often chime in on chat at random other hours (or even my day off) if I become of a message that I feel I can contribute knowledge/etc to, that will 'save bigger future problems' if I 'left it'/waited to respond to it later on (though I try not to let myself get 'too involved' if it's outside my core work hours)

Best ways to communicate with me

  • Openly, honestly, transparently, directly, and thoroughly
  • Written, async communication; providing thorough and complete context.
    • It allows me to read/process it at a time that suits me, rather than having it 'barge in' and try and 'steal my time and focus' at the arbitrary time someone decides they want to contact me.
    • It also allows me to re-read and refer back to it later on, so it can 'sink in', and I don't have to rely on my variably useful (lack of) memory recall.
    • I generally don't bother with formal 'hello' / 'goodbye' / similar on chat/email/etc.. I tend to see them as an 'ongoing conversation'; adding those extra 'boilerplate small talk' comments just takes more time, adds more 'noise', and generally does very little to add to the conversation
    • I will provide all of the details/context/etc up front as best as I can. This will often include an 'infodump' of relevant details. It will almost certainly include multiple questions/etc. I will generally try and structure this in the simplest/most easily read/consumed format.
    • ALWAYS use threads to keep related information together, it allows people to 'opt out' of the noise that they don't need to see; not using a thread (for anything beyond the first message) is the equivalent of yelling across an office. It's rude and obnoxious, and basically says that you value the sound of your own voice more than every other person in that room.
    • ALWAYS @ tag me to get my attention, particularly if it's the first time you're referring to me in that thread/chat/etc. If it's within the 'flow' of a thread where we're already chatting, there's no need to @ me on every reply.
    • ALWAYS provide the relevant context up front. We don't live in each others brains. We aren't mind readers. It's a waste of everyones time/energy/focus to have to ask followup questions just to make the first statement intelligible.
    • ALWAYS include references to the specific aspects you're replying to to ensure your reply contains the correct 'context' to be able to process it 'in isolation'. This will usually mean adding a RE: some short description at the start of a message, or a quoted section of what I am replying to using the markdown syntax for quoting: > this is some quoted text
    • ALWAYS spend those few extra seconds to stop, think, re-read what you wrote, and determine whether you have provided enough information and context that will make it as easy as possible for the 'downstream reader' to consume, understand, process, and respond to your message. Spending a few extra seconds/minutes to make your message better is a 1 time cost; having to process and understand poorly written messages that lack sufficient details/context is a cost that needs to be paid by every single person who read that message, every single time it's read. Not doing this is equivalent to stating "I value my time far more than I value everybody else's", which is rude and obnoxious; don't be that person.
    • ALWAYS provide clickable links to things, not just referring to them by vague reference. It makes it quicker for me and anyone else who needs to to access the thing you're referring to, and it provides a 'context trail' for future, when the 'inferred context' is long lost from our ephemeral working memory. It's a basic tenet of building up 'organisational knowledge' that is captured as part of standard interactions.
  • Unless there is a deep need for it to be a private chat, I prefer communicating about problems/things being worked on/etc in threads in a public chat channel.
    • That way the insight and information I share can be referenced/used by/learned from by everyone.
    • Private chats are the equivalent of spending my most valuable resource (time) to lock away the 2nd most valuable resource (information) in a place that only 1 person can benefit from it.
    • I would much rather that information be of benefit to all. It means my 1 investment of time scales to potentially infinite consumptions of that knowledge (1:many) rather than the measly 1:1 cost:benefit ratio that private chats gives.
  • Currently, the best way to talk to me is Google Chat; though I despise it with a fiery burning passionate rage, and cannot wait to burn it to the ground and move to Slack.
    • That said, currently I currently absolutely ignore all of our Slack instances, since they aren't our 'primary' comms channel, and I refuse to fragment my time and attention inefficiently across multiple 'sources'
  • Email is fine as a 'formal channel', particularly for things that need to be handled in a 'slow burn' sort of 'later on' way.
  • Unless the world is burning and we are all about to die, pretty much NEVER call me. 99% of time I won't answer, will resent the fact that you even tried calling me, and will just send you a follow up message asking what the context/issue is and whether it actually needs to be a phone call.
    • Calling is the equivalent of barging into someone's life and screaming in their face through a megaphone. It says "I don't care what you are doing right now, my thing is more important, and I am going to barge my way into your life to ensure you know that".
    • If we've discussed things on chat first, and decided that a call is the best way to move forward, that is an exception to this rule. Though even then, I would probably still choose some form of video chat over a phone call.
  • For details/specifics about an engineering issue, bug, etc; an appropriate tracking issue should be created, and then ALL relevant context should be captured on that. If it doesn't exist on the issue, it doesn't exist. Chat is fine to quickly hash out details, but the relevant context from that chat MUST then be captured on the issue; which often ends up in 'double work', so often it's just better to communicate about the issue on the issue in the first place.
    • Currently we use Jira for this.. which I also despise with a passionate rage, and find it one of the worst put together, most infuriating, painful, and inefficient tools that we could possibly use in this space; to the point that I actively avoid touching/using it as much as possible.
    • I cannot wait till we transition to making better use of GitHub's tools, including GitHub Issues, GitHub Discussions, etc. They are infinitely better in every way, and make it a delight to capture, communicate, and work with this sort of context and information.
  • There are likely a million million more things I could and will likely include in this section later. Proper efficient and effective communication is a deep passion of mine, and it's also one of the main issues/sources of inefficiency in organisations and workplaces; that a majority of people tend to suck at.

How I best receive feedback

  • Openly, honestly, directly, thoroughly
    • Feedback is just another form of communication.
    • Feedback is a learning opportunity.
  • Prefer written, for all the same reasons (read/process in my own time, refer back to it later, etc) that I mentioned above RE: communication.
    • If there is a need for further discussion of things after the fact, then it MAY be acceptable to do so on a video chat/etc, if properly arranged beforehand.
  • Be detailed, be specific
    • If you speak in generalities without being able to talk about specifics, then it weakens your feedback, and basically makes it impossible for me to process/understand/speak to/potentially address the feedback (be that throw growth/learning, or through correcting your misassumptions/etc)
    • If you use words like 'never' or 'always', then your feedback is weakened or nullified, as they are practically never true.
    • Tell me the what/why of things, I need all the relevant context. What is your concern, why is it a concern, how did it make you feel, what is the impact, how do you feel it could have been done better, etc.
      • "When you did X, it made me feel Y, and that led to Z. I feel like it would be better if A."
    • Don't speak in 'absolute truth' / 'objective' terms unless the thing you are talking about is literally one of them; if you do, it will weaken/nullify your feedback; I likely won't hear the feedback, I will likely just hear that you can't articulate your concerns in a proper manner.
      • You can talk about your perception, how you interpreted something, how it made you feel, your assumptions based on it, your intention, what you observed, etc.
      • But if you try and tell me what "I" apparently intended, etc; your feedback won't be heard, and I will likely just respond in a way that tells you how you have no way to know what I think/feel/intend/etc.
        • And DEFINITELY do NOT talk to me in a way that I will perceive it as being 'babied', 'spoken down to', 'treated like a child', etc. I am hyper aware of my thoughts, feelings, actions, choices, consequences, etc. If i'm in an 'emotionally elevated' state and you tell me to "calm down", or "take a breath", or similar; you may as well be throwing fuel on the fire. Communicate your observation, and create space: "It looks like things might be getting a little heated at the moment, let's take a break from this for now and we can come back to it a bit later on"
  • Be timely
    • Feedback given in the moment, or as close as reasonably to it, is the best way to learn. We're just big/smart animals. If you're training a dog and you try and punish it too far away from the 'problem', then it won't understand/learn from it, it will just feel like it's being punished for no reason.
    • Neither of us will likely remember enough about the specific details as time goes on
    • The more time 'wasted' by not giving the feedback early, the more time it has to do 'damage', cause inefficiencies, build resentments, etc.
  • Don't try and wrap it in 'niceties', I will just generally interpret them as disingenuine and a way to try and 'soften' me for the 'coming feedback'; just speak straight.

Things I need

  • Time and space to be able to read/process/understand/deeply think about things; this is where my best solutions come from; and while I can operate in 'triage mode', it's highly stressful, burns me out, and is a waste of my best skills and resources.
  • To be able to trust that people won't 'drop the ball', that when they are tasked with something that they will complete it, that they don't need to be 'chased up on', etc.
  • To be seen, heard, understood, and noticed
    • I will do SO much, and so often people barely seem to even notice, let alone recognise the depth of it.
    • That said.. I also often find 'compliments' and 'niceties' to feel empty/'disingenuine'; particularly when they're delivered alongside other 'negative' feedback, etc. Timing and form of delivery are key.
  • To be treated like an adult, not someone to be 'managed'/'babied'/'spoken down to'/etc
  • For people to understand and recognise that my neurodivergent brain doesn't operate linearly, and if you try and force it to, you will get inefficient results at best, or frustration/resentment/etc at the 'worse' end of the scale
  • When I get 'locked in' to something, the hyperfocus can be intense, and I will have a tendency to overwork; particularly when I feel like there is a 'need' for the thing to be done; and even more so when it feels like others have 'dropped the ball'.
  • Probably a lot more.. but I can't really think of what else to put here right now...

How I learn best

  • By having as much detail/context/etc about the problem space as possible, then having the time/space to be able to research/enumerate the potential solutions, explore/process/categorise them, and distill that into the 'best' choice.
  • I will ask a lot of questions. I will ask for explicit nitty gritty details. I will ask 'why'. I will extract every list minutia of relevant context about a sitution; the more context and details about things I have, the better my brain is able to process it all and devise the best solutions and outcomes.
    • Think of it like the old saying "garbage in, garbage out". If I don't have the right information/context/details.. the output will be subpar.
  • While observing/being shown how to do something can be a useful step in the process; it's not really going to 'land' and 'stick' until i've been able to run through it myself, and 'lock in' the skills/process in my own way/brain/etc
  • Through feedback. Tell me everything, the good, the bad, the ugly. If i'm not aware of something, I can't assess/work on it/grow through it. If you don't speak up, then you're doing both yourself, the company, and me, a disservice.

Things I struggle with / my pet peeves

  • Energy, focus, attention, distraction, etc
    • Including executive functioning; which covers things from distraction/attention through to emotional regulation. This gets a lot harder when i'm sick, stressed, run down, burnt out, time pressured, hungry, over/understimulated, etc. justNeurodiverseBrainThings(tm)
  • Being aware of my body, and the things it's signalling to me; including hunger, thirst, frustration, too hot, too cold, overstimulate, understimulated, etc
  • Memory/recall, particularly when I need to try and 'access' something 'off the top of my head'
  • Vision/visual processing: My brain seems to pay too much attention to things it shouldn't, and not enough attention to things it should. I have Visual Snow Syndrome and constantly see all sorts of things through a haze of 'fuzzy TV static', etc.
  • Hearing/processing things auditorily, particularly with background noise/etc
  • Switching my brain between 'work mode' and 'social mode'; I am generally in one or the other, and when i'm in work mode, I may come across as 'direct'/focused/sometimes 'cold' or 'less feeling', etc. It's not that I intend/want to be that way, but when my mind is in 'deep logic' mode, that 'normal social fluff' tends to fade to the deep background.
  • Giving compliments. My brain is deeply attuned to noticing when something is 'wrong', so most of the time, that is what I will speak up about. If i'm 'silent' have nothing to say about a situation, that should generally be interpreted as a good thing.
  • Being 'managed'/'babied'/'spoken down to'/etc
  • When people
    • Suck at communication
    • Make assumptions and then act as though those assumptions are the objective truth
    • 'Drop the ball' / don't do what they say they will do/have been tasked with doing
    • Speak over others
    • Act egotistically
    • Don't take responsibility for their own actions/learning/growth/etc; and instead project their insecurities/etc on others
    • etc
  • Inefficiency, red tape, 'busy work', 'documentation for the sake of documentation', etc

Things I love

  • Hearing about new things, learning new things, being connected to everything going on
    • This gives me source of information and context that let my brain perform optimally and devise the best solutions to allTheThings(tm)
  • Solving problems and optimising things to be the most efficient/effective they can be; be that technical problems, processes, tooling, people, etc.
    • This includes sharing the knowledge and skills I have with others, to improve their ability to be efficient/effective
  • Efficiency and effectiveness
  • Proper communication
    • If you want to know something, ask me, I will tell you. Don't guess/make assumptions/etc.
  • Decisions based in research/data/facts; rather than 'personal opinions' that can't be 'backed up' with 'hard evidence'
    • Though in certain categories, 'gut feel' and intuition can be a valid and important 'metric'; though even then it should also be backed up with 'supporting evidence' as much as possible

Other things to know about me

  • I have a neurodivergent brain; as officially diagnosed and labelled, that's ADHD; though there are also strong suspicions that there are more areas that would also apply in the ASD spectrum of things as well (though as yet, not officially labelled/diagnosed)
  • I can be intense, I can be verbose, I will speak directly, I am generally trying to 'juggle a million balls all at once' and so sometimes don't have the capacity to spend more time/energy on 'perfectly wording' something such that 'noone could possibly misinterpret it'
  • You should always interpret what I say through a lens of me wanting to see the best outcome/solution/etc; I don't hold grudges, I don't actively choose to cause harm/etc; though sometimes people choose to interpret my words/actions in that 'negative' way just because I speak directly, or didn't wrap it in 'enough niceties', etc.
  • I don't 'do' 'social norms' for the sake of 'social norms'. I don't 'do' 'hierarchy' for the sake of hierarchy. If it makes logical sense, I will do it. I have no fear of speaking up/out about things I believe are important, even if that means telling the highest level of an organisation something directly that they 'may not want to hear'. If I feel like someone is being unfair, or unjust; I will call it out. I will strongly advocate for my rights, and others rights; and for people to be treated fairly/equally/justfully.

My favorite quote(s)

  • “Here's to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently. They're not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them. About the only thing you can't do is ignore them. Because they change things. They push the human race forward. And while some may see them as the crazy ones, we see genius. Because the people who are crazy enough to think they can change the world, are the ones who do.” - Rob Siltanen (often attributed to Steve Jobs / Apple)
  • Probably others that I can't remember/think of right now..

Other things...

  • I timeboxed this and brain dumped the categories off the top of my head.. it's raw, it's unfiltered, it's written in the words that my 'internal brain language' would use (and the way I define/relate to those words may be different to how you define/relate to them.. so consider that before 'blindly reacting' to them in a negative way, and ask questions if you want to know how I relate to them); there are likely a million other highly relevant things I probably should have included here as well.. I will likely add more to it over time.. If you have anything you've noticed/observed about me that you think would be relevant to include here, then share it with me so that I can make this document the best it possible can be; for everyones benefit.
    • I didn't spend a lot of time/effort on ensuring consistency in structure/layout/wording.. it's a little haphazard.. but I figured getting more of the 'core details' out was more relevant and important than
    • I captured so many raw notes to distill into this document.. and I didn't actually directly reference/use any of them when I mind dumped this first version of it.. so I have almost certainly missed some 'gold' in them..

Uncategorised / TODO

Note that some/potentially all of these may already exist in some form above.. but I figured I would add this section of random 'raw notes' in case I missed any critical bits of info. They will potentially (likely?) be refined into this document better over time.. probably.. maybe.. ideally..

  • TODO: What other things are important that wouldn’t fit in the above sections?
  • Neurodivergent (ADHD, ++?)
  • Logical
  • Direct
  • Communication
  • Open/honest/transparent
  • Open source
  • Share the full context, don’t assume someone knows something, make it as easy for the ‘receiver’ to understand everything they need to know so they can make a quick decision
    • Share clickable links to things (eg. Jira/GitHub issues), not just the PD number
    • If you’re talking about a PR/section of code/etc, it’s generally helpful to link to it to provide a ‘paper trail’ for others to follow to understand more context, verify your reasoning, etc
    • Share your thoughts/assumptions/reasoning/etc; not just your final conclusion (again, allows others to understand the what/why, which helps with context, verification, identifying potential unknown unknowns, etc)
  • Solving problems, efficiency, unblocking people, optimising things
  • The more things I know about/can see/‘ingest’; the more ability I have to derive novel solutions/optimisations/etc. Share all the things.
  • Assume best intent
  • Trust but verify
  • Reflect, check in, ask for clarity, etc; rather than assuming your interpretation was the intent (see also: assume best intent)
  • Radical candour
  • Netflix’s culture of direct feedback/etc is awesome, and there are many things we can learn from it
  • Capture/document knowledge, don’t just let it sit locked up in individuals heads
  • Chat is ephemeral, while it’s useful in the moment, and theoretically can be searched in future, it’s not a good place for things that should be ‘permanently stored’/referencable in future
  • When I raise issues, I don’t need them to fixed immediately, but I do need to know they will be fixed, ideally a timeline for it, and to know and trust that the ball won’t be dropped on that.
    • If timelines shift, that’s often fine too, but communicate it explicitly so I know when I need to ‘pay attention’ to it again, or when I need to check in again to ensure the ball hasn’t been dropped
    • When I raise an issue/etc, I need to know it will be actioned/resolved, as I often won’t even necessarily remember that I raised it/etc to be able to follow up on it (until it randomly and unreliably pops up in my brain at some future point and I wonder why it wasn’t fixed already, and sometimes get frustrated/annoyed that it wasn’t fixed/that it wasn’t followed up on/etc)
  • People should learn effective communication skills
  • People should learn how to effectively use their tools to manage their own experiences/needs (customising notifications, setting reminders, etc)
    • Use threads, otherwise it spams the channel, and is akin to yelling across the office when you could be having a quiet chat in the corner. It lets people choose if they need to be involved, or opt out if they don’t want/need to be. It keeps all of the relevant context together, even if multiple disparate threads are active at the same time, or across longer time periods. Etc
  • Provide clarity in communications (eg. Add/prefix with context around how urgent a thing is; what the intent of it is, etc)
  • Code review shorthand for communicating intent/expectations/etc
  • Code review is a conversation, to teach/learn/optimise for the best solution
  • Hyperfocus/distraction; I’ll either pay too much attention to things or not enough
    • If I’m interested in something there is practically no limit to how well I can understand/complete the task/etc
    • If I’m not interested/find it boring/menial/etc then it can be SO draining to try and do it, or I may end up procrastinating/avoiding it (often unconsciously)
    • What captures my interest can wax/wane at different times, so it’s often hard to consistently predict what will be ‘good’ vs ‘bad’
    • My mind can run at a million miles an hour, making abstract connections between things that many people may not even be able to see/follow let alone understand. This is both a superpower in it’s ability to allow me to extrapolate on things and find unconventional solutions/efficiencies/etc; but it can also be a kryptonite when I try to do one thing, and in the course of starting that it leads me to some other thing, that then sparks 5 other thoughts, that I then get lost following; and by the end of it, I’m often not even sure what my original task/thought was or how I got into the chain of thoughts/rabbithole/etc
  • Time blindness
  • Can have issues prioritising things; particularly when time blind/juggling too many things at once/when it isn’t made clear what the priority is/why, or when I don’t have sufficient context/organisational oversight/understanding to be able to determine the importantness of the issue myself. This is made even worse when others call things ‘urgent’ or ‘top priority’ or similar when they aren’t.
  • Perfectionist tendencies; sometimes will have issues knowing when something is ‘good enough’
  • While I can absolutely enjoy being social, I tend to find that my brain is either in ‘work mode’ or ‘social mode’, and it doesn’t tend to easily jump between the two. When I’m in ‘work mode’ I am far more logical, probably more direct, likely less emotional/etc, and probably very ‘task/goal oriented’.
  • I can sometimes be overly sensitive to light, sound, temperature, etc; they can often be distracting, or draining, or just seem to be way too ‘present’ in a way that makes it hard to exist/focus/be effective/etc
  • I have Visual Syndrome, and so my vision is basically constantly covered in ‘static’ and similar visual disturbances. Some times it’s better, sometimes it’s worse. Can be worse when I’m tired, stressed, lighting is causing issues for me (eg. Fluorescents), on ‘blank single colour’ walls (particularly white), on tessellating patterns (eg. intricate bathroom tiles, but also sometimes in words in a book/etc)
  • I’ll often solve a problem/tackle a task in ‘iterations’; where I might focus on a certain aspect of it (eg. Background research, reverse engineering the code to see what it does/how it works, etc); in each iteration I will likely generate/leave behind a ‘trail of learnings/breadcrumbs’ that I can use to quickly ‘reload’ the context into my brain when I next tackle the task, because often I won’t actually remember what I did/learned/etc directly without having that ‘reminder’ available. This also serves as a useful ‘artefact’ to help capture/decipher knowledge for the team/company as well, that ideally would allow others to be able to learn from it, and reduce the complexity/unknowns in our systems.
  • At times my sense of ‘what is right’ / justice / etc can override my sense of self preservation
  • Mum: “Have you included you like to learn by your own experience/trial & error”
  • Mum: “For your read me: May want to include type of work you like most and least. Also your Myers-Briggs type.”
  • Certain emoji I use often, what I tend to mean when I use them, etc
    • 👍👎👌🎉✅❌🖤🤔💯☝️🙂🙏😲🥺 😉😜😅🙅etc?
  • Certain code review shorthand I tend to use, what it means, etc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment