Archive for category Improving & Community

A Busy Summer in 2007: Conferences, Code, and Curiosity

Revisiting May–September 2007

Over the last few weeks, I’ve been revisiting old posts from my blog’s early years and recording videos reflecting on what I find in them. It has been a fascinating way to reconnect with past versions of myself—what I was learning, what I was struggling with, and what I was excited about.

This chapter of the journey covers May through September of 2007, and it turned out to be a surprisingly rich period. A lot was happening for me at the time: speaking at conferences, learning new tools, experimenting with productivity, and simply trying to keep up with the pace of technological change.

Speaking at Advisor DevCon and Other Events

Back then, Advisor DevCon was the conference for Visual FoxPro developers. For years, I had only read about it from afar in Brazil, thinking it was way out of reach. So getting invited—not only to attend, but to speak—was a milestone. I had been writing a lot of articles to help FoxPro developers ease into .NET, and those contributions opened doors for me.

Around the same time, I was also speaking at regional events like the Dallas Code Camp, Houston TechFest, and user groups. Many of my most popular sessions were on fundamentals: object-oriented programming in .NET, design patterns, and productivity tips. It’s interesting how topics we sometimes think are “basic” are often the ones people need most.

How I Kept Up with Technology

This period captures how I tried to keep up with the fast-moving .NET world—something that still feels just as relevant today (but now, with AI tools).

My primary sources at the time:

  • PodcastsDotNetRocks and Hanselminutes were staples.
  • Blogs – I consumed a ton of blog content, often loading posts onto my Pocket PC so I could read them anywhere.
  • Webcasts – The predecessor to today’s YouTube tutorials.
  • Study groups – Not for certification, but to learn from my coworkers and become aware of pieces of .NET I wasn’t using yet.
  • Brown bag meetings – Quick, informal demos with coworkers. These eventually evolved into the Virtual Brown Bag years later.

Even then, I wasn’t trying to follow everything. I was looking for what helped me solve real problems in the moment. That hasn’t changed.

Tools and Experiments

2007 was full of experimentation with tools and techniques.

Some highlights:

  • FxCop taught me a ton about .NET by analyzing my code and pointing to parts of the documentation I had never read.
  • MSBuild, Team System, and build automation were becoming part of my workflow.
  • ReSharper and CodeRush were both part of my setup because each had strengths that the other didn’t.
  • Static analysis rules, custom tooling, and diving into IL (intermediate language) were things I was investing in.
  • Smell# – a silly idea I blogged about, imagining a 4D experience where code would “emit” a smell based on its quality. But behind the joke was a real tool—RefactorPro—showing cyclomatic complexity in Visual Studio.

Productivity and Shortcuts

Even in 2007, I was talking about productivity. The details have changed over the years, but the principles haven’t.

Learning keyboard shortcuts—OS, IDE, and cross-application—was something I preached often. It still surprises me how many developers use an IDE daily yet don’t learn the shortcuts for the actions they perform most often. One shortcut a day can add up to substantial time savings.

Life on the Road

That year, I was also traveling a lot for conferences, user groups, and client work. I used that time to:

  • listen to podcasts,
  • practice guitar with a travel-friendly instrument,
  • watch movies on my Pocket PC,
  • and tinker with code until my laptop battery died.

It was a different era of technology, but the routine feels familiar—finding small spaces to learn, create, or unwind.

Wrapping Up

Looking back at this slice of 2007 reminded me how much I was experimenting, learning, and sharing. Some tools are gone, some practices have evolved, but the themes remain the same. The curiosity, the continual learning, and the desire to share what I learn with others—that’s the thread that connects everything.

There’s more to revisit, so I’ll continue the journey in the next installment.

, , , , ,

Leave a comment

Nine Years at Improving: A Journey of Alignment, Growth, and Community

This month marks nine years since I joined Improving full-time (when I did, I blogged that it was time for me to improve). Before that, I had spent a couple of years contracting with the company, so in many ways this milestone feels even larger. Reflecting on this journey has reminded me of the path that brought me here and why Improving continues to feel like home.

Discovering Improving

I first came across Improving around 2007 while speaking at conferences. Whenever I wasn’t giving a talk, I would sit in the back of sessions, refining my material while listening. Time and again, the talks that interested me most were being delivered by people from Improving.

It happened at multiple conferences, in multiple cities. That was my first clue that my interests and passions aligned with theirs.

Building Connections

In 2008, I presented at a user group in Harrison, Arkansas. I heard about a group of developers who drove hours with friends to attend. We stayed in touch, and years later, one of those attendees moved to Houston to start Improving Houston; our connection continued.

By 2014, I was living between the U.S. and Brazil when an email from Improving popped into my inbox. It was about a Ruby on Rails project, but soon turned into an opportunity to interpret for an Agile training in São Paulo. Since I was already in Brazil, the timing was perfect.

That experience led to more training, consulting, and Agile coaching engagements with Improving. I enjoyed bridging conversations between business and technology, helping teams remove roadblocks and build more effective systems.

Choosing Improving

In 2011, when I went independent and a new journey began, I wrote in my journal that if I ever decided to return to full-time employment, it would be with Improving. My contracting experience from 2014 to 2016 only confirmed that belief.

So, when I returned to the U.S. in 2016, I didn’t look anywhere else. I joined Improving full-time and have been here ever since.

Living Into My Values

What I appreciate most about Improving is how naturally my personal values align with the company’s values. I’ve been able to continue honing the practices I care deeply about, such as Agile, clean code, test-driven design, behavior-driven development, and share them through classes, talks, and client engagements.

Over the years, I’ve seen Improvers adopt these practices, coach others, and lead by influence. It’s rewarding to know I’ve played a part in that growth.

Just as importantly, I’ve never had to change who I am to fit in. Instead, Improving has encouraged me to grow, explore, and improve myself.

Beyond Work

Improving is more than work. The openness here often turns ideas into action. Book clubs, new classes, collaborative talks, or even a friendly ping-pong game—if someone suggests it, chances are people will say, “Let’s do it.”

For me, that has meant friendships, hobbies, and creative projects that extend far beyond office walls.

I welcomed our return to the office.

Data, Insights, and Growth

One unique aspect of Improving is the involvement program, which recognizes contributions beyond our day-to-day roles. Through it, I’ve logged nine years of activities, such as speaking, writing, and teaching, that not only earn recognition but also generate a rich source of data.

Looking back, I can see spikes in activity after major milestones, such as completing one of our business programs in 2019, and I can reflect on how I responded to the challenges of 2020. These insights remind me of how I’ve grown both personally and professionally.

The analysis of my involvement data over these nine years shows a clear progression:

  • 2016–2018: Establishing myself at Improving with steady involvement in technical talks, coaching, and community engagement.
  • 2019–2022: A sharp increase in leadership, mentoring, and community-building activities.
  • 2023–2025: A strong emphasis on thought leadership, AI/tech education, and cross-team collaboration, with consistent impact both internally and externally.

It also highlights the balance of my contributions: about 68% internal impact (coaching, leadership, mentoring Improvers) and 32% external impact (talks, blogs, client engagements, and community events). That balance reflects how much I value both strengthening our culture and reaching beyond our walls to make a difference in the broader community.

The business program I mentioned earlier was a highlight in itself. It validated many of the practices I had already embraced (GTD, time management techniques, focus management) while adding new tools to my toolkit. Around that same time, I was surprised by a promotion to Director. Titles have never motivated me, but I accepted because it meant expanding my ability to make a positive impact.

Recognition and Highlights

A few moments stand out as highlights:

  • 2019: Promotion to Director, opening opportunities for wider influence.
  • 2019: The business program was a turning point in productivity and focus.
  • 2023: Being recognized in the Improving 100 for thought leadership and community engagement.
  • 2025: Seeing my activity profile evolve into a blend of technical expertise, leadership, and thought leadership around AI and productivity.
  • And perhaps most meaningful: today, my friend, who is also the President of Improving Houston and Improving’s CCO, is someone I first met back in 2008, when he was an attendee at that presentation in Arkansas.

Full Circle

Back in 2001, people asked why I gave talks and wrote articles “for free for Microsoft.” My answer was simple: I’m not doing it for Microsoft. I’m doing it for the community.

In 2008, when I traveled to small towns to speak at tiny user groups, people asked why I would go so far for such small crowds. My answer then was just as simple: Because communities of all sizes matter.

Seventeen years later, I can see how those choices led me here: to Improving, to lifelong friendships, and to opportunities I never could have planned.

Looking Ahead

Nine years in, I’m still energized by the brainpower, generosity, and spirit of Improvers. My involvement journey shows a trajectory toward greater influence, mentorship, and thought leadership. I see opportunities ahead to:

  • Continue shaping company culture and leadership practices.
  • Formalize and share frameworks for coaching, productivity, and AI adoption.
  • Expand both internal and external impact as a mentor and thought leader.

I’m grateful to work in a place where ideas turn into action, where growth is encouraged, and where impact is celebrated.

Here’s to the journey so far, and to the many milestones yet to come.

, , , , ,

Leave a comment

Designing for Humans, Not Just Users

What Sparked This Post

I’m revisiting a past Improving Talk by Denny, smartly titled Improving Software Design with Everyday Things, in which he explored Don Norman’s book The Design of Everyday Things (DOET) and what it teaches us about building better software. The examples of doors, faucets, and light switches reminded me of the frustrations we’ve all faced, and how often we silently blame ourselves instead of the design itself. Listening brought me back to my own talks and writings on UX and UI design, especially my post on Don Norman’s book, and reinforced ideas I’ve been sharing with developers for years: UX is not about making things look pretty. It’s about making them useful.

What the Talk Was About

Denny walked us through Don Norman’s core concepts:

  • The Gulfs of Execution and Evaluation: the gap between what people want to do and what the system tells them happened.
  • Design tools, such as affordances, signifiers, constraints, mappings, and feedback, help close those gulfs.
  • Conceptual Models that let people carry simple, portable mental models across systems (like gas and brake pedals).
  • Designing for Error and Interruption: Expect Mistakes, Preserve State, and Support Undo and Recovery.
  • Human ⇄ Machine Collaboration: leverage human creativity and context with machine precision and memory.

Why It Resonated With Me

In my own talks, I’ve pushed back against the myth that “UX = making things look pretty.” I’ve demonstrated how messy UX often accompanies messy code, while great UX drives clean UI, and typically yields cleaner, testable code. Denny and I were teammates when he created this talk, after we both participated in a book club for DOET. Unsurprisingly, Denny’s talk felt like a companion to mine, reinforcing those lessons with Don Norman’s vocabulary.

A few highlights:

  • Error = partially completed task. I love this framing. It aligns with my practice of anticipating and compensating: surfacing the “why” behind a disabled button or failed action instead of leaving users in the dark.
  • Interruption-aware design. I’ve been saying for years: users aren’t living in our apps all day. They’re juggling customers, distractions, noise, and deadlines. Autosave, undo, and recovery are ways of respecting their real context.
  • Human ⇄ machine strengths. This echoes how I think about AI: people provide insight and sense-making, while machines provide recall and precision. Our job as designers and developers is to bridge those strengths.

What I’m Still Thinking About

Denny’s framing reminds me to revisit how I talk about error handling and notifications:

  • How often do we still dismiss problems as “user error” when the design itself failed?
  • Could we reduce support calls by surfacing reasons in the UI instead of hiding them in code?
  • Are our notifications role-aware, contextual, and actionable, or just noisy?

It also makes me think about conceptual models that outlast technology shifts. Just as drivers carry gas/brake understanding across internal combustion engine (ICE) and electric vehicles (EV) cars, what conceptual models in our systems will carry over to the next platform shift (AI-driven, voice, augmented reality (AR))?

Want to Watch It?

Watch Denny’s Improving Talk here.

, ,

Leave a comment

Preparing and Giving Effective Sprint Reviews

At the end of every sprint, Scrum teams come together for a sprint review. Too often, these meetings are reduced to a simple “demo” of buttons clicked and screens shown. But when that happens, the real purpose is lost. A sprint review is not just about proving software works—it’s about demonstrating value.

Start With Why

The goal of a sprint review is to answer a simple but crucial question: what value did this sprint deliver to stakeholders? That value may not always be immediate revenue. Sometimes it’s about happier users, streamlined workflows, or laying the foundation for more complex features down the road. Keeping that purpose front and center ensures the review is more than a checklist of completed stories.

Know Your Audience

Not every stakeholder is concerned with the same details. Business leaders want to understand the impact. End users care about usability. Technical peers may be interested in integrations and APIs. Before preparing the review, clarify who will be in the room and highlight what matters most to them. A CRUD screen might seem trivial—until customer support realizes it saves them hours of manual effort.

Build the Story, Not Just the Demo

Instead of running through isolated features, weave a story. Demonstrate how the work done connects to solve real-world problems. Relatable storytelling keeps people engaged and highlights the bigger picture. For example, don’t just say “we added a new button”—explain how that button reduces onboarding time by 30%, making employees more effective from day one.

Rotate and Coach Presenters

Sprint reviews are a team effort. If only one person presents every time, others miss out on growth opportunities, and the team loses variety. Rotate presenters. Let the more experienced speakers coach those who feel less confident. Public speaking is a skill, and sprint reviews are the perfect practice ground.

Eliminate What Can Go Wrong

Nothing derails a review faster than a broken demo environment or a third-party API outage. Plan. Capture screenshots, record short videos, or mock integrations if necessary. Show stakeholders what matters, not spinning wheels.

Gather Feedback Collectively

A sprint review is also a feedback loop. Please don’t leave it all to the product owner. Every team member should take notes. Different perspectives catch different insights. In the retrospective, evaluate not only the sprint’s work but also the effectiveness of the review itself.

Make It Personal

Finally, bring yourself into the room. Use your accent, your stories, your quirks. Humor, vulnerability, and personal anecdotes make the review more human and memorable. The more authentic you are, the more engaged stakeholders will be.


Sprint reviews are about more than proving code works—they are about making value visible. Preparation, storytelling, and teamwork turn a dull demo into a powerful moment that builds trust and excitement. Done well, sprint reviews remind everyone why the work matters.

, , ,

Leave a comment

From Mimicry to Meaning: Thinking Like a Brain

What Sparked This Post

This week’s Improving Talk by my good friend Daniel Scheufler explored Think Like a Brain: The Quiet Neuromorphic Revolution. The phrase that stuck with me was “robot see, robot do.” It immediately brought to mind a passage I recently highlighted in Temple Grandin’s book Visual Thinking, where she cautions against simply attaching a knife to a robotic arm to copy human motions. Instead, she argues that the most innovative robotic tools are designed differently—more straightforward, more effective, and tailored to the task. That connection between Daniel’s examples and Grandin’s insight sparked this reflection.

What the Talk Was About

Daniel walked us through the history of computing—from vacuum tubes to transistors, CPUs, and GPUs—before demonstrating how neuromorphic chips fit into the picture. Unlike CPUs and GPUs, neuromorphic chips operate more like the human brain: they are event-driven, adaptive, and low-power.

That architecture makes them uniquely suited for AI at the edge—a term referring to running artificial intelligence directly on devices close to where the data is generated (such as sensors, wearables, or cars), instead of relying on the cloud. This is especially powerful in scenarios where speed and power efficiency are crucial.

He shared examples such as:

  • Industrial IoT
  • Medical wearables
  • Self-driving cars
    All of these benefit from chips that respond in real-time, “at the speed of physics.”

A notable case study demonstrated a robot capable of mimicking human motion in under a millisecond, utilizing neuromorphic chips for power. Instead of programming every action, humans could guide the robot through VR, allowing the robot to learn and adapt as it progresses. That robot see, robot do capability opens new doors for safety in dangerous environments, like foundries, where human guidance can remain while human risk is reduced.

Why It Resonated With Me

Daniel’s framing lined up with Grandin’s point. If we’re talking about prosthetics—arms, legs, tools that extend human bodies—it makes sense to design robots that replicate human motion. However, if the robot is working independently, the real opportunity lies in developing tools and processes optimized for the task itself, rather than being bound to a human form.

It also resonated with ideas I’ve been reading in The Good Place and Philosophy (a book of essays exploring the show’s characters and ideas through a philosophical lens). The character Janet evolves from an algorithm into something embodied, social, and surprising. Neuromorphic chips feel like they point in that direction—machines that aren’t just crunching syntax, but behaving more like embodied participants in the world. Daniel’s talk grounded that philosophy in physics and engineering, while Grandin’s and Janet’s stories keep the focus on human meaning.

What I’m Still Thinking About

I keep circling back to the balance between mimicry and innovation. Sometimes the goal is to replicate human ability (prosthetics, remote surgery). At other times, it’s to free robots from human constraints and let them solve problems in more effective ways (robotic knives, optimized assembly). Neuromorphic chips blur those lines further, since their emergent behavior means they can both imitate and innovate in ways we haven’t fully mapped yet.

And maybe that’s the bigger question: as these chips make machines more embodied, social, and surprising, are we prepared for what it means to collaborate with them—not just program them?

Want to Watch It?

You can catch Daniel’s full talk here.

, , ,

Leave a comment

Modernizing Tech: Trust and Business Results

What Sparked This Post

I watched one of our recent Improving Talks, where Josh Harrison walked us through a full-stack modernization effort, transitioning from physical servers to the cloud, from monolithic apps to microservices, and from three separate frontends to a shared React codebase. It was more than just a technical migration—it was a blueprint for earning trust and delivering business results.

What the Talk Was About

This was a deep dive into a Greenfield engagement Improving led for a fast-casual restaurant chain during the pandemic. The customer needed to move fast as digital sales were overtaking in-person orders, and their tech stack couldn’t keep up. Josh broke down how they approached a complete rebuild across six phases, each with clear value, optional exit points, and measurable impact. It included:

  • Cloud migration (IaaS → PaaS)
  • Replacing point-of-sale with cloud-native solutions
  • Building a microservices layer
  • Creating a new mobile-first website
  • Consolidating mobile apps using React Native
  • Ending with a simplified architecture and faster delivery

Why It Resonated With Me

There was so much to love here:

  • The strategy of building trust by design, not by accident
  • Making modernization approachable through phased delivery
  • The elegance of reducing languages and platforms down to a core
  • The reminder that real value isn’t in tech buzzwords, but in enabling speed, adaptability, and better customer experiences

I also appreciated the honesty: cloud doesn’t save money on day one. You have to earn those savings. That kind of candor builds credibility.

What I’m Still Thinking About

This talk made me reflect on how often modernization gets framed as “big bang” or “all or nothing.” However, Josh demonstrated how it can be modular, value-driven, and aligned with business incentives from the outset.

I’m also thinking about the importance of trust in this successful case study, as it aligns with some of the content I have created and continue to expand on. Trust isn’t something you tack on after the fact, but it has to be baked into the architecture, the workflow, and even the business model. What Josh shared wasn’t just about cloud or code; it was about designing systems that invite and reinforce trust at every layer.

Want to Watch It?

You can watch Josh’s whole talk here.

, , ,

Leave a comment

Virtual Brown Bag: February 2021 Summary

Time flies, but the weekly Virtual Brown Bag meetings stay strong. Many great conversations have been had in February.

  1. February 25th, 2021

    Troy Hunt’s “Everything you ever wanted to know” post about password reset feature, authentication systems and identity frameworks, JamStackAttack.com, Python

  2. February 18th, 2021

    Rocketbook, ReMarkable, writing cover letters for resume, working for free, junior vs senior devs, using LinkedIn.

  3. February 11th, 2021

    TypeScript: Why?, React Admin

  4. February 4th, 2021

    Form builders, TypeScript

