How to build your online brand as a software developer
Let me tell you a story about a developer we’ll call Marco, whom I met at a small meetup about a year ago. The presentation was over, beer was offered and people’s tongues started getting loose. So there we were, me and Marco, post-presentation, drinks in hand, chatting about whatever the subject of the talk was, when he told me something that really startled me.
He complained he had to travel about 50 minutes to work every day and he was asking the company he worked for to allow him to work from home, but they wouldn’t consider it, not even for one day a week. In addition, he said he was quite poorly paid, considering his years in the company. At that moment I realised I’ve been in my bubble of remote work for so long that I thought it was already the norm. Well, looks like it wasn’t. When I asked why wouldn’t he simply find a better job, he said that although not happy, he feels secure in his current company, and job hunting would take him a lot of time; sending CVs, looking through job ads…
When I told Marco that developers don’t hunt anymore, but fish for jobs instead, it was his turn to get startled. And a bit confused.
I explained: “I don’t know for how long you’ve been with this company and out of the ‘market’, but things have changed lately. With the boom of tech companies everyone is looking for great developers. The demand is huge and the supply not even close. That’s why companies compete for developers. All we need to do is set up our profiles online and wait. Like fishing.”
When UmaHub was born, the question of branding came up yet once again: do I connect my personal “brand” with Uma’s, or do I keep them apart, creating separate profiles for everything work-related? These are the pros and cons I found on both sides:
- There’s the obvious question of privacy. I don’t want my potential clients to look at my photos from 10 years ago.
- Every interaction I’d do on Facebook, posting in any group, commenting on anything, could be connected to UmaHub, which means that I would have to be fully professional in every conversation I engage in.
- The groups you’re in can tell a lot about you, so you’d need to go through the full list, leaving some that are irrelevant, or potentially dangerous to your business.
- Uma is at an embryonal stage, but I, on the other hand, have many years of experience which passes on credibility to the brand.
- Uma and myself are still very connected. I’d go even further and say that it is an extension of me and what I believe in.
- The second point in the cons list above can actually be a pro too: if you are active in groups, giving useful advice and generally being a helpful person — that also adds to the image of the brand. I’ve got many leads who got in touch with me asking about UmaHub after some interaction we had in a Facebook group.
- When you use your private profile to post about your business, then your friends become your ambassadors. They can share your posts, making it reach many more people. The best thing about it is that you come recommended.
I gave it a lot of thought, talked to a few friends of mine who were confronted with this decision at some point and finally made mine: I was going to use my own private profiles for everything. But that doesn’t mean it’s the only correct solution, though: everyone’s case is different, and for a freelance developer it might make more sense to keep private and professional life separate, as I did for years before. I had Facebook for my private stuff, and LinkedIn, GitHub and Twitter for professional ones.
So without further ado, let’s jump into a few ways to build and improve your brand as a developer.
LinkedIn has become the de facto tool for professional networking, job searching and recruiting nowadays. If you fill in your profile properly, the chances of recruiters reaching out to you will increase. You should be aiming for the “all-star” profile status which can be achieved by satisfying these 7 criteria:
- A professional profile photo with a descriptive and captivating headline.
- Experience section: you need a current position and at least two well described previous ones. If the company you worked for has a LinkedIn profile then most definitely select its profile from the dropdown, instead of just writing the name of the company. In this blog post, Levi Lewis describes the results he got out of his analysis and he says that the experience section is the most highly weighed one in LinkedIn’s SEO algorithms. His blog post is full of other great tips on profile optimisation, so be sure to check it out.
- Connections: You need to have at least 50 connections in order to get an all-star profile. Start with people you know, your colleagues, ex-colleagues, friends from school and university, teachers, your friends from your day-to-day life who actively use LinkedIn, even your landlord. All of them can testify to your skills and attitude. Then you can expand your network by engaging with people posting on the subjects you’re interested in. Don’t forget you can search by hashtag on LinkedIn. That’s how I usually find interesting articles and interesting people.
- Summary section: This is where you “sell” yourself. You need to be both professional and approachable at the same time. If you have a more specific niche, list it here. For example, if you’re a backend PHP developer who has a crush on Redis and enjoys optimising high-load applications — you should write that in here. If you’d like to speak at a conference — mention your love for teaching and mentoring. If you want to position yourself as a backend developer — don’t talk too much about frontend. You have 2000 characters. Use them wisely.
- Skills: you need to list at least 5 skills for an all-star profile. You can add more, of course (up to 50), but personally I would stick to a maximum of 20 to keep things focused. Ask your friends and colleagues which are the words that come to mind when they think of you and if they could endorse you for them.
- Education: Make sure you fill this section with your university and/or any relevant courses you’ve taken in the area into which you’re trying to get hired.
- Industry & Location: be careful when updating these two because they will influence in which search results you will appear. Here are a few that are usually relevant for developers: Internet, Information services, Information technology and services, Computer software, Computer and network Security, Computer Networking.
Aside from having an all-star profile, it’s very important that you have a few good recommendations from people who are relevant to the positions you are applying for. But if you don’t have recommendations from your ex-bosses or other developers, that’s fine too. Basically, the recommendations will talk more about your soft skills than your tech skills. You can even have a colleague from university write about your excellent team spirit in group projects.
Last, but not least, update your career interests. This is where you will define if you’re available for work and on what terms. Choose if you prefer full or part time jobs, the industries you prefer, leave a note to recruiters, choose when you’re able to start and in which countries you would like to work. I have a bunch of them selected there, so I appear in searches, but I make it clear in my note to recruiters that I’m only available for remote work.
“I love it when developers are honest about their prefered tech stacks, drivers of motivations and working preferences. If you aren’t sure about this ask yourself these questions:
What do you value the most: flexible time, remote work, training and development, good teams, office perks or all of the above? Are you open to try new stacks and working environments ? Do you like to have contact with the customers or hate it? Also, what are your career development expectations: a “regular” developer, a team lead, a manager?
Last but not least provide examples of the projects you’ve been involved in and what you learned from them. Performance-based evidence is the best way to showcase your career path.
Honesty and an open-mind are the best tools for an effective career strategy.”
2. A personal blog
A few years ago, I wrote a very detailed blog post about a relatively new technology that didn’t have many tutorials online and to my astonishment, it got much traction. It was shared around the globe, included in newsletters, retweeted by the creator of Laravel and whatnot. I’ve never had so many notifications in my life.
Since then my job offers skyrocketed and I started to get invited to speak at tech conferences. It was never my intention to “get noticed”, I was just trying to write up something I’d learned so I’d know where to look it up the next time I needed it. As a matter of fact, that blog post initially was just an answer I had given to someone on a programming forum.
The two points I’m trying to make are:
- Write about your learnings. Even if you’re a beginner, even if you don’t think highly of your skills, even if you think what you just learned is obvious. There will always be someone who started programming after you did, and to whom the same thing is *not* obvious at all.
- If your blog posts are providing value to developers (of any level), they will be shared. You will also gain exposure. When you apply for a job and the prospective employer searches your name — they will find your blog and learn more about you.
We talked to Bruno Skvorc, editor for SitePoint (one of the biggest resources of technical books, articles and tutorials) and he gave us this tip:
“Tech writing is a fantastic way to build authority and a community around you. It’s also easy to get wrong, though. When doing tech writing, always try and put yourself in the position of your parents. If you can’t explain concepts to them well enough, you don’t understand them well enough yourself. Simplify and look for the lowest common denominator — you’ll be surprised how many people you’ll be able to truly reach.”
Extra tip #1: If you’re writing a technical article, try choosing a subject that doesn’t already have a gazillion posts and tutorials online. Go for a new technology maybe (because fewer resources exist online), research it to death and then post a well structured tutorial, guiding people step by step.
Extra tip #2: Re-post your article on medium.com and try to get it published in a popular publication for even more exposure. Medium has a very big and engaged user base, and the probability for your post to be read is much higher there. So if you have your own blog hosted elsewhere, re-posting on medium.com is a good idea. Just make sure you include a link back to the original article so Google doesn’t penalise it, thinking it’s a copy of the medium article. Having that in mind, it might be a better idea if you only re-posted a part of the article on medium, driving users to your blog to read the full thing. More traffic FTW! :)
3. Personal website
This one is pretty obvious: you should have your own website. Get a nice design from wrapbootstrap.com, themeforest.com, creativemarket.com or any other of the kind. If you don’t want to maintain a site and a blog separately, maybe consider installing a WordPress or a Ghost blog. That way you’ll get both a site and a blog with less work.
On the website, make sure to show a good photo of yourself, preferably looking at the camera. Invest a bit of money for a professional photo taken, or invest some time and learn to do it yourself. Or just find a professional photographer and exchange services with them. They help you with your photos, you help them with their website and you get a LinkedIn endorsement in the process. Everybody wins!
The photo should be followed by a short and friendly description of yourself in first person, as if you were greeting the visitor. Very similar to your “Summary” section in LinkedIn — this is where you’re introducing yourself to people and are trying to leave a good impression, so be concise, fun and a bit intriguing. Try and spark some interest in the visitor so they continue reading your website.
Then comes your portfolio: projects you’ve worked on, books you’ve written, important events you’ve volunteered at or videos of your talks. But don’t just copy your whole LinkedIn profile here; curate it! Select only the things that you’re most proud of and in the bottom leave a link to your LinkedIn profile for more details.
If you can, make sure you include a section with references from your past clients and/or bosses. It’s good manners to link their names to a website, or their twitter page.
I asked Anna Filina (a veteran developer, specialising in project rescue) what’s her approach when asking clients for references:
Usually after the first milestone or immediately at the end of a project I ask: ‘Would you write a brief testimonial for me to put on my website: https://afilina.com/testimonials? Two sentences would be sufficient to testify to my efficiency and professionalism in delivering the software.’
Last, but not least: always have a contact form so that prospects can get in touch with you.
4. A custom domain
Having a good domain name goes without saying for the website. Try and get namesurname.com if you can, but if that’s occupied go for an .io, .co, .me or a country specific top level domain. If none of that works play with your name and the domain a little bit, for example “carlacodes.com”.
If you want extra geek points you can buy not just the domain namesurname.com but also surname.com. That way you can have an email address that looks like this: email@example.com. Pretty cool, right?
First things first: go to the settings page and update your profile to include all relevant information about you: your photo, your website url, your bio, current company and if you’re available for work.
Then make sure that you’re showing the private contributions on your profile, meaning that all the commits you’ve done in private repos will show up on your profile, without exposing any data about the repository or the organisation/company.
Go through all your repositories and make sure all of them have a short and concise description. For round two, go through them one more time and update the `readme.md` files making it easy for anyone who’s browsing through your profile to understand what you’ve been working on. Billie Thompson has a great template for readme files. Check it out.
For the last round, pin the repositories you’re most proud of to the top of your profile. These can be your own repositories, or ones you contribute to.
If you’ve been active in the open source community — that’s amazing! Congratulations and thank you for working on software we all use. But if not, that’s ok too. It’s sad and frankly, a bit unfair, that nowadays almost everyone expects all developers to have side projects and be involved in open source. It is important to give back, but remember that everyone should do it in their own way and time. Some people will choose to volunteer in a children’s hospital, others will donate money to an open source project, others will mentor young people who are just starting learning to code, some will write books… So if you don’t have a big and shiny GitHub profile to show, that’s fine too. Create at least one little exercise to demonstrate your coding style and your skills and that should be enough for the right company.
Note: Check out the articles “No, I have no side code projects to show you” and “Are You A Bad Developer If You Don’t Take On Side Projects?” (the latter written by a software engineer at Pinterest) on the issue of developers and side projects.
6. Local meetup groups and public speaking
At first glance, local meetup groups don’t directly connect to your brand, especially if you’re working remotely or with international companies. But actually, they can be beneficial for your career in many ways. First of all, if we assume that you’re working remotely and from home, regular meetups with like-minded people can be the reason that gets you out of your chair and through the door. Once you get there, you will be able to talk about subjects closely related to your career, be it the hot new JS framework or your quest for the software dream team.
The meetups usually start with a talk on an interesting subject by a member of the community, so you end up learning something new, and even if the subject is actually not new to you, you can open up discussions around it with other community members and end up learning a thing or two.
In those discussions and during post-meeting drinks, you will meet people from the industry, expanding your network of contacts. Knowing someone who knows someone can be a deal changer in many situations in life.
In the end, the most palpable way in which meetups can contribute to your career is by providing you with a possibility to prepare a talk or a workshop, and build and improve your public speaking skills. If you decide to do this, make sure you prepare well in advance and set the right expectations with the audience, in the sense of difficulty levels and precise topics.
Practice the talk enough times at home until you feel comfortable doing it, always keeping an eye on the timing. You will usually have around 45 minutes, which often can be extended on smaller meetups, but depending on the location the event is taking place at — that’s not always the case.
Record yourself so you can catch any awkward movements you’re doing or any filler words you keep saying (trust me, I know what I’m talking about 😆 ).
On the day of your talk, bring a friend with you to record it. That video can be very important for your portfolio. Post it on your website so it complements all the other written information and also show a bit more about you. If a picture is worth a thousand words, how much is a video worth? (Answer: 60 000 words x number of seconds in the video, for a 60fps HD video, but of course you already knew that, you geeks 😉 ).
If you submit a talk to a conference, as a first time speaker, you’re much more likely to get accepted if you provide a video of your speaking at a meetup. Getting accepted at bigger conferences takes time though, so don’t get discouraged if it doesn’t happen the first time. Try smaller conferences first, a lightning talk, a presentation at an unconference or just speak with conference organizers so that they recognize your name next year.
When you finally do get accepted, it’s a bingo! You will get a lot of exposure and you will probably have professional videos of your talks posted online. If your talks provide value to developers, then they will be shared around and at some point, sooner or later, they will surface to the attention of the right employer.
Twitter is the social network of choice for developers. That’s how I get a big part of my tech news, how I keep in touch with people I’ve met at conferences and reach out to the “high profile” developers out there. Go ahead and network! Comment on someone’s tweet, thanking them for the amazing article they just shared. Write a #thankyou tweet to a colleague who helped you, someone whose article inspired you, or to that developer whose free YouTube tutorials you’ve been learning from.
When you publish an article on your blog — tweet about it with the right hashtags.
“Advice on tweeting: only a portion of people who follow you will see it, because it gets lost in the flood. Tweet every few days for two weeks using a different pitch. Check spelling as that often makes people not want to retweet.”
So there we go. Try these things out and you should see a positive difference in your job offers and projects. Remember, the best thing you can do is provide value for other developers and broaden your professional network.