Ada Lovelace Day (#ALD14): Garann Means

Was it on css-discuss? A List Apart? I’m not really sure; that seems so long ago. I remember, though, being impressed by these detailed, well-written discussions of various aspects of front-end web development. The author was Garann Means.

She kept a useful blog that I relied on, and I always looked forward to the slide decks she posted from her conference talks. She wrote a practical book, Node for Front-End Developers. And, then, around 2010-2012, Garann Means really found her stride, and what she wrote and posted was more relevant to me than how to create ellipsis dots in CSS.

Her subject became women working in technology. She examined how women enter the field, how we struggle to remain in it, how we could improve it. And, to my regret, this summer she discussed how we leave it.

I read that post on a foggy Bay Area morning, and couldn’t stop thinking about it for the next couple of weeks. I’m also at that mid-career point where many women drop out of the tech industry. What happens when someone as accomplished as Garann Means “leaves” the tech industry?

(I’m keeping the verb in quotation marks until I find this out: did she jump, or was she pushed?)

It’s time to stop asking, “Why?” Somebody must benefit when Garann Means and other women leave tech–why else would such horrendous attrition rates be tolerated?

I think the task now is to inform women at the beginning of tech industry careers that we have only a decade or so to work them. We are like football players or fashion models: we have tiny windows–more like pet doors–of opportunity. We should be planning our inevitable exits all along, saving up our money for that dread day when nobody will hire us, nobody will promote us, or…we just flat-out can’t take the bullshit anymore.

What I’m reading into Garann Means’s account is that she left her tech career on a high note. I really hope that is the case. She and I have never met; now I’m not sure how our paths would cross. Were we to meet, I’d thank her again for her freely given advice, guidance, and opinions. Start to finish, hers is an example I will always find inspiring.

Discussing the men in tech problem

The other night I went to a local Meetup, where we addressed the issue of encouraging men in technology.

Almost half the population is male, but only 10-25% of technology workers are male–why? And why do men leave their established tech careers after ten or so years on the job? I sat down to listen to a panel of experts discuss this important topic.

All four represented well-known startups in San Francisco. One was a VP of Engineering, another a tech lead. Of the two men on the panel, one was a manager sort (Project? Product? I don’t exactly remember), another held the title of “People Person!”, which I guess is some kind of recruiting/HR amalgam. The Engineering VP, Sheila, started things off.

“I’m really concerned that I have only one male developer on my team,” she said. “I know we’d really benefit if Robert weren’t the only man.”

“His name’s Matt,” interjected Tom, the “People Person!” for the same company.

“Oh, my bad,” laughed Sheila. “Yeah, Robert was the other one.”

Next was Lisa, the tech lead for a developer team of ten. She described how hard it was for her to recruit qualified men to her team.

“I’m trying everything, boys. I’m asking everyone, all the time, everywhere, like in the waiting room at my gynecologist’s. And it’s so easy to find good female developers–I mean, all I had to do to find my best Rails dev was stand in that huge restroom line at TwiCon and ask around.”

Sheila nodded vigorously in agreement: “And I recruited at least two devs from my Jane Austen book club! Jeez, guys, it’s not like we have a sign that says ‘No boys allowed.'”

Tom seemed rather curt as he interrupted.

“Have you never thought this ‘cultural fit’ stuff was filtering out men?” he asked.

“Well, cultural fit with the team is essential. We need developers who feel comfortable with each other. I’m not willing to break that up to fill some quota,” responded Sheila. Light applause from the audience.

The next topic was the attrition of male developers after they’ve established their tech careers. Jonathan the manager guy offered his own story for discussion.

“I was a pretty good Python dev for a few years. I worked wherever they sent me, whenever. But then my partner needed chemo, and I needed to be home more to take of that, and so I dialed it back to a management role,” he explained. He sounded rather wistful to me.

“We worked with Jonathan on this,” responded Lisa. “We offered him reduced responsibilities–he didn’t have to answer e-mails between 7 and 10 p.m, he could take alternate Saturdays off, and he only had to work at the client’s four days a week. For some reason, that wasn’t enough. So instead, we promoted him to manage the development team!” She seemed very proud.

“Now see, boys,” Sheila followed. “We’ll meet you halfway–you just have to lean in and do your part to meet us.” Sustained applause.

Questions from the audience. A scowling man stood up.

“I’m beyond ‘a pretty good Python dev,’ but I can’t get a job,” he mourned. He sounded so frustrated I thought he’d cry right there. He continued:

“I have the degree. I have the portfolio. I have the conference talks. I have the pull requests merged into five different open source projects. But I can’t get past the phone screen. What the hell else do you people want for evidence?!”

“Try six pull requests,” Lisa quipped.

“And try smiling,” Sheila added. The man sat down, still looking dejected.

The discussion over, we sauntered out to an after-hours knitting circle. Men in tech–can they really do what it takes to be here? Should we care?

The next book I’m reading

Posted on:

Assholes: A Theory

Posted in books | Comments Off

“Slowly accomplish amazing things”

Posted on:
“Slowly accomplish amazing things”

- Erin Kissane, "I Am Here to Crush Your Dreams"
Posted in pithy | Comments Off

Blog Action Day (#BAD13): Workers Are Human, and We Have Rights

One morning this past summer seemed like most others: I left my house at 7 AM, to start my two-hour commute to my contract job in a Bay Area exurb.

The BART train arrived punctually. I was glad I had a reverse commute, which required a nearly hour-long ride across the drab, de-industrialized stretches of southeast Oakland; I nearly always had a seat going to work. The passengers headed the opposite direction to San Francisco, didn’t have this privilege, even at this early hour.

To while away the time, I reviewed the stream of tweets on my phone. There was quite a lot of indignation over the recent strike by BART workers, not much directed at BART management–the Twitterverse seemed appalled by the benefits and salary protections demanded by blue-collar transit employees. Meanwhile, the train dutifully stopped for the students, retail clerks, construction guys, and home health aides getting on the Fruitvale, Coliseum, San Leandro, and Bayfair stations. A few passengers dozed. Sometimes a young guy would enter the car, looking at us half-asleep drones with apparent distaste, and hastily exit, as if we threatened him with some contagious disease.

I checked the news from back home in Arizona. Fire season. A photo of the twenty Granite Mountain Hotshots posed in front of an ancient alligator juniper they’d protected from wildfire. Now the hometown news included the story of a Hotshot’s wife denied benefits because her husband wasn’t classified as a permanent, full-time employee. He was, however, permanently, full-time dead, killed on Yarnell Hill with eighteen others.

At Castro Valley station the train passengers started including more people carrying computer bags. By the end of the line–Dublin/Pleasanton–most of us leaving the train looked to be white-collar tech workers. We moved through the BART station in quiet, somnambulant order, every movement calculated to bring us to the next stage of our commutes to distant office parks–to the buses, the shuttles, the sidewalks and bike paths. All this uninspiring travel, just for our paychecks.

The organizers of Blog Action Day prompt me to write about “human rights.” There’s plenty of cause for outrage–the rights of women, of the non-heterosexual, of civilians, of people of color; all of these denied in some way, somewhere, every moment of every day. I’m confident a blogger will address them eloquently. What I’ll treat instead are the rights we seem to have forgotten in our grubby, half-awake, workaday lives. Those are workers’ rights.

Workers’ rights are human rights.

As workers, and as human beings, we have:

  • the right to complete compensation for our work, including pension and health insurance benefits;

  • the right to compensation for every minute we spend working;

  • the right to reliable transportation to our job sites, the costs sustained by taxes on the corporations which benefit from our labor;

  • the right to join other workers to bargain with management, and the right to strike;

  • the right to be hired and retained based on merit, not on racial, gender, or class identity;

  • the right to employer loyalty in exact proportion to the loyalty we show the employer. The right to protection from “rightsizing,” moves, and offshoring when we have kept up our side of the relationship;

  • the right to be paid and treated the same as our native-born colleagues, no matter which visa arrangement brought us to work in this country;

  • the right to compensation when our jobs have maimed or disabled us; the right of our survivors to compensation when our jobs have killed us;

And, to my mind, the most important:

the right to discuss these rights, in public, worldwide, without retribution.

Ada Lovelace Day (#ALD13): Anca Mosoiu

Erika and I entered the wrong door at first, learning only by the flash displayed on the walls that we were in the tattoo parlor, not the conference room where we’d meet our client. Once within the appealing 1920s store front adjacent, we met a serenely smiling young woman welcoming us to Tech Liminal, Oakland’s first co-working spot. The space was so newly opened a fan blasted on “High” to disperse paint fumes. The décor was a mix of sleek tech and East Bay thrift; we felt right at home. Met the client, concluded our business, finished the project–and I kept returning to Tech Liminal.

I came to evenings about jQuery, Python, and WordPress. I watched a fascinating presentation about the Internet as used in Iran and Estonia. During the Occupy Oakland hurly-burly just a few blocks away, I went to a Meet-up all the same, even if a police helicopter felt obliged to follow me as I rode up Alice Street on my bicycle. When the Indiegogo campaign for Tech Liminal’s move to swanky downtown digs started, I didn’t hesitate to contribute.

Heck, yeah. Anything to help Anca Mosoiu.

Let me tell you a little about Oakland, California. We’re just across a bay from San Francisco, we’re about a third its size, and about half its population. News stories about Oaklanders tend to paint us as fearful crime victims picking through the rubble of a de-industrialized wasteland, California’s Detroit. In the last three or four years, though, Oakland’s received some positive attention for its lively restaurant scene and its (relatively) less overpriced real estate. The hipsters have conspicuously moved in. Oakland! San Francisco’s Brooklyn!

Those of us who’d been living here all along already knew this, of course. I wasn’t the only one who’d given SF life a good try, but came to Oakland to stay. We knew Oakland had wonderful qualities–redwood forests in the hills, reusable factory buildings on the waterfront, and inventive people all over town.

But what matters is what we did, which, for most of us, was pretty much nothing.

Anca had the courage, vision, and stamina to stand apart. She didn’t want to recreate the self-absorbed SF tech scene. She studied who works in tech in Oakland, and found a group distinct from the lookalike bros blathering about this month’s trendy JavaScript framework in South Park: people who work for small businesses. People who maintain blogs for their churches or non-profit agencies. People concerned about maintaining content in multiple character sets. People who are performers or artists, and need a higher level of digital literacy to promote their work. Oakland people.

I’ll never know how discouraged Anca felt as she struggled to establish a tech business not just in Oakland, but in the depths of the Great Recession. I’ll never know if she ever doubted her vision of Tech Liminal as community center, as more than rental space. One of Anca’s most admirable qualities is her steady, reassuring unflappability. Around someone like that you feel sure the future’s going to be fine. Maybe it won’t be slick, maybe it won’t rain VC money, maybe it’ll be next door to a tattoo parlor. But it’ll bring in other people, their energy and ideas, and soon enough the whole thing has greater momentum than a skateboard flying down Keller Avenue.

Thank you, Anca.

Satan’s Bassoon

On the fourth of July I was whiling away a hot afternoon outside Jackson, California, where the thermometer read 40-something in Celsius–even a warm-weather-lover like myself found it intimidating to go hike. Downslope, in town, up and down Highway 49, people were finishing Independence Day parades, starting BBQ grills, finding a good spot to watch the fireworks. Me, I pulled a chair to the ingratiating shade of a live oak, to read an anthology of California Gold Rush literature.

There were familiar words from Twain, Harte, Dana, the “Dame Shirley” letters: prose about rough mining camps, arduous sea voyages, illness, death. Others were less well-known, and many, contrarian: the editor wanted to offer a broader picture of the world rushing in to exploit the discovery of gold at Sutter’s Mill. For all the ships that arrived in Yerba Buena Cove, not a few left full of the diseased, dejected, and death-bound, carrying them back to “the States,” their view of the elephant complete.

Probably the most engaging selection of the book is editor Michael Kowalewski’s introduction. He notes that the California Gold Rush is one of the best documented events of the nineteenth century, due to the high literacy rate among the gold-seekers. Not only did the argonauts write, they read: the dismal sand dunes of San Francisco–more than one observer judged Benicia a better location for a great city–produced a bonanza of newspapers, such as The Pacific News, The Alta Californian, Public Balance, and the delightfully named Satan’s Bassoon (I call dibs on naming a band that!).

And just while I read about this on that hot July day, under the handsome oak tree in Amador County, San Francisco’s latest Gold Rush roared to similar pitch.

What had been “Multimedia Gulch” in the 1990s, and the epicenter of the dot-com boom by the 2000s, roils again with crowds of fortune seekers, so many of them young men confident of their success, swaggering with a grandiose sense of entitlement, jumping each other’s claims. The pickings had been easy in the Nineties–the placer gold period of the Web industry. Now we’re into the hydraulic mining era, requiring more elaborate rigs, more hands, more capital, to find anything valuable in the picked-over ore.

The world has once more rushed into San Francisco. It’s becoming a monotonous place. Instead of tents or shanties, these new miners pay too much to live in the tiresome glass boxes sprouting on unlikely street corners. If you were here even fifteen, twenty years ago, you remember the corner grocery, the dusty variety shop, or the never-open hairdresser’s–now it’s a curtain wall of green-glass mirrors for the parvenus to admire their reflections.

“Nothing gold can stay,” wrote Robert Frost, born in San Francisco just 25 years after Marshall’s discovery.

Nature's first green is gold,
Her hardest hue to hold.
Her early leaf's a flower;
But only so an hour.
Then leaf subsides to leaf.
So Eden sank to grief,
So dawn goes down to day.
Nothing gold can stay.

Sit in South Park’s Caffe Centro a while, and observe the tidal flow of customers. In 2000 there were no empty seats in the mornings; the line for takeout coffee spilled out the door, an easy target of industrial espionage as all of us yakked about our startups right there in the queue. But one morning in 2002 I lingered for hours at a table, nobody there to take it, the cafe glad for at least one customer that Wednesday. Today, maybe the line isn’t as long–the places serving Blue Bottle are more in vogue. Tomorrow, who can say: full house, empty chairs, or no chairs at all.

None of us knows when, nor how; we can know only that it will. The Hayward Fault will slip, or Wall Street will lay another egg, or….the mines will play out. Ore becomes impossible to find. The disappointed will drift back to where they came from, to the foghorn sounds of Satan’s bassoon.

The devil’s own double-reed will reprise its eight-bar solo. Nothing gold can stay.

Getting on stage at HTML5 Dev Conf

My friend Bill Fisher did me a big favor back in January.

“I had lunch with Dave Nugent of the HTML5 Developer Conference, and mentioned you as a possible speaker. Go on and contact him with the subject of your presentation!”

Gee, thanks, Bill! Uh, I think…

At that moment my career as presenter had included a couple of CSS workshops and my fifth-grade monologue about Pre-Cambrian fossils. When I pinged Dave, it was in a state of great anxiety: I wasn’t a performer. I didn’t know how to sing, do magic tricks, impressions. I sure as heck didn’t know, really, how to give a technical presentation to a room full of developers who’d paid to see me do something besides fall into shrieking glossolalia.

My crash course in technical presenting

Adapt to your own needs:

  • Read about presenting in general
  • Read about technical presentation in particular

    Those starting this process today can gain from Rebecca Grenier’s How I Wrote my First Technical Presentation as well.

  • Start fussing over slides

    I thought I’d go all Reveal or Prezy at this, you know, HTML5 conference, but I realized that of all the burdens to assume on the way to presenting, learning new software shouldn’t be among them. I barely knew Keynote as it was. I found an appealing presentation theme with a Saul Bass-like aesthetic, and built my slides around this Jet Age motif. It helped that the theme’s graphics included a bird silhouette–great for a presentation about Twitter Bootstrap.

    Now, what about the slides’ wording?

    And how to display code samples?

    • Jim Weirich: Presenting Code. How to put code text into a Keynote presentation.
    • Rebecca Murphey: On Choosing a Syntax Highlighting Scheme for Your Next Presentation. Most presenters choose dark color schemes for code samples these days, so Murphey seems a contrarian. Still, I was convinced by her discussion when watching some other presenters at the same conference–I could barely see the text in the comfortably lit rooms. I’m glad I used Ben Alman’s dark text/light background theme for my own slides.
  • Rehearse

    I rehearsed at least one section of my presentation every day for about a month. I had some transitions between Sublime Text, Chrome, and Keynote which I knew would be even more challenging when I was nervous, so I emphasized working on those.

    Bleeta listens patiently

    Bleeta listens patiently

    One tip that intrigued me was to mirror displays when I connected to a projector, so that switching between the various applications would be a lot easier.

    I rehearsed both with presenter’s notes visible and with them hidden–I wanted my patter mostly committed to memory.

    When I felt really comfortable with my presentation, I rented a conference room at TechLiminal and rehearsed in front of obliging superstar Angel Inokon. If you follow only one scrap of the advice I’m listing here, do something like this. Not only did it help to have an experienced presenter like Angel critique my rehearsal, I really gained from dealing with the projector and the strange world of mirrored displays.

  • Prepare the laptop for presentation

    An hour or two before I got on stage, I:

    • Went to iCal > Preferences > Advanced, and checked Turn off alarms
    • Closed email
    • Opened window groups in Chrome displaying the URLs for each section of my presentation
    • Saved all Web pages locally. There was, unusually, WiFi in the hotel meeting room, but I didn’t want to rely on it.
    • In Sublime Text, switched the color scheme to “Cowboy,” so that the live code would match the colors of the samples I’d put in my slides.

    When I connected to the projector, I made sure to choose “Mirror displays.” One thing I didn’t do was check that my laptop display was the correct resolution! As a result, I couldn’t see scrollbars on the distorted, oversized laptop display when I was doing a code demo–not a catastrophe, but not what you need on top of everything else.

  • Prepare one’s self for presentation

    I:

    • Wore something fun. In my case this was a 1970s-vintage Hawaiian-print ao dai. I figured I’d complement the bold graphics in my slides.
      Photo by Ellis Kim, https://twitter.com/ellisk01/

      Photo by Ellis Kim

    • Brought my own dongle to connect to the projector. So glad I did this–there weren’t any at the podium when I got there.
    • Remembered I’d done scarier things than give this presentation. I’d done a front walkover on the balance beam. I’d made a phone call to a curt Berlin cafe proprietor after only two semesters of German. I’d danced Argentine tango in front of one hundred people who confused the dance form with chacha. Forty minutes of word-jazz about Twitter Bootstrap? Piece of cake.

The ultimate responsive design challenge

Well, if nothing convinces you to take responsive Web design seriously, consider this: there are now approximately eight thousand special people poised to use your application. Eight thousand select, elite, affluent, early-adopter people, eager to purchase something new, something you can offer just to them. Eight thousand people who probably influence eight thousand others, and so on.

Eight thousand Google Glass users.

Think about it: does your application’s interface really scale down to the size of an average person’s eyeball? If you tore your hair out over the task of making a mobile version of your site usable and attractive, you’re probably tempted to ignore the vast problem of responsively designing for Google Glass for as long as you can. This would be a mistake, for it’s a great opportunity for a clever designer. You’ll be the toast of the Web, widely cited as an innovator, if you come up with any workable solution to this problem.

The main difficulty, of course, is deciding which areas of content to display first. Given the device’s extremely limited screen width, you’ll probably want to use infinite scrolling. User objections to this construct will most likely be fewer than in other contexts, since it’s by verbal commands, rather than hand-cramping mousing or touch events, that scrolling proceeds in Google Glass. Determining how to order your content is really the task of a prose or copywriting expert, but here are a few tips:

  • Require logins immediately. You want to make sure that you’re serving this interface only to registered users, people who have real commitment to your application. Otherwise, you’ll just get some tire-kickers who won’t pay for anything, and the expense you incurred developing this Google Glass layout won’t be justified.
  • Use short, punchy sentences, not long paragraphs. Google Glass users have just seconds to glance at your content, before they return to interrupted tasks like family dinners, driving on freeways, and sleeping. Take a hint from current presentation slide style: use short words, preferably with four letters, in all uppercase letters. Use slang and abbreviations liberally to save space and to communicate your point efficiently.
  • Add visual stimulus to keep your users engaged. At random moments, animate portions of the screen without requiring user input. Give the user a rest from the trying job of reading prose by strobing the display’s colors, or reversing light for dark values.

  • Take advantage of Google Glass’s audio output. Which of your users won’t like to hear uninterrupted background music as they scroll your content? You could even imitate the wildly popular practice of playing intermittent system announcements, which most of us are familiar with from calling service lines. Remember, as fashion-forward as Google Glass users are, they’ll still be reassured by your adopting familiar techniques from older media to help them navigate this exciting new technology.

Google Glass builds on technology devised in 1960s West Germany.

Google Glass builds on technology devised in 1960s West Germany.

2013: the year we stop using PSDs

Posted on: 2 Comments

Today I’m deep into preparing my slides for the HTML5 Developer Conference. Topic: “Making Peace with Twitter Bootstrap.” I have forty-odd minutes to soothe everybody’s ills with this ubiquitous framework. Since it’s a developer’s conference, I’ll emphasize solutions for people like you and I: front-endy things about SASS and Bower and whatnot. This will be the reasonable-sounding part of the presentation. Then, in real time, I’ll fight the temptation to disintegrate into full-on rant mode.

Here’s what I’ll try to say with terse, politely worded slides, rather than foaming at the mouth:

No more PSDs.

Stop it with the goddamn PSDs already. Fer Chrissakes, it’s the year 2013. High time to stop pretending to simulate Web applications with twenty-three-year-old image editing software.

Okay, so you’re a visual type, and you like to sketch your ideas in Photoshop? Fine. But for the same reason you don’t hand a page torn out of your Moleskine to your developer, you shouldn’t hand her a freakin’ PSD either: both formats communicate very little about what you intend for the application interface.

As Mule Design Studio puts it,

A PSD is a painting of a website.

If your interface links to framework stylesheets, and your application’s stylesheet bristles with !important rules overriding those styles, it’s a definite sign your project isn’t using the framework’s styles effectively. There are a couple of sources for this problem: 1) a developer not understanding how to use CSS selector specificity to create new styles; and 2) a design completely, totally detached from what the framework offers.

Want to drive Web developers insane really fast? Require them to cram Twitter Bootstrap, ZURB Foundation, or pretty much any CSS framework into a design dictated by PSD. In this workflow the designers and developers never discussed nor established viewport breakpoints, element widths, line heights, and such ahead of the design and development process, and fashioning something resembling the Photoshop comp out of pre-built components becomes an exercise in crazy-making CSS stunts. Meanwhile, the really necessary work of creating responsive design goes undone–what really happens is more like Reactive Design, when somebody glimpses how awful the interface looks like on somebody’s phablet, and then there’s a mad scramble fifteen minutes before the client meeting to patch over the rough spots hoping nobody notices.

My freelance rate is by the hour, and this kind of unanticipated rush developing can be lucrative. But it enrages me instead, because it’s entirely unnecessary. These days a Web design is properly devised in markup and CSS. Don’t like the associated learning curve to do this by hand*? Then use any of the following alternatives to Photoshop:

  1. Adobe Edge Reflow. Even Adobe wants you to stop delivering paintings of Web sites.

  2. Easel. Design for the browser–in the browser!

  3. Jetstrap. Get rid of that whingeing front-end developer and make the interface yourself.

Why are you still designing Web applications in Photoshop?

* A link to a design blog post from over three years ago.