/ Javascript

Hacking LinkedIn for Fun & Profit

Does Ville have skills?

A couple of months ago I got really frustrated with LinkedIn endorsement boxes. I tried to hack myself out of the situation but failed miserably.

Does Ville know Web Development? Yes, he does indeed!

At first I really liked it. Endorsing my friends for skills I knew they were good at was awesome.

Does Matt know Management? Probably?

I was using LinkedIn quite a lot at the time. I felt my contacts could know more about me and my company and figured more activity on the site could grant me more visibility.

Does Matt have skills?

Does Matt know Sports Managent, Sports Marketing, Sponsorhip Sales, …? Skip.

I didn't notice it at first when I started to get annoyed by the boxes. As a Finn I'm genetically and culturally predisposed to ignoring my inner cues. It's no use being mindful of the cold if it there's nothing you can do about it, said a Finn once.

Does Mike know Corporate Law? I don't know.

The Endorsement Boxes don't appear on the page load. Instead they wait a few seconds until you're vounerable, and then jump at you almost like the horrificly obnoxious <blink>-tagged things from the '90s.

Does Mike know Corporate Law? Skip!

I had started to get small shrudders just before it happened: just after a page load and before the box appeared my shoulder tensed up a bit.

Does Mike know Corporate Law? I hate Mike.

Suddenly I got it: LinkedIn had trained me to hate like a beaten Pavlovian dog.

The boxes kept asking me the same questions even after I skipped them and it was driving me nuts.

The generosity solution

After noticing that skipping the endorsements was of no use, I started doling out endorsements left and right:

Surely there can't be any more endorsement boxes if there is nothing left to endorse.

I'm not one for repetitive tasks. After what must have been atleast 12 mouse clicks I decided to automate the task.

I had implemented some tests for a Backbone application with PhantomJS before. PhantomJS is a web browser you can automate with javascript to perform batch tasks. Perfect for my needs!

I hacked together a small script to:

  1. Scrape a list of all my LinkedIn contacts
  2. Visit all my contacts' LinkedIn pages
  3. Wait a few seconds, and if an endorsement box appears, endorse everything.

I ran the script a few times, after which my contacts' pages looked like this:

Popular avatar

Guess which avatar is mine?

I had endorsed every single skill my contacts had. All in vain.

Does Mike know Constitutional Law? Gaah!

LinkedIn had started making skills up. I had endorsed a marketing BA for accounting, a designer for programming skills etc.

And the Endorsement Boxes kept coming.

The fallout

When I started, my own list of skills looked like this:


After waiting a few days for reactions from the endorsees, I dared to go back to LinkedIn, and my own edorsement section had turned into this:


Most of these endorsers really have no exact knowledge of what I do. They know I do "web stuff" but asking them what Javascript, REST, or HTML5 means would mostly be answered with blank stares.

I appreciate them anyway.

Nobody gave me any kind of negative feedback for the stunt. The marketing BA wondered about my endorsement out loud, but even he was happy about it.

I've done a few subtler automations in LinkedIn after this one. If you see me in your access log, it might have been me, or it might have been a bot. Whatever the case you'll have a temptation to check out my profile, and that is all I want.