官术网_书友最值得收藏!

Getting up on stage

Scott Davis: Public speaking continues to be one of the number one fears that many people have. There's that common nightmare where you're standing up in front of your classmates at school giving a report and, all of a sudden, you're naked or you've forgotten what you wanted to say next. It takes a real act of courage to stand up and present yourself as an authority, especially to a group of your peers.

On the flip side, I really try to be mindful about not appearing arrogant. I try to turn each presentation about software into a personal journey—a "hero's journey" if you're familiar with the literary concept. I don't want to stand up and say, "I know this and you don't, so why don't you sit back and listen to me talk about how much I know." I like standing up and saying, "Hey, I'm a Java developer and I just discovered this new language, Groovy. Let me show you what I've learned so far."

"No one can call you a liar for sharing your personal experience."

—Scott Davis

It's fantastic being able to come from a very personal place to say, "This appeals to me and let me tell you why." It's the best cure for imposter syndrome I know of because you're talking about your journey and your experience with the software. No one can call you a liar for sharing your personal experience.

Even if being on the stage holds no appeal for you, you can still contribute to the conversation through writing blog posts or an article series; starting a podcast or screencasts; or even posting code to a public Git repository. These are all low- or no-cost ways for you to find your voice and share it with the public. You don't need to ask permission—just do it!

Geertjan Wielenga: Would you say that you need to be a complete expert on a particular tech or on a topic before you can be a speaker or author in this developer advocacy domain?

Scott Davis: Getting back to that voice of authenticity, I tend to enjoy blog entries and articles where people are very honest about what they struggle with. In that way, the writer says, "This is a concept that really didn't make sense to me at first, but here was my breakthrough moment."

I had an experience like that most recently when dealing with RxJS, a reactive library for JavaScript. It wasn't the syntax that I was struggling with: it was the underlying concepts, the reactive/declarative mindset, and the worldview, if you will. I've been dipped in imperative programming my whole life, so I was really struggling to get into that reactive mindset. But once it happened, that lightbulb went on and I thought, "Oh, now I get it!" It was like staring at that duck/rabbit optical illusion and finally being able to see the rabbit.

Now when I'm giving presentations on RxJS (or reactive programming in general), I always tell that story. It humanizes me and more than a few people in the audience are probably fighting that very same battle.

I give an imperative example and then a declarative one right afterward: "See how the declarative example is doing the same thing in far less code? That's the rabbit I was telling you about!" That's the "hero's journey" in a nutshell right there. It's not the solution alone that's important: it's the journey leading up to the solution as well.

Geertjan Wielenga: What are some things that you wish you had known at the start of your career, especially as an advocate?

Scott Davis: My little brother also went into software as a career. Just as he was getting ready to graduate from college, one of his professors said, "There's a good chance that you're never going to use the programming languages that you learned here in class out in the real world."

It's true! I had two semesters of COBOL in school and never once got a paying gig writing COBOL after graduation. The idea that you can learn a single language that will carry you through to the end of your career is probably setting you up for a lot of heartache and disappointment. You have to be prepared to be constantly learning, constantly adjusting, and constantly evolving over time. You need to be prepared to be a polyglot programmer, which is Greek for "many tongues" or many languages.

When I call a plumber, they don't show up with a single wrench in hand and ask, "Okay, where's the leak?" They show up with a whole truck full of tools, some of which might only be used once or twice a year. But when the job calls for a specific tool, that plumber is prepared to use the best tool for the job.

Geertjan Wielenga: What have you been advocating recently? I've seen you talking about conversational user interfaces (UIs) and responsive progressive web apps. How do you choose which tech to advocate?

主站蜘蛛池模板: 原平市| 宣恩县| 哈巴河县| 湾仔区| 萝北县| 什邡市| 托克逊县| 宁德市| 登封市| 枝江市| 益阳市| 牡丹江市| 汶川县| 湖南省| 霞浦县| 伊春市| 怀安县| 大同市| 彭州市| 马公市| 高阳县| 新平| 固阳县| 南陵县| 锦州市| 平山县| 连城县| 乐亭县| 灌阳县| 禹州市| 赞皇县| 昂仁县| 新昌县| 中西区| 延津县| 榆树市| 抚州市| 天峻县| 建阳市| 清涧县| 奉贤区|