 So, I titled this talk before I knew the unofficial theme of the conference was empathy. So I'm glad I fit in and I'm not actually going to talk explicitly about empathy but more kind of about my journey throughout kind of the programming world and how it's kind of ended up in the last five years or so with me working pretty much exclusively on documentation and both community and tooling around that stuff. And so kind of the beginning of this starts out about seven years ago I was just about to graduate university and I was writing Pearl for the military and myself and I think a lot of people in this room probably that's not the most kind of congruent activity that I could have been using my time for and it was one it was working for the military but two it was you know this tech culture where there was no documentation no tests no virgin control it was just a bunch of people that had been coming out of the same university and just kind of writing code kind of in a very cowboy style and so I was like okay I need to I've been dabbling in open source and I was like I need to do something that's more kind of what I want to be doing and so I started looking around and I kind of found Python and Django and I actually downloaded the Django documentation as a PDF and I went on Thanksgiving break my senior year and pretty much read the whole thing over that break and I was just so amazed that this document was both teaching me Python was teaching me Django but it was also teaching me kind of web development and best practices all at the same time this was a really really amazing thing and I really kind of fell in love with Django at that point and actually this most amazing serendipity kind of happened you know that the next the beginning of that year I started looking for jobs and I actually posted a blog post about looking for a job the day before Jacob who was the first speaker actually quit the job that he talked about being so transformative in the Django world and so it was just this amazing thing where I actually ended up kind of taking that job that he had given up and I just ended up going to Lawrence Kansas and I found myself in this this wonderful place that just had this documentation culture Django was started in newspaper one of the core people was a journalist you know it was just this amazing group of writers and there was there's this really this value of documentation both within the Django world but also kind of within the Python world as a general community and the best way I kind of like to think about this and explain that kind of touching a little bit on making things normal is that in the Python world people don't use projects they don't have documentation and I think that's starting to become more and more normal in the tech world as a whole but for a long time that's really been the case where you'll go to a project and the first thing people think is to look for documentation not tests not anything else and this leads to a to a community and a culture that really cares about this and so it kind of as an artifact of that I actually started writing documentation for my projects I was just kind of dabbling around an open source and actually wrote like a project that was only documentation as that was the only kind of thing right it was like how do you do this thing a set of documents and I just I have to give Jacob a lot of credit here because he's done an amazing work amount of work like making documentation and open source better his 2009 articles I think are still some of the most referenced writing on documentation that exists I think like Rust or one of these new languages actually like generates a new template of their docs that links to this piece if you haven't read it it's really really pretty amazing and also he gave a great talk at 2011 at PyCon really kind of if you like video over text going through some of these ideals and it was really really impressive that this community cared so much about this problem and so around this time actually created something called read the docs and this was built as a tool to kind of reduce the barriers to writing and publishing documentation so it's basically the like answer to how do I publish my documentation once I write it so I truly believe that you know every barrier that someone has to actually doing the task that needs to be done especially if they aren't that excited about doing it kind of in the first place is is you know you'll just drop the percentages of people that actually perform that task and so we were basically just a hosting and kind of building platform for documentation and this really solved a problem that I had I had you know a cron job running on a server somewhere that was pulling down my docs and building them and I'm like we have tools to solve this problem as web developers and that's really what we ended up building is it was just a commit hook that automatically pulls down your code builds documentation hosts it was very much a tool right it was there to solve a very specific problem and at this point I didn't really understand documentation at a very deep level I just was like oh I know I'm doing this thing and I want to have a tool that makes it easier and makes it better so this was around 2010 when this was created and the slight kind of or the site kind of slowly picked up steam over a few years and we just had this kind of tool that was used in the community but it didn't have any kind of community around it there was no kind of group of people there was not a lot of activity on the ticket track or anything like this so I think at that point in about 2013 we're up to about a million page views a week or four million a month mostly kind of in the Python world we're like all right we have all these users but why aren't they talking to each other and like a lot of people in the tech world the answer to that is get everybody in a room and they will talk to each other so write the docs is actually the documentation conference that I helped create in 2013 and so this actually happens down in Portland every year but we started out thinking was just gonna be this little 75 person you know regional event mostly for users of our software and it ended up the first year being 200 plus people and we kind of the way I like to think about it is we kind of threw a party for our friends and a bunch of other people just kind of showed up but they were all really really amazing and awesome people there's this whole kind of community of writers that exist within open source and software projects and enterprise as well that didn't really have a place that they felt was there their home you know a lot of open source projects have one or two people that care about documentation a lot of companies have one or two people whose job it is it's a very kind of a lonely view and profession and so we actually built a room that kind of brought everybody together and it's a very different feeling than a programming conference even though there are a good number of programmers there it's just a different kind of community and so this is actually the crystal ballroom last year we had about 350 people that got together and sat in a room for two and a half three days and talked about software documentation I think that's really really interesting because we invited really everyone that cared about documentation we weren't just like this is a programmers documentation conference there's not a conference for writers we were basically said if you care about documentation and you're in the software industry in some fashion come come to our event so we get you know we get writers we get programmers but we also get support people we get a lot of you know a few designers we get a lot of you know just just a spectrum really of people within the organization and within open source that care about this problem it really does lead to a much more interesting and diverse group of people and one of the things I've learned is the kind of documentation like attracts people who are empathetic which is really interesting because you have to kind of have that to be able to write documentation well and so my interactions with this community over the last few years have helped me kind of understand the documentation is more than a tool as a programmer it's really easy just to see kind of API references and tutorials and be like this is the sum of what documentation is as it exists in the world is how it applies to me but it's not that like in any way documentation as an abstract concept is a tool that they can teach understanding to people and empowers people to be good at their jobs it saves people time like it's an entirely different skill set than programming as well right like the act of writing and the act of communicating to people is totally different than the act of writing code in the act of writing tests and so I kind of understood the technical writers and people like this know how to make software understandable and I view this as kind of a distinct skill set from the skills that you know programmers and designers have and this has been really interesting because it's kind of over the last few years it's been really kind of heartwarming to see that kind of I do see more and more communities valuing documentation around the web I know Julia the language has some really interesting documentation go has Godoc which is mostly referenced but it's really kind of caught on within that culture and Rust as well has really really fantastic documentation really I think like kind of the new range of languages that are being built this is something that they do really care about and I think the culture is really starting to shift towards you know more people caring about documentation but I like to talk a little bit about kind of why it is that documentation doesn't get written and there's and this is something that I've kind of just started to think about the last few months is you know why why is it that people aren't writing documentation especially kind of programmers right like how do we get more programmers to care about this and why isn't it happening right now and kind of what I've been thinking more and more about is that coding and testing have incredibly objective results right like the type of person who's drawn into writing code is like drawn into that like you know I am gonna like meet the requirements I'm gonna write the tests I'm gonna like have a little box of provable goodness that like does the thing that needs to happen and like that is now done right that's not documentation works documentation is much more of an art than a science you know it is a skill it's a soft skill and it is really kind of something that's much harder for programmers to kind of feel good and feel like accomplished about right and if you this is something that I've really started doing kind of interestingly is I whenever I like run into people at like a conference or something I like say you know how's your documentation about a project right everybody nobody responds like it's amazing and we're so happy with it and like it's perfect right like like literally nobody feels this way about their documentation people feel this way about their code people feel this way about their test coverage but there's this amazing kind of guilt that I think most programmers have where they know their documentation isn't good people value it but they don't really have the tools and the skills necessary to actually make it good or even know when it's good right it's just this kind of nebulous thing they feel bad about but don't know how to actually do so this leads to putting it off right like nobody likes doing stuff they're bad at like it's just not what I'm when I'm gonna go work on an open source project I'm gonna go to the stuff I know how to do and I enjoy I'm not gonna go do the thing where I feel crappy and like it's like I'm just gonna write words and do stuff and so I think this is one of the like fundamental problems is we have kind of there's this a barrier writing documentation with tools there's also kind of a mental barrier and a skill set barrier around how to write documentation just as a whole in the industry and if you think I'm wrong I would love for you to tell me how people are doing this and thinking about it because I've been looking for a long time and I haven't found it things like best practices things like you know there's a few templates and things like that there's these things don't exist as far as I can tell like there's some amount of tribal knowledge that exists within the writers but within the programming community like there's no I don't think anyone knows how to do this like nobody knows how to do this well and that's really bad like you need to have a way for people to feel proficient at something so they actually will go and do it and feel confident and proud of their work and really kind of have a positive feedback loop you know around the act that they're actually doing and so the other part of this I'd like to talk about is just kind of why does it matter right like why is documentation something that I've spent a large amount of my professional life working on and and why is it something that I think is is actually important this is where I think a lot of the empathy comes in is that we all have an amazing amount of knowledge that we could share with people and actually you know like bring them into our worlds and into our communities we're all incredibly talented and amazing people if we write that down and kind of make it more accessible to more people it really does just build a better and more interesting and understanding kind of tech community my favorite kind of explanation of this is you don't want a community full of people who don't read documentation right like what is what is this community look like right like who is this person they're like all right no docs I'm just gonna do it I'm gonna like charge through I'm like type a I'm gonna do this now it's a write a passage right like now you have to do it too we don't have docs because we don't need docs you know like it's it breeds this really insidious culture you know with people who don't value their time and people who don't value their time don't sure as hell don't value your time and so you just end up with these really really kind of awful communities documentation really is outreach right there's all these code schools that exist these days they're like we're gonna do 90 days we're gonna do six months we're gonna have like 40 hours like full-on training then you just like kick them out into the world and it's like hey go use a bunch of software that nobody knows how to use that's undocumented and good luck I'm sorry you know like like I really view documentation as kind of the it is the onboarding it is it is everything it is the UX of your software and if you don't have good documentation which none of us have like it's it's actively repelling people from interacting with your software and becoming developers and actually getting into this community because it is so much about like how we actually use interactive software is through documentation and so read the docs has a user from every single country in the world every month and they're not all white and they don't all speak English 60% of the users that we get these days we get about 15 million page views a month 60% of those have English as their preferred language in their browser so that means 40% of those users would prefer to be reading that documentation in a different language and so this is something that if you've done much travel you've kind of come across this this language barrier right where interacting with someone in person is incredibly intimidating if you don't know the language or you're not sure or you're just like unconfident in your abilities and if you don't write things down and people then have to go interact with the community right like as a as a developer I'm like oh if it's not in the docs I'll just file a file a bug report no like interact with them and then you know we'll solve their problem but like that actual interaction in writing English in a bug report on GitHub can be incredibly intimidating for so many people and when you actually write stuff down as documentation it can be translated right like there's no artifact to translate if you don't have the documentation in the first place so this is incredibly important for kind of bridging out to other languages and other cultures is you know the act of writing something down makes it much more you know you can pass it around it's less intimidating people can read it at their own pace they don't have to interact it can be translated it's it's this really really important step to kind of broadening you know what the programming community looks like and so I I view my kind of existence and and the reason I ended up in this open-source crazy world of ours as one that is really primarily based around documentation and I truly believe that for most people documentation plays a much larger part of that journey than anyone really thinks about on a day-to-day basis so every piece of documentation you write you know you may learn somebody else like may learn and use that as on their path to learning how to code I might help them graduate from college right like might help them get their first job after a code school right like it's it's really hard to know how these artifacts are actually existing in the world but all of these things happen every day with the software we use and documentation that we write and so this was actually best kind of summed up to me at a at Picon a few years ago who was someone who was kind of new to the community and she said you know I can't say that I'm self-taught I've been taught by the people who wrote the documentation and so if this is something that's interesting to you write the docs and read the docs or the projects that that I work on personally and I think this is something that is really kind of important and undervalued in open-source as well as just the software community as a whole so thank you for your time and I'll be around the conference if you have questions or thoughts