Join Lauren Bacon for an in-depth discussion in this video Interview: Angie Byron, part of Web Career Clinic.
- View Offline
- [Lauren] Hi, I'm Lauren Bacon, and welcome to this week's edition of the Web Career Clinic where I explore how to build a career you love making good stuff on the web. Today I'm talking with Angie Byron who is the Senior Director of Product Management for Drupal at Acquia. She's a Drupal core committer. She's the co-author of the O'Reilly book Using Drupal, and in my opinion, she is the number one reason the Drupal community is as vibrant, diverse, and welcoming as it is. Angie, welcome to the Web Career Clinic. - Wow, Lauren, thank you very much.
I really appreciate it. - [Lauren] So first of all, just in case there's anyone watching who hasn't spent much time exploring Drupal, can you tell us a little about it? - Yeah, so Drupal is a content management system, so that means that you can fill out little forms, and you can make your web pages without having to know a lick of code. But if you do know a lick of code or several licks of code, it's also a content management framework, so you can extend what Drupal does out of the box to make it do, you know, integrate with your phone system or to make it spit out a mobile application or things like that, and then the third thing I like to say Drupal is it's a community, it's a community of thousands of people all over the world who all work together to make this open source software that anyone can build an awesome web application in.
And so, some examples of organizations or individuals who are using Drupal, it powers the White House website, including wethepeople.gov, which is sort of a crowd sourced ballot petition system where you can, you know, tell your government that you think something needs to be done about this and rally a bunch of people behind your cause. It powers a bunch of nonprofit organizations such as NCIU, EFF.org, things like that. It's also used extensively in the media, so grammy.com is using it, various MTV.uk is using it, lots of places around the world making use of Drupal.
Anything that sort of requires structured content, so the ability to create content, and then display it in multiple different ways. Anything that needs a lot of robust users and permission and role handling, anything that requires the ability to integrate with third party systems, this kind of thing. I like to say that Drupal is great for people who don't know, they have customers who don't know what they want, because if you have customers who don't know what they want, it's perfect, because you can keep adding stuff on, you just turn on a check box, you have an event calendar or wiki or these kinds of things so.
Yeah, so that's kind of what Drupal's all about. - [Lauren] And what's your background? How did you get into coding personally? - Right, so I got a computer when I was about four years old, much to my mother and father's chagrin. They didn't know what to do with it. It was from my aunt, who's technical, and so I had to figure this thing out because I wasn't going to get any help from my parents, and so I taught myself to code by copy and pasting programs out of the back of 3-2-1 Contact Magazine, which was a thing back in the 80s.
And so I would type in 4,000 lines of basic code to make a little box go like this on the screen. So that was a lot of fun. And then I didn't really touch development again until I was a teenager and we had the Internet, because I thought the Internet was this amazing thing, 'cause I could be sitting in my house in the middle of Minnesota in the middle of nowhere and be talking to people in Pakistan or Japan or Europe or anywhere. And so, I proceeded to kind of want to learn everything about how that works, so I taught myself networking and some Pearl, and that begat PHP, database systems, how to tear computers apart and put them back together again, that kind of thing.
I would say kind of innate curiosity is what drove me into programming, and I think I'm also a person who really likes both artistic stuff and puzzles, and programming worked well for that sort of mentality. - [Lauren] So one of the things that we haven't really mentioned yet is that Drupal is an open-source piece of software, platform. And what drew you to get involved in open source? - Yeah, so I first read about open source when I was a teenager, and I read about Linux and Linus Torvalds and some of the other big names, Richard Stallman, like, some of the other folks.
And I always thought the ethos of open source or free software really resonated with me. It was this idea where you get a bunch of really smart people together who are all know a lot about what they do, and they put their stuff out there for free for anyone to use and modify and take it in different directions that suits them. But I always had this image in my mind that everyone who worked on open source was like this super Einstein person, and that I was just, you know, a kid in community college and so I could never be one of those people.
But I used to cheer open source on from the sidelines, so I was like that really obnoxious person in class who was like, hey, if you're going to teach us about, you know, Oracle, you have to teach us about MySQL, rah! You know, which nowadays are the same thing, but, back then, that was kind of a radical thing to say. I was sort of an evangelist for open source, sort of on the side lines, and there was this website called Spread Firefox at the time, and it was this really neat website that allowed anybody to upload posters or graphics or flyers, anything at all that promoted the Firefox web browser, because at that time, they were trying to overtake IE, and they got big ads in the New York Times, and stuff like this, and I'm one of those people that views source on every web page that she goes around, 'cause I'm just curious about how things work, and I saw that Drupal was the thing powering this website, and I thought, well that's neat.
Like this cool, grassroots empowering website thing is covered by this thing called Drupal, and then I never thought of it again, because I was making my own CMSs from scratch with PHP and stuff. - [Lauren] You got involved in the Google Summer of Code, and that sent you on a different path. Can you tell me about that? - Google Summer of Code was really interesting because it made it so that if, they obviously knew you were a student, so you didn't know everything yet, and so that gave me, I felt like, my in to open source, because I knew I didn't have to be this super smart person who knew everything.
So that got me involved in open source to begin with through Drupal, and once I was on the other side of that wall I had built up for myself of you must be this smart to participate, all the doors opened for me. I realized that I could do anything, I could work on graphics, documentation, core patches, contrib modules. I could work on the Internationalization Team, the Security Team, the Webmasters Team, anything. And that really anyone that has a driving passion to do this stuff, and a lot of free time, it's worth saying, (laughs) can do this stuff, and I hadn't realized that before.
And Drupal community in particular has a very collaborative nature where it's like we all know no one knows everything, but everyone knows a little bit, and you can tack on a bunch of your little bits of information so that everybody benefits from the full solution. I proceeded to get very involved in open source once that subtle tiny crack was opened for me by Google Summer Code. - [Lauren] Yeah, I feel like your experience is really common, where I think a lot of people are very intimidated by the idea of getting involved in an open source project, even if they use a lot of open source software, they might find it daunting to even file their first bug report.
What do you say to people who are maybe a little nervous about jumping in? - Sure. I think what I would say that's the most practical thing I could say is rather than trying to find all the documentation you're supposed to read and do all the things, I would recommend finding a buddy in real life. So there's different ways to do that. You can go to local user group meetings if they have those for your technology, you could go to do an event, like we have Drupal Cons or Drupal Camps, that kind of stuff, but find somebody, a coworker, a friend who's also learning this stuff and just want to pair up with, because I find that you can accomplish so much more fidelity in a 10 minute conversation with someone who knows this stuff than you can with a lot of lot of time of bashing your head against the table on your own.
But, if that option is not available to you, the next thing I would suggest is look for mentorship opportunities that might be offered by the community. So for example, in the Drupal community, we have weekly mentoring times where people can come in and ask whatever their stupid questions are, like how Get works and what the Issue Queue is or these kinds of things, you know, people on hand who actually help with those kinds of things. Google Summer of Code is another one of these mentorship opportunities. A lot of communities offer internships, both paid and unpaid. There's a lot of different ways to get your feet in the water via the buddy system.
If that also isn't available to you, then I usually start with a real time medium, like IRC or Slack or whatever they have available, because then, that's a little bit more of a safe place to kind of screw up. (laughs) 'Cause it's not like it this recording for all of time, and people would be laughing at you, just kidding. But honestly, what you need to do is you just need to try and get over that initial feeling that you're not good enough, because I tell you, as a core committer, I have reviewed the best code from the best people, and it's all crap when it first starts out. I can tell you that definitively.
It looks great when it's in the software, but that's because there was 100 comments behind that and 30 different patches of people going back and forth, because nobody knows all of this stuff out of the get go, and they all had to learn somewhere. That would be my recommendation I guess. Number one, try and find people in real life. Number two, look for specific on-ramping that any community might have, you know, like a novice channel, more-ten-times, these kinds of things, or three, if all of those don't work, maybe try and find, in the way of a chat, real time chat thing is because usually those folks are a little bit more understanding of, you know, novice questions and that kind of thing.
- [Lauren] Are open-source contributions good for your career? What are the career benefits? - I would say open-source contributions are very good for your career. And that sword kind of cuts both ways. So, if you're the kind of person who has a Good Hub profile with lots and lots of lots of activity, you've got projects on there that lots of people have starred and forked, it really helps to build your credibility as a developer and people can look at that, especially lazy people who want to hire people and just look at that and say, oh, that person obviously knows what they're talking about, let's put them in the filter.
It's bad in that contributing to open source, in addition to it requiring skill of some kind, and I hasten to add it doesn't have to be development skill necessarily. There's lots of ways to contribute to open source through event management, through documentation, through usability testing, lots of things, but development definitely has the most metrics behind it, so that's the easiest way to get recognition career wise. And the thing that you also have to have in addition to those skills though is you also have to have time available, and this is something that a lot of people, like for example, single moms who have to do all of the housework and stuff when they get home from work, don't necessarily have access the same level as a 15 year old who still lives at home, and has nothing else going on in their lives, and you know, has time at school to contribute to open source, that kind of thing.
So it's not really a level playing field, but if there's a way for you to try and find a way to get your name out there in an open source code, I think it's definitely beneficial. Some of the specific benefits you get is, you get to tout the fact that you have code that you've written, and you can prove it. It's out there, you know. Versus if you only write code that was in your client's private subversion repository, you know, that isn't something that stands as good for you when you're in an interview situation. The second thing I would say is it helps with a lot of people skill type of things.
Working on open source involves communicating with people all over the world, different languages, different backgrounds, different skill levels. I involves evaluating incoming contributions, and trying to make the call on whether or not that's appropriate or not, so scope management of your project, things like encouraging new contributions, all these kinds of things all play into that, and they're all incredibly valuable skills whether you're in software development or otherwise in order to take into your career. The short answer though is yes. Very good for your career. (laughs) If you can swing it.
- [Lauren] You've mentioned a couple of times that it's not just for coders, you know, open source is something a lot of people can get involved in, there's all kinds of different ways people can get involved, and I think Drupal has done that really well compared to a lot of other open source projects. They've been very welcoming to non-coders and to coding newbies, and there are lots of ways for those folks to contribute. Can you speak a little to that, to what opportunities are available to non-coders. - Yeah, sure. One of the best ways that our project has, and I imagine this is used in other projects, too, is when we have these events, these in person events, we often have a contribution sprint day at the end, and that's an opportunity for, you know, there's tables set up, and this is the table about media, and this is the table about automated testing, or whatever the tables are, and it's an opportunity for people to sit in groups of people, and you can sit next to the person who wrote that thing, but you can also pair them up with a designer who knows how to make that thing look like something that a normal person could interact with.
And there's a lot of different synergies, if I can use an awful word that's going to make me vomit and succumb, (laughs) a way to get from that kind of collaboration method. So the types of people we have showing up at a contribution sprint is for like, we have graphic designers showing up, steamers, front end developers, that kind of thing, and they're great for pairing with a back end developer who knows how to make something functional but then puts 1,000 check boxes everywhere because obviously, people want that kind of power. We also have a lot of people who participate in documentation sprints, particularly valuable if you don't know the software really well, because then you know how to write documentation in a way that you'll understand it, or at least you'll know how to work with someone who's writing documentation about that and say, I don't actually know what a node is, and they'd be like, oh, yeah right! And they can give you proper cross references, and that kind of thing.
Usability testing is another big one, but we don't do nearly enough. There's a lot of people who have access to non-technical clients or relatives that they're building websites for or this kind of thing, and it's really helpful to be able to get in-the-field information about where people struggle with the various interfaces, because the people working on the software, they know how everything works. They learned all the tricks that you have to right-click here and jump here, and do de do, and it's just like second nature to them, and every time I've ever seen a developer in a room with someone who's using it for the first time and seeing what they go through, it's just a mind-expanding process, because it builds empathy for what people who are not like themselves use the software with.
Another thing that is really helpful is facilitating those in-person get togethers, so hosting a sprint at your office, hosting a local user group at your office, buying some pizza for people to come and talk about your technology, whatever technology you're in. Facilitating those real world conversations so that someone can get their first baby steps in the community as a contributor is really valuable as well. Sponsoring those kinds of events, paying to make sure a local camp happens, there's many, many, many, many different ways to contribute to open source that are not about code.
- [Lauren] And you've done a lot to make Drupal a diverse and inclusive and welcoming community. Why do you think that matters? - I think that matters for a number of reasons. If I hadn't been in Google Summer of Code, honestly, I probably would not be here right now, meaning, I'd still be here on the earth, but I probably would not be at Drupal, because my first five seconds in the community were, I didn't know all the community norms, and so I barged right into the IRC channel, and I was like, "Hi, everybody! I'm so happy to be here.
I'm going to be a Google Summer Codster, what?" And people are like, "Shut up! This is the developer channel." And I was like, (gasps) you know, and I kind of ran away, but because I was sort of contractually obligated to stay, I obviously stayed and got over that, and kind of actually learned a bit from that experience, that, hey, maybe I should take a little bit of time to learn about the culture of the community before I just barge in there. But I think that people didn't have that perspective, and so I've kind of made it my life's mission since then to make sure that's no one else's experience after that.
(laughs) Because there's a lot of people that are older in their careers, or they have time constraints like children or housework or this kind of thing, or whatever their deal is, and they are not going to be as able to read up on all this stuff. We still really benefit from their contributions, though. It's interesting because for a while I led a group called the Drupal Chicks, which is like a group of women, Drupal people, and every time we'd meet at an event, we'd go around the circle, and what was amazing to me about those is, almost without fail, everybody in that room was from a non-technical background.
There were people in that room who were anthropology majors, who used to stamp papers at a court, who were accounts and they were retired, and this is what they did, on and on and on and on. All these different things, and yet, the people in that room were one of the designers of the content creation kit, which is the fundamental architecture of Drupal. There was in there the CEO of a major hosting company, there was all kinds of these people, and they all come from all these diverse backgrounds. So I think it's really important, particularly in a project that's meant to appeal to a mass market of people, to have the most diverse audience that you can, because that's how you make your product better.
That's how you get the different perspectives, the different skills sets, I think before I came in that documentation was not as big of a focus as it was afterwards, because I couldn't figure anything out, and so I documented the heck out of everything, these kinds of things, so. - [Lauren] Do you have any final words of advice for people who are in the earlier stages of their web careers? - Yeah, my advice would be to get out there and do stuff. It doesn't have to be perfect, it doesn't even have to be good, but by showing the track record that you have been working on things, and you've been progressively getting better over time, that, I think, means more to potential employers than it does that you come out once in a while with a big, huge, perfect thing.
It also makes you more successful in open source in general. I have this essay on my website that compares and contrasts Sloppy Sam versus Perfectionist Pete, and Sloppy Same, well, I'll talk about Perfectionist Pete first, 'cause that's who I was when I first started doing all this stuff. So Perfectionist Pete is the person who reads everything there is to know about something, will know all the coding standards by heart, make sure to follow all things, doesn't ever ask a question, just researches everything to figure out what it needs to be.
So you hear from Perfectionist Pete about once every month or so, and whenever you do, it's like, boom, that's perfect, you could (kissing sound) eat off that code, it's beautiful, right? Sloppy Sam, on the other hand, does enough research so that she's respecting other people's time, which is not just saying, how do I forum with a thing, but she's going through, and she's saying, okay, I've done enough research to know this issue does kind of what I want, so let me talk to the person who last posted on this issue, and see if they have any knowledge about this. So they get into a conversation, and she's like, I really want to solve this problem, and they're like, oh, I kind of did some work on that, here's some code that doesn't really work, but maybe you can work with that, you know.
So she takes that code, and she posts the issue, and then she does a little bit of work, and posted the issue again, and says, hey, is there anyone around who can review this? And someone else comes up and says, oh, yeah, that's okay, but you're missing some coding standards, so try this and this. And they have this back and forth. And Sloppy Sam tends to excel in a community where, you know, we're not all together with each other because Sloppy Sam, for every one positive interaction that Perfectionist Pete gets, Sloppy Sam probably gets, like, six really nice interactions, because, even though she doesn't have all the answers, it's clear that she's eager to try and improve this situation, and she's going out there, she's asking the right questions, she's doing the work, she's not asking other people to do the work, and this kind of thing.
And at the end of the day, both of those processes are going to end up with the same level of code, at the end of the day. It's just Sloppy Sam takes a bit longer and involves more face-to-face interaction with people. I would say my big mistake when I first got into open source and web technology in general was that I was trying to Perfectionist Pete everything, and I ran into road blocks that I did not know how to get past, and there was a particularly bad because I was a Google Summer Code student, so they thought I was smart, so of course I couldn't ask a question, 'cause it's way smarter to bash your head against the table, like, 1,000 times.
Getting over that was single-handledly the biggest thing for my career. Getting over the idea that you have to be perfect. Getting over the idea that if other people look at your code, they're going to know that you're a horrible person, like, no. Everybody understands that code isn't perfect the first time. Everybody understands that we're all trying to do our best, so I would say just get out there, just take a stiff drink of orange juice, or whatever you need to do. (laughs) But get out there, try and try again, and fail, and fail a few times, and fail really badly a few times, because it's only through that you're going to learn, and when people see you earnestly trying, they have a lot of respect for that, and you'll get the help that you need.
- [Lauren] Angie, thank you so much for being here and sharing your insights. - Yup, very happy to be a part of it. Thanks a lot, Lauren. - [Lauren] You can find Angie on Twitter at @webchick, and you can learn much more about Drupal at drupal.org, and that's D-R-U-P-A-L dot org. That's it for this week's episode of the Web Career Clinic. Tune in next time as I explore another topic for web professionals, and if you have questions about your web career, you can hit me up on Twitter at @laurenbacon using the hashtag #ProWebClinic.
See you next week.
Tune in every Wednesday for a weekly "small dose" of advice, an explanation, or an interview with a web veteran. Lauren Bacon has mentored and coached many web professionals as they were starting out and loves sharing all that she's learned from her 15-year career as a designer, front-end developer, and agency principal.