Tag Archives: job

Open Source: A Job and an Adventure

At LinuxCon in Düsseldorf, I gave a talk about the many ways that you can turn your work in open source into a career, so that you can get paid for all of the awesome work that you do in open source. If you already have a job in open source, I also talked about some of the different options that you have if you eventually want to do something different.

LinuxCon Düsseldorf

I uploaded the slides, but several people (rightly) pointed out that the slides with one sentence didn’t really capture the details that I presented, so I decided that I would take my speaker notes and turn them into this blog post. Enjoy.

My Journey

I ended up working in open source accidentally. When I was in college getting a computer science degree, one of the university sysadmins was teaching a UNIX system administration class. It was my favorite class – I liked it way better than programming, and when I was looking for my first job, I managed to luck into a junior sysadmin role at a local manufacturing company. Manufacturing companies really didn’t spend money on IT, so most of the tools that I used were open source. This was the mid-90’s, so it was way before you went to company websites to download open source products, and you didn’t want to install some random binary when you weren’t sure of the source, so I was downloading tarballs of gcc and other tools from ftp servers at places like the University of Wisconsin and CERN so that I could poke through the code before compiling and installing it on one of our UNIX boxes.

A few years later, after I had moved out of the sysadmin role and into more program management, I was at Intel in 2000 or 2001 when we were trying to get people to add support for the upcoming Itanium processors, and I was working on a team focused on working with developer tools. They needed someone to look at Linux developer tools, and especially the open source tools to see which ones were worth spending time on. Since I had used open source tools and had a UNIX background, they threw the project in my direction. A huge part of the evaluation was related to the community. Is there an active community? Are there regular releases? Are there users for the tools? I started to get more and more fascinated with how the communities worked. When I first started using open source, how a bunch of random people threw code together and actually ended up with something not only worked, but worked really well was a mystery to me. As I started looking more closely, I realized that there was actually some structure, with committers and maintainers, that just wasn’t obvious from the outside. I started getting more and more fascinated by how open source communities worked, and I started blogging about open source and speaking at conferences, which led me directly to my next open source job, which I’ll talk about a little later.

Now, obviously not everyone can be lucky enough to accidentally end up in an awesome open source job, so I’m going to talk about a few other options. I’ll will start with why you might want to make a career out of open source, but the bulk of the talk will explore the many ways to get open source to pay your bills along with examples of real people who have taken these paths. Even if you have already have one of these jobs, this talk will provide options for additional career paths and tips for what to do improve your chances of getting that next gig and how to avoid sabotaging your career. I’ll also share some time management tips to avoid letting this work take over your entire life (unless you want it to)!

Why: Friends

A lot of my friends are people that I met in open source communities around the world, and I often use travel or vacations as an excuse to visit them. Yes, this includes occasionally attending tech meetups while on vacation 🙂

I’ve also been surprised at how many times I run across the same people in different projects. Last year, I was contacted by someone from the Openfire community, a Jabber / XMPP chat server community that I managed back in 2007 or 2008. He’s using Puppet now at the university where he works, and he was interested in working with us on a Puppet Camp.

WerewolfThis picture is from a werewolf game at a MeeGo conference years ago, and I’ve stayed in touch with some of these people. I’ve found that I tend to form lasting friendships with people that I spend a lot of time with at conferences. Werewolf is one way, but there are also people that I spend time hanging out with over dinner, drinks or other conference activities that I stay in touch with. I’m also surprised at how often my work intersects with some of these friends, and we’re often in a position to help each other out with some project or activity in the future.

Why: Travel

Dawn at MeeGo Conf DublinThis is me giving a talk at the MeeGo Conference in Dublin. Not everyone who works in open source gets to travel, but I think that we have more opportunities to travel than many of our peers who work on proprietary products.

There is a lot of Conference travel with events like the kernel summit, KDE Akademy, other gatherings of developers for the open source projects. We do Puppet Contributor Summits for project developers twice a year, once in Europe and once in the US at our annual conference, but we also do 20-30 Puppet Camps for users around the world. These are great opportunities to meet the people that I interact online in real life.

