Check out my first novel, midnight's simulacra!
Advice to an Undergraduate
back in May of this year, one of my favorite people in the world, Professor Richard Vuduc of Georgia Tech's HPC Garage occupying the Craysian Chair of Badassery, asked me if i had any words of advice for young people, in this case a young man considering entering the consulting racket. in manners of advice, i'm probably the last person to ask: in the words of The Doctor, i hate to advocate drugs, alcohol, violence, or insanity to anyone, but they've always worked for me.
mainly in the hope it might be enjoyed as a literary document, i've reproduced the three replies i sent that student here. editing has otherwise been minimal. the student's name has been redacted.
Date: Sat, 15 May 2021 05:40:21 -0400
From: Nick Black <nickblack@linux.com>
To: "Vuduc, Richard W" <*********>
Cc: *******************
Subject: Re: Advice for an undergrad about technical freelancing/consulting
[-- Begin signature information --]
Good signature from: Nick Black (Home server) <dank@qemfd.net>
aka: Nick Black (Public gmail account) <dankamongmen@gmail.com>
aka: Nick Black <nickblack@acm.org>
aka: Nick Black (Linux Foundation forwarding address) <nickblack@linux.com>
created: Sat 15 May 2021 05:40:18 AM EDT
[-- End signature information --]
[-- The following data is signed --]
Richard Vuduc left as an exercise for the reader:
> ****** (cc'd) is a GT undergrad who needs some advice about
> technical freelancing/consulting. Of people I know, perhaps
> you have the most experience here. Do you have some time to
> chat with him?
********, you're already doing the single most important thing
for a consultant -- building up a network of people worth
knowing. Prof. Vuduc is of the first rank.
The most important thing to remember is that I have no special
insight into the universe beyond my own lived and studied
experience, and that old men are full of crap, and that no one
but yourself controls your destiny. Tómalo con pinzas.
also, i'm a madman.
I would have guessed you Argentinian from your name--a hint of
the Basque?--, but I see from LinkedIn that your origin lies
along the Anáhuac. Rather than Borges, then, let's set the stage
with a quote from Roberto Bolaño's *Los detectives salvajes*:
"The secret story is the one we’ll never know, although we’re
living it from day to day, thinking we’re alive, thinking we’ve
got it all under control and the stuff we overlook doesn’t
matter."
Do you enjoy particularly felicitous circumstances, such that
the road rises up to meet you and you need no real advice? If not,
my initial reaction is grim...in the words of von Frundsberg at
Worms, and later Dale Cooper at Twin Peaks, you propose an
arduous path, Little Monk.
Allow me for a moment to douse this dream with cold cold water.
I know a fair spread of successful computing consultants, even
here in the Atlanta area (one not exactly brimming with
up-and-coming shops, at least compared to the NYC-CHI financial
axis, the SF-PDX-SEA soviets, and whatever the hell's afoot in
AUS/MIA). Leaving aside, like, IT "consulting" (temp work)--a
fate worse than death--and the soulless avarice of
Bain/Deloitte/PWC/BoozHam Capital-C-Consulting--I have nothing
to say about these organizations, save that they destroyed the
greatest minds of my generation--I recognize exactly three
archetypes of successful consultants:
I. You "consult" almost entirely with one company. You're
pretty much an employee, except without a W-2. Can be
very lucrative; can suddenly fall out from underneath you
(it's easier to cut the expensive, loosely-bound
consultant than poor Bob in the Bubble Sort division,
closing in on his 20th year). This isn't otherwise very
different from applying for, and accepting, a job.
You usually get this by working somewhere, becoming
indispensable, quitting, and allowing yourself to be
retained in a 1099 capacity. If you want this, go get a job.
II. You ride the open source train. This is simple enough:
contribute to enough open source projects, and you will
start getting consulting offers related to those projects.
The work is sometimes greenfield development in the same
ecosystem, sometimes extensions of what's there, and
sometimes simply reviewing, tightening up, and shepherding
in code they've already written (companies do not generally
want to spend time getting code merged upstream, which too
often involves getting flamed by some 19-year-old insolent
little shit named "uWuhackuWu" who's never met a payroll,
but they *do* want someone else to do it).
This can be accomplished in exactly one way: starting or
contributing to open source projects of definite use to
companies you might work with. You'll get calls earlier than
you think, especially if you contribute to unglamorous but
"industrial" projects. Think things like...tools that wrap C
so it can be used in, say, Ruby. Think things like...core
libs in ROS (the "robot operating system"). Look through
buglists and mailing lists to find unfixed issues affecting
.com customers. Writing visualization/analysis tools can be
very big. Move up the contributor lists. They'll find you.
Get on Upwork and similar sites if you're going to do this.
III. You establish a significant network, name, and reputation.
This takes time, and frankly a level of accomplishment, a
substantial enough portfolio you can point to, that seems
very difficult for an undergraduate to develop.
At this point, everyone in Atlanta Tech Village and the
AT/DC and the Spring Street incubation centers and the
Marietta Street maker spaces knows there's one person in
Georgia who'll take your poorly-specified pile of crap and
dewy-eyed fresh grads, disappear for two weeks, and come
back with the solid core of your business going forward.
Some Buckheadian comes up with an idea, they get some kids
in, pay them to mill around for a few weeks, then ask David
Cummings or CBQ or Paul Judge "does anyone in this town
really know Linux and low-level development?" And they're
told "nick black, but it'll cost you, but you'll have a MVP
that actually works, upon which you can build." They call;
you quote $50k for two weeks' work; they blanch; you point to
https://dsscaw.com/techreports/002-%c2%b5nandfs.pdf and
https://dsscaw.com/techreports/001-canbusre.pdf, and invite
them to look around and call back when they're serious.
https://www.youtube.com/watch?v=DXboO0zESxs
Leaving out I, both II and III require pretty constant hustle.
And I don't mean code hustle -- I mean running down to 55
Trinity Avenue to argue with City tax agents so ignorant you
literally can't believe what you're hearing. I mean dealing
with Quickbooks and ACHs and Intuit sitting on your paid
invoices for ten days and Paycheck Protection Program Loans and
forgiveness for same and writing up proposals late at night for
projects which end up reabsorbed back in-house like piglets into
a starving sow. I mean three weeks on the phone as maddeningly
noncommittal VC-backed vampires from the Valley request more and
more "technical planning", right up until they take your spec to
their devs and inform you your services will not be needed. I
mean showing up in-person to ***********'s office and telling
him that his own piece-of-shit ***** says that if this goddamn
invoice doesn't get paid--it's been 90 days now, *****--symptoms
will include a deficiency of copper wiring in his walls, and
that you're tired of ******** High School deadbeat garbage (I
got paid, and the contract was renewed. Mr. ****** retained his
copper wire. For now). It is at least twice as much effort as
any pure individual contributor codeslinging, but *unlike* a
startup (which can pay off in exponentials), the payoff is only
ever going to be multiples.
My best year consulting was 2019, when I billed just over $450k.
Not bad for Atlanta. I busted my ass for that half-meg, far
harder than I'm working now. What am I pulling down now at MSFT?
Depends on where Hax0r Jesus lets the roulette ball bounce on my
vest days, but probably ******. You simply can't one-man-consult
into deals as profitable as a major public company's, not with
the equity markets as comically overinflated as they are.
Furthermore, the stability of a big company is a very real
calming factor -- you've hopefully never felt so dark as one
does going into a payroll day with vapours in the ol' Chase
SBC account. Destroying your own security and health is one
thing; doing it to employees is quite another.
So I ask: why do you endeavor to consult? Unless you're some
true wunderkind (by which I mean one recognized externally *by
people with money*), or have deep connections, or can play some
kind of Billy McFarlandesque ruse, I just don't see it
happening, at least not in any way that doesn't leave you
pigeonholed writing Oracle Delphi code for point-of-sale
applications at Forever 21 the rest of your life. And if you
*are* such an outlier, why ask for my advice? Go do stuff.
Come in close. Listen to my personal advice. I'm not a big
believer in the flashy, almost content-free protracted
adolescence internships that undergrads go for these days. I saw
kids come out to Google, and it did nothing but ruin their
attitudes and wither their True Hacker Spirits, leaving them
with a horrible sense of entitlement. That L6 at Facebook
"overseeing" your internship doesn't give two ripe fucks about
whatever meaningless task they've assigned you. They assigned it
to you precisely because it was meaningless, and even a
clueless, useless intern couldn't burn the building down working
on it. Do you want to do it right? Here we get very much into
opinion, but there are two paths:
1) get an undemanding job which pays the bills and *doesn't
make a great demand of your time*. use the free time to code
for real. immerse yourself in man pages and textbooks. every
time you wonder "how exactly does that work?", sit down and
*prove to yourself how*. become born anew, born again hard.
2) join a local startup, and hurl yourself into it. this was my
path; it's also why i didn't have a BS until i was 25 years
old. but hey, i was the only self-made millionaire in my
Emag lab [0]. even millionaires, however, still must sift
through the box of broken resistors, as poignant a metaphor
for the technical life as i can summon at ... shit, 0530?
[0] i assume
read this and internalize it; it has nothing to say about
consulting, but much to say about life:
https://nick-black.com/dankwiki/index.php?title=Here_is_how_to_win,_later
I'm happy to meet with anyone Rich would like me to, if you
think it would be productive. I live among the sky on Peachtree
Street, descending to wander Midtown. If you'd like, come join
me for a walk sometime. I can be mailed here, or texted at
404-939-DANK. Of course, my saga is not your saga; you are the
protagonist of your own universe; our lives have no end in the
way in which our visual fields have no limits. Be well.
I hope this meandering missive proves useful. If not, burn it.
La Historia Universal es la de un solo hombre.
hack on, nick
[deletia]
it occurs to me that three potential questions need be answered:
Q: Agreed that running a consultancy sounds like a bummer! What
about working for someone else's consultancy, though?
A: This is just a job. I'd say the same things about it as I
would any other job. The meaningful definition of "consulting"
for the purposes of my mail is "self-employed" plus "services".
Q: Man, I just want to build web pages.
A: I assumed you desired kinda deep work--we hopefully both know
what I mean--by virtue of you asking Prof. Vuduc for advice.
Nothing of what I said can be salvaged; I know nothing of
that world. I can recommend some folks with a web consulting
background.
Q: You seem pretty down on consulting. Why do people do it?
A: Leave out the bullshit, and it can be pretty sweet, but
you can say that about life itself.
When you're killing it, consulting is fun. You leap from
project to project, taking on work as varied as you like. You
quote obscene hourly rates, and excuse yourself to go to the
bathroom and giggle at the fact you asked $500/hr and they're
paying it. You stride into offices like a Roman *rector
provinciae*, looking around with mostly-concealed distaste,
but also the earnest hope you might improve these simple
people. You talk to C-suite operators and founders. You
think the word "baller" about yourself with less than
complete irony, though you'd never say it aloud.
You get an invoice paid for six figures and say, aloud,
"baller". You clap your hand to your mouth.
Who have you become? Do you even know yourself anymore?
And at the end of the day, you're the one on the phone
with the Georgia Deparment of Labor while those simple coders
spend time with their kids in tasteful suburban homes,
laughing, telling tales about this incredible new asshole
consultant at the office.
also, a Tip:
T: You might at some point say, "wait! I will launch a product
company startup, and fund it initially with consulting, so
that I needn't immediately go through the VC hell process",
know that VCs will generally show you the door immediately.
Such a company can't grow, and such founders aren't operating
from a growth-first mindset [or so the wisdom goes]. The
puritan work ethic's a lot less of a value proposition in
these heady days of free-floating [hah] capital. With that
said, you can hit a nice niche here.
you've gotta be lucky, but you already knew that.
hack on, nick
last mail, i promise.
it occurs to me that you might be asking about consulting contra
some lucrative Big Company internship of the kind i referenced
in my first mail, and are simply thinking consulting might make
more cash.
for your situation, it almost certainly will not. small business
owners are not going to throw buckets of cash at twenty year
olds, certainly not without a track record you can point at. if
you want immediate cash, head West and suck from the teats of
the advertising cash cow, or the operating system cash cow, or
Bezos's all-singing all-dancing cash-spewing cashcow jamboree,
or facebook's discourse-annihilating cash yak. better yet, find
a way to graduate faster, go to NYC/CHI, work for a trading firm
and make real money (this is much more difficult than FAANG).
but again, my advice -- if you want in for the Long Haul, that
is, and if your motives are pure -- is to build your skills for
the next five years. live with thrift, the thrift made easy by
tearing apart code sixteen or twenty hours per diem. learn linux
all the way down to the scheduler's shifting registers; learn
clang all the way down to the instructions doing the shifting.
this is best done **well outside any Big Company ecosystem**.
this is how you show up at 30 and absolutely annihilate those
comfy cats who've forgotten how to work outside their company's
silos, and dread the whiteboard's clarion call. this is how you
send them into the hell of middle management from which they'll
never emerge. this is how you get to 40, and get paid as much as
any manager, but still get to work in Vim instead of Excel, and
show up when/if you want. this is how you end up on the path of
"partner-level individual contributor", and truly it is the
Promised Land.
this is how you end up with the new college graduates asking the
L4s "what's up with *****************************?", and the L4s
answering with reverence, "*********** is one far-out old man."
https://www.youtube.com/watch?v=KpX_WeJalbc
hack on, nick
ps the other path is a PhD. i'm no good at that path, alas.