I’ve been interested in blogging for a long time as I’ve created this blog to publish my personal stuff… I had focused 2 years of my undergraduate Computer Science studies (2000-2002) developing Graw as a research tool to support collaborative learning environment for scholars. This was triggered when I started thinking about how could I take advantage of twitter and/or FaceBook to reach out other developers. In addition, I was personally looking for ways to organize my Computer Science life from school and open-source contributions I had developed in the past and others I like to work, etc.
Today I see a developer’s Social Network as his/her image and presence in a given community of interest. For instance, BlackBeltFactory, the old JavaBlackBelt, is a community for Java developers looking for certification-level training in Java skills, among others. Similarly, the developers at GitHub and Ohloh are focused in bringing developers together from a social coding perspective, or open-source contributions, etc. Finally, I see LinkedIn as the professional visibility of developer/engineer/researcher/scientist as they provide groups of interest, etc. As I started reading more and more about this subject, I started seeing this as a way to help a developer use the power of the Internet to grow his/her social network among the professionals of a given community.
Here are a list of tools I found to help developers build their social network using their own website. WordPress is great for starting your own blog. You can download an open-source version of WordPress and maintain it yourself. Other tools that can be used to help a developer spread his/her news are:
- Blogging: Blogging is by far the simplest way to start. Start by writing solutions to common problems, or a solution to a problem you haven’t found online. When you have more time, do a “Code Garage Sale” and have code snippets from previous projects developed in the past, say in grad school or another open-source project. That can be used as a future reference to yourself and others who face or will face the same problem. Blooging helps developers to write long emails to answer regular questions from other users, in addition to helping him/her to develop his/her writing skills. Consider not only writing blog posts, but also commenting on the ones you are interested about. You can later learn about your audience by using Google Statistics and Feedburn for statistical analysis of your audience.
- Social Bookmarks: delicious.com give developers an account to add bookmarks based on tags. While working in a project, I tend to add links that solves a given problem or a reference to something I have done. In my opinion, other users can take advantage of what you have tagged and see the links you were working to solve a given problem. I think this can be used to find other developers based on the links you share in a social bookmark, while other developers or peers in a project can have a view of the references you’ve used. Just think about integrating a new team member to a project and share all the research references. For scientific papers, I use MyACM for research papers at on ACM and I constantly bookmark references for a given paper I’m writing.
- Open-source Identities: for those who contribute with Open-Source projects, you probably have heard about Ohloh.net. It maintains a cache of popular open-source repositories and help users identify themselves based on the commit messages. This is a great tool to find who are the developers behind open-source projects based on the commits to the repository. GitHub and GoogleCode provide a feature that allows you to create a link to a specific code line, allowing developers to give more specific and direct examples. Why not subscribing to someone’s commits?
- Question-Answer Communities: what do developers do when they need to fix a given problem? What if you need an answer to a given problem that is specific to the domain of knowledge of the problem? Yes we can google for specific key words, but it is more effective to make a presence at StackOverflow. A blog can seen as a developer’s point of view about a solution to a problem, taking control over the comments, etc. On the other hand, others may prefer Wiki pages, whose content is managed by a community of users. StackOverflow’s model revolves around the idea of community supported answers sorted by correctness and votes, where the “most optimum answer” is displayed on top. It uses the Digg’s approach to “Up” and “Down” a given answer. This type of community can help building one’s reputation in the community since it is a human desire. Have you heard of “Jon Skeet“?
- Mobile Support: put a developer on a train ride and a mobile device will be his/her best friend. I’ve been using my Android phone more often to scan QR image for a link to a website, a Google Map, Contact Information, etc on a webpage. I usually use the Google Chart API to generate my QR images for a given purpose. Use you barcode reader and you will automatically open this post’s webpage for future reading.
- Broadcast Yourself: Use twitter to allow others to see what you are working at or connect with a given community. This is a very useful way to reach out to a great number of developers at the same time. As we see today, blogs allow us to tweet blog posts and that’s just the beginning.
- Syndicate your blog: Allow RSS Feeds so that people can subscribe to a given developer’s blog.
- How can social networking sites make you a better developer?
Some more information on social networking for developers in the links below.