Background: Branding is a tool that adds additional value to any product or service. It is a powerful concept that differentiates any product or service from others in the marketplace.

When it comes to developers, personal branding is one of the most powerful tools for you to differentiate yourself from other developers. Your personal branding as a developer will build recognition and a community built around you. Last year, we had Scott Hanselman as a guest at Git Commit Show. In his talk, he shared his experience and knowledge about personal branding for developers.

Scott Hanselman is a former Professor, a remote employee of Microsoft, an open source contributor and blogger. With huge following on his Twitter (250k+), his podcasts and blog, he's the best person to learn about personal branding from.

Before jump into personal branding for developers, let's understand three important attributes of good social developer according to Scott.

  1. Learn how to learn
  2. Be humble
  3. Be yourself

Learn how to learn
I have been a programmer now for a very long time. I would say probably 30 years and the things that I learned in school, the things that I learned in university are not the things that I use every day. I learned some fundamentals but I didn't necessarily become an expert. I don't think that I'm a pro and therefore I think that we're all amateurs in the technology space because anything that you learn today will be different tomorrow. What I think makes someone a good developer is learning how to learn. I would much rather hire someone who's really good at learning stuff than hiring someone who's an expert at a certain technology like Javascript or Ruby. We're all amateurs. There are no professionals at least not in the software engineering space. There's just people who know how to learn really well. We also like to say fail fast fail often.

Be humble
I think being humble is a hugely important part of being an excellent social developer, managing who you are online, and managing your brand. One person that I like to look up to is Tim Berners-Lee. He invented the world wide web, and he is the father of the internet. I think one of the things is cool about Tim Berners-Lee, who is "Sir" Tim Berners-Lee his title. What's his title? It just says, web developer. One of the things that I think is interesting is so many people want to be a senior developer. They like to say, "I'm a senior developer," and they put things at the end of their name like comma mcsd or comma cisco or whatever their certifications are. Tim Berners-Lee could have said the web developer as I made it. Imagine putting that on your resume, "I'm the web developer, I made the web." But he didn't. He says web developer, so then who am I to say, senior. This has given me a sense of humility.

Be yourself
Being yourself is a better way to phrase marketing and branding. This is a blog post on branding yourself, but that's just a trick to get you to come to this blog post and read this post. Branding yourself doesn't mean making something up. It means being yourself. So I recommend that people have a consistent and professional username on every site. Remember that not everyone wants their face on the Internet, and that's okay. Just make sure that it's some face and it's consistent. It could be a Simpsons character. As long as I know that "oh, that's the kangaroo that I met on Twitter, and now they're on GitHub." Your username and your avatar should be identifiable, so I say, "Oh! It's that nice person who knows a lot of things about code." Remember one kind persona with the goal being to add value and if you make a mistake, lean into it. That's okay.

Learn human skills

  1. Career
  2. Marketing yourself
  3. Learning
  4. Productivity


The other thing that people don't realize when they want to manage their personal brand and become a developer that is visible online is they think it's all about the tech. I think it's about thinking about your career about managing your perceptions, and who you are. It's also about being productive with your time and making decisions and doing what's called deliberate practice, deciding what you're going to do, not accepting the defaults, and doing it. For example, if I'm going to do a fun project, I should be writing about it while I'm doing it. Maybe I can take notes while I learn, just like I would take notes in class. Those notes can become a blog post. That blog post could become a podcast or a video on Youtube. So, doing something once actually allows me to have multiple pieces of content. This doesn't make me a better content creator. This is making me abetter learner. The content creation is just a benefit.

Platforms to get involed in tech as a developer

  1. Blogging
  2. Twitter
  3. GitHub
  4. StackOverflow
  5. User Groups
  6. Youtube
  7. Conferences

This is a list for you to use to present yourself online. But it's not a list of all the things that you have to do. It's a list of things that you could do if you wanted to, Which of these things would feed your spirit. These are all potentially interesting things that you could. I would encourage you to pick two of them, pick two that make you happy. Don't let these things make you feel guilty that you're not doing one of them. This is not a checklist. This is an experience opportunity.

Platforms to build your personal brand
Blogging, I think, is very important for your personal brand. Blogging is exciting because it's a way for you to multiply your keystrokes. But a lot of people have excuses about why they can't blog; "Well, I don't have enough time, what I'm working on is a secret, who would want to read what I have to say." That is an excellent way to think about blogging how many keystrokes you have left in your hand. I like to look at it; if one of you asks me a great question and I don't know you. Maybe it's not a good opportunity and not a good use of my time. Why would I give you my keystrokes via email on a one-to-one relationship? But it was still an excellent question. So what would I do with that question? What I should do is I'll take your question, which was a gift. Take that gift. Write a blog post. Put your keystrokes not in an email but instead, put them into a blog post and then send a link to the blog post via email. Now any person who visits your blog has a multiplication effect. If only ten people visit your blog, that's ten emails you didn't have to send. That's ten different times that you got to express yourself and help someone do better in technology, and you didn't do any typing.

Github and Stackoverflow
Github is a great place to spend time and learn about code. But sometimes, this contributions graph stresses people out. Maybe your internal contributions are not being presented. Perhaps you don't feel that it's green enough. I had 300 contributions in a year. That was great, but this doesn't look very green. I had other things to do. I'm not going to let that make me feel bad. Make sure that you're not measuring people and comparing yourself to them. Instead, you want to measure yourself and compare yourself to your previous self. How are you doing last year, and are you doing better this year?
The same thing with StackOverflow. Apparently, I have a lot of reputation over there, and I'm in the top three percent. I've only been there four or five times. It turns out that I've only answered 110 things, but they were excellent and popular answers. It's too bad I didn't put those on my blog because that would have been 110 blog posts instead of 110 answers.

Here's the full talk & Q&A "Personal branding for developers"

Full recording of the talk on Personal branding for developers