Hacker News new | past | comments | ask | show | jobs | submit login
So you want to be a wizard (jvns.ca)
282 points by swsieber on Feb 8, 2019 | hide | past | favorite | 43 comments

The most valuable part of this talk has got to be her attitude (not to diminish the rest of it, which is great too).

After you've been around the block a few times, and tried to learn all the things, and been responsible for trying to un-break a lot of the things, and the things that need to be un-broken start to look like an endless trickle, and then -- as word gets out that you can fix broken things -- starts to look like a Firehose of Infinite Dumping, then your attitude can start to take a hit.

Because ultimately you want to start making things better, not just dealing with other people's mistakes all the time, and endlessly chasing mistakes prevents you from making things better, and then you start to see common causes behind a lot of the mistakes and you think, if people would just fix those, I'd like my job a lot more.

And that attitude is self-defeating. It leads to unhappiness and unfulfillment and procrastination and mistakes of your own and, finally, resentment.

Fostering an attitude like hers is a great antidote for all that, and the longer you can hold on to a curious and positive attitude, the longer you'll be happy to learn about new things and new ways of fixing things.

> then you start to see common causes behind a lot of the mistakes and you think, if people would just fix those, I'd like my job a lot more.

> And that attitude is self-defeating. It leads to unhappiness and unfulfillment and procrastination and mistakes of your own and, finally, resentment.

I get that there's a bad attitude lurking in there, but if you see the common causes behind a lot of the mistakes and you don't work to fix those, then you are just going to be constantly shoveling dirt around. In my mind the most important thing you can do to level-up as an engineer, is to ask, "how could we have avoided these hours/days/weeks of pain?" and then work to address those root (or more root) causes.

Sometimes the answer is very simple, like changing the naming scheme for your data files, because we just spent days chasing our tails looking at the wrong data and making assumptions that weren't true (has happened at several teams I've been on). You can't just tell everyone to be more diligent and "check all your assumptions", because they won't (and no one has time for that in a crunch anyway). But you can make it easier for them to validate their assumptions in the background with things like filenames and clean logs. (Too many false warnings and people stop paying attention.)

When I was in grade school I really enjoyed math, and was really good at it. But some time around the beginning of college I hit a wall and started to resent math. I was supposed to be good at this stuff!

I hope I never find myself in that spot with software. This talk has the right mindset that it's possible to figure out just about anything if you dig deep enough, but a) you have to put in the work to dig, and b) there's seemingly infinite depth so we have to keep a humble and open mind.


Not sure why you got down votes for this because you speak the truth. It reminds me of a time when I was in a lower division Physics class and the professor announced to the class that calculators would not be allowed during the test. Since most of the class was made up of engineering students there was much wailing and gnashing of teeth. But the professor explained that calculators wouldn't be needed because if there was any numbers at all in the answers they'd be trivial to calculate. This came as quite a shock to a lot of students who'd been equating math with numerical operations.

Probably downvoted for making hyperbolic generalizations?

Also, your anecdote about kids feeling more comfortable on calculators has nothing to do with what is or isn’t math, and comes off as another kids-these-days story.

The standardized tests were god-awful and the curriculums were hit-or-miss, but I meant that I liked math itself. I think it began when my parents got me a book called “I Hate Mathematics”.

This may be one reason why the BOFH stereotype exists. It definitely helps to have the right attitude.

If you can view the bugs and problems you have to fix as an adventure game puzzle rather than cleaning up other people's messes, you definitely enjoy your job more. Having co-workers who understand your work definitely helps, because working a vacuum sucks.

This is exactly how I see bugs - a mystery to be figured out. In the process of figuring it out, you usually learn a lot about the system, and you (hopefully) become better at avoiding creating bugs yourself.


BOFH apparently stands for “Bastard Operator From Hell”.

Good points, you can also approach it with an engineering view. Act in order to reduce time spent and create tiny tools to distribute the effort onto other agents (users and their computers) so that when they interact with you, part of the work is done.

