This is an evolving document that outlines the tools, workflows, and philosophies I use as a Software Engineer.
It includes how I organise my time, communicate, lead teams, manage projects, and work efficiently.
To learn more about about me - see this page.
- π§ Philosophy
- π Planning & Tasks
- π₯ Team Management & Communication
- π€ Conflict Resolution & Disagreements
- π§ͺ Development Practices
- π File & Project Organisation
βΌοΈ Incident Resolution & Debugging- π οΈ Tools & Automation
- π Continuous Learning
- Outcomes > output
- People-first - Peopleware
- Ask "What are we trying to achieve here and why?" often
- KISS - reduce cognitive load wherever and whenever possible, in code, in written communication, in file structures
- Take of your tools and your tools will take care of you
- Help educate non-technical teams, use analogies and visualisations for explanations
- Don't outsource intelligence to AI. Use AI to learn intelligently
- If itβs not documented, it doesnβt scale
- Measure progress. I recently discovered DX Core 4, I haven't experienced it yet, but would love an opportunity to implement it
- lightweight GTD with 2Do with Smart Lists based on tags
- Timeboxing in Calendar
- Daily 10-min morning planning + 10-min shutdown ritual
- Weekly personal and team analysis on Friday
- Obsidian for all my notes. My bootstrap repo - Engineering Notebook
- Kanban board with a few columns:
Backlog,Next,Doing,Blocked,Doneand a fewproductandtypelabels
- Daily team meetings to discuss any blockers > classic stand-up meeting
- 1:1 format (agenda + follow-up)
- New team-member onboarding checklist template
- Quarterly team member feedback cycles
- Team repo with wiki and index to all the knowledge to our team, our practices, processes
- Keep Team Brag File
- Regular remote/in-person socials to decompress and non-shop talk
- Genuine personal praise
- Knowledge Silo sessions - bi-weekly open-ended talks within the team about all the things we want to know better
- Ask-an-Engineer sessions - a place for non-technical people to ask any technical/product questions to our team
- Celebrate small wins and share them
- Async-first: written docs > meetings
- Slack Channels:
team,team-private,team-support
- Seek to understand before seeking to be understood
- Align around business needs and environment, sometimes disagreements stem from misalignment
- Use data, concrete examples, and visual aids (diagrams, whiteboard sketches) to ground discussions
- Assume good intent first β most disagreements stem from different values, not bad intentions
- Separate the problem from the person β critique the approach, not the engineer
- Prefer 1:1 conversations over public channels for sensitive disagreements
- Currently experiment with Spec Driven Development
- TDD
- Architectural decision records (ADR)
- CI/CD
- Git Conventional Commits
- Visualise everything - diagrams, flows, research material - it really helps. My preference is Lucid
- Comment if code doesn't explain the Why or is too complex to follow
- Lightweight estimates in weeks with optimistic/pessimistic scenarios
- Template everything: PR, ADRs, RFC, 101s, service README, etc. My templates live in Engineering Notebook repo
- Runbooks in relevant repo wiki
- Simple consistent structure of information everywhere: local/cloud shared files, Obsidian notes, shared boards & diagrams in Lucid, 2Do Project names
- Clean consistent logs
- Saved log searches
- Links to log searches in incident message attributes
- Links to runbooks in incident message attributes
- Internal cli tooling to help investigation and resolution
- Blameless post-mortems
- Incident rehearsals
- Alfred for bookmarks, clipboard history, file search, snippets, repo navigation, and many more workflows that allow me to spend less time searching and more time doing
- Keyboard Maestro for macros, advanced snippets
- Apple Shortcuts as alternative for Keyboard Maestro + usage on iOS
- Ghostty for terminal
- Magnet for window management
- My dotfiles for shell aliases, functions, keybindings, app configs, AI harness, etc.
- Zettelkasten + Obsidian - personal knowledge management
- Anki - flashcards
- My Substack Reading List - weekly "Tech Newsletters" reading
- Books
- π§° LinkedIn
- π» GitHub Profile
- π€ Who am I and My Professional Path
- π Blog
Thanks for reading!