9 ms·
Ask HN: Senior Engineers with ADHD, any mental/physical structures for work?
I recently got promoted to a senior position involving one of the top distributed system projects in the world. The journey till here was very strenuous for myself, and the next level seems very difficult to reach without better mental structures in place. Even becoming a senior required putting in a lot of extra effort in my day to day activities so that I can barely achieve all objectives by the deadline, compared to my teammates with a similar workload. Because of my executive dysfunction, I'm having a hard time with the following things and I need to put in extra effort (on order of multiple hours everyday). It took me many, many months to develop simple planning and organization abilities, for eg. planning for the day at a granularity that doesn't overwhelm me and yet provide me a good enough overview of tasks so that I don't miss out on anything.
1. Tracking multiple small work items, especially the tail end work items that are inherently boring: As a mid level engineer when I was working on a maximum of couple of work items, it was easier to focus on them and track deployments, follow ups with others etc. It becomes exponentially tougher for me once it goes beyond 2 work items.
2. Understanding a mature big project in detail: I have always been able to efficiently work on projects that require working from ground up as they provided extra motivation. I can even handle medium size projects as I can work with a few unknowns. But for huge projects spanning teams worth 100s of team members, it becomes overwhelmingly difficult to focus on my subproject without trying to understand everything it touches upon. Maybe it's a result of perfectionist tendencies, maybe it's because I have problems starting work items with extremely limited amount of scope compared to the workings of the whole project. There are new terms, new things very slightly unrelated to my smaller project at hand that I don't know no matter how much I learn.
3. Relatively efficient multi tasking: Once I get started on any task, it takes a while for me to get going, and even after finishing it up, it takes a while to start on another task as well.
I'm extremely efficient once I get into the zone and the task is a big enough unit that only I have to work on. But when the project involves interacting with multiple stakeholders in an async manner, it gets split into tens of small units requiring immense willpower to start and stop. If these units are not big enough, this results in lengthy procrastination times that ultimately reduces my productivity to 10% compared to when I'm working on a single big item by myself. This problem is easily avoidable at junior/mid level engineer, but at senior level these are prerequisite rather than a choice.
4. Acceptance with the nature of work: I have always loved Computer Science ever since I understood its basic concepts. I have worked at fintech companies where the work involved understanding and interacting with core C/C++ constructs and computer science fundamentals to extract the maximum execution speed to give that edge in trading, and that was immensely satisfying. But at senior level and above, most if not all software companies require work that's less research/depth in nature and more planning/organizing/breadth in nature. I have considered doing a MS/PhD but at the moment I want to continue evolving in the role I have.
I'm interested in any and all opinions/points of view here, ranging from "Use X technique/tool to help being organized/plan/etc." to "I struggled with similar issues, and here's how I cope/developed structures to help with this over the years".
- dekhn 4y agoI struggled with all of this and decided instead of pull back on responsibility because it was making me extremely unhappy trying to constantly equal my similarly levelled colleagues.
- vanjajaja1 4y ago1. I use Quiver.app to plan my week/day and to track what i'm working on right now in the moment. Any intermediate output from my work gets tracked (eg. preparing important commands, saving output of important commands) and any little task that pops up gets added to an impromptu to-do list. This keeps me focussed and stops me forgetting my place in what I'm working on in case I get distracted. At the end of the day/week I ruthlessly evaluate what must be carried over and what can spill on. 2. Learn to offload work to juniors. Create tickets and dump them in your backlog. Work with your manager to make sure that "work that is not an efficient use of my time" gets handled my someone else. Anything that drains your energy or seems tedious and can be a learning opportunity for a junior. Use your 'procrastination' as a signal that whatever you're working on should be assigned to someone else.
- sysadm1n 4y ago> most if not all software companies require work that's less research/depth in nature and more planning/organizing/breadth in nature I wish I could say just pick the work that is more R&D in nature and avoid 'secretary' work, but you obviously don't have that choice. Personally I love anything along the lines of Lockheed's 'Skunk Works'[0] program. Pure R&D and risky too, because you don't know if it will work. F7ck around and find out is my mantra. [0] https://en.wikipedia.org/wiki/Skunk_Works https://en.wikipedia.org/wiki/Skunk_Works