Title: 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&#x27;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&#x27;t overwhelm me and yet provide me a good enough overview of tasks so that I don&#x27;t miss out on anything.<p>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.<p>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&#x27;s a result of perfectionist tendencies, maybe it&#x27;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&#x27;t know no matter how much I learn.<p>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&#x27;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&#x27;m working on a single big item by myself. This problem is easily avoidable at junior&#x2F;mid level engineer, but at senior level these are prerequisite rather than a choice.<p>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&#x2F;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&#x27;s less research&#x2F;depth in nature and more planning&#x2F;organizing&#x2F;breadth in nature. I have considered doing a MS&#x2F;PhD but at the moment I want to continue evolving in the role I have.<p>I&#x27;m interested in any and all opinions&#x2F;points of view here, ranging from &quot;Use X technique&#x2F;tool to help being organized&#x2F;plan&#x2F;etc.&quot; to &quot;I struggled with similar issues, and here&#x27;s how I cope&#x2F;developed structures to help with this over the years&quot;.
Upvote: