PyLadies Meeting notes from “Negotiating the job market: a panel discussion”

Flora Worley organized a fantastic PyLadies PDX meeting called “Negotiating the job market: a panel discussion“.

The meeting was organized in three parts:

  1. Experiences (good, bad and ugly) from four women who entered the software industry in the last 1-2 years.
  2. Managing expectations and setting boundaries from three people, two recent entrants into the industry, and me.
  3. Negotiating the application/interview/offers process (which we turned into a group discussion, led by one panelist)

We kicked things off by asking people to get into groups of four and talk to each other about why they came and what they were hoping to get out of the meeting.

Some of the comments from the meeting and feedback after included:

  • On what was good prep for interviewing: Attending PyLadies and Python User Group meetups to learn new skills, hear about what modules and techniques people are using. (from Amy Boyle, a local developer)
  • Attending PyLadies helped fill in gaps in knowledge useful as a working programmer, even after having a CS degree.
  • “I love being a Pylady, and if it weren’t for this community, I honestly don’t know that I would have continued learning to code.”

Below are my notes from the first panel, anonymized and edited a bit.

How did you find your first job in the industry and know it was the right place for you?

  • I knew a founder of the company from college
  • Knew someone and they invited me to apply. Wrote a great cover letter and got an interview even though they thought I didn’t have the skills for the exact job I applied for.
  • Got the job by going to talks and staying and talking to the speakers.
  • Decided I was more interested in data than my major! Looked around and found a company that was doing a lot with data.

At what point do you say you “know” a programming language?

  • I shy away from saying I “know” something — seems presumptuous to say that the same way it seems weird to say “I’m a writer.” If you’re getting paid to do a thing, though, then you get to call yourself the “thinger”. Coworker has been asking me for help with python and I know the answers to his questions so…
  • Finding ways to help others with things is a good way to boost your confidence.
  • Once I give a talk about something, I have to say I know how to do it because people will come to me for help. It’s a way to force yourself to cram, find out what you know and really don’t know. On my resume I don’t say “I know” — I say “I have experience with XYZ; I have managed to learn these things to get the job done.” Most technical interviews ask more general questions.. not exact syntax of a language.
  • Interviews seem to be trying to figure out if you can learn whatever it happens to be that they need you for at the job.
  • We have to support many languages. So many languages at the same time can get overwhelming.
  • I don’t say I’m an IOS programmer, but I help people write and improve their IOS code all the time.

What was your interview like?

  • Shared projects I made. We just went through my github repo. Tell me about this project, what did you do, what did you use.
  • Was interviewed over Skype
  • Interviewed with 4 people in a marathon. None of those interviews were super technical.
  • The interviews seemed to be gauging whether you would be able to just talk about whatever comes up.
  • They asked me about a lot of command line skills and brought lots of people in from different parts of the company.
  • The interview had me sit down with a program — there’s a bug in this program solve it. What I learned is what matters is the process of how you work on bugs — and being able to communicate that while you’re doing it, not that you actually fix it.
  • Most valued skill is resilience rather than a technical background. You can learn, compensate, fill in gaps. Need willingness to learn, capacity to be frustrated/despair and just move on. People don’t want to hear you freaking out, just want you to do it. Even if it takes you a long time.

Were there classes or resources that prepared you for interviewing?

  • Go out and make something for yourself. Nothing better than finding a thing you want to make, and then making it. Going back to old code, really fulfilling to see progress and wanting to make old code better. You have something to share!
  • Coming to meetings like PyLadies and the Python User Groups. I took some CS classes, but there was lots that I missed. You don’t realize how much you don’t know! Get to meetups to hear about what others are using, what is current in the field. Having a sense of with what the latest stuff is, what are good blogs, best practices, helps out. (seconded by another panelist)
  • Very helpful to go to PyLadies and talk with people around my same experience level. In conversation, people would explain stuff to you in a way that made sense, not just a bunch of jargon.
  • Learning that ecosystem and what tools people use is huge. Helps you figure out what a job entails and what do you need to know to build it.
  • For most of the stuff you’ll build, you’re going to use other libraries. It helps having experience mushing things together. Iterate on it. Every little thing you learn, you’ll find ways of improving stuff.

What if your coding style is really different than other people’s? How do you handle that?

  • Get good at giving constructive feedback
  • “days of spaghetti code is behind us” at the mercy of other people’s crappy code — tech companies deal with this a lot less.
  • Don’t be afraid to say “no idea what this function ” learned a lot about better code by reviewing a lot of code

What kinds of positions can you get? And where do you want to go?

  • Really overwhelming to learn everything I needed to know to support product. It’s an all guys team, learned to love them all, took on a mother role.
  • Teaching stuff all guy team can be intimidating, but most of the guys I work with are college educated CS guys, me having no CS background was intimidating until I realized I knew and could learn this stuff as quickly as they could. No CS didn’t matter.
  • I’m doing tech support, wish I could do more coding. It’s a mixed bag doig support, you learn a lot about system. Found that management wanted everyone to level up in tech support and not go to other parts of the company. I’ve had to come to terms with managers trying to keep me in that role. Need to see how long they expect you to stay in that role before you can move on — ask up front.
  • Had similar experience — resistance to moving from tech support into other roles. Most people in support are looking to move into another role. Make sure you’re on the same page with manager rather than be surprised by it later.
  • On working with guys: my communication style was not really effective when I started. Sometimes had customers that said “can I talk to tech support?” “can I talk to an engineer?”. Had to learn how to be kind of cocky — “This is how this works.” If I was wrong, I was wrong, and had to fix it but that was much more effective at communicating with customers and coworkers.
  • Had to learn that nothing wrong with asking for help. Saves a lot of time.
  • Everything takes me longer than I think it will. Triple your estimates!
  • I needed to learn its ok to ask questions, ask questions confidently rather than despair of never being a programmer. We all tell ourselves crap like: “i’m just generally stupid and can’t learn anything” or “can’t learn javascript in a day, so clearly i’m an idiot”. But turning that around is important for yourself.
  • Be dilligent in the way you ask questions: 1) first google it, stack overflow, check reference book; 2) write out the question fully (rubber ducking) — articulate the problem fully and you might solve it for yourself — what did i expect, what happened, what else can i expect….
  • I’ve had people say to me: “I don’t know why pyladies needs to exist.” I said: “I think its nice its a safe place where that you can articulate your questions without fear.” I don’t know what to do about it other than say that.
  • Men might be made clear to you that they believe we are post-sexist, post-racist. If you have too many of those people around, find a new job.
  • “you need to be careful about where you are” when expressing opinions about feminism.
  • Be open and honest, and they tend to understand.
  • Sometimes it may be the case you have to figure out if an opinion is being expressed because of privilege or malice. If privilege, it can be worked on.
  • Try to internalizing confidence. Tell yourself: “I know how to program” more. Once I really believed that, my programming got better. Because I know I will solve the problem I’m working on!

Do you find that as a woman you communicate differently and you are interpreted differently?

  • Here’s an example: when someone says: “Can you pass the salt?” One person might respond by thinking, “I understand you’re being polite and phrasing that request as a question rather than a command. Sure, here’s the salt!” Or another person might respond with, “I could pass the salt to you. Is that actually what you want me to do?” Pretty different communication styles.
  • Try to be flexible and ride out conflict.
  • I question myself a lot — did i interrupt too many times, was i too aggressive. I worry I am too aggressive.
  • Be yourself. Take time to figure out if you are happy or not.
  • Try to compromise and avoid “truth bombs” where you “explain how the world is”. Take conversations case by case and try not to take it personally.
  • If it gets to be too much, get out of there!

Why PyLadies?

pyladies_blue

Hey Hacker News! If you’re coming here for the first time, you may also be interested in What I mean when I say I would like more women in the software industry

PyLadies is a group of women working on welcoming, encouraging and directly inviting women to join the Python community and to learn from each other.

I started a PyLadies chapter in Portland, OR last September (2012). We started out with weekly meetings to do homework from a Coursera class to make games with Python. That turned into weekly meetings — plus homework meetups on Saturdays at a local coffee shop, and IRC hangout time to test homework. And that turned into me giving mini-lessons at each Coursera meetup about the material from the class.

People seemed really excited.

Stats - PyLadies PDX (Portland, OR) - Meetup

Before we knew it, it was December, we had over 60 women subscribed to the Meetup, 30 of which had attended a meeting. Today, we’ve got 96 subscribers, 50 people have attended a meeting, and more have signed up to attend events in the future than ever before. And, it’s done by women. Using open source. Teaching classes. Learning developer tools. And writing software.

Since September, I’ve met even more women involved in running PyLadies chapters across the country. Much like the way the PostgreSQL community is organized, we’ve got a loosely connected group of people working independently. We offer support to each other, but don’t have hard and fast rules about what each chapter does. We encourage teaching and workshops, but don’t require them. We share our resources and are quick to put git repos out there of our materials. We send lots of pull requests. And we’re constantly looking for ways for women to get more involved in open source and Python.

All Group Reviews - PyLadies PDX (Portland, OR) - Meetup

I’m completely energized by the positive feedback we’ve gotten for every meeting. More recently, I’ve heard from people that they feel confident and sure of their knowledge because they’ve spent time in our meetups talking and learning from other women.

My goal is to make every get together like that – by having great lessons, a shared understanding of coaching and peer-based education and presentations from our members. Building these groups takes time, and I’m impatient to get to the part where I feel like every interaction with the group is rewarding for every member.

And I can’t do it alone. We’ve got four meetup organizers (although one is about to relocate to the Bay Area!). I work closely with Flora Worley, a kickass developer who chose programming as a career path after working on a PhD, on topic details and planning for the meetings. I’m so looking forward to meeting in person with the many members of the PyLadies community at PyCon next month.

9.1 presentation at Windy City Perl Mongers

I recently updated my PostgreSQL 9.1 slides for a presentation at the Windy City Perl Mongers.

We discussed 10 features that the Postgres community decided to emphasize in our press releases. The crowd was primarily people who had never used Postgres before, which was a bit of a different audience for me.

It was great to be able to compare notes with folks who are supporting Oracle and SQL Server, and see a lot of excitement for trying out 9.1.

When I’m traveling around, I’ll be looking for more non-Postgres user groups to give talks like this. Let me know if you’d like me to come speak at yours!

Note from Nashville

I was lucky enough to catch a meeting of a new Arduino user group in Nashville last night. That picture above is a prototype of a segway-like machine that uses tilt sensors to turn. (Segways use a handle-twist mechanism to turn.) I spent an hour or so reading through code, and helping identify the various constants we need to pull values for off of the equipment Jay used for his project.

We met at in a building that houses a distillery in a building called the Corsair.

The person demo’ing was Jay Settle, a brewmaster who, along with his brother, is a tinkerer. Jay showed some videos of projects like this one:

He’s also automated the work of distilling by modifying some 1920s-era copper stills with Ardiunos and temperature probes. He put together a terrific site showing his work on it. Don’t miss all of the rest of the projects on the links at the top of the page, including my favorite, the remote mower.

Anyway, the group is awesome, and you should go! If you know any hackers in Nashville, send them to the mailing list.

Nashville is not really known for it’s hacker culture, but it’s alive and well and finding its center. I have to think that the BarCampNashville has something to do with that – giving locals a reason and a deadline for showcasing ideas. Now, more conferences like the PHP Community Conference are picking Nashville. Anyway, I looking forward to seeing what comes next from the Arduino hackers!

PDX tech scene community facilitation

I was just thinking about this today, because I went to Last Thursday on Alberta street on April 29th. (that picture of a cookie is from an awesome vendor at Last Thursday)

I didn’t realize that the vendors there are primarily self-organizing until about two weeks ago. I had always thought there was a central committee (But there is this ning…). But the vendors just show up, set up tents and hang out.

People would probably make more money and not have to work so hard if things were a bit more organized, but they need more of a light form of administrative assistance, rather than a bunch of top-down organizing. Creating a contact point and information hub, making sure there are portapotties, figuring out ways of providing power, and making sure that business owners and locals are (mostly) happy with what is going on would do wonders. And really, it seems like Magnus Johannesson is working toward that.

This is how I feel about tech community facilitation – we should be making incremental, measurable progress in our tech community on goals that most see the value in and in ways that continue to make organizers and participants feel empowered to act on their own.

Unlocking the clubhouse: cultural resistance and learning communities

I finished reading “Unlocking the clubhouse” on Saturday, finally. The book is only about 150 pages long, but it’s full of useful information about increasing participation of women in computer science.

The chapter that most stuck with me was chapter 6, “Persistence and Resistance: Staying in Computer Science.” I have said more than once, in a tongue-in-cheek way, that Code-n-Splode‘s mantra for men who think that we should not have the “dude token” policy should be: “It’s just not about you.”

My feeling is that establishing a culture where female voices dominate, rather than are assimilated in, creates a social environment that’s fundamentally different. And that that difference is *good*. I wouldn’t say that the book totally supports that notion, but it points out situations where women found peer groups that did not conform to a male hacker stereotype, and that foundation of social support helped them stay in their course of study.

The students referred to in the paragraph are undergraduates at Carnegie Mellon University:

Women who accept the prevailing culture as the norm and who continuously compare themselves to this norm and find themselves coming up short are the ones who suffer the most.

The majority of women struggle to find a place where they can feel comfortable in the prevailing culture…

Ironically, it is in this area of relationship to culture that international women may have an edge. The international women do not as readily use the U.S. male hacker as their reference group. Since they are not fully part of this culture, their reference group is elsewhere. Many international students have alternative success norms and social bonds that protect them. Other priorities are dominant, and with these come other scales for self-evaluation.

So, rather than bringing their cultural norms to the hacker culture and modifying it, the international women have their own social structures which exist outside of the dominant culture. “Cultural resistance” was the title for this section, and it’s a great way of characterizing the lack of assimilation.

I have more than a few times heard women-specific groups discouraged because of they emphasize differences that the dominant culture feels should be unimportant. I’m interested in further research that discusses the effects of splinter groups, particularly when they are created for women.

The second interesting topic in this chapter concerned learning communities.

Former University of California calculus professor Uri Treisman (1992) believes that a supportive learning community is critically important for the success of minority students in math and science.

The story went on to describe Professor Treisman’s observation that Asian students tended to socialize *and* study in supportive groups, which tended to help students stick with the courses and get better grades. He established similar groups for Hispanic and African American students, and found across several universities and colleges that these groups helped retention. Our observations and the resulting user group for women mirrors that Professor’s experience.

There’s a special connection created when you live and engage with material in a supportive learning community. They take time to create, and are a bit harder to maintain outside of an academic context (where life, work and diverging interests can be a bit more challenging to coordinate).

Code-n-splode has been fairly quiet about its successes, but I think now is the time for us to start talking a bit more about how well the group has succeeded.

Photo courtesy of DrPantzo under a Creative Commons License.

User Group Idea: Present what you do for work

Ta da!

Ta da!

One consistently interesting topic for our PDXPUG meetings has essentially been show and tell. Presenters answer the question: what is it that I do for work?

We’ve had oceanography, GIS, relational algebra and even MySQL presentations that stem from this idea.

For the most part, those of us who do database work are so specialized that we might gloss over the details of our job to avoid boring our friends and colleagues to death. The fact is though, much of the work that we do *can* be made interesting for 30 or 45 minutes. And what better forum than a group of dedicated database geeks?

Some angles I’ve seen work are:

  • Giving background on the how and why of data collection (for example: Discussing probes that collect location, temperature and salinity in the ocean: how they communicate back to the mainland, data quality issues, failure modes);
  • Explaining a schema design and sample queries that work with it;
  • Going through a refactoring exercise with an existing database;
  • Describing a particularly difficult to deal with problem or incident (database migrations!) and how you did (or didn’t) solve the issues that occurred along the way;
  • Turning your meeting topic into a drinking game.

Our favorite meeting topic for drinking games is relational algebra.

The important thing about these types of presentations is that the person presenting picks the most interesting parts of their job to talk about. Enthusiasm for work shines through, and draws in the audience — a great thing when you haven’t given many presentations.

What are some topics you’ve seen, or would like to see covered related to a person’s day job?

Photo courtesy of exfordy, via Creative Commons license

User Group Idea: Patch Review Party

On Tuesday, I invited a group of people from PDXPUG over to my house for chili, beer and patch review. PostgreSQL has what we’re calling a ‘commitfest‘ every two months where we buckle down and try to review and commit (or reject) the patches submitted over the last few weeks. Webb and Gabrielle had the original idea to get everyone together for a review party, and they did a fantastic job recruiting people to join in.

Gabrielle gave the details and lessons learned on our PUG site already, so I won’t repeat that.

One thing that occurred to me as we were doing this work was how affirming and *fun* it is to work on patch review with people in person. Several people commented on how they enjoyed doing this work in the company of others, and how the tedious issues around compiling, applying patches and going through all the questions were made so much more enjoyable with a group of good-natured hackers sitting around answering questions.

The atmosphere wasn’t pressured – I gave a little background about commitfest, how it’s been run in the past and what the development group is trying to change about it (mainly, bring in more people, and make patch review faster for people who submit patches, and smoother for the committers). Then we just got down to work in pairs or groups of three.

Working in pairs is a really good idea for this type of event. I certainly learned a few things from John, and over email and in-person again, we were able to wrap our review up a couple days later after the regular user group meeting. Having another person to bounce questions off of was invaluable for the patch that we reviewed, and it was just fun brainstorming variable names, piecing together a test case and then finding a solution to a problem we found.

Another thing that happened was that I had lots of time to chat with people I hadn’t talked with before about projects they’re working on (a really exciting materialized view implementation, and a massive cleanup of our *.bki infrastructure — two very ambitious projects!). Both people are now signed up to give talks at our local user group about their work.

I’ve talked a little bit about the social benefits of commitfest on various mailing lists, and I think the opportunity for user groups to get together and review patches as a team is a great one. I’ll be gathering up some of my other observations about PostgreSQL community and posting those over the next few weeks.

I’ve got a talk about user groups to prepare for (JPUG’s 10th anniversary in November!), so now is the perfect time for me to be gathering my experiences and thoughts from the last three years.

What’s changed? Portland as an example of increasing women’s participation.

Code from @christiekoehler's presentation. #cns

At Code-n-Splode last night, we first heard Christie Koehler give a great talk on CodeIgniter, the one PHP web framework endorsed by Rasmus Lerdorf, original author of PHP. She went over the pros/cons, details of how you go about installing and then using CodeIgniter, and then showed a very detailed example from her recent work. I hope she posts the slides soon – they were great. (If you want to see our tweets – per Gabrielle’s suggestion, we’re tagging with #cns now.)

After the talk (nearly 9pm!) we all went over to the Green Dragon for our #afterhours chat. Audrey led off by explaining the recent controversy she’d written about, and the Ruby/Rails community response to her posts.

Some of the things she shared I was shocked by – specifically some very personal attacks in comments that she’d decided to save (in Skitch), but remove from her posts. Her standard was: “is this something that would cause my mom to stop reading.” And, if the comment met that standard, she archived and removed it.

I learned about threads in the local ruby community about the topic of women’s participation, and some very positive comments on Hacker News and Digg, and _why’s posts that seem to be expanding perceptions and opening people’s minds to ways that may ultimately be more inclusive of women and minorities.

All told, we had 15 people at the meeting, 13 of which were women. Our first Code-n-Splode meetings started with about five people. Our largest meeting (thanks to the clever, rocket-building Sarah Sharp) had somewhere around 30 people.

Among the many things that the Code-n-Splode crew discussed last night was “what made portland different”. And I thought I’d let you in on our secret.

We ask women to participate.

When we have code sprints for Calagator, Open Source Bridge or we have the Agile development meetups dedicated to coding – there are always women there. From what I understand, having women show up regularly to code sprints is unusual in other cities.

When I am responsible for these meetups, I contact the people that I want to attend directly – and I ask them to come. This is a mix of women and men (I no longer have to explicitly think about inviting women, because so many are already in the community). But when I was first asking people, I *did* have to contact women who were just dipping a toe into the community — to convince them that yes, joining us would be fun, educational and sometimes good for their careers.

When I first started attending user groups regularly about nine years ago, I often was the only woman. Now, it is extremely rare for me to be the only one. Particularly in groups that span multiple technologies (Web Innovators, Open Source Bridge, Extreme/Agile developers, Functional programming, and BarCampPortland come to mind) or are largely social opportunities for geeks to mix (Lunch 2.0, Beer and Blog). More geeky women (and women that I don’t already know) seem to attend these types of events.

I don’t think there is a single magic formula for transforming your city’s geek scene. But I think it is worth asking questions of the Portland tech community leaders, finding out how our groups work and trying out our techniques in your home town.

Twitter and PostgreSQL!

Twitter: What are you doing?
Uploaded with plasq‘s Skitch!

On pgsql-general, Doug Hunley mentioned he’d created a twitter account for pgsql-announce! Way cool.

I’d written during last PgCon about Postgres and Twitter, and I figured it was time for a new list of Postgres-related people who I follow! Especially since a few people commented that Twitter was a waste of time last year πŸ˜‰

If you’re on twitter (or identi.ca), and I missed you — please comment below!

Here we go (in no particular order):

  • Selena Deckelmann (me!)
  • Gabrielle Roth, member of PDXPUG, main force behind Code-N-Splode
  • Mark Wong, performance expert, leading the Portland PostgreSQL Performance Pad and associated projects to bring regular performance testing back to PostgreSQL
  • Francisco Figueiredo Jr., developer maintainer of Npgsql, speaker, member of PostgreSQL.Br
  • Magnus Hagander President of Pg.EU – the European Union non-profit organization dedicated to PostgreSQL and supporting user groups in the region
  • Josh Berkus, pgsql-advocacy leader, Member of the PostgreSQL core team
  • Jean-Paul Argudo, leader/member of PostgreSQL.Fr and Treasurer of Pg.EU
  • Hubert Lubaczewski , author of a great technical blog about PostgreSQL http://www.depesz.com/
  • Nikolay Samokhvalov, leader of the Moscow PostgreSQL Users Group, and consultant in Russia
  • Kristin Tufte, Postgres user, member of PDXPUG and assistant professor at Portland State University
  • Satoshi Nagayasu, member of the Japanese PostgreSQL Users Group, and spearheading meetups in Tokoyo
  • Brenda Wallace, moble gadget fetishist, Drupalista and Wellington, NZ PostgreSQL User Group wrangler
  • Isis Borges, Postgres enthusiast, works in the fashion industry in Puerto Alegre, Brazil
  • Dan Langille, DBA and organizer behind PgCon
  • Michael Brewer, DBA and board member of the United States PostgreSQL Association
  • Joshua Drake, business owner, board member of the United States PostgreSQL Association
  • FΓ‘bio Telles Rodriguez, active member of the PostgreSQL.Br (Brazil) and PgDay Brazil organizer. If you speak Portuguese, you can check out Planet Postgres Br here – http://planeta.postgresql.org.br/
  • Fernando Ike, member of PostgreSQL.Br
  • Ed Borasky, PhD, analytics nerd, PDXPUG member
  • Robert Treat, author of PHP and PostgreSQL book, speaker, on the board of the United States PostgreSQL Association
  • David Wheeler, contributed citext most recently to PostgreSQL, consultant, maintainer of Bricolage, formerly of I Want Sandy
  • Greg Sabino Mullane, author of Bucardo and check_postgres.pl, maintainer of DBD::Pg, recently contributed patches to psql, on the board of the United States PostgreSQL Association, my boss πŸ™‚
  • Christophe, volunteer at OSCON for PostgreSQL booth, DBA
  • Aaron Thul, DBA, developer, speaker on PostgreSQL on Drugs πŸ™‚
  • David Fetter, DBA, maintainer of the PostgreSQL Weekly News
  • Elein Mustain, DBA, speaker, maintainer of http://varlena.com
  • Chris May, DBA, member of PDXPUG
  • Jason Kirtland, developer, maintainer of SQLAlchemy, Pythonista
  • Josh Tolley, developer, DBA, statistics nerd, author of PL/LOLCODE and pgsnmpd
  • Erik Jones, Portland resident, Pythonista, made a cool python-based partitioning tool (pgpartitioner)
  • Nicholas Kreidberg, Nevada resident, PostgreSQL user
  • Gavin Roy, DBA, Business dude, Myyearbook.com, speaker, on the board of of United States PostgreSQL Association
  • Chris Browne, Slony maintainer
  • Douglas Hunley, creator of pgsql_announce on twitter πŸ™‚
  • Larry Rosenman, PostgreSQL supporter, help with DNS for PostgreSQL.org, contributor (some of the syslog* stuff in version 7.0)

Organizations: