A developer’s personal brand: why I’d bother — and the version that isn’t LinkedIn theater
Greg Nakamura
September 18, 2026
I stopped posting for “visibility.” The posts were fine. Nobody who hired me had read them. The people who called had read a GitHub issue, a postmortem I published, or a tiny tool they already ran. That is the brand I would bother with: public work that a stranger can use without following me. LinkedIn theater — a carousel about grit, a poll about remote, a photo of a laptop by a window — is a different product. I have done both. Only one changed who emailed.
I am not a creator. I am a programmer who got tired of being unfindable when I wanted a conversation. Here is why I would still bother, and the version I would actually keep in 2026.
Why bother at all
Hiring loops are noisy. A packet that says “I owned billing” is weaker than a page that shows the webhook I would write. Recruiters grep. Founders grep. The grep has to land on something that is not a résumé PDF. A brand, in the useful sense, is a trail of artifacts with my name on them that survive a search for a problem I know how to do.
It is also how I think. Writing the event-storming rule or the sqlc split made me notice what I actually believe. The audience is a side effect. If I only write when I want inbound, I write junk. If I write when I have a decision, inbound is a lagging indicator. I can live with lag. I cannot live with a feed I do not respect.
I would not bother if the goal is fame. Fame is a different job. I would bother if the goal is: the next time I need a role, a customer, or a collaborator, a stranger can find a sentence I still agree with.

The version that is theater
Daily posting about “building in public” when the build is a screenshot of a terminal. Hot takes on frameworks I do not ship. Engagement bait. A personal brand kit: colors, a headshot, a one-liner that could be anyone. I have a one-liner. I do not treat it as the work.
LinkedIn’s algorithm rewards a shape: hook, short lines, a lesson, a question. I can write that shape. I do not want a career that depends on it. The people I want to work with are not hunting that shape. They are hunting a fix. I would rather be findable for the fix.
I also do not want a brand that is “I am a thought leader.” I want “this person has been in this mess.” The first is a costume. The second is a trail. Costumes expire when the algorithm changes. Trails stay in git.
The version I would keep
A site I own. Not only a profile. A few long pieces and a projects list with links that still resolve. I have used a boring static site. I do not need a newsletter to start. I need URLs I can put in an email without a tracking pixel as the point.
Public work: a library, a docs site, a well-written issue, a talk with notes, a postmortem that is not a humblebrag. Open source without the romance still grows this way. I do not need stars. I need a changelog a hiring manager can read in four minutes.
One channel I will actually check. For me that has been a blog plus GitHub. It has not been five networks. I have opened Twitter and closed it. I have posted on LinkedIn when I had a real link and I have not lived there. The brand is the link, not the native post.
A name that is stable. I use the same byline. I do not reinvent a persona every year. People remember a person. They do not remember a content brand with a new logo.

What actually changed who called me
A debugging write-up for a Stripe webhook that other people were hitting. Two inbound messages in a year. Both were serious. A viral post about “10 tips” produced likes and zero conversations I wanted.
A conference talk with the slides online. One job loop started from a slide, not from the hallway. I still write the notes as if the hallway is empty.
A tiny CLI that solved a rename I was tired of. Ten users. One of them hired a contractor and asked if I was free. That is a brand. It does not look like a brand.
I have also been called because someone I worked with forwarded a piece. Relationships still beat artifacts. The artifact gives them something to forward that is not a compliment. I like that ratio.
What I will not do for “personal brand”
I will not become a YouTuber unless I already want to make videos. A second medium I hate is a second job. I will not buy a course on personal branding. I will not hire a ghostwriter to sound like a founder I am not. I will not post every deploy. Most deploys are not a story. I will not dunk on juniors for clicks. I will not turn a 1:1 into content. If a person told me something in confidence, it is not a carousel.
I will not optimize my name for a keyword. “JavaScript Wizard” is theater. A legal name plus a trail is enough. If two people share the name, a middle initial and a unique domain beat a fake title.
I will not measure the brand in followers. I will measure it in conversations I wanted and in artifacts I can still defend. That metric is small. I like small. Small is honest.
AI avatars and a weekly generated newsletter of “insights” are the new theater. I will not run that. If I use a model to tighten a paragraph, I still have to believe the paragraph. A brand that is a model’s voice is a costume that will match a thousand other costumes next quarter.
The weekly shape I can actually keep
I block time for the work, not for the feed. If I have a scar, I draft. If I do not, I do not invent a hot take to fill the calendar. I reply to people who used the tool. I close issues. That is brand maintenance. It looks like support. Support is how people remember you.
Once or twice a year I update the projects list and I kill a dead link. Rot is how a brand becomes a lie. I have left dead demos up. I do not anymore. A 404 on a thing I bragged about is worse than no brag.
I tell my employer when I publish something that overlaps with work. I do not leak. I do not dunk on the company. A brand that costs me a job I wanted is a bad trade. I have seen that trade made for a week of likes.
How I would start if I were starting now
- Pick a problem I am already in: billing, search, a test suite, a homelab. Write one page that contains a decision and a failure.
- Put it on a domain I pay for. Set the title so a searcher could type it. Fetchable HTML, a true title, no doorway page. That is the whole SEO trick I trust.
- Ship a small tool or a gist I will not abandon in a week. Pin it.
- Say no to a posting calendar I will hate in month two. A cadence I can keep is a piece when I have a scar, not a Tuesday obligation.
- Do not buy followers. Do not ghostwrite a persona. If I cannot say it in a 1:1, I will not say it in a carousel.
I would bother because the alternative is hoping a résumé is enough in a market that greps. I would not bother with theater because theater is a second job with worse on-call. The brand I want is a few URLs that still tell the truth after the algorithm gets bored. I can maintain that. I cannot maintain a feed. I have tried. The feed won until I closed it and went back to the work that people already used.
If you only remember one line: publish the scar, own the URL, ignore the theater. The calls that matter come from people who already needed the scar. Everyone else was never going to call. I stopped writing for them. The week got quieter. The work got better. That is the only brand metric I still trust at the end of a year. I would rather be slightly invisible and useful than loudly generic. Useful compounds. Generic expires when the template does. I have watched both. I know which one I would bother with again. If a junior asks me whether they need a personal brand, I say they need one page they can defend and one artifact someone else can run. That is enough to start. The carousel can wait forever.