Skip to content

Instantly share code, notes, and snippets.

@sizovs
Last active January 7, 2023 09:58
Show Gist options
  • Save sizovs/69f7de60bbcfce1daba016133b32af5f to your computer and use it in GitHub Desktop.
Save sizovs/69f7de60bbcfce1daba016133b32af5f to your computer and use it in GitHub Desktop.

Here are a few ideas from my side:

  1. Revisted talk "X More Ineffective Coding Habits of Many Programmers". In one of your interviews, you mentioned that you do a lot of code reviews. I'm sure you've noticed recurring code smells. I am also sure our audience is not immune from them. If you could compile a list of "the worst habits" and provide solutions, the attendees would be happy.

  2. You pay a lot of attention to words and language. I've watched all your talks, and whenever you show the code, it "speaks for itself," and has a high signal-vs-noise ratio. A talk that shows developers how to write code that speaks human/domain language and gives a good reason for doing so can make developers rethink how they see and write code.

Ideas/suggestions are welcome.

@KevlinHenney
Copy link

I think number 2 is a great option. I have a talk that I've done a couple of times, but that I want to further update that's on metaphors and communication in code. Alternatively, I have a talk that overlaps with that, but is more focused on meaning in the code, and is a talk I've been looking for an opportunity to update (it was originally a DDD talk).

Metaphors We Code By

The abstract nature of software and its development mean that we employ many metaphors to talk about it. We talk about software as architecture, engineering and craft. We describe issues of code quality in terms of debt. We name our classes and UI elements after objects in the physical world. Metaphors are everywhere in software development, but often they are unquestioned and misunderstood. In this talk we'll look at how and why we use metaphors, when they help us and when they mislead us, and how to make better use of them to communicate intent in code.

What Do You Mean?

The world in which a software system lives is filled with meaning. The structure, concepts and names that inform the code, its changes and the mental models held by developers are expressions of meaning. The very act of development is an exercise in meaning — its discovery, its formulation, its communication. It's the basis of our naming conventions, of domain-driven design, of our conversations about product requirements.

But just because we are immersed in concepts of meaning from an early age, and just because the daily work of software development is about wrangling meaning, that doesn't mean we're necessarily good at it. Let's talk about what we mean.

@sizovs
Copy link
Author

sizovs commented Jan 5, 2023

❤️ I like the title "Metaphors We Code By" a lot.

It would be great to use that title and take the best parts from both talks. By best parts I mean the most relevant to the tech audience, practical, and thought-provoking.

If that works for you, then the only thing I need for the announcement is the talk description.

@sizovs
Copy link
Author

sizovs commented Jan 5, 2023

@KevlinHenney
Copy link

Good idea. Here you go:

Metaphors We Code By

The world in which a software system lives is filled with meaning. The very act of development is an exercise in meaning — its discovery, its formulation, its communication. The structure, concepts and names that inform the code, its changes and the mental models held by developers are further expressions of meaning. The abstract nature of software and its development mean we employ many metaphors to confer meaning on the classes, functions, UI elements, patterns, etc., of our systems.

But just because we are immersed in metaphor and meaning from an early age, and just because the daily work of software development employs metaphor and wrangles meaning, that doesn't mean we're necessarily good at it. Let's talk about the whats, whys and hows of metaphor, communication and naming.

@sizovs
Copy link
Author

sizovs commented Jan 6, 2023

Great, thank you!

@sizovs
Copy link
Author

sizovs commented Jan 7, 2023

Hi @KevlinHenney

I looked at the top-rated DevTernity talks of all time and noticed that Lean Code is in the top 3. Since our online audience is not familiar with that talk, what if we repeat it? 🤔

@KevlinHenney
Copy link

Funny you mention this: someone contacted me this week about some possible work based on watching that Lean Code talk! Yes, we can go for this talk again, with some updates to reflect updates to my thinking (and slide choices).

@sizovs
Copy link
Author

sizovs commented Jan 7, 2023

Great, let's go for the Lean Code then.

P.S. no surprise so many people liked the talk. It ticks all checkboxes of an exemplary talk: ✔️ relevant ✔️ practical, ✔️ inspiring, ✔️ though-provoking, ✔️ maximum signal-vs-noise ratio, ✔️ high energy... Magnum opus.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment