Showing posts with label Social Developer. Show all posts
Showing posts with label Social Developer. Show all posts

Tuesday, August 1, 2017

Jeremy on Technology and Friends

While I was in Detroit, I sat down with David Giard (@DavidGiard) for his Technology and Friends show. He gave me the chance to talk about my t-shirt and how I became a Social Developer.

Episode 490: Jeremy on Social Developers



If you'd like your own copy of the shirt, you can pick it up at the xkcd store: Just Shy.


Happy Coding!

Monday, October 24, 2016

Jeremy on Developer On Fire (Again)

I had the chance to talk to Dave Rael again for the Developer On Fire podcast. This time, I got to talk about "Becoming a Social Developer". Listen to it here: Episode 175.

"Becoming a Social Developer" is a bit of an accidental movement that I started last year based on my experiences. I had a great conversation with Dave, and we talked about 3 aspects of talking to other developers:

o How I got started talking to other developers.
o The response from attendees at developer events.
o Some great outcomes from people who have joined the movement.

I'm hoping to have lots more stories in the future. If you've had a great experience (or even a challenging one), I'd love to hear your stories so I can pass the along. We all get better together.

Listen Now

Developer On Fire Episode 175: Jeremy Clark - Not Who I Am But How I Behave

Previously...
Last year, I had a great chat with Dave Rael on Episode 012. It's interesting to look back at the tips I gave for delivering more value:
1. Understand your users.
2. Keep learning
3. Get involved in developer communities
As I look back, I see that I've really focused on these things over the last year. I gave a keynote at AIM hdc that was all about understanding your users (I'll also be giving this talk at NDC London in January).

In addition, I keep talking about learning and getting better with practice. This includes a lot of articles, including Don't Be Afraid to Show What You Don't Know.

And it's hard to turn around without hearing me talk about getting involved in developer communities -- which involves talking to other developers.

A big thank you to Dave Rael for giving me the opportunity to share some of the things that I'm really excited about. If you want to hear more great stories and advice from a variety of developers, be sure to subscribe to Developer On Fire.

Happy Coding!

Wednesday, June 15, 2016

"Becoming a Social Developer" at NDC Oslo

I had a really amazing time at NDC Oslo last week. And I also did a brand new session using a new technique. I'll have to say that I'm happy with the way that things came out, even though I had some apprehensions about the talk.

So let's do a quick review of "Becoming a Social Developer" from NDC Oslo.

[Update: You can watch a recording of the presentation here: Becoming a Social Developer - Jeremy Clark]

A New Technique
I tried something completely new to me: hand-drawn slides. This is something that I first picked up from talking to David Neal (@reverentgeek) at That Conference last August. He recommended Dan Roam's book Show and Tell (Jeremy's review), and I found it to be a very interesting read.

The first thing that stuck out is that Roam describes several "storylines" for presentations. When looking through these, I saw that "The Drama" would be a good storyline for this particular talk. In fact, I got out my portable white board and drew up the outline:


Since this talk is basically me telling a bunch of stories (and no code at all!), I figured that I needed something interesting going on the screen, so I took another bit of advice from David and Roam and decided to hand-draw my slides.

I spent *a lot* of time on this -- trying to figure out what to write, what to draw, and how much stuff I needed to fill in a full hour. I ended up with 125 slides (YIKES!).

Here are a few samples:

Force Field
May I join you?
Fear!
What a dork!

As you can see, my drawing skills aren't all that great. I think I'll go back and redraw a few of the slides if I give this talk again, but overall, I'm happy with the result.

If you're really curious, you can download the presentation slides (warning, 125 page PDF file): Slides for Becoming a Social Developer at NDC Oslo.

The Apprehension
I was a bit apprehensive about giving this talk as a conference session. I have written articles on it (Becoming a Social Developer & On Being a Social Developer), talked about it on .NET Rocks (Episode 1187), had plenty of hallway conversations, and even had a chance to share it before the keynote at a couple of events (including Live! 360 and Code PaLOUsa).

And back when I originally drew my outline (in October 2015), I was planning it as a full conference session. But the more I thought about it, the less interested I thought people would be. It's a soft topic, and these are hard to do at a technical conference. And to make things more difficult, this would need to be toward the front of the conference to be most useful. I figured that few people would want to start off a conference by attending a soft topic -- that's when you want to dive headlong into the tech; soft topics are good when your head is full and you need a break.

However, I was very surprised with the turnout at NDC Oslo. The room was decently filled (I'm really bad at estimating numbers, so I won't try). I had the first time slot after the opening keynote. The good news is since Troy Hunt gave the keynote, I knew that everyone would be awake.

The Talk
Several people live-tweeted the talk. A big thanks to those folks. Plus, I got to spend some time with them during the rest of the week (another way to meet new friends).



To see all the activity from the talk reinforced that I'm not alone in having these feelings and fears when attending developer events.

So, thank you to my friends David Neal (@reverentgeek), Sabine Bendixen (@SabineBendixen & @getNextIT), Erika Carlson (@eacarlson), Pavneet Singh Saund (@pavsaund), and Daniel Gaszewski (@DanielGaszewski).

The Results
I was very happy with the results. Several people came up to me to talk after the session, and a couple of the speakers even mentioned me in their talks later in the week.

I also know of several people who actively used the tips that I presented. It was really great to see this tweet come through on the last day of the conference:
Fortunately I had a chance to talk to Daniel in person about his experiences, and I'm hoping to share more of them in the future.

In addition, the topic was featured in the NDC Oslo opening day re-cap video:



Review
Based on the response and the successes that people had meeting new people, I'm really encouraged to keep sharing this message. And although I had a bit of apprehension about the session itself, things went very well (much better than I expected): there was a good turnout, I managed to get my stories in the right order, and the timing worked out pretty close to perfectly.

I'm really looking forward to the video of the presentation. Once it's posted, I'll be sure to pass it along.

[Update: You can watch a recording of the presentation here: Becoming a Social Developer - Jeremy Clark]

And today, something interesting happened...
In my presentation, I mentioned how I have become a person who makes connections between other developers (something that is definitely not part of my nature). In particular, I talked about how I was able to connect Maggie Pint (who has an interest in date/time challenges) with Matt Johnson (who I refer to as "Mr. DateTime").

Today, Maggie announced that she has a new challenge ahead of her:
And she blames me for helping get it started:

I'm really glad I could get the ball rolling in the right direction. I made the connection, but it was Maggie who did all the work. She continued the conversation with Matt, she got involved with open source projects and the surrounding community, and ultimately that work led to her getting a new opportunity.

You Never Know...
You never know which of these relationships turn into something bigger, and you never know which relationships may change your life.
If you want to continue the conversation and join the movement, head over to Becoming a Social Developer, sign up for the newsletter, and send in your stories.

Happy Coding!

Oh, and I lied, there was some code in the presentation...


Friday, March 11, 2016

Different Perspectives

In case you haven't figured it out yet, I'm a big believer in talking to developers with different experiences from mine. I was reminded of the importance of this of this last week when I ran into someone with a completely opposite viewpoint from mine.

I bumped into Troy Miles (@therockncoder) at a McDonalds prior to a user group. I've known Troy from several years; he has a *ton* of experience in mobile development and works for Cox Automotive (owners of Kelley Blue Book and Autotrader). He's usually carrying around several mobile devices and has done web, native, and hybrid development. If I have a question about mobile development, he's my first stop. Plus, he's also a really awesome guy.

I brought up Xamarin since it was in the news recently. And Troy said something unexpected:
"Does anyone like using Xamarin?"
The reason this surprised me is that I've heard an overwhelmingly positive response from developers talking about Xamarin.
Here I was talking to someone I'd known for several years and share a lot of the same ideas about approaches to coding, and yet, we had completely opposite views on this subject.
So this made me curious, and I asked him why the folks he's talked to don't like it. And it turned out that we traveled in circles that had opposite views of the product.

Disclaimer: neither Troy nor I use Xamarin, so we're not qualified to give our own opinions on the product. This is just the impression we've received from other developers.

.NET Developers
My circle includes primarily .NET developers. The response that I've seen regarding Xamarin is very positive. Developers who love C# see the tool as an opportunity to get their code onto other devices (iOS and Android) while using a familiar environment.

Native Mobile Developers
Troy's circle includes primarily mobile developers -- specifically developers who are experienced at native development. The response that Troy's seen regarding Xamarin is mostly negative. Developers who are used to programming directly for the device see the tool as a layer of abstraction that gets in the way and takes away the fine-grained control.

Different Perspectives
This reinforces the importance of getting other perspectives. We all have different experiences that affect how we see the world. And the important part is that once we start sharing them, we can see each other's viewpoints.

