🧬 Me in a nutshell
Hey! I'm Roger and I'm glad you're reading this. 🙌
🏡 I grew up online and offline at the same time — got my first computer in the first grade (A Tandy Color Computer 3), built my first website in 1997 and have basically not stopped shipping software since.
📍 I'm based in Penticton, BC. The Okanagan is one of the prettier corners of Canada and I'm not in a hurry to leave. I’m originally from St John’s, Newfoundland, came to BC for a two week vacation in March, 2000 and never left.
⛵ Outside of work I cook a lot, write, tinker with various projects, and spend time with my girlfriend and our kids, I have one kid, and she has two kids so family time can be chaotic, messy but I love it. Our cats (Lulu & Lemon) supervise everything.
💻 In terms of career, I've spent 27+ years building software — most recently as a team lead and product engineer at TalentGenius, where I lead BoardRadar (a real-time intelligence platform for corporate board members). Alongside that I run independent consulting under DataMcFly, where I do a lot of AI orchestration, n8n agent workflows, telecom work, and full-stack work for clients across MSP, payroll, cannabis, and contractor verticals. Before that I was at Directus and Crowdcast.
📈 The through-line across all of it: I love being part of teams figuring out what to build, why, and how to know when they got it right. Lately that's pulled me toward the layer above the code — context engineering, skills libraries, prompt frameworks — but the underlying instinct is the same.
🙋 What I'm like
🗣️ I think out loud and I move fast. I'll often jump in with an idea before someone's finished their sentence — I'm aware of it, I'm working on it, but if I cut you off it's not because I don't value what you're saying, it's because something connected and I got excited. Tell me to let you finish and I will. Honestly, please do.
📴 I have trouble switching off. I get genuinely interested in problems and will keep poking at them long after the working day ends. This usually shows up as Slack messages at odd hours or me having "thought about it overnight." I'm not expecting a response at those hours — I just process by writing.
⚖️ I'll push back when I think something's wrong. I care about doing things right, and "we've always done it this way" is rarely a good enough answer. If I'm pushing back, it's because I think it matters, not because I'm trying to win. I'm equally happy to be told I'm wrong — convince me with reasoning and I'll change my mind in the same conversation.
🤲 I default to helping. Someone gets stuck, I'm in. The downside is I sometimes context-switch toward the squeaky wheel instead of the important thing. If you think I'm working on the wrong fire, just say it — that's a useful nudge, not an interruption.
💪 How to get the best out of me
🚀 Give me a problem and trust. I do my best work when I'm handed an outcome to own end-to-end and given room to figure out the path. I can move comfortably between API design, data modelling, prompt and context engineering, customer conversations, and infrastructure decisions. The wider the scope and the more trust, the better the result.
🗣️ Ask me about anything. I love talking about what I'm working on and rarely think a question is too basic. If you're confused about why something's built the way it is or where it's going, just ask. There are no stupid questions and "I want to understand" is one of my favorite sentences.
🚦 Tell me the why when you say no. I get demotivated quickly when I feel blocked without understanding the reasoning. If something can't move forward, I'll happily accept it — I just need the actual reason. The more technical and detailed the better; if I don't understand it I'll go learn about it, which is half the fun.
↔️ Be direct. I'd rather hear "this is wrong because X" than spend energy decoding a softened version. I don't bruise easily in professional settings and I'll give you the same in return. If I'm being too direct, tell me — but spare me the diplomatic detour first.
👪 Two-way street, always. I love teams where everyone's grabbing problems and running with them. I'll help in any direction, but I'm not great at micromanaging or being micromanaged. Adults given trust and tools tend to do their best work, and I want to be on teams that operate that way.
🕴️ Politics drains me fast. Constructive disagreement, no problem. Passive-aggressive maneuvering or being managed sideways through other people will tank my motivation immediately. If you've got a problem with something I'm doing, the fastest path is to tell me directly.
🧑💻 How I work at work
🗑️ I'm a messy thinker mid-flight. I take on a lot in parallel and sometimes leave half-finished pieces around when something more interesting catches my attention. I'm getting better at documenting as I go, but if you spot something undocumented or unfinished, prompt me — I'll usually finish it in five minutes once it's back on my radar.
📅 Open calendar. Put time on it whenever there's space. You don't need to ask first. If I can't make it I'll decline; otherwise I'll be there. An agenda in the invite makes the meeting better for both of us.
🎬 I bias to action. I'd rather ship something rough and iterate than deliberate my way to perfect. Choice paralysis kills more good ideas than bad execution does. The exception: if I think action now will lock us into a worse future, I'll argue hard for waiting. Use the discomfort of inaction to find the right path, don't settle for "good enough" when the ceiling matters.
🔢 I challenge jargon. I'm a first-principles person — if a concept can't be broken down to its parts, I get suspicious of it. Acronyms and ossified terminology often hide thinking that hasn't actually happened. I'll ask "what does that actually mean?" a lot, and I expect the same back.
🤖 I work with AI tools, heavily. Claude Code with project-level CLAUDE.md and curated skills libraries is my daily driver. n8n for orchestration. I have strong opinions about prompts, context engineering, and where each layer of an AI system actually fails. If you want to talk shop on this, I'm in.
🫵 How I am as a team lead
🎖️ I lead from the front. I'll work tickets, take on the gnarly project myself, and won't ask for things I wouldn't take on. Some people find this great — they get a manager who's in the trenches with them. Some people find it crowding. Tell me which you are and I'll adjust.
💁 I don't micromanage. I default to giving direction and outcomes, not step-by-step plans. This works great for self-directed people; it can leave more structured workers feeling adrift. If you need tighter scoping I'll provide it, but you'll need to ask, because my instinct is to give space.
🔊 I expect open communication both ways. I'll tell you when something's off, when I think you're crushing it, when I'm worried about timeline, when I'm not sure about a decision. I expect the same back. If you're concealing struggle to look competent, I'll miss it and we'll both pay for it later — much better to surface it early.
🧭 I'm here to remove blockers. A big chunk of the job is making sure my team has what they need to do their work — context, tools, decisions, air cover. If I'm not doing that well enough, please tell me directly.
💬 How I communicate at work
🪟 Default to working in the open. Most things I do happen in public channels, public docs, and visible commits. If you DM me a question that other people would benefit from, I'll often suggest moving it to a public channel — that's not me dodging, it's me wanting the answer to be findable.
💪 Strong opinions, weakly held. I'll state things confidently because that gets a clearer reaction. If you push back with a good argument I'll change my mind in the same conversation. Don't read confidence as stubbornness — challenge me.
📔 Document over meet. Async-first, written-first. Meetings should be for things that genuinely need synchronous human time. Knowledge that gets transferred verbally builds silos and disappears the moment someone leaves. If something can be a doc, it should be.
📧 Email is a fallback. Slack (or whatever the team uses) for internal stuff. Email for external. I check email less often than I should.
🏆 Communication preferences, in order:
- Doc / Notion / written async
- Slack / chat in a public channel
- Async video for complex things that need showing, not just telling
- The above, but private
- Video call
🤝 Meetings work best for me with an agenda and clear actions out the back. "Sync to align" without a written agenda is usually a sign we should have written something instead. End the meeting with who's doing what by when, or it didn't really happen.