, , , ,

Leave a comment

Virtual Brown Bag: January 2021 Summary

The year has started with a full run of weekly Virtual Brown Bag meetings. See what we’ve been up to and join us when you like. Every Thursday, 12pm CDT!

January 28th, 2021

Networks, hardware, Cypress.io, E2E tests, TDD, BDD, Roam, Notion, Evernote.

January 21th, 2021

Challenges with WinForms project, Uno Platform for Xamarin, Accessibility, Skia, Comet.

January 14th, 2021

Coding test interviews, interview scripts, TripleByte.com assessments… and, Linux.

January 7th, 2021

JavaScript’s Symbol properties for secret data, Immer, Orgmode, AWS Certification

, , , ,

Leave a comment

Building Stronger Online Communities

Challenge times bring us the opportunity to either reinvent ourselves or flex muscles that had been dormant. I’ve talked about the importance of technical communities in my life, how they help us improve our networking skills, how we can use our voice and reach out to others.

The year of 2020 has made us all push the envelope when working with our communities, either creating new ones or keeping existing one engaging to their members. While many of us miss the in-person communities, we have also been learning how to make the best out of online communities.

Tomorrow, Dec 18, I’ll be on a live virtual Lunch and Learn with my good friend, talking about our experiences Building Stronger Online Communities. Join us at 12pm Central Time! Click here to find more information about this FREE event and register.

This is the session description:

User groups are a great way for the community to get together to share, learn and network around specific common interests. This year saw us having to pivot to virtual-only events and uncovering both opportunities and challenges… How can we create great community experiences in a virtual world? In this Lunch and Learn, attendees will hear from two community leaders, Sarah Kim and Claudio Lassala, on how they’ve been growing their online communities and hosting virtual events.

, , , ,

Leave a comment

Communities and Networking

Just a couple of weeks ago, I’ve blogged about The Importance of Technical Communities (the ideas really apply to any community in general, much like what I do with my motorcycle track riding community). In this post, I’ll focus on the networking side of getting involved with communities.

Every week, I share things on the Virtual Brown Bag; I may share an article or book I’ve read, a challenge I’m facing at work, a successful way I’ve found to implement something. Whatever the case might be, once I’ve shared it with the community, I’ve planted a seed in their minds: should they either run into the same challenges or solutions to it, they’ll think of me. They’ll know who to either ask questions or offer help to, or make connections (“Hey, Claudio, last week you mentioned you were having issues with Cypress. I mentioned it to a co-worker and he has the solution. He’ll be reaching out to you!”).

I’ve talked about similar things when I shared my thoughts on “fake until you make/become it”. We don’t need to figure it all out by ourselves. We don’t need to fake it. Others will help, but we need to either ask for their help or let them know that they could possibly help us.

Every month, I update my “Now page”; that’s an easy way for people to know what I’m up to. A few months ago, I mentioned I was starting to work with Angular. Less than half an hour after I’ve posted it, an old co-worker who I hadn’t talked to for a few years reached out to say he’s done a lot of work with Angular and I should keep him in mind if I had any questions. We also took the chance to catch up with life in general.

Last week, I’ve read Derek Sivers’ writing on how you can take a situation that may not be ideal and flip it in your favor. He touches on “it’s all who you know”, and got me thinking about how my professional career started; I walked to my whiteboard and sketched out my career map up to today, calling out every single person somehow responsible to pivotal moments. How did I meet them? How have they helped? Have I been keeping in touch with them? Have I expressed my gratitude to them?

A good book I’ve read on the subjet of networking is The Power of Who.

Our communities and networks can (and should) be connected. People in my technical communities are aware of my involvement with motorcycle track riders; those riders are aware of my involvement with software development. They are all aware of my activities as a musician. These are all opportunities to connect with people, expand my network, offer help, get help, improve, grow.

, , , ,

1 Comment