Part of this is because we are working on open source projects, so we can talk openly about the work that we do. We don’t have to worry as much about accidentally leaking some corporate secrets. Attending and especially speaking at conferences is often encouraged by employers who want people to know about the work they are doing. It also makes it easier to hire people.

If you work at a big company, there is often company travel where they send you to places like South Korea to work with other companies that are working on the same projects.

Why: Future career

Because our work is in the open where other people can see it, we have visibility that many people just don’t have. When someone is interested in hiring you, they can Google you and see all of your participation in these open source communities. Being able to see actual examples of your work is way more useful for hiring managers than reading a boring resume.

Working in open source projects also allow us to make connections with people whose companies are hiring from the community. At every company where I’ve worked, we’ve hired people out of our open source communities. This is especially true of Puppet Labs and Intel.

Why: Awesome

I love the fundamental ideals behind open source software. I have the freedom to use it, to inspect all of the details, make changes to it, and to redistribute it as I need to without getting permission from anyone else. As a result, I think that we end up with software that is innovative and interesting, and we get to work collaboratively with other people.

As community lead, I even spend a lot of time collaborating with my competitors, which may sound odd to people who haven’t worked in open source. As an example, every year, all of my favorite competitors get together to organize the Configuration Management devroom at FOSDEM and ConfigManagementCamp the following two days.

How: New Project

This is what a lot of people probably think of when they think about people who have made a career out of open source, but it’s also probably one of the hardest ways to make a career out of open source. Your options are to find a company who is interested enough in the technology to hire you to work on it full-time – that’s the easy way in this option, and it’s not really easy. The hard way might be one of the most rewarding ways to make a career out of open source, but it requires building a company around the technology, and that can be hard work. It also involves doing a lot of business-y things to build a company, which isn’t something that every developer is capable of doing or even wants to do.

  • Linus Torvalds is a well-known example of someone hired by organizations to work on Linux full-time at Transmeta, and now at the Linux Foundation.
  • Frank Karlitschek wrote the original ownCloud code, but joined up co-founders Markus Rex and Holger Dyroff to help with the business side of the new company.
  • Luke Kanies is the founder of Puppet Labs – he picked the hard way. He wrote the original code and founded the company to support the work on his code. As the CEO of Puppet Labs, he has to focus on both the technological solutions and the business, and luckily for me, he’s become really good at both sides.

How: Participate

This is a much easier path than starting a new project, and this is probably the most common way to turn your open source work into a job. Most of the companies that I’ve worked for have hired quite a few people out of the community. We did this when I was at Intel, and we do it now at Puppet Labs.

This is one of the best ways to get your foot in the door with an open source job. Your participation in the community helps you learn the skills that you’ll need and make the right connections to get that dream job while also proving publicly that you can do the work.

  • Chris Aniszczyk, now head of open source at Twitter, got started in open source by hacking on freeBSD / Gentoo and started participating in the Gentoo community. These Linux skills helped him land his first job at IBM.
  • Selena Decklemann is currently at Mozilla and is well-known for her work with Postgres. In college, some friends taught her how to build a computer from scratch. She installed Linux on it. Within six months, she had a job in the law school at the University of Oregon as a sysadmin. When her boss quit, she was a sophomore in charge of the law school’s computers. Her active and helpful participation in other open source communities has been one key to her success and long career in open source.
  • Dirk Hohndel, currently Chief Linux and Open Source Technologist at Intel, was one of the first kernel developers in 1991 and then got involved in XFree86. In the mid 1990s, this work on Linux and related technologies turned into a full-time job when he started working at SuSE in Germany.

How: Not Just Developers

Not unlike companies, open source projects need people to do all kinds of things. You can’t really just have developers and hope that all of the other stuff magically happens. Someone needs to write the blog posts, do documentation, promote the project, and so much more.

  • Leslie Hawthorne, currently Community Manager at Elasticsearch, started her career working at Google as a staffing coordinator, and went on to create the world’s first initiative to involve pre-university students in open source software development. She’s been working in open source ever since.
  • Rikki Endsley spent her early years in open source as a managing editor for more sysadmin and Linux magazines than I can count, while gradually doing more and more community management until landing her current gig as community evangelist at Red Hat.

How: Join a Company

Another good way to start your open source career is to work for a company that does a lot of work in open source software. You can join one of these companies in all kinds of different roles: writer, marketing, system administrator, developer, lawyer, and so much more.

This is how I first turned open source into an accidental full-time job. When my manager at Intel asked me to start looking into some Linux development tools, it sounded like an interesting challenge, and I’ve been working in open source since that time.

  • Karsten Wade joined VA Linux as a project writer, moved to RH as a project writer and later moved into full-time open source project work. Contributing to the open source projects before it was part of his full-time job and networking with other people were key to his success.
  • Kim Moir worked within OTI, which was acquired by IBM when she was asked “So would you like setup servers for a little open source project called Eclipse?” 13 years later she is still in open source where she works as a release engineer at Mozilla.

How: Bring Open Source Into Your Company

As I mentioned earlier, when I was a sysadmin at a manufacturing company, we used a lot of open source software, since traditional manufacturing companies didn’t spend money on IT. Open source tools were really the only option for me.

  • Jeff Luszcz, co-founder of Palamida, a company focused on application security for open source software was working at NASA in the early 90s with a VERY small software budget. He ended up using tools, like GCC and others, which were “free” and powerful.
  • Eric Shamow, who I worked with at Puppet Labs, brought open source into an existing job to fill a need. He helped a university move from Windows and UNIX servers to mostly Linux and turned working with Linux systems into a job.

How: Get Out There

Some of my most interesting opportunities have come about as a result of my writing and speaking. My first full-time community manager gig landed in my lap when Larry Augustin and I were both speaking at a small open source event. I was talking about community, and he was on the board of a company who needed some community help. One of my first big speaking gigs was at SXSW, and I was asked to be on a panel by someone who had been reading my blog, but who I didn’t actually know. When I was consulting, a lot of my work came from people who had heard me speak at some point (often years earlier) or who were reading my blog.

  • Danese Cooper, currently the head of open source for PayPal, has done some really interesting work within open source, including creating the open source programs office at Sun and an open source strategist at the Bill and Melinda Gates Foundation. A big part of her success has come through her blogging and speaking at conferences on the topic of open source.
  • Stormy Peters, currently at Mozilla, has a similar story. She co-founded, and was later the executive director of the GNOME Foundation. She also founded the open source program office at HP, but much of her success comes from her speaking at conferences about open source.
  • Ibrahim Haddad, Head of the Open Source Innovation Group at Samsung Research America, was at university and the professor showed up holding a shoe box with Linux floppies as the first homework assignment, this was November 1994. In January of 1999, he wrote his first Linux Journal article.

How: Consulting

This is mostly a job strategy for people who are already well-known for their experience working in open source, but it’s a great career path if you want a little more flexibility from freelance consulting or if you want to build a consulting practice that fits your unique skills.

  • Christoph Hellwig’s experience with contributing to the Linux kernel and related technologies allows him to do consulting for a wide variety of companies while supporting his snowboarding habit.
  • Florian Haas has years of experience in open source and is an expert in high availability open source solutions, which allowed him to co-found Hastexo to focus on helping customers with their open source implementations.

How: Documentation

In my incredibly unscientific poll (asking people to tell me how they got started working in open source on Twitter and G+), the most common answer was that they got started with documentation. It’s a great way to get started in an open source project, which you can turn into a career by the various paths that I’ve already talked about.

  • Eric Redmond, who now works at Basho, wrote documentation and plugins for both major open source projects he’s been involved in. In one case working his way to core committer then joining a startup, and in the other case joining a company to work on core, but both cases started with docs.
  • Kris Buytaert, CTO at Inuits, started with documentation, then moved on to release management, then started submitting patches, then doing talks, then organizing conferences, like DevOpsDays.
  • Jeff Osier-Mixon (aka Jefro), Community Manager for Yocto, also got his start in open source with documentation with Cygnus.

How: Be Nice

Now, I’m going to transition into some of the things that you can do to improve your chances of getting that first job in open source or improving your chances of getting the next gig. Your interactions within the community will live forever. You never know when that random person you are talking to on IRC might have a job for you years in the future – assuming you treat them well 🙂 Be nice and avoid negative interactions with people. I continue to run into the same people in different communities, and you never know when you might end up working with or even for that person that you are interacting with online today.

How: Networking

Networking is another key to increasing your chances of being successful. This is true if you are looking for a new job in open source or just making the best of the job that you have now.

NetworkingWhen you are looking for a job is not the time to start networking. This needs to be more long-term and something you should be doing all the time. It’s also not about being weird and sleazy or about exchanging the most business cards. It’s about having interesting conversations. When I think of these activities as “networking” or even as work that it tends to feel weird. I recommend approaching it as having conversations with people that you find interesting. If someone is boring you to death, you should make a nice, graceful exit and find someone whose work is more interesting to you. Talk to a wide variety of people and learn more about what they do. If it’s something that you want to know more about, then spend more time talking to them about it. Personally, I love hearing stories about how people ended up working in open source and hearing about what people are working on.

Time: Prioritize

Once you get that awesome open source gig, one of the tricky things about working in open source is that these projects are 24×7, something is always going on, and they can suck up as much time as you allow, which can leave you exhausted and burned out. Finding the right balance between doing as much as you can, while not pushing yourself past your limits is something that I constantly struggle with. I always want to help out and do everything that I can to make the project successful, but there is only so much that I can do.

I try really hard to prioritize my activities, especially when I already feel like I’m starting to get burned out. I try to be brutal about which tasks I need to focus on because they are the most important, not necessarily the ones that other people think are the most urgent.

I also try to delegate – sometimes this is explicit, like asking someone to help out with a task, but a lot of times, it’s more subtle. I often wait to respond to requests or questions in hopes that someone else will respond. This works more often than you might expect, but it does mean that I often have to look at thread later to make sure that someone responded. Waiting also has the side effect of giving others the space to contribute. If you are answering too many of the questions, people start to expect that you will be the one to respond and won’t bother replying to questions from other people.

Time: Document

Most of us fail at documentation at some point. I know, I know, no one wants to write documents. It takes precious time, but it can save you so much time in the long run.

Documenting processes and procedures for the project is also what allows you to more easily delegate tasks. It’s way easier to delegate a task to someone else if you can point them to a document describing exactly what they need to do.

If I’ve answered the same question or written similar content 2 or 3 times, I always try to make sure that I document it. I have tons of email templates and canned responses floating around. I use canned responses as the start to my answer when I get those common questions. I usually customize it a bit, but the basic idea and usually a few links to more info are mostly the same. I also have a bunch of docs that contain email templates for common tasks, like accepting or rejecting speakers for events or asking people to do common tasks.

Time: Off

VacationI take my vacations very seriously. For someone who works and travels as much as I do for work, I need some serious downtime. I take one “real” vacation a year, which usually involves a beach, fruity drinks, a Kindle full of sci-fi books and not much else. For these vacations, I ignore everything – my work email, which is where my mailing lists go, remains unopened, and I try not to think about work or any of my open source projects. I’m lucky that I’m in a community full of really great people, which makes this a lot easier.

I’m a lot more flexible on some of my other vacations. I try to disengage from work and only do things that seem like fun. I might play with some new technology that I’ve been meaning to try or write some blog posts or attend a few meetups, especially if I’m in another city.

I also try to make sure that I take some time every day for things that I just enjoy doing that allow me to completely disengage from work and other projects. Right now, this is mostly reading sci-fi and playing a few games of Hearthstone.

Boldly Go

As a community manager working in open source communities, I’ve had a fantastic opportunity to explore strange new worlds, to seek out new life and new civilizations, to boldly go where only some people have gone before.

You can check out the slides from the presentation with many more images and a one sentence summary of each point.

