Kareem's Thoughts
Kareem's Thoughts
Kareem's Thoughts
Kareem's Thoughts

Kareem's Thoughts

Hello World 👋🏾

I'm Kareem Francis, a software engineer recently turned engineering manager who is trying to get into the habit of thinking, writing, and talking about software engineering, amongst other things. To quote author Wendy Wood from her book Good Habits, Bad Habits,

Just being around people is enough to turn the spotlight inward, and to start to monitor what you would normally do without much scrutiny at all... Go public - you'll have a better sense of self in no time.

In effect, my goals in writing and sharing - as intimidating as that feels - are to better align with myself and, if possible, to help folks out who are on similar journeys.

You can find some of my side/toy projects on GitHub or connect with me via LinkedIn.

✍🏾
Thoughts...

On working with agentic models, part III: Multi-model planning and code reviewsOn working with agentic models
On working with agentic models, part III: Multi-model planning and code reviews

Automating multi-agent, multi-model planning and code reviews with AI skills and Git worktrees. A practical approach to agentic software development workflows.

March 1, 2026
CodingGenAI
On writing in the age of AI: Transparency, workflows, and principlesOn writing in the age of AI: Transparency, workflows, and principles
On writing in the age of AI: Transparency, workflows, and principles

"A 9th grader didn't write this" – a plagiarism accusation in high school, a practical look at LLM-assisted editing today, and why claims of AI authorship may be a new vector for bias.

February 24, 2026
CreativityGenAI
On Git worktrees: built-in support for coding concurrencyOn Git worktrees: built-in support for coding concurrency
On Git worktrees: built-in support for coding concurrency

A practical look at Git worktrees: how to work on multiple branches concurrently and reduce context switching costs without duplicating repos.

February 2, 2026
Coding
On working with agentic models, part II: More lessons from AI-assisted software development On working with agentic models, part II: More lessons from AI-assisted software development
On working with agentic models, part II: More lessons from AI-assisted software development

Practical lessons on workflows, tools, and judgment for working with agentic LLM models

January 5, 2026
CodingGenAI
On agentic coding from anywhere: A mobile workflow using SSH, mosh, tmux, and TailscaleOn agentic coding from anywhere: A mobile workflow using SSH, mosh, tmux, and Tailscale
On agentic coding from anywhere: A mobile workflow using SSH, mosh, tmux, and Tailscale

How turning my phone into an agentic coding environment using SSH, tmux, mosh, and Tailscale expands creative and productive opportunities.

December 15, 2025
CodingCreativityGenAI
On working with agentic models: lessons from AI-assisted software developmentOn working with agentic models: lessons from AI-assisted software development
On working with agentic models: lessons from AI-assisted software development

What happens when you let the LLMs drive technical work? Lessons on agentic models, effective delegation, and AI-assisted engineering.

December 2, 2025
CodingGenAI
On presenting well: lessons in preparation, presence, and the art of public speaking
On presenting well: lessons in preparation, presence, and the art of public speaking

Learn to present with confidence through intentional preparation, grounded presence, and authentic delivery. A practical guide to better public speaking.

November 24, 2025
PeopleCreativity
Your job isn’t (usually) to say no: literate decision making for unexpected demandsYour job isn’t (usually) to say no: literate decision making for unexpected demands
Your job isn’t (usually) to say no: literate decision making for unexpected demands

Thoughts on gracefully handling rapidly shifting priorities. Build shared context and reduce friction with a practical communication framework for technical leaders.

August 18, 2025
PeopleManagementProcess
On bridging communication styles: lessons from working across differencesOn bridging communication styles: lessons from working across differences
On bridging communication styles: lessons from working across differences

A tech lead's learnings about practical approaches for building trust and autonomy across different communication styles in teams.

March 10, 2025
PeopleCulture
On effectiveness: notes on principles and practices for shipping projects from a technical leaderOn effectiveness: notes on principles and practices for shipping projects from a technical leader
On effectiveness: notes on principles and practices for shipping projects from a technical leader

Field notes on technical leadership; practical approaches to effective decision-making, clear communication, and consistent project delivery.

January 16, 2025
ProcessManagementCulture
Integrating AI Tools with Notion: A Practical Experiment with Claude and Model Context ProtocolIntegrating AI Tools with Notion: A Practical Experiment with Claude and Model Context Protocol
Integrating AI Tools with Notion: A Practical Experiment with Claude and Model Context Protocol

An experiment in integrating Claude LLM with Notion to improve my writing workflow using Anthropic's Model Context Protocol (MCP) to connect platforms.

December 22, 2024
CreativityGenAI
On scaling engineering teams; a theory of how effective teams leverage autonomy, strategy and change management to growOn scaling engineering teams; a theory of how effective teams leverage autonomy, strategy and change management to grow
On scaling engineering teams; a theory of how effective teams leverage autonomy, strategy and change management to grow

An engineering manager's learning from scaling teams; how empowering autonomy, strategy, and thoughtful change management can guide growth through change

April 23, 2024
ManagementCulture
On personal knowledge management; using tools to help prioritize, plan, and get work doneOn personal knowledge management; using tools to help prioritize, plan, and get work done
On personal knowledge management; using tools to help prioritize, plan, and get work done

Thoughts on creating focus by organizing knowledge and tasks; developing trusted systems to balance getting organized with getting things done

March 13, 2024
Process
On thinking in polarities; finding solutions by finding balance On thinking in polarities; finding solutions by finding balance
On thinking in polarities; finding solutions by finding balance

Reflections on thinking in polarities; how approaching challenges as balancing acts rather than battles can lead to better, more creative problem solving and team dynamics

October 6, 2023
PeopleProcess
You will fail; Congratulations! Thoughts on Motivation and MasteryYou will fail; Congratulations! Thoughts on Motivation and Mastery
You will fail; Congratulations! Thoughts on Motivation and Mastery

Thoughts on creating paths towards mastery and lasting change by embracing failure, building sustainable habits, and learning from others

September 18, 2023
People
On Chesterton’s fences; managing change without breaking what worksOn Chesterton’s fences; managing change without breaking what works
On Chesterton’s fences; managing change without breaking what works

Preserving guardrails while driving necessary change: lessons learned on change management in software engineering and technical leadership.

July 12, 2023
Management
On preparing for parental leave as an Engineering ManagerOn preparing for parental leave as an Engineering Manager
On preparing for parental leave as an Engineering Manager

Reflections on preparing my engineering team to adapt to leadership transition by creating clear roles, embracing growth opportunities, and communicating transparently.

March 2, 2023
Management
On defining hiring strategy; Thoughts on getting the right people into the right rolesOn defining hiring strategy; Thoughts on getting the right people into the right roles
On defining hiring strategy; Thoughts on getting the right people into the right roles

Thoughts on how hiring practices that prioritize clear requirements, thoughtful leveling, and inclusive approaches help build stronger engineering teams.

February 8, 2023
Management
Ship it on Friday! On Friday deployments as a litmus test for operational excellenceShip it on Friday! On Friday deployments as a litmus test for operational excellence
Ship it on Friday! On Friday deployments as a litmus test for operational excellence

Thoughts on how Friday code deployments can reveal the health of and confidence in engineering systems, and what that means for building reliable software.

December 17, 2021
Culture
On learning to offer supportOn learning to offer support
On learning to offer support

Turning supportive intentions into practical action: reflections on what receiving meaningful help taught me about how to better offer help.

November 9, 2021
People
On growth discomfort vs warning discomfortOn growth discomfort vs warning discomfort
On growth discomfort vs warning discomfort

Insights on differentiating between productive growing pains and burnout precursors by listening to your internal signals.

October 15, 2021
Culture
On tech leading: deeper reflections on influence without powerOn tech leading: deeper reflections on influence without power
On tech leading: deeper reflections on influence without power

Balancing execution, planning, and delegation: a practical approach to tech leading as a role of influence rather than power.

July 29, 2021
CodingProcess
On defining team growth strategy: An approach to building business cases for capacityOn defining team growth strategy: An approach to building business cases for capacity
On defining team growth strategy: An approach to building business cases for capacity
July 19, 2021
Management
Bootstrapping Mentorships, A GuideBootstrapping Mentorships, A Guide
Bootstrapping Mentorships, A Guide
July 12, 2021
People
On "Advocate for yourself"On "Advocate for yourself"
On "Advocate for yourself"
May 14, 2021
Culture
On capability and capacity; week 5 as an Engineering ManagerOn capability and capacity; week 5 as an Engineering Manager
On capability and capacity; week 5 as an Engineering Manager
April 11, 2021
Management
On boundaries as the antibiotics of burnoutOn boundaries as the antibiotics of burnout
On boundaries as the antibiotics of burnout
April 6, 2021
PeopleCulture
On kindness and ruthlessness; week 4 as an Engineering ManagerOn kindness and ruthlessness; week 4 as an Engineering Manager
On kindness and ruthlessness; week 4 as an Engineering Manager
April 3, 2021
PeopleManagement
On influencing team decisions (without power): reflections on tech leadingOn influencing team decisions (without power): reflections on tech leading
On influencing team decisions (without power): reflections on tech leading
March 31, 2021
PeopleProcessCulture
On the individual contributor to manager journey: reflecting on my internal dialogOn the individual contributor to manager journey: reflecting on my internal dialog
On the individual contributor to manager journey: reflecting on my internal dialog
March 17, 2021
Management
On clustering contexts and raising visibility; week 3 as an engineering managerOn clustering contexts and raising visibility; week 3 as an engineering manager
On clustering contexts and raising visibility; week 3 as an engineering manager
March 17, 2021
Management
On preventing feeling overwhelmed: week 2 as an engineering managerOn preventing feeling overwhelmed: week 2 as an engineering manager
On preventing feeling overwhelmed: week 2 as an engineering manager
March 11, 2021
ManagementProcess
On week one as an engineering managerOn week one as an engineering manager
On week one as an engineering manager
March 5, 2021
PeopleManagement
On first class documentationOn first class documentation
On first class documentation
March 5, 2021
ProcessCulture
On my purpose for management On my purpose for management
On my purpose for management
February 17, 2021
PeopleManagement
On the limits of heroicsOn the limits of heroics
On the limits of heroics
February 13, 2021
PeopleCodingCulture
On the purpose of managementOn the purpose of management
On the purpose of management
February 13, 2021
PeopleManagement
On Oh My Zsh + iTerm workflowsOn Oh My Zsh + iTerm workflows
On Oh My Zsh + iTerm workflows
February 11, 2021
Coding
On imposter syndromeOn imposter syndrome
On imposter syndrome
January 25, 2021
PeopleCulture
On intentional practiceOn intentional practice
On intentional practice
December 4, 2020
Coding
On inclusive interviewingOn inclusive interviewing
On inclusive interviewing
March 13, 2020
PeopleCulture