I totally understand Troy's perspective. It makes sense that native developers could see things as a step backwards. And Troy understands my perspective. It makes sense that .NET developers could see things as a huge step forward. We both have another viewpoint to take into consideration for future discussions.

The more we talk to other developers who work in different areas and have various backgrounds, the more we'll be able to understand the options that are available to us. And we'll better be able to understand each other. With this in hand, we can come to good decisions -- together.

Happy Coding!

Wednesday, September 2, 2015

Jeremy on .NET Rocks! (for real this time)

A couple weeks ago, I had a great conversation with Carl Franklin and Richard Campbell. I'm really excited to see that it's now published as .NET Rocks! # 1187: Becoming a Social Developer with Jeremy Clark.

Back in 2010, I announced that I was on .NET Rocks! (sort of). This is when Richard read my email on the show. My email was about how an episode of the show had inspired me to speak at a developer community event for the first time. And then last year, I was on .NET Rocks! (at least for a little bit). This was for Show 1000, and I got to tell that same story in about 5 minutes.

This time, I'm on for the full show. Be sure to check it out:


Becoming a Social Developer
The topic is how to become a social developer -- someone who meets new people and talks to other folks at developers events, whether a local user group or a large conference. This is a challenge, particularly since developers are often introverts (the nature of the business attracts us). But we can get over our fear and make some great connections.

I first put down my thoughts about this last December: Becoming a Social Developer: A Guide for Introverts. Rather than repeating the same points, I'll just recommend that you read that article.

Five years in to my experiment, I made some observations at a conference that I attended recently: On Being a Social Developer: Observations from That Conference. I talk about some of these experiences on the show, but this article gives some more details (including pictures).

[Update 09/2015: Be sure to visit the official website: Becoming a Social Developer]

Thank You!
I really appreciate the chance to share this topic. It's one of those things that was hard for me to learn, but I've found it extremely valuable to my career. (This is my experience with the technical topics that I share as well.)

Based on Carl's question during the show, I decided to pitch this as a topic for Code Mash. This would be a great "day one" talk at any conference to encourage attendees to make the most of their opportunities to spend time with other developers. And I'm sure that I'll be talking about it at developer events in the future.

Some of My Friends
On the show, I mention several of my friends. I want to give a few more details about them:

Filip Ekberg (blog, twitter, Pluralsight)
I first met Filip at the Microsoft MVP summit. We were both first-time MVPs, and we spent quite a bit of the week together. He was living in Sweden at the time, and he's since moved to Australia. He was also nice enough to help me out on my Pluralsight course about localization and globalization.

John Strobel (twitter)
I met John at That Conference just a few weeks ago. We ended up talking quite a bit that week, and I'm sure that we'll have lots of great conversations in the future. Read a little more on my observations at That Conference.

Matt Johnson (blogtwitter, Pluralsight)
I met Matt at the Desert Code Camp when he was living in Phoenix, AZ. We've had some great conversations over the years. He's since moved to Washington to work for Microsoft. Matt is Mr. DateTime, and he's helped me out with some of my own code. Be sure to check out his Pluralsight course and also his talk with Scott Hanselman on Hanselminutes #485. He knows what he's talking about on the subject.

Deborah Kurata (blogtwitter, Pluralsight)
I met Deborah at the Silicon Valley Code Camp a few years back. She is an author and speaker, and she runs a user group in Berkeley, CA. We've talked quite a bit because we know each other through several channels, including the Microsoft MVP program and through Pluralsight.

Since several of us are Pluralsight authors, it's really easy to think that we met through Pluralsight. But that's not the case. Filip's first course published a couple weeks before mine. In fact, when we met at the Microsoft MVP summit, neither of us were Pluralsight authors. We talked to Dustin Davis (Pluralsight, video channel) about his experience with Pluralsight, and that encouraged us to give it a go.

I was one of the folks who encouraged Matt to go forward with his Pluralsight audition, and I was very happy to hear when his first course published. And Deborah's first course published about a month after my first one. So I knew these folks before we all became authors. (BTW, I think that means that John needs to become a Pluralsight author, too.)

Wrap Up
Enjoy the show. And I hope that it encourages you to break out of your comfort zone and talk to someone new. It's been an amazing journey for me. I've made some great friends. I've broadened my technical skill. And I've make my world a little bit bigger. You can do the same.

Happy Coding!

Tuesday, August 25, 2015

On Being a Social Developer: Observations from That Conference

I've been thinking quite a bit about being a social developer, particularly because I talked to Richard Campbell and Carl Franklin about it recently on .NET Rocks! (look for the show to be published next week). Because of this, I was a bit hyper-sensitive to the topic when I was at That Conference 2015 a few weeks back.

[Update 09/2015: Check out .NET Rocks! episode 1187: Becoming a Social Developer with Jeremy Clark. And be sure to visit the official website: Becoming a Social Developer]

Loners at Mealtimes
Previously I talked about how mealtimes always seemed to be the most stressful to me. I didn't want to sit by myself, and I wasn't confident enough to easily go up and join someone else. I've managed to get past that from 5 years of introducing myself and sitting down with strangers. It was terrifying the first few times, and I'd be lying to say I'm entirely comfortable with it now -- but it is a lot easier than it used to be.

I'll go back to my observation that developers like to talk, but they don't like to start the conversation.

I took a couple of pictures at breakfast at That Conference. I was there fairly early, but there were a lot of people already in the room. Here's the scene looking toward the front of the room:


And toward the back:


I did some rough counts of how many tables had just 1 person and how many tables had more than 1 person. This is pretty rough because you can't see all of the tables (you can see most of them, though -- note the man in the blue shirt on the right hand side of the top picture is on the left of the bottom picture).

Rough Counts
Top Picture: 8 Singles, 11 Multiples
Bottom Picture: 16 Singles, 3 Multiples

This gives us a grand total of 24 tables with only 1 person and 14 tables with more than 1 person.

Tables don't stay empty for long. Here's a picture of the full room doing the "power stance" (just before the opening keynote):



Resolution: Never Sit Alone
I'm resolved to never sit alone at a conference. I used to think that if someone was sitting by themselves that they wanted to be left alone. But what I've found is that most people are welcoming and open to meeting someone new, but they are reluctant to initiate the process themselves. It is scary, it does make you vulnerable, so I fully understand this.

Great Conversations
I've made some really great contacts this way. At the first breakfast, I ran into someone I knew in the food line (Mike Clement) and we went and sat with someone new who turned out to be John Strobel. John works for Progressive Insurance and lives in Ohio.

I hadn't seen Mike for several months (he's a fellow speaker who I seem to run into quite a bit). I found out that Mike recently moved to Atlanta, GA to work with a developer boot camp. This got the conversation rolling since this is a topic that intrigues me. I mentioned how I had met Sarah Dutkiewicz at the Microsoft MVP Summit, and we talked about the boot camp in Ohio that she was involved with (The Software Guild).

It turns out that John was familiar with The Software Guild (and Sarah, who everyone knows as @sadukie). And we had a great conversation about what makes for a successful boot camp, what qualities companies are looking for in the graduates, and how we can nurture more developers who are just starting out.

And all of this started by sitting down with someone I didn't know.

Picking a Table
Picking a table to sit at can still be a challenge. In the past, I've chosen tables with a group of folks all from the same company. This can turn out to be good or bad. If they're talking about work, then the conversation is usually not that good for me. But at That Conference, I ended up at tables with 3 or 4 people from the same company, and we had good conversations about tools and languages.

I've talked about the table picking dilemma with several people. I recently got a good piece of advice (sorry I can't remember who it was from (it may have been Jeff Fritz (aka @csharpfritz)) -- I've been talking to a lot of people). When deciding where to sit, he looks for a table with 2 people who are not sitting next to each other. Then he goes up and sits opposite them to form an equilateral triangle at the table.

The idea is that this gives you a better chance at conversation. The people (who may or may not be talking) probably don't already know each other, so you minimize the risk of work talk. And if one person doesn't want to talk, then you're not stuck in silence; there's someone else to talk to.

And people are attracted to active conversations (as mentioned in the previous article). So more people will come up and join you at your table. And things grow from there.

Conversations Get Longer
One interesting thing is that I'm never sure which conversations will turn into something bigger. As I mentioned when I talked about last year's Microsoft MVP Summit, I often keep running into the same people over and over again. And this is a pleasant surprise.

John actually turned out to be one of those people at That Conference, we had some great conversations on topics like functional programming (I really like functional programming, and he's trying to figure out how to spread functional programming among the developers that he works with), unit testing, and code craftsmanship.

Another example is David Neal (from Georgia) who I ran into several times. My first encounter with him was at a get together on Monday night. Later, I went to his presentation on Node.js which had this gem that I mentioned in a previous post:

David Neal: You Don't Need Permission to be Awesome
(BTW, I'm totally stealing this phrase to use as often as possible).

Then on Wednesday, I ran into him while I was on the hallway track. John, David, and I had a great conversation about effective presentation techniques, and David showed us his hand-drawn slides that he uses for his presentations. Really cool stuff.

Continuing Relationships
I also had the chance to continue some relationships. I first talked to Ondrej Balas (from Michigan) at Nebraska.Code() in Lincoln NE earlier this year. I saw him on the speaker list for That Conference, so I kept an eye out for him.

We talked for a little while at the water slide party on Tuesday night (and Water Slides are totally better than Powerpoint Slides). We found that we were both on the same path for building our brands as developers. He shared some things that were working for him (such as video blogging -- and he has a really cool idea for an ongoing series (I won't spoil it)), and I shared some things that I've seen. We decided that it would make for a good Open Spaces discussion and decided to put in on the board for the next day. If nothing else, the two of us could sit down to continue our conversation.

Our Open Spaces slot was during lunchtime on Wednesday, so I went to grab some food and head to the circle. In the lunch line, I met Phil Busch from Milwaukee. I told him about the conversation that Ondrej and I were planning, and he decided to join us. There were about 6 of us who joined the circle, and we had some great tips and observations for each other.

Old Friends and New Friends
I knew a few of the speakers from previous events, and it was great to talk to Cory House, Brian Lagunas, Bill Wagner, James Bender, Jim Wooley, and Danny Warren. And it was by hanging out with some of these people that I got to meet Nik Molnar, Keith Elder, Shane Charles, and many other folks.

I feel bad because I'm listing lots of people that I talked to, but there were many, many more. I try to talk to the person sitting near me in the sessions (before they start), and this results in many short conversations with new people.

Among the registration line, evening get-togethers, meal lines, meal tables, hallways, and pre-session times, I must have talked to 40 or 50 people. Some conversations are more memorable than others. But because of these conversations, I spent time looking into IoT devices, JavaScript debugging, Node.js, Erlang, and several other technologies/techniques that I haven't spent time on previously. And this makes my world (both technical and social) just a little bit bigger.

Why Attend Developer Events?
And this all comes back to why we attend developer events in person, whether it's a local user group or a large conference. We can get all of the information presented in the sessions on-line. But the real benefit of being there in person is the interaction with other developers.

I really feel like I missed out on a big part of conferences when I was a young developer. I did learn a lot from the presentations, but I completely missed out on building on the experience of the developers around me.

By making these connections, we learn about technologies we don't currently use. We learn how different techniques work in different environments (from start-up to corporate development). We can share our frustrations and look for solutions together.

I never saw myself as a social person. And I am completely different in this regard than I was 5 years ago. I'm pretty amazed to look back and see the difference in how I interact with developers now compared to how I used to interact (or not interact) with them.

Take the first step: the next time you're at a developer event, introduce yourself to someone new. It could be the start of something really amazing.

Happy Coding!

Thursday, December 18, 2014

Becoming a Social Developer: A Guide for Introverts

I'm not an extrovert. I know that's hard to believe for anyone who's met me at a developer event. When I'm presenting, I appear to be anything but introverted (and that's probably because I love to watch people learn, so I forget about it). And in the hallway or lunch line, I'm not afraid to strike up a conversation with a stranger. But this is all a relatively recent phenomenon for me.

By nature, I'm usually a listener more than a talker; I don't usually talk to people I don't know; and I usually have meals by myself with a book.

But I broke out of that for at least one part of my life -- involvement in the developer community. It was unnerving when I started, but it got easier, and it has turned out to be incredibly rewarding.

[Update 09/2015: For more on the topic, I've put down my experiences at That Conference in a recent article. And also be sure to listen to the .NET Rocks! podcast, episode 1187: Becoming a Social Developer with Jeremy Clark. And be sure to visit the official website: Becoming a Social Developer]

[Update 06/2016: I had a chance to share this at NDC Oslo. The video is available here: NDC Oslo - Becoming a Social Developer.]

Introvert or Extrovert
First, a quick look at what we mean by being an introvert or an extrovert. This doesn't really have to do with whether someone is "shy" or "outgoing"; it has to do with where a person derives their energy.

Introverts derive their energy from inside themselves -- often through introspection and quiet activities. This also means that crowds and frenetic environments can be exhausting. I know that in large, noisy gatherings, I often have to step out of a room for a few minutes to "reset".

Extroverts derive their energy from outside themselves -- often by being around other people and involved in large social gatherings. This also means that being by oneself can result in boredom.

So, this isn't about being "shy" or "outgoing"; it's about whether you derive your energy internally or externally.

The Loner at the Conference
I was very fortunate early in my career. I worked for a company that believed in training and conferences as a way to build up the team. So, I had the opportunity as a junior developer to attend professional conferences relevant to the type of work I was doing.

Unfortunately, I wasn't comfortable talking to people I didn't know. This meant that I didn't talk to anyone between the sessions, and mealtimes were stressful. The thing I hated most was walking into a banquet room and trying to pick a good table to sit at. I didn't want to "barge in" on groups of people who obviously knew each other and were having active conversations. So, I'd usually pick a table with just a couple people who may be sitting quietly. More often than not, I found out that the people I was sitting with were from overseas, and they were talking in Swedish. (Not that there's anything wrong with Swedish; I just don't understand it, so I couldn't participate.)

I enjoyed going to the conferences because I did learn a lot. But I didn't realize at the time just how much I was missing out on by not talking to other people.

Introverts Like to Talk
Over the years, I've formed the opinion that introverts like to talk, but they are reluctant to start a conversation. Here are a couple of examples that I've seen just in my involvement in the development community.

Now, I'm going to be using the words "introverts" and "developers" rather interchangeably. This isn't to say that there aren't extroverts in the developer community -- because there are. But there is a certain part of the developer stereotype that holds true: we're generally more satisfied spending time with our computers than spending time with other people.

So, if you're an extrovert, don't be offended. You can take this as a way to better understand the introvert developers that you interact with.

Code Camp Lunch
My "aha" moment came about 5 years ago. I was attending a code camp, and this was still early in my involvement in the developer community. At lunch, I was in the middle of the crowd to get tacos. After grabbing my food, I looked around and was a bit amused by what I saw.

The lunch was at a big grassy quad on a college campus, and there were individuals dotted around the lawn. In a rather stereotypic fashion, the developers had taken their food and found quiet spots to sit down and eat. That was my first inclination, too. But with this scene before me, I changed my mind.

I found someone (who didn't look too odd), introduced myself, and asked if I could sit down with him. We started with the standard "what do you do" and went on from there.

And then an interesting thing happened: someone came up an sat down with us. Then another person. And another person. As people got comfortable, they joined in the conversation. And by the time lunch was over, there were 2 circles of about 8 people each -- and I wasn't even facing the guy that I originally sat down with. These other circles had formed around us.

And this was all because I had started a conversation with one other person.

User Group
The first time I went to a user group, I got there a bit early. There were only 2 or 3 people there, and I didn't know anybody. My natural inclination was to fade into the background -- sit down and wait for someone to talk to me. But almost immediately, I said, "Nope, not gonna do that."

I went up to someone and introduced myself. And we started talking. As more people came in, they joined in the conversation (as opposed to going and sitting alone). After a while, there were 6 of us having a good conversation.

The Realization
After seeing this happen a few times, I had the following realization:
Developers like to talk, but they don't like to start the conversation.
Here's the standard progression.
  1. A developer sees a conversation in progress and goes up to listen.
    This is a "safe" activity. You can be seen as being social without exposing yourself.
  2. After getting the feel for the conversation, the developer makes a comment.
    This is a way to "test the waters" and find out how people will respond to you.
  3. After getting comfortable, the developer opens up.
    Now you are an active part of the conversation. You may feel free to open up different topics.
This doesn't mean that things are easy for an introvert. But we can take an active role in getting this progression started.

Becoming a Social Developer
It doesn't take much to become a social developer. The steps are very simple to follow -- and they are extremely hard to do the first time.

Step 1: Introduce yourself to someone you don't know.
All you have to do is say, "Hi, I'm Jeremy" (but use your own name). And usually you don't even have to ask for the other person's name; they'll respond with their name.

Step 2: Ask a non-threatening question.
I usually start with "What do you do?" And you would not believe how many times people say, "I'm a programmer." Yep, I pretty much assumed that already.

Step 3: Ask a follow-up question.
Next is, "What kind of applications do you build -- web, desktop, mobile?"

I won't lie to you: this is going to be very difficult the first few times you do this. It's extremely uncomfortable as an introvert to put yourself out there. By starting the interaction, you open yourself up to rejection (not great if you don't have a huge amount of confidence).

But here's the good news: I've never had someone tell me to go away. There have been times when conversations have been a little awkward and fizzled out. But 9 times out of 10, I've gotten to know someone new.

It Gets Easy
The more you do this, the easier it gets. I've been doing this for about 5 years now (which really isn't that long in the grand scheme of things), and it's second-nature to me now.

Another Code Camp Lunch
About a year after I started doing this, I went to a code camp that was about 400 miles from where I live. It was a *huge* event, and I only knew a few people who were there. Because there were so many people, I knew that I probably wouldn't find anyone familiar during lunchtime.

So, after grabbing my pizza, I looked around at the folks who were already eating. I found 2 people who were sitting near each other (but not talking to each other). I introduced myself and asked if I could join them, and they said it would be fine.

I started the conversation and found out that one person was a developer manager, and the other person was a business analyst.

Here's the interesting part: as we were wrapping up lunch, a person who was sitting nearby pulled me aside. He said, "I like how you went up to people you didn't know and just started a conversation. That was really cool." That gave me a chance to share my experience with him -- how it's not part of my nature, but I've seen that it works well.

Encouraging Others to Join In
This is easy for me now. And rather than standing around in a registration area or hallway, I'm likely to start a conversation with someone nearby. And once you're comfortable with this, you can encourage other people to join in.

At a recent code camp, I was in a circle of about 3 or 4 people in the quad. Another person inched up to the circle -- the "listening" phase mentioned above. Rather than letting him just stand there and go slowly through the phases, I introduced myself and asked his name -- pulling him into the conversation. If we create a welcoming environment around us, then other developers will be more comfortable and willing to join the conversation.

I try to actively engage "lurkers" in the conversation, creating a safe environment for them to get involved. Once you're comfortable with yourself, do what you can to help others get comfortable.

The Results
I don't think I can really quantify the results of this. I know *a lot* of people in the developer community -- way more than I feel like I should know. I've had a lot of one-off conversations where I never saw the other person again. But I've also built some really good relationships.

Tracking Technologies
In addition, I get a very good feel for what's going on in the developer community. I usually ask people about what technologies they are working with, what they like about it, what doesn't work quite as advertised, and so forth. That's one of the reasons why I got into Git -- a lot of the developers that I've talked to are using it regularly and really like it.

As another example, I've been talking to quite a few folks about Angular.js. I'm not currently in the web programming world, but the technology is interesting based on what I've heard. And folks are talking about upcoming changes and how they affect current and future projects. I feel like I have  window into another part of the development world that I don't normally deal with.

Fearless
The great part is that I'm no longer afraid to talk to people I don't know. For example, last year I went to an event for Pluralsight authors. There were a lot of famous people there: people who were well known book authors, who spoke at professional conferences, who made the rounds on the developer podcasts. And I wasn't shy about going up and introducing myself. I won't talk about who because I don't want to sound like I'm name dropping. But it's nice to go up to someone, introduce yourself, and then let them know how they were influential in your programming career. And some of these interactions turned into longer conversations.

A Huge Network
The same is true at the Microsoft MVP Summit. And as I've attended these events, I've become friends with a lot of people (which I wrote about last month). And now when I'm listening to a podcast, I can say, "Hey, I've talked to that person." I'm amazed at how I'm having that experience more and more as I've built my network of contacts over the years.

At the same time, I know lots of people in my local development community. In fact, when I was looking for a job, I had about a dozen people give me leads on positions that were available in their company. These are people I've never worked with, but they felt that I could be a good fit for their team based on the conversations that we've had. (And I've always thought that being a good fit for a team is more important than knowing a particular technology -- a good developer can learn a new technology. But that's a discussion for another day.)

Very Compartmentalized
As a final note, I'll say that this "talking to strangers" attitude that I've picked up has remained limited to the developer community. If I'm at social events, I'm still unlikely to talk to people I don't know. And if you're sitting next to me on an airplane, I'm unlikely to start a conversation (unless I know you, of course). There is a certain level of comfort in the developer community because we all know that we have at least one thing in common: programming.

Wrap Up
It's not easy to get started. But if you are an introvert developer, I'd recommend taking a chance. The next time you're at a user group or other developer event, introduce yourself to someone you don't know. The first time will be hard. But trust me, it gets easier.

And the results are well worth it.

Happy Coding!