I don’t have the patience for digging through the spam to find the legitimate comments on my blog, so comments here are disabled. However, I love feedback and you can reach out to me as @geekygirldawn on Twitter or via various other methods located in the sidebar.

Photo Credits:

Leaving Intel and Moving On

After over two years of leading the community efforts for the Open Source Technology Center, I have decided to leave Intel. This was a really tough decision for me, but the reality is that the job isn’t the right fit for me right now for a variety of reasons. I want to thank the management of the Open Source Technology Center for working with me during the process of trying to make the job work better for me. It’s a great team of people who continue to do really interesting work in open source.

But, it was more than just the job. I’ve worked in large companies and startups, and I’ve realized that I really want to get back into a startup again. I miss the energy of working in a startup where everything moves faster than in a large corporation.

I’ll be taking the rest of August mostly off to relax and work on a few geeky personal projects. Starting in September, I’ll either take a full-time job or do some consulting while I continue to look for the right opportunity. I’ve already starting talking to a few people, and I would like to eventually land at a startup in a Director / VP level community, evangelist or open source position. I’m willing to take my time to find the right fit, and that includes finding a job where I can live in Portland, but travel to other places as needed.

I feel very fortunate to have some flexibility and other options that allow me to make this move now. As a result, my last day at Intel will be August 7. While I will miss many of the friends and smart people I’ve worked with at Intel, I feel like this is the right decision for me at this time.

Photo by Patrick McGarvey used under a Creative Commons license. A side note: this is one of my favorite roller coasters, The Maverick, at Cedar Point in Sandusky, Ohio, and I plan to ride it on vacation next week! 🙂

Online Community Manager: Yes, it's really a job

This afternoon, I’ll be spending some time at Portland State University talking about what it’s like to work as a community manager. I’ve done this presentation a few times before, but I completely overhauled the materials this week with new data on community manager salaries, job satisfaction and more. I also added some updated slides with best practices and information about the skills required for community managers. I thought that other people might be interested in seeing the materials, so here they are!

If you are interested in becoming a community manager, I’ve written many other articles on the topic that you might also find helpful:
http://webworkerdaily.com/2009/01/26/online-community-manager-yes-it%E2%80%99s-really-a-job/
http://webworkerdaily.com/2009/01/30/online-community-managers-what-do-they-do/
http://webworkerdaily.com/2009/02/02/online-community-manager-what-does-it-take-to-be-successful/
http://fastwonderblog.com/2007/08/05/reflections-on-community-management-aka-what-do-you-do/
http://fastwonderblog.com/2007/09/03/what-does-it-take-to-manage-a-community/
http://fastwonderblog.com/2007/12/17/community-roles-manager-moderator-and-administrator/
http://fastwonderblog.com/2008/06/14/hiring-a-community-manager/
http://fastwonderblog.com/2008/07/04/how-to-get-a-community-manager-job/
http://fastwonderblog.com/starting-point/learn-more-about-online-communities/

Joining Intel as Community Manager for MeeGo

MeeGo_logo_gmBig changes are coming my way in March. I will be joining Intel on March 1 as Intel’s community manager for the newly formed MeeGo open source community. MeeGo was formed out of a merging of the Moblin and Maemo communities, and I am really excited about the opportunity to work on this new project. As I dig into MeeGo and get more familiar with my specific role, I’ll post more details about exactly what I’ll be doing.

This is my second tour at Intel; I first worked at Intel from 2000 – 2006. At that time, I had never worked for a company with less than 20,000 employees. All of my work experience was in large corporations, but I had no startup experience. I left Intel specifically to spend a few years working in much smaller startups and to focus on roles where I would be building online communities. I worked in 2 startups, including Jive Software where I built and managed the Jivespace developer community. When I joined Jive, there were only 50 employees, and a year later when there were nearly 150 people, it started to feel less like a startup. At that point, I decided that it was time for me to break out on my own to do freelance consulting, which was something I had been wanting to do for a while. Freelancing was another first for me, since I had never owned my own business or done any outside consulting.

I have been consulting for almost 2 years, and there are parts of it that I love and parts that aren’t as awesome. I love working with clients to build communities and having copious amounts of flexibility in my schedule and working arrangements. However, I don’t enjoy doing business development, invoicing, and many of the other tedious business tasks. As a freelancer, I pay more in taxes and many things become much more complex, difficult and time consuming: health insurance, retirement savings, etc. There are also the inevitable ups and downs that cause plenty of stress when you are trying to line up that next gig to replace the one that is wrapping up.

The biggest challenge for me is one that sounds almost counter-intuitive, but it is the biggest issue that I have with my freelancing career. By becoming a freelancer, I took my hobbies and turned them into paying gigs. Sounds awesome, doesn’t it? Well, it was great … at first. Recently, I realized that many of the things that I used to do for fun now seemed like work, and they became less fun over time. All of a sudden, activities like blogging, attending events, speaking at events, and more felt like a big weight on my shoulders, since I needed to use these as ways to generate more business. They started to feel more like marketing and less like something that I was passionate about and doing for fun. All of a sudden, my hobbies had mostly disappeared, and I was spending all of my time doing things that felt like work, which has left me burned out. This is the primary reason that I recently decided to go back to corporate life.

I’ve been doing a bit of consulting at Intel, and I’ve enjoyed seeing some of the changes that have happened while I was gone. I’ll be joining the Open Source Technology Center, which has grown since I left, but I still have many friends working on open source at Intel, and I am eager to work with them again. I’ve also been really impressed with how other groups at Intel have embraced social efforts through the work of people like Josh Bancroft, Kelly Feller, Bryan Rhoads and many others.

I’m looking forward to working on MeeGo and am truly excited to be going back to Intel.

Online Community Manager: Yes, It's Really A Job (Slideshare)

Earlier this week, I did a blog post with this name on WebWorkerDaily talking about community management as a profession in preparation for my presentation at Oregon State University this afternoon.

The presentation covers several topics related to community management careers:

  • Defining Community
  • Community Manager Jobs (examples, job description and skills required, salaries)
  • Guiding Principles and Best Practices

Several people have asked for the slides, so here are the ones I’m bringing with me to the presentation. As always, I may take it in a different direction depending on the questions from the attendees, but at least this gives me something to deviate from.

How to Get a Community Manager Job

A couple of weeks ago, I wrote a similar post, but from the opposite side: Hiring a Community Manager. This week, I’ve received emails from several people asking about how they can become an online community manager. I thought it would be a good idea to write this post for people who want to be hired into their first community manager job.

Start by reading the Hiring a Community Manager post. It has many links to blogs about online community management, the role of the community manager, community research, job boards focused on community manager positions, and much more. It will also give you insight into the thinking that employers might be doing when selecting a community manager.

There are a few things that you can do to build your expertise in community management to improve your chances of getting hired. They fall into 3 main areas.

  1. Participate. You can build a lot of expertise by participating in existing online communities as a user. Find something that you are passionate about (restaurant reviews, happy hours, guitars, underwater basket weaving, whatever), and find a community of people with similar passions. Participate in a couple of these communities, and post regularly. Use the experience as a member to see what works well and what doesn’t, and think about how you would make the community better if you were responsible for it.
  2. Share Knowledge. Take what you have learned and share it with other people. Start a blog that is focused on community management, and share what you are learning. Do research on other communities and blog about what you find. If you want to expand out past writing, you could do video / audio podcasts or other various methods to communicate about what you have learned. When you begin interviewing for community manager jobs, you will have a nice base of information to share with prospective employers, and the blog should have a prominent place on your resume.
  3. Volunteer. Help a local non profit organization build an online community and be the community manager for that new community. This could be an online community of volunteers or an online community related to the purpose of the organization. Nothing demonstrates your abilities as a community manager better than a working example that prospective employees can see in action.

I’ve focused on what I think are the 3 most important things you can do to build your community management skills. Jake McKee has a couple of good posts on this topic as well with a few more ideas, including sample courses for college students to take:

I know that quite a few community managers read this blog. What do you think? Is there something more important than these three things for someone wanting to break into the field? What would you suggest?

Related Fast Wonder Blog posts: