I'm shit at it, but the mantra I tell to myself is: "remember when you were a kid? These are other kids that play with the same toys as you. Just talk about the toys and how to make toys more fun. Same enthusiasm!".
Just stay away from the mindset of "convincing people". Nobody likes being convinced to do something.
The problem is: this kind of "nerd talk" that you are enthused about often comes across as awkward in particular to business-minded people.
In other words: I can perfectly understand why many developers have bad experiences with talking to people: too different interests and thus quite a lot of bad experiences in the past.
edit: example: one such industry is selling big expensive machines and/or software to run them.
The only thing I'll differentiate in my thinking from the OP advice is consider thoughtfully how well you are served by diarizing your development process and how much more can come from thinking in reverse from the customer perspective.