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.
Practical lessons on workflows, tools, and judgment for working with agentic LLM models
How turning my phone into an agentic coding environment using SSH, tmux, mosh, and Tailscale expands creative and productive opportunities.
What happens when you let the LLMs drive technical work? Lessons on agentic models, effective delegation, and AI-assisted engineering.

Learn to present with confidence through intentional preparation, grounded presence, and authentic delivery. A practical guide to better public speaking.
Thoughts on handling unexpected requests. Build shared context and reduce friction with a practical communication framework for technical leaders.
A tech lead's learnings about practical approaches for building trust and autonomy across different communication styles in teams.
Field notes on technical leadership; practical approaches to effective decision-making, clear communication, and consistent project delivery.
An experiment in integrating Claude LLM with Notion to improve my writing workflow using Anthropic's Model Context Protocol (MCP) to connect platforms.
An engineering manager's learning from scaling teams; how empowering autonomy, strategy, and thoughtful change management can guide growth through change
Thoughts on creating focus by organizing knowledge and tasks; developing trusted systems to balance getting organized with getting things done
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
Thoughts on creating paths towards mastery and lasting change by embracing failure, building sustainable habits, and learning from others
Preserving guardrails while driving necessary change: lessons learned on change management in software engineering and technical leadership.
Reflections on preparing my engineering team to adapt to leadership transition by creating clear roles, embracing growth opportunities, and communicating transparently.
Thoughts on how hiring practices that prioritize clear requirements, thoughtful leveling, and inclusive approaches help build stronger engineering teams.
Thoughts on how Friday code deployments can reveal the health of and confidence in engineering systems, and what that means for building reliable software.
Turning supportive intentions into practical action: reflections on what receiving meaningful help taught me about how to better offer help.
Insights on differentiating between productive growing pains and burnout precursors by listening to your internal signals.
Balancing execution, planning, and delegation: a practical approach to tech leading as a role of influence rather than power.