How I Increase My Surface Area of Luck
Not too long ago, I stumbled across this article during one of my visits to Hacker News.
I noticed that I had already been implementing most of the points mentioned in one way or another, but the article elegantly highlighted them in a way that made me want to pinpoint how I’ve been executing on them.
Hopefully, this can serve as an example for future developers looking to improve their position among their peers.
1.1 A Dedicated Website
It’s quite ironic when I see people tout themselves as web developers yet have no dedicated online presence!
I’m not talking about X, LinkedIn, or even GitHub, but an actual dedicated space that you fully own and no one can take away from you. This also has the added benefit of letting you use your secondary social media presence to funnel an audience into your website, instead of other websites using you, or whatever you write, for their own benefit.
Now you can write whatever you wish on your website and merely use other platforms for wider exposure.
Getting started is trivial. You can use GitHub Pages, grab any Jekyll theme, and use it. You can even purchase the domain at a later step!
1.2 A Hire Me Page
The requirements are pretty straightforward:
The important basics of such a page:
- It should be short and concise; this is a decent business proposal, not a novella.
- A way to contact you, i.e. your e-mail address.
- Describe what you can do. In my case, it was programming in Go.
- Provide proof that you’re good at it. In my case, I linked to my past writing about Go, my open source Go libraries, and a Go contract I successfully completed.
- Social proof, such as a list of well-known companies I worked at.
- My time zone, because it’s important in remote work.
- A photo for that human connection.
Here’s mine for reference.
2. Publish Technical Articles
Now that you’re landed gentry, your next step is to start cultivating that land website.
Start by publishing tutorials and technical articles. People often have a hard time figuring this part out, but it’s incredibly trivial.
Here are multiple ways I use to find ideas for what to post:
- What would your former self have wanted to know but didn’t? What would you explain if you could travel back in time?
Picking and choosing the right path and the right web courses to follow was a tiring process for me, so I put together what I’d mark as an ideal path for others to tread on:
- What is a piece of information you recently stumbled upon and found interesting?
While poking around Meteor internals, I came across a few interesting pieces of information about how Meteor publications work, so I put it in writing in case someone else finds it useful:
Meteor’s Hidden Auto Publications: The Free Data You Never Asked For
- Is there something that has been on your mind and you want to get out? Get it out in writing.
The relationship between open source and how others perceive the developers maintaining it. Should they be grateful? Should they not be? I was so frustrated with this that I put it into writing:
Open Source, Gratefulness and Self-interest
2.1 Turn Experience Into Lead-Generating Artifacts
AKA the “describe” method: just describe what you did recently in layman’s terms. Nothing fancy!
This shows up in two main ways for me:
Dev Diary
By far, this is the best and easiest way to do it, especially if you’re an active OSS developer like me.
I basically take all of my monthly contributions and put them into article form to share with the community at the end of each month. I literally describe what I did, no more, no less, and it has been amazing for getting me more exposure and letting others know about the work that always often goes unnoticed each month.
Here’s the latest dev diary:
Dev Diary #27 - Async Accounts, OTPAuth, Migration Docs, and Ecosystem Maintenance
Migration Stories
Another one I tend to enjoy the most is taking a very lengthy and huge Meteor migration and distilling that knowledge into articles describing what I did, the problems I went through, and how I overcame them.
I did WeKan recently, and also Medbeauty.
3. Specialize
It’s a bit of common knowledge these days that, when promoting yourself as a developer, you shouldn’t tie yourself to a single technology because it might make you look like an “if-else developer.”
But I’m here to offer an alternative path.
There’s a lot to be gained from specializing and promoting yourself as an expert in one specific thing.
Imagine someone looking for a Meteor developer. Yes, Meteor developers know Node.js and MongoDB, and you can promote yourself as such, but how likely are they to pick a generalist Node.js developer over someone who clearly labels himself as a Meteor developer?
That generalist might be a very capable Meteor developer, but if he doesn’t label himself as such, he might not even be considered.
I’m not against the generalist path per se, and I believe there are multiple ways to skin the cat. What I’m highlighting here is that it’s okay to promote yourself as a specialist in a certain topic, and sometimes in that topic only.
4. Enjoy the Fruits of Your Labour / Promote Your Stuff
Did you try out Firely yet?
It’s my awesome personal finance app. I bet you didn’t know about it, but now you do.
Thanks to the previous steps I took to build a dedicated online presence, I can now promote my stuff in a way that feels earned rather than random.
And that’s exactly the point.