This is one of my favorite jvns post, with How to teach yourself hard things (https://jvns.ca/blog/2018/09/01/learning-skills-you-can-prac...).

Very inspiring.

Note: How to teach yourself hard things is more recent than So you want to be a wizard. (Just mentioning this because it gives some context as to how they're related.)

So you want to be a wizard was turned into a "Zine": https://jvns.ca/blog/2017/12/01/new-zine--so-you-want-to-be-...

I absolutely love her zines and she's inspired me to create my own.

My latest series try's to teach programming to beginners by creating art. It's like the type-in books and magazines I grew up with.


Another reason not to ask the most experienced person you can find is that it's likely been a long time since they've approached their domain from anything near your perspective. They've deeply internalized complicated abstractions and terminology that you might not have even been exposed to yet. By asking someone with less experience they're more likely to understand what you're asking for and be able to explain it in a way you can follow.

Everything Julia makes and writes is amazing, she seems to have an almost bottomless pit of enthusiasm and talent. I simultaneously deeply admire and am a little jealous of her at the same time, is there a word for that?


This looks like german to me, but i haven't ever seen these words used together. I thought it might be some old german and googled it, but searching "bewunderungeifersucht" just yields your comment and "bewunderungseifersucht", which i deemed more likely, yields nothing.

Disclaimer: I'm from germany

Also a German speaker, just a clarification for non-German speakers, it appears to be a compound word neologism (combining two words that have not been combined before, similar to "frenemy" being derived from "friend"+"enemy" in English) that combines "Bewunderung"(admiration) and "Eifersucht"(jealousy). This sort of stuff does work in German, but it looks odd (and is a noun and should be capitalized anyway).


Rolls off the tongue a little better. I dunno if such shortening would happen. For fun, for example, in a friendly conversation where you make up your own words like "frenemy". I'm an English speaker with some German training but no speaking. :)

Edit: Looks like this is used in one place on the Internet and Google actually translates it "admiration" if used in a sentence.

"können mich mit ihrer eifernden Sehn-, Wunder-, Macht-, Bewundersucht"

"I can with their zealous yearning, wonder, power, admiration"

Sucht without the Eifer just means greed or desire so I don’t think it works.

I think generally English words are pretty quirky in their etymology and pronunciation which makes them easier to abbreviate. In a more regular, organized language when you remove part of a word you just get another word.


Thank you Julia for dropping knowledge and sharing your infectious enthusiasm for systems engineering. I hope your work inspires others who have walked the path of the systems wizard to generously publicly share their experience and knowledge with others.

Really nothing that most of us do most of the time is very difficult, nor does it require very much knowledge (except for the sake of productivity)

All that’s required is the ability to decompose problems and systems into smaller pieces and trace cause and effect. With those two things and a smidge of domain knowledge and a lot of persistence you can move mountains.

Good post. Keep asking why. See where it takes you.

Regardless of the content (which is excellent as usual) I think this is the best layout of a presentation transcript I've seen.

The title makes me wonder whether she was a fan of Diane Duane's "So You Want to Be a Wizard" series, which predated Harry Potter and shows a remarkably science-based wizardry with much the same mindset towards learning.

This is some really great stuff. One of my favorite parts of working in software/computers is "figuring stuff out". My brain always nags "there has to be a reason for this" ... and doesn't let go until I really understand what that reason is. That drive to understand the why (and not "magic") has led me to understand things like JVM garbage collection, ntp (network time protocol), HTTP, vector graphics, and on and on. Great stuff!

Do unfinished learning projects and "writing keyboard driver" stuff really helps?

This was a really cool format for presenting your deck!


I get that these posts are intentionally written to make it look like a 12 year old wrote them, to give you the idea that it's not too challenging to understand. But it's a bit of a false premise: children can often pick up new concepts faster than adults. In addition, you're not going to express the idea better by putting in exclamation marks, hearts and stars, but you might turn off people who aren't 12. I'm sure Julia is a wonderful engineer, but I just find this writing style grating and I give up reading them. (I have the same reaction to lots of memes splitting up posts)

That said, it's her blog, she should write them however she wants to.

I never once got the impression that Julia was dumbing her presentation down to a juvenile level to make it more accessible.

Rather, the impression I get is that Julia is as enthusiastic about this stuff as anyone has ever been about anything, and that she has no pretense of having known any of it last week, nor does she care if you did.

It's pretty charming and unique combination (it's rare enough that when status-conscious adults come across it, it reads juvenile!) and is my favorite thing about the way she writes and presents. When she writes about stuff, she doesn't have to judge each element she's discussing for whether it's interesting or worth calling out; it's all interesting. That's a good way to avoid missing interesting observations, I think.

I’d go further. Writing about something you’ve attained understanding of, without ruining it for new learners is a rare gift.


Have you read any of her stuff? If not, you should try it, back to back on some topic you know a lot about and one you don't is a good way to to get familiar with her work.

Have read some of it. Maybe I should read more of it.

Disclaimer: I’ve never met Julia, but have attended one of her talks in person.

I feel the exact opposite - there’s far too much in CS that’s unnecessarily obfuscated. Sometimes the obfuscation makes the author/presenter seem smart, but it’s incredibly tiresome and reduces the audience.

Julia’s talks are the exact opposite - they’re well-thought-out, with the clear intent to help people understand things, not burnish her (v. impressive) credentials.

Or, there are a whole bunch of people, children and adults alike, who love hearts and stars.

There are plenty of articles written as long paragraphs of black and white prose if you want them. I personally love some colour and brightness wherever I find it.

I should start a blog on advanced computational mathematics, with kittens and memes.

There’s a video about copyright and fair use made entirely of Disney’s movie clips, using dialogue from the movies

I do know what you mean, but.. I also remember the heyday of developer blogging around 2004-2008 and this eager style of approach was pretty common then! (Some might argue that Ruby's why the lucky stiff might make Julia's style look dry in comparison! :-))

I'm glad people like Julia are fostering this approach and hope the number of developers excitedly communicating about things they just discovered increases again. As an industry, I think we need more of this now, more than ever, from developers of all levels and disciplines.

I want more people to blog (especially devs). I think everyone has a story or 10 to tell, and the world would be a richer place if everyone took the time to tell them.

I couldn't agree more.

Unless you have written tutorials for folks who have never been there, you may not understand the level of effort required. It is seriously a challenge.

Not only does she accomplish this, the way she does it is particularly delightful.

She writes about approachable subjects in an approachable way.

I’d guess your complaint is actually that she ‘steals’ prestige.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact