Archive for category Presentations
After a short hiatus, the Improving Code user group is back. The first talk of the year happens online next week, Feb 3, 6:30pm CDT. RSVP here, will ya?
Refactoring Test Code
Every developer hears about the TDD process as “Red->Green->Refactor”. Some never get to the “refactor” part. Some only refactor the “production” code, but not the test code, after all, that’s “just test code”. Tests become cluttered, hard to maintain, and are abandoned.
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.
Tomorrow, August 12th, I’m giving a free Virtual Lunch and Learn on one of my favorite topics! You can sign up here.
Code Review: I Mean No Harm!
As part of the work I’ve been doing for many years, I get to do a lot of code review. I usually document things that come up doing a code review so I can share it with other developers in the teams. In this session, I share some of the code I’ve looked at, the reasons why the code raised yellow or red flags in my head, and some possible solutions I’ve proposed.
I’m giving a Virtual Lunch and Learn talk this Friday, June 26, at 12pm Central Time. You may register here!
This has been my favorite talk for the last three years or so. I’m going through the content and updating it to reflect feedback I got during this time. I hope to see some of you there!
Testing in Agile: from Afterthought to an Integral Part
Many who try to start automating tests end up giving up the practice. Those tests seem really helpful at the beginning, but are abandoned over time. Even the practice of Test-Driven Development (TDD) faces similar issues, with many giving it up.
How do long-time practitioners do it? Or, perhaps more importantly, why do they do it?
Let me share my experiences in this area, starting with unit tests way back in 2004, navigating through lessons learned the hard way, and ending with my current approach to automated tests, code coverage, TDD/BDD, and how I use those techniques to bring together developers, QA, UX, Product Owners, and Business Analysts .
You’ve read it right. I have worked with teams that initially said things like “Yeah, we have daily stand-up every other day!”, or “Yeah, we do Sprint Planning, but we don’t to Sprint Retrospective…”.
In order to help out those teams get their mind around Scrum and improve their adoption, I decided to create a talk a few years ago called “Beyond the Daily Stand-up: An Intro to Scrum”. I’ll be giving this talk as a free event on June 4, 3:30-4:30pm, as part of the Virtual Agile Shift.
That’s right, the conference had to be postponed due to the current pandemic, but it’ll still happen as a virtual conference, with daily talks, Monday through Thursday, during the month of June.
Check out the schedule, figure out what sessions you’ll attend, and sign up!
As I wrap up preparation for my new talk (title “Trusting IT – Bridging the Gap Between Vision & Execution”), I realize I haven’t been so excited about a new talk for a long time. How do I know? Well, I look around me and I see the 11”x11” Post-It notes with my golden circle and know-feel-do model for the talk, tons of handwritten notes, mind maps, and the slide deck being created.
So, what’s the fuzz all about? Well, as it turns out, a lot of folks don’t trust IT.
That sort of took me by surprise when I first heard about it just a few years ago. Maybe I’ve taken it for granted, given the good experiences I’ve had in that front. I’ve reflected over many interactions, clients, co-workers, and one experience in special came to my mind and stuck with me.
In the late 90’s (maybe 98 or 99), I was doing some development work on the side as a freelancer. I presented a proposal to a business owner (let’s call the business Company X) after we’ve had a few meetings and I had put it on paper how I believed I could build the software they needed to help their business. That person then asked me to come to her office and said this to me:
“I’ve had a number of people bid on this project. Your bid was, by far, the highest one. I would like to close the deal with you, though. Because I trust you!”
Fast forward to 2015. A former employee of Company X runs his own company, invites me to lunch, shares with me that he is unhappy with his current IT situation, and he trusts me to give him guidance.
These experiences make me think of other similar situations where I had the luck to enjoy being trusted by people. Wait, was it really luck? Nope, that can’t be right. It isn’t. There’s way more to it than luck. There’s behavior, practices, intentions.
So I’ve been putting a lot of thought into identifying the things I believe have helped me over the last 2 decades, and the biggest lessons learned will be shared in this new talk, set to debut on May 6!
If you haven’t already, register at this link!
I really hope to see you there. 🙂
It has been a long time since I’ve given a public talk on productivity tips and tools, so I thought “Why not?!”, since this is a topic that most definitely fits into the purpose of the Improving Code User Group.
While I’ll be sharing mostly C#, ReSharper, Visual Studio, and VS Code, the content of this talk should be applicable to developers working with any language or IDE. Title and description of this meeting can be found at the bottom of this post.
The online meeting happens on May 6th, starting at 6pm. If you’re planning on attending, please RSVP by following this link. Knowing the likely number of attendees will help me decide which online meeting platform to use.
Hope to see you there!!
Navigating and Refactoring Code, and other Productivity Tips
Any decent IDE must have features to allow developers to navigate and work with code. In this session, I’ll share how I use ReSharper, Visual Studio, and VS Code. More importantly, I’ll share the reason and the thought process. Remember: it’s NOT about the tools!
Very often when I realize I’ve been talking to individual people too much about certain recurring topics, I consider turning those conversations into new talks. And so it happens again! My brand new talk, “Trusting IT – Bridging the Gap Between Vision & Execution”, makes its debut at an upcoming free virtual event brought to us by Improving. You can register here.
Below are the talk’s Title and Description. I’m putting my heart and soul into this one and I hope you’ll enjoy it as much as I am.
Trusting IT – Bridging the Gap Between Vision & Execution
As a developer:
- Have you ever had to justify the time spent writing tests?
- Do you ever think “how can I make them understand this intricate code I had to write?“
As a non-technical person:
- Have you ever wondered why developers say a user story will take so long to implement?
- Do you ever think “maybe if I learn a programming language…”?
Have you all ever wished for improved collaboration between technical and non-technical people who trust each other?
Attend this presentation and learn how to bridge that large gap by building a common ground where everyone can better contribute to the success of projects.
You’ll learn how to improve communication and collaboration to make sure developers are delivering what’s needed by the business while doing the right things right (be that writing tests, refactoring code, etc).
I’m in Dallas to speak at the QA.Improving.us user group tonight, March 9, 6:30-8pm.
This has been my favorite talk in the last two years!
Testing in Agile: From Afterthought to an Integral Part
Testing cannot be an afterthought; it has to be an integral part of software development. Is it something that QA teams do? Or is it part of a developer’s duties? Do business analysts play any role in it? What is test automation? Unit test, Integration test, Test-Driven Development, Behavior-Driven Development… what do those mean?! This session addresses all of those questions, as we talk through the importance of tests, the collaboration among team members, the techniques, and practices around different kinds of automated testing.
I often hear something along the lines of “I cannot write tests for that UI code!” as the reason for the lack of unit tests. The fact is, more often than not, we can write tests for what seems to be “UI code”. I decided to come up with a talk to explore that topic and will be giving it at the Improving Code’s User Group next month, on March 4th.
In this talk, we’ll explore an approach to either write or refactor UI code so it can be tested more easily. We will NOT cover how to write automated UI tests, though.
Looking forward to it!!