# (0) 31 Jan 2015, 12:34AM: On Fear vs. Anxiety, Self-Determination, the Command Line, and Interlocutors and DX:
At Hacker School we work on becoming better programmers, help each other become better programmers, and talk about that process. Here are some of the things I've said in that context.
On a Julia Evans post, "Fear Makes You A Worse Programmer":
Back to fear - this piece by Skud includes a bit of a horror story -- bad or missing code review led to a bad deploy which led a volunteer to drop out entirely, partly due to fear of messing up again. And here's a story where paranoia by management led to the firm going out of business.
....So the distinction de Becker makes [in The Gift of Fear] is that fear is your subconscious telling you about a genuine threat, because your intuition has put together the facts faster than your conscious self has -- whereas anxiety comes from the messages on the 10 o'clock news, racism, etc. Fear is a friend and anxiety is an interloper. If I were to use that framing, I would say that one characteristic of a mature programmer would be: she has a healthy sense of fear, and the reflex to mitigate scary risks ("we need to put this into version control NOW"), but she has control over anxiety ("people say C is hard to learn, maybe I'm not smart enough").
On choosing your own learning path:
I think you might like this reflective post by Ben Rosenbaum on "the moment in which I actually started to determine my education." (And a few current thoughts, by Indian students speaking to other Indians, that by implication say a lot about breaking expectations.) I try to be conscious of how others explicitly and implicitly guided me into certain achievement paths and avoid doing that with others, avoid making assumptions (so, for instance, I have retrained myself to avoid asking, "where did you go to college?").
On Philip Guo's post about "command line bullshittery" as a barrier to research:
I agree with Philip Guo so thoroughly, especially about the demoralizing effect of the gulf of execution, and that a leader should reduce the incidental complexity that slows down the people she's serving.
....As a card-carrying fan of Neal Stephenson's "How to Win Friends and Influence People^H^H^H^H^H^H^H In The Beginning Was The Command Line", and of [readings] on the usage and philosophy of Unix concentrating on the command line, I do not consider the command line bullshit. But Philip's right to consider the specifics of *getting research software installed and set up* as incidental complexity in the context of his students' substantive work. And that process takes place on the command line. It's like me calling the process of getting across town in Manhattan "L train bullshit"; it is good that the L train exists but arrrrgh.
On better ways to ask and answer code-related questions online (and the concept of a "yak trace," understanding the series of steps a person has taken to make something or debug a problem):
basically I think a yak trace emerges most easily in conversation with a generous interlocutor, whereas many fora online where people ask for help would prefer that help-requesters' initial speech act be delivered with the concision and throughput of a paramedic running alongside a gurney
....In my experience *building even the faintest of relationships* with the asker/user makes it a million times easier to ask the question. In IRC, for example, I've had tremendous success by *starting off saying* (roughly) "Hi [person's nickname]! I'm Sumana, [thing I do] and I live in NYC. Good to meet you, although sorry for the circumstances :/" [wait for reciprocation; most people will reciprocate by giving their name at least] "That problem sounds frustrating. Do you mind if I ask a couple diagnostic questions?" Now we are people together and not just Supplicant and Expert, and I can ask about the environment, and I can say something like "the approach you're using is sort of unusual so I want to check whether you're accidentally making it harder for yourself and there's an easier way to get the functionality you want :) " (although I can't remember the last time I had to literally explicitly say that; usually by this point they are open to talking about their process, their macro goal, etc.).
IMO the affordances of a lot of online tech-help-seeking spaces discourage this kind of necessary trust-building conversation.
In longer-term dev scenarios, understanding the user's underlying goals is a task that product managers and user experience designers have a lot of tools to do. Qualitative interviews. Ethnography. Market research. Looking at traffic stats and discovering/making funnels. IMO Val's insight about what the application developers really wanted was a user experience insight (some folks call it DX, Developer Experience, for stuff like this).
The API usability chapter in Greg Wilson's and Andy Oram's Making Software influenced my thinking thoroughly on this stuff.
Words, other than proper nouns and HTML, in this post that my in-browser spellchecker dislikes: bullshittery, arrrrgh, gurney, IRC, etc., IMO, affordances, tech-help-seeking, dev, stats, DX, API.
# (0) 28 Jan 2015, 11:27PM: It's On My Mind:
So a few years ago, a friend of mine was at a party, and one of the people at that party was a laconic fella, a new boyfriend who hadn't met this group before. Eventually someone got around to asking him what he did for a living. He said something a bit general, about government service, yes, at the federal level, until someone said, "you're a G-man? With the FBI?"
"That's right," he said, briefly, with a small nod.
Someone speculated as to whether he was in New York City because he was concerned with things like the security of the Indian Point nuclear power facility.
"It's on my mind," he replied.
And someone else told a story of a cop or a federal agent, losing their gun while on the job.
"That's frowned upon," he noted.
Ever since then, Leonard and I have found this triad of answers endlessly entertaining. These are polite yet distant ways of giving answers in the affirmative, the negative, and the noncommital.
That said, here are some links that are on my mind (whether I think they're right or frowned upon will be your guess to make!):
Transparency about money: a fiction author, a public speaker, and a publisher are sharing real dollar amounts so you know what you might be getting into. You might also enjoy a similar HOWTO that Leonard and I wrote, about making a one-off anthology.
Disagreeing well: This distinction between task-focused and relationship-focused people (which may be very similar to Rands's organics and mechanics model or my engineer and mother leadership models) will stick with me.
Transformative work and the origins of abuse: In an interview about Jo Walton's new book The Just City, check out Walton's response to the interviewer's question, "Why have Apollo learn about 'equal significance and volition'?"
Catwoman: chaila and beccatoria are telling me to read Genevieve Valentine's run writing Catwoman and I may well listen to them.
"Everything is a bit orange for some reason": I can't decide whether Holly Gramazio's hilarious analysis of games in fiction (e.g., the futuristic sports in dystopia movies) has more insights or jokes, but there are plenty of both.
Impostor syndrome tips: Concrete steps you can take to stop automatically assuming you can't do stuff.
What are you willing to consider?: Danny linked to this piece which I think stands alone (seeing as I haven't read the Chait piece it's responding to (and every time I see Chait's name I think of "TBWA Chiat/Day" and the old Apple ads)). This controversy touches on trust, courage, groupthink, the purposes of different environments and different kinds of environments, how quantity can have a quality all its own, the attention economy, and a zillion other things. Put this in the "on my mind" bucket.
Techish things: Hound is a new competitor to DXR. You should enable automatic updates on your servers. A Python developer is offering code review in exchange for donations to Doctors Without Borders. Learning to sit with discomfort: part of yoga, part of life. Changing history (advanced Git). The Mailman project wants to switch translation platforms. A gentle primer on reverse engineering.
The dream factory, the sausage factory: A television writing room feels a bit like the opening of Anathem (Socratic questioning about scifi/fantasy tropes).
Popular: I'm using Dreamwidth as my RSS reader. Check out the popular feeds, ranked by how many DW users subscribe. The top 10 feeds include the Organization for Transformative Works, Cake Wrecks, & PhD Comics. Also, as a data point, at current writing, the feed for this very blog has more subscribers than Paul Krugman's feed has.
Finally, because I have my immature moments like anyone else: A Project Gutenberg find by Leonard: "Diary of Richard Cocks, Cape-Merchant in the English Factory in Japan, 1615-1622" pub. 1882. (It's legitimately historically interesting .... but that's not what caught my attention at first.)
# 27 Jan 2015, 12:00PM: Four Reasons To Apply (Soon) To Run The Ada Initiative:
I'm the chair of the Ada Initiative Executive Director search committee, which means it's my name on the announcement we posted about six weeks ago: "The Ada Initiative is growing! Announcing our search for a new Executive Director".
We've received applications and expect to receive more, and it's not too late to apply, although we have already started processing our first "batch" of applicants. I thought it would be nice to dash off a quick note about some reasons to apply that you might not have thought of.
The board of directors is pretty great. I'm on it! Very thoughtful people with tons of experience and different perspectives are on it. We would help you make decisions.
The advisors: also great! Again, the quality and quantity of insight available to advise the ED is impressive. I've been on the Advisory Board for years and we have amazing conversations.
You're coming into something that's already working. Check out what TAI did in 2014, and look at the over-the-top success of the 2014 fundraising drive (over 1100 donors gave over $206,000, passing the original goal of $150,000). This ain't no glass cliff or turnaround job; you would be coming in already set up to succeed.
Sustainability includes making sure the ED doesn't burn out. Scroll down to the details in the job post. The hours: 40 hours per week, and we really mean that. Look at the leave (time off) provisions. Your board and your employees and contractors all know that you need rest and relaxation in order to be at the top of your game, and we've built that into the organization at a structural level.
If you're going to apply, please apply soon so the search committee can see how awesome you are even sooner! Thanks!
# (2) 21 Jan 2015, 05:14PM: "Trade Me" and Courtney Milan:
Today I snarfled up Trade Me, a new contemporary romance novel by Courtney Milan. It stars a Chinese-American woman studying computer science at UC Berkeley. It's about class and classism, deconstructing the Prince Charming/billionaire trope in romantic fiction, Bay Area tech, ally fails, how to deal with cops, authenticity and adaptation, safety and freedom, trust, parents, and work. And one of the main secondary characters is trans, and all the physicality in the relationship is super consensual, and there is a kind-of reference to Cake Wrecks, and (maybe only I see it) to Randall Munroe's "What If?" blog. I link it thematically to Jo Walton's The Just City, Ellen Ullman's The Bug, and the good parts of Amy Tan's The Joy Luck Club. It's pretty great. (ROT13'd trigger warnings that are spoilers: qvfbeqrerq rngvat naq gur arne-qrngu bs n cnerag.)
I'd heard a bit about Milan before via metaphortunate and rachelmanija and enjoyed the Ask A Man blog, but hadn't gotten around to reading a novel by her yet. Then I heard that Trade Me would star someone who sounds far more like me than a lot of protagonists do, and decided it was time to try out this whole ebook-reading thing. Glad I did!
I know more and more romance authors are writing books with protagonists like me these days, not just Milan, and I should check them out. (Milan, like me, likes Zen Cho, and she further recommends another lawyer romance author, Julie James. According to Milan, James "writes ladies who unapologetically have careers and who care about those careers and don't have to sacrifice them in a fit of self-immolating pain at the end of the book." Hurray!) But I'm going to dwell a moment on how fascinating I find Milan in particular.
First off is the software thing. She wrote and wants people to reuse a chunk of GPL'd software to autogenerate links to a particular book at multiple bookstores. Also she used to use Gentoo. Of course she gives her readers permission to strip DRM from their copies of her books. Basically I would not be surprised if there is super flirty pair programming or a double entendre in a bash script in a future Milan book.
Her FAQ goes into more detail on what she does and why. She's neurodiverse, she encourages fanfic, and she has interesting ideas about the romance genre, diversity, and pay.
She brings an analytical approach to all aspects of her work (informed by her past as a chemist, programmer, and lawyer), and is willing to frankly and transparently talk about circumlocutions and the ways powerful systems, organizations and people -- deliberately or inadvertently -- suppress free speech. As a woman of color ("half-Chinese" in her words) she's also especially aware of the importance of writing fictional representations of women of color in STEM, and of fixing broken standards that lead to unequal representation.
If you are into legal minutiae you might enjoy her post on impotence and annulment; even if you aren't, you might like to see her hypothesize a bit about Regency vase cartels. I totally want to attend the workshop she did providing "a very broad overview of how people thought about property throughout history. When she writes historical romance, she writes people who could have existed as outliers; "I import modern morals into my historical romances. In my mind, that's a feature, not a bug."
Since a great "Must Pleasures Be Guilty?" WisCon panel I did in 2010, I've been particularly interested in new perspectives on the stigmatizing of intentionally pleasurable entertainment, and Milan's "The stigma of happy (a rant)" provides! Milan respects pleasure as a good and, in her work, aims to illustrate the work it takes to get to happy. She can snark about the "shame" of reading something pleasurable (and her fake book covers are spot-on), but she can also go deeper and show that another world is possible, one where we can have healthy, respectful conversations about women's sexual desires.
Milan and I are both geeky feminist Asian-American women who went to Cal and are interested in law, writing, and programming. Trade Me cost USD$3.99 (ebook); I can't put a price on what it feels like to read fiction meant for me, by someone who's only a few alternate universes away from me.
# 20 Jan 2015, 09:44AM: Programmers Who Then Do Something Really Different:
I recently learned that Courtney Milan, a romance author who's worked as a lawyer and programmer (much like sci-fi author Ken Liu), has also written some ecommerce-related PHP code and released it under the GPL, which makes my day.
I try to keep a mental list of people who have done substantial programming or computer science work and then taken their expertise to a very different field of endeavor, such as music, activism, electoral politics, or fiction writing. We're used to hearing about programmers moving into tech management (including founding startups or managing open source communities) or teaching engineering, but I like to remember that programmers also run for Congress and write TV shows.
The list goes on and on (and I am oversimplifying labels here and leaving a zillion people out -- this is just some people I have heard of):
- Randall Munroe, cartoonist
- Vienna Teng, musician
- Jonathan Coulton, musician
- Ken Liu, fiction author
- Charles Stross, fiction author
- Darcy Burner, Congressional candidate & activist
- Seth Schoen, activist
- Vernor Vinge, fiction author
- Ellen Ullman, fiction author
- Ryan North, cartoonist
- Neal Stephenson, fiction author
- John O'Neill, fiction editor
- Naomi Novik, fiction author
- Kristofer Straub, cartoonist
- Leonard Richardson, fiction author
- probably Jerry McNerney, Congressional Representative
- Jane Espenson, screenwriter
- Courtney Milan, fiction author
- Ken MacLeod, fiction author
- Zoe Keating, musician
- Kathy Sierra, horse trainer & interdisciplinary educator
- Mel Chua, education researcher
- James Vasile, lawyer
- Valerie Aurora, activist
- Mary Gardiner, activist
- Danny O'Brien, activist
- Aaron Swartz, activist
- Diana Gabaldon, fiction author
- Luis Villa, lawyer
- Jamie Zawinski, nightclub owner
- Fureigh, musician
- Danni (friend of mine), bike mechanic
This is trivia, and I am temperamentally suited to accumulating trivia. But I also like remembering that everyone I meet may have skills I don't immediately see. This bartender, that full-time parent, the candidate for city council whose junk mail I just got -- this might be the second or third or fourth career for any of them, and if we got to talking, maybe we'd all get super animated as we told stories about hilarious bugs.
# (0) 19 Jan 2015, 04:28PM: Catching Yourself:
Friday night, on a date with my husband, when it came up in a conversation about class and geography and family, I tried to remember his ex's name and couldn't.
Earlier today, talking with a friend about the layers of MediaWiki's infrastructure, I momentarily forgot the term "Gadgets."
Nothing else quite like that moment, realizing that when you weren't looking, your mental neighborhood changed, and you changed with it.
# 13 Jan 2015, 03:39PM: Unlocking The Funhouse (Mirror):
In technology (as in many communities), capitalism makes it hard for us to understand what we're good at. A few source texts, and then a sketch of some contours.
- The "No true Scotsman" fallacy.
- Shweta Narayan on category structure, cognition, and side effects.
We tend to have this idea that categories, like "bird" or "food" (or like "human" or "white", which is what this is all really about) are like solid boxes. Entities are either in them or out of them, with a clear and unchanging boundary, and everything inside is an unsorted & equal jumble, and everything outside ditto.
This notion gets strongly underscored by our cultures, so it can be hard to ... er... unpack. But the fact is, cognitive categories aren't actually like boxes. They have internal structure, and fuzzy boundaries (which people can draw in different places, and move depending on context), and these things matter hugely in how we think about and deal with oppression....
we need to be aware of category-centrality as well as membership....
- Huckleberry Finn, specifically:
"All right, then, I'll GO to hell"--and tore it up.
The nuance I still ponder is: Huck doesn't say his way is right. He decides he's wrong but he's going to do it anyway. He decides to be a hypocrite. He does not see himself as articulating a new consistent ethical framework under which he is morally right; he is accepting the status and the consequences of his actions in the religious framework everyone's taught him, but he decides not to let that get in the way of what he feels compelled to do. It's a different kind of resistance.
I heard an echo of this moment in "The Rundown Job" (Leverage, S05E09), when a government official tries to get Eliot, who used to do wetwork, to leave the Robin Hood-type vigilante outfit he's with now:
Colonel Vance: The world can always use more good guys.
"Why Job Titles Matter To Me", a piece I wrote last year.
Deb Chachra on discomfort with the identity "maker" and the primacy of "making".
Eliot: Yeah, well, too bad we're the bad guys.
I educate. I analyse. I characterize. I critique. Almost everything I do these days is about communicating with others. To characterize what I do as 'making' is either to mistake the methods -- the editorials, the workshops, the courses, even the materials science zine I made -- for the purpose. Or, worse, to describe what I do as 'making' other people, diminishing their own agency and role in sensemaking, as if their learning is something I impose on them.
"MDN MozFest outcomes: self-teaching", a summary by Jeremie Patonnier that said one of the tools that self-directed learners most want is "Tools to measure/evaluate one's level of knowledge."
You may not be able to tell from this blog that I, like many people in tech, do experience self-assessment vertigo. Software engineering includes a zillion skills (it's clearly not just computer science) and no one knows all of them. We're so bad at assessing who's good at what that we end up pronouncing that the only way to tell whether someone is "good" is to work with them, or we use "culture fit", personal recommendations, and other easier-to-grasp handles as lossy proxies. The bizarre informational distortion of the job market makes it even harder to get a clear picture of one's own skills, "objectively" and relative to others. Even if, like me, you are not currently looking for a job as a programmer!
Outside of academia and Hacker School, the primary way I hear people talk about technical skill assessment is in relation to the job market or job titles. (And even in academia it's early days yet in teaching software engineering.) In open source we sometimes make one-time assessments as to whether individual people are ready to become maintainers, but other than that, the discourse I hear is about matching candidates with paid employment, and so we assess ourselves and each other in terms of potential job titles.
Just as there is no inherent genre to books (the "genre" of a book is a way to market it to the readers who would like it) there is no inherent category "backend engineer" or "business analyst" etc. That's just a convenient name that we have socially constructed to kind of correspond to a set of skills. (And so the goalposts move so easily it's as though they're on casters freshly sprayed with WD-40 by someone shouting "But no true hacker...")
Within individual organizations, there's some consistency in what a particular job title means. But the job descriptions the public sees are often wishlists that don't distinguish between "desired" and "required" qualifications for a particular title. And a "hey you're interesting for position x" email from a recruiter gives us a data point, even if it's super wrong, and maybe even so wrong that it is demoralizing to candidates! ("Shit, the only recruiters who reach out to me are so dumb and desperate that they don't count" or "Crap, I still look like a foo instead of a bar".) We get a lot of noise mixed in with the data.
My particular set of skills does not correspond to any particular well-known bucket, and I should not let that make me feel bad.
Buuut of course socially constructed things are real too! And it is useful to know whether I am correctly performing the role of "fullstack developer" or "devops expert" or "community manager", to know whether I can attract the particular kind of attention I want! And it's useful to know when I should say, "yes, according to the tech industry's dominant hierarchy, the work I enjoy and think is most important marks me as low-status, unintelligent, and ignorable. So what."
Even if I can get away from looking at myself as a good little worker bee, impostor syndrome and Dunning-Kruger both affect self-assessment. While I believe I am fighting both, it may be unavoidable that the only way to get better at self-assessing a skill is to get better at the skill in question, reflecting all along the way. Thus: a code review group. (Check out how I briefly describe my programming skill level in that post, by referring to what I can and can't do.) Thus: my Mailman work. Thus: blogging. Sketching out where I am so I can see where I've been. These points of data make a beautiful line.