57

I am giving a keynote at Devscovery tomorrow at 9am. The title is "Social Networking for Developers." It's 90 minutes long and I don't want to waste anyone's time.

Everyone I talk to who uses Twitter, Blogs, StackOverflow, etc, says that these sites make them "better developers." However, few are able to qualify HOW and fewer are able to quantify HOW MUCH better.

Is it just about getting answers to questions? Is it about the developer's third place?

Help me, O Stack Overflow, O great social network of developers, with my Keynote on Social Networking. ;)

What makes developers, usually an anti-social bunch, strive to use the internet for social purposes?

How do Social Networking sites help you better do your job?

123 accepted
  • Social Networks are loaded with people who will remind you not to wait until the night before a talk to ask such questions :)

But seriously, I think the biggest thing it does is remind people what a good developer can be. If you are someone who enjoys to go for a jog 2-3 times a week, you could very easily be the best runner you know. You might think that what you do is at or near the limit of what anyone could expect to do.

Until you go to a 5k filled with other serious runners. Then you realize where you stand.

As a younger/not so great developer - I used to think I was a great developer. I was the best developer in my family, the best developer of all my friends and when I finally got into programming classes at school, I was the best then. Even in college. And, honestly, even in a lot of the jobs I've had.

The reminder that there are other people out there who really are leaps and bounds ahead of me and the exposure to things I didn't know existed or were possible - gives me something to strive for.

18

The great thing about Social Networking is really the second half of the concept. While humans are social, the networking is really where we get the value or utility. For example, Stackoverflow in my opinion is one of the best places to get technical questions answered and to look for resolutions to an issue. You can now use Twitter to seek out advice on why Re-Sharper may have crashed your system.

5 years ago, you were almost limited to people who were in your address book and sat next to you. Tools like Twitter and Stackoverlfow really allow you to get almost real time feedback on your problems which essentially can make it seem as though you are on a development team of hundreds or thousands rather than two.

I come to Stackoverflow for this:

  • Increase my number of peers or team size (virtual sense...)
  • Almost real time responses to technical challenges
  • Look for ways not to re-invent the wheel
  • Look at new technologies to see how it is being used (ASP.NET MVC)
18

They can't.

Content-oriented sites (like stackoverflow) can make you a better developer. Social sites like Twitter don't enter the same category.

I believe anyone who believes otherwise is just deluding himself to indulge into procrastination.

7

"Why Nerds are Unpopular" is an interesting read to my mind about Nerds and social hierarchies that comes to mind as something that I wonder if you've read that. Some developers, like myself, enjoy answering other people's questions. Getting some form of validation, whether it be through reputation or comments, feels great and is a lovely thing. There is also the potential to just chit chat and destress through some sites with message boards like Computer Science Canada.

Social networking sites can be useful in a few ways. Networking be somewhere near the top of that list. LinkedIn and Facebook allow me to connect with past colleagues and recruiters that may be able to help me find another job if I need one or research various job titles and career progression to some extent. Blogs can be useful for showing me things on new technologies that I likely wouldn't find out about in other places, e.g. ScottGu's Blog has been awesome for showing some of the new ASP.Net stuff to my mind. Local User Groups can be another form of social networking to my mind as nearby events that happen can be insightful in showing new techniques or technologies. There is the connection of the developer to the world that can be done in large part through social networks, though some may have a different definition of social network.

7

Social networking helps:

  • Keeps me aware of what's current (critical to my style of self improvement as a developer)
  • Challenges me to think critically (see the Uncle Bob/Spolsky dust up)
  • Provides a way reach out and get and give help (teaching and learning in this way deepens understanding)

Social networking hurts:

  • Makes it too easy to amuse myself instead of working on my craft (read: Twitter)
  • Provides many shiny objects to chase which oftentimes provide little actionable value (signal/noise problem)
5

From my perspective, it opened up my world to ideas and technologies out there I never come across at work.

There is also some discussion about this here:

What Stack Overflow Can Teach You

Stack Overflow has taught me more about writing effectively than any class I?ve taken, book I?ve read, or any other experience I have had before.

4

When I first started writing my blog, it was hard because I held myself to a higher standard for presenting and discussing technical concepts because I was "writing for the entire internet" (or so I thought). This improved my technical communication skills in general, and made me more deeply internalize the stuff I was writing about. Like they say, the best way to learn something is to teach it.

Even commenting on someone's blog using my real name makes me think twice before posting, causing me to clarify my thinking further, often learning something new in the process. There have been a number of times where I started a counterargument only to pause, have an "aha" moment, and cancel my comment, leaving everyone (except myself) none the wiser.

The internet is the great social equalizer. Being able to engage in meaningful conversations with rock stars helps you realize that you too can be a rock star in your own way.

Developers tend to be political novices, resulting in their good ideas not being adequately heard, not getting to work on the fun projects, greater friction on a team, and more. Engaging with a broader developer community makes you more politically aware and hopefully teaches you by example how to play positive politics.

I think this old proverb is also relevant: "Iron sharpeneth iron; so a man sharpeneth the countenance of his friend." This is just as true technically as it is interpersonally. If you hang out with smart people, some of that is going to rub off.

3

It doesn't make you a better developer to get answers to your questions. It makes you a better one because you have to think about how to ask the question and make sure you don't embarrass yourself while doing so. This is true for Stack Overflow but it was also true 15 years ago on UseNet, it is also true for writing a blog, but I'm not sure how Twitter helps here.

2
  • I'm not alone. That's a good feeling if I'm stuck with legacy systems or just with my design/code/developers.

  • Loosely coupled with lot's of developers. If I need something or I have something to say, they are there.

  • And here is always something funny:)

2

Here's a few of my thoughts:

  1. Your false assumptions are quickly pointed out to you. (which you will hopefully correct)
  2. Sometimes when you are answering a question to the best of you're ability, you notice 3 other people have a better way you never even thought of before.
  3. Fast answers to current delemas
  4. Researching things you've never even thought of before, to help somebody else.
  5. The simple satisfaction of helping somebody who is in the same situation you might have been in earlier in your career.
2

Social networking makes me a better developer in these ways:

  1. It allows me to ask (and hopefully find answers to) my questions more effectively. I can ask the right person/people and save on wasted time searching up the wrong path. This can equate directly into a cost benefit to a business if developers can learn more efficiently.

  2. When not engaging in social networking through doing the asking, simply listening to the background noise helps you (as a developer) keep up with trends in technology, hear what people are complaining or praising and generally feel more aware. Incidentally I have the same opinion about your podcast and others like it.

2

I chanced upon your post just after reading this most interesting thread on our beloved SO -- What are the worst working conditions you have written code in? -- and I'd humbly suggest that social networking sites are a distraction, and that distractions are not necessarily conducive to productive coding - but may prove helpful as an outlet in an otherwise stressful environment. Unless of course one is looking for precise answers to a specific problem, in which case SO and other social networking sites may be of help (after one has dutifully read the manual).

BTW, see this related SO post:

2

I've never heard until now that these social sites make one a better developer.

Either it is SO, any other programmer forums or comments in blogs, it is where we get up-to-date information, share hands-on experience as well as learn tips and tricks not usually found in books or any documentation.

Maybe also getting the sense of belonging to a community, looking at the multitude of opinions in its variety, learning to build our own opinions and ultimately obtaining the wish to learn all that is there to provide a quality work to be "at the niveau" with the best of the community.

It's funny, Scott, I've noticed it several times already, if someone asks you about something completely unknown, to explain or justify some point of view, you suddenly come up with very interesting ideas. Hope you liked my mind broadcast.

1

Social networking made me a better developer because I get to know how good other developers are and this gave me motivation to learn new technologies too

I often find work drains my enthusiasm on programming because you tend to solve similar problems with same bunch of people. This made me feel reluctant to learn new things because what I know can already solve all my problems

However, since I started using social networking sites and get to know other developers, I started to realise how much more I can learn to solve problems in smarter ways.

1

I mostly just leave twitter up on my desktop at all times so I can see whats going on with the "big guys" for the languages I write in - mostly .NET and jQuery.

Several times I'll just start complaining on twitter how I can't get some specific thing to work, and someone who does a search for certain keywords finds me, responds and helps out.

I once had a fairly large jQuery plugin I was writing but I couldn't get the specifics of it working. I put online what I had so far and simply asked for help. Within an hour or so I had Karl Swedberg (@kswedberg),one of the jQuery authors and the guy who runs learningjquery.com, send me a message and a link to a 100% working code example saying he fixed my problem! From that I got to see how an experienced jQuery guru would do what I was trying to do.

I also have several friends who do what I do, or at least something similar, so we can just bounce ideas and problems off each other all day.

Sometimes it's a distraction, but overall I find it tremendously useful.

1

By using Social Networks developers avoid having to spend three days agonizing over a problem someone else already figured out in 15 minutes.

1

The mere fact of the existance of networked social circles has produced a new phenomenom. Just by putting out the word on something you want, are doing, need, etc. brings in results from all walks of life. This question itself is an example of social networking at it's finest as I rarely post/answer on SO but in response to your tweet it brings me here to offer some insight.

I think the power of social networks is under appreciated and under acknowledged. By putting out a call on twitter for people to band together, word spreads to blogs, facebook, twitter, and elsewhere and creates results like new blogs being written, incentives being created, new friends being made, and miracles unearthed.

The recent events that you can witness by searching on the hashtag #maddie produce an L.A. Time article, a KTLA video, hundreds of blog reactions, and over $40,000 being raised for a child taken too early in life.

How has social networking helped me? It helps me every day I use it. Whenver I get stuck, I know that somewhere out there of about 4000 people I can reach someone will have an answer. And if they don't one of them will retweet or repost my request or question which in turn will pull in another 4000. Social networking is a technological eco-system representing the circle of information, both from a consumption perspective and a provider. It never ceases to amaze me every day it changes the work I do.

1

Social networking exposes me to attitudes, ideas, and thought processes that I might never come around to on my own. Along with podcasts, I would credit social networking as one of the best things to come along in my career. It doesn't feel like I'm in a silo doing development work. I can interact with and ask questions of peers who have had a lot of the same problems I have, and get seasoned answers. With sites like SO, I can get a relatively sound answer within minutes, whereas in the past I might have arrived aytt he same answer after 1/2 hour of googling and reading blogs - which are still a huge resource. I consider blogs and podcasts a part of the new social media as well. All of these avenues combined have made me a more well rounded and complete developer (who still realizes he has a lot to learn!

1

I use sites like Stack Overflow because:

  1. I can get answers to my questions faster (much faster than i would have found reading some book on that topic!)

  2. Can understand a lot of stuff by reading the questions which would not have occured to me.

  3. Quite a few non-programming questions take my mind off coding, which feels great.

  4. Help me complete my assignments on time, as questions are answered at all times.

0

Two reasons:

1 Honestly, the desire to be heard is quickly coupled with the desire to be right.

If you post something you're not so sure of you'll quickly get smacked down so it forces some (including me) to make sure I know what I'm talking about and do research.

2 I read posts of related interest because there are answers I don't have. I may have an answer, but there's always a better one.

0

I have used Twitter, LinkedIn, Facebook, etc. to find recruiters or hiring managers who have listed a need that fits my skill set and interests me. Social networking has so far served to help me get in contact with those who are looking for services that I am in a position to deliver.

I mainly use blogs to record interesting bits of information that I want to record for future retrieval and to learn from what others have saved in their blogs. I have gotten most of my golden code snippets that way. Good technical blogs provide me with the useful information I need to make my code implementation ideas shine brighter and add additional value to the client.

Hope this helps. Tape the keynote and post it. Sounds interesting.

Sincerely,

David

0

Perhaps only a side note but using MySpace and dissecting MySpace themes and building my own taught me more about CSS than anything else.

Also, every now and then I come across an approach to a problem or a solution that is more elegant than my own.

These sites also help one see programming related issues in a new light. They can help when one is stuck in a rut.

SmashingMagazine and SixRevisions and similar sites are great for sparking creativity.

0

Hi Scott,

Social networking sites definitely helps you make a better developer especially the ones you have mentioned - twitter, blogs, stackoverflow.

Twitter - I have been using this for quite a while now, this gives me a chance to get to know more about the fellow developers in the community, friends and stay ahead of technology with so many new things coming up every day. It's nice to follow the developers like you of whom we have only know by reading your blog.

Blogs - Blogs gives us an opportunity to learn new technologies and to share our experience with others. I try to blog whenever I can so that I could share my experience and it could be beneficial to others.

Stackoverflow - this is a unique site for programmers with so many things in place which gives you reliable answers. I hope to participate here and help others.

I look forward to your presentation.

Thanks & Regards Ponnu

0

Sometimes knowing the existence of a thing is the most difficult part. Think of all the times you write some code and someone comes along and say, "... or you can do it like this, in half as much code".

I think Twittering helps enable this to take place from further a field. Amongst all the noise are gems that stand out just when you need them.

Since getting on the social bandwagon I feel more aware of the community vibe, new products, technologies and the progression going on in the industry. When I hear of a new library/product/release/whatever I can say to any of my architects that there may be something that can help us and warrants further investigation. Because I got it from the social network then I think I can say that it would have taken me longer to come across it otherwise.

Edit - Additionally, I think by being more across "everything that is going on" then I am a more valuable developer as a result because architects can't always be across everthing themselves.

Stream of consciousness over...

0

Social Networking site has draw people together between ideas and current new technology interests. Truly, social networking site does not make use a better developers, but it does make us to find better solutions or right answer quickly. It does being a peer pressure from the learning for the new technology classroom.

Delicious, dotnetshout, overstacker are the most Q& A and organized environments. Tweeter bring the tweeps' conversations, daily new thoughts, greek blogs, and releases.

0

If you want to keep up with what's happening these days, it's a must to read blogs. Just look at asp.net mvc. All documentation is released through blogs and tutorials, and you can get additional info here on stackoverflow.The first dead tree books are about to come out now, while people who have followed the blogs etc. are already using it.

As for twitter, it's nice as an extra but not really necessary.

0

As someone who's stuggled to find all but a couple of 'real people' tm who want to spent their own time looking for better ways to do their job, the avenues you're talking about are invaluable. Now instead of old skool book-learnin' and half-hearted feedback from colleagues, you can post a question or write a post and some sharp minds will very quickly let you know if you're on the right track or need to re-think. Often you don't even need to initiate the conversation as someone has already started the debate long before it crossed your mind, and so you can jump in and quickly aggregate the combined experience of your peers and still contribute if you think there is more to be discussed. You would never find such in depth coverage of niche topics in print, it just wouldn't be viable. Also most of the chatter occuring on the mediums above are born out of real problems, that people sweated over to solve on real projects. On top of all that it's all so accessible, day or night. And we all write our best caffine fuelled code at 1am don't we? As for quantifying how much better I am, who knows, but with so much information available I've only myself to blame if I don't continue to improve

0

Not certain developers are anti-social...the fact there are 300% more usergroups per capita for developer's than IT Pro's would argue against that premise but i think Martin has the right idea with the ability to use the community to quickly "crowd source" ideas to problems that aren't booleans...then force you to think about the ramifications of the path you have taken.

0

A good developer should to have contact with as many other good developers as possible. Knowing where we stand, and being up-to speed in the stuff we like. Where do developers meet? They don't! They don't go out. And when they do, they're just regular people, not developers. So we're left with social networking.

0

I am not a developer (anymore); but I do a lot of SN and here my gains:

I am enriched with ideas and concepts I never considered before

I get to see things I did consider before from a different perspective

I get to see dots (concepts) connect what I wouldn?t have otherwise

I get to help; and that helps me a better human

I get to learn; and that makes me a better human

Filiberto Selvas

0

I just read the programmers' stone about stress and how it impacts a developers ability to program. Perhaps these social networks developers are attracted to are a way of dealing with stress. What feels better than preaching to the choir?

0

Tomorrow you will be giving a talk and presumably (hopefully) lots of programmers will be in the room listening to what you have to say. One would hope they will find it a worthwile use of their time.

That is networking, listening to others and learning. There are lots of mediums like conferences, user group meetings and now on-line social sites.

Now clearly each of these mediums has advantages and disadvantages as well as unique characteristics.

Is the question "Does networking have value?" or is it "What types of networking are best served by online social media as opposed to other forms of networking?"

Ten years ago I was working for a large computer company and we had a project involving a team of people from all over the world. The project included some meetings where we were all in the same room (expensive travel costs) and between those sessions we would keep in touch over the network (much cheaper, but someone in Australia keeps much different office hours than someone on the east coast off the US).

So the bottom line is that I believe that one needs to use multiple forms of networking and not just one. User groups, conferences, telephone email and twitter etc all have there place and are best used as part of an overall networking strategy.

0

From a product group perspective it's just a great way to get a quick read on issues right when you need it (in the early stages) and from a myriad of different perspectives: languages, preferences, abilities (and disabilities) etc. Things go faster, better and (hopefully) we build better products as a result.

0

Everyone I talk to who uses Twitter, Blogs, StackOverflow, etc, says that these sites make them "better developers."

Well then, let me be the exception for you. I've tried Twitter, Facebook, and other "social networks" and found them to be completely useless to me, both personally and as a developer. I'm extremely introverted, but I'll take personal interaction over virtual interaction almost any day -- and when I want to be alone, I don't want online interaction, either.

Blogs (other people's) are useful because they often have the answer to a tech question. There's nothing magic about the "blog" format -- it's just how a lot of information is stored today. USENET is also useful, for the same reason, though harder to search (Google Groups is pretty lame compared to Google Web Search).

StackOverflow is a special kind of site where I can be lazy. It's like USENET or any other forum, except there's a silly point system, so people fall over each other to be helpful. (I guess WLIIA-style useless points are really valuable to some people!) When I'm using one of the handful of languages popular here (C#, Java, SQL, Python, Ruby), and I'm stuck (and nobody else is available at the office), I can usually get an answer on SO in almost no time at all.

0

Social Networking sites helps me to connect to the outer world (outside my development world) and to understand other prospective about me or my development , all the work/development we do is to provide benefits/services to others to our users/business and there is no better place then social networking sites to get feedback of others towards my work ,

and secondly It is not possible for me to work as pair with great people around in our world but i can certainly can connect to them on social networking sites to be a better developer.

Social Networking sites are best way to provide benefits to other in their professional life so it helps me more to become better developer.

0

Developers also become better developers by attending local user groups. For example, if you want to learn how to write secure code then attending local OWASP chapter meetings is a good next step...

0

This is a wonderful opinion. The things mentioned are unanimous and needs to be appreciated by everyone.

IT Solution