tl;dr: sponsor my diversity work via gittip or tell me what I could do for your company
Thanks to the attention my diversity work has received, I'm seeking a way to make it scalable and sustainable so I can devote more time toward these initiatives. But I need your help!
As many of you know, I've been working on a number of projects over the past year to improve diversity in the tech community. A handful of examples:
- I did a two month long survey and round of interviews with groups and programs that aim to bring more people from a wider variety of backgrounds into tech through education, the forthcoming results of which will help more people start similar groups and programs.
- Created resources for conference organizers to encourage them to make their events more friendly to a diverse group of people. While the project itself ended a couple months ago, every week I work with different organizers one-on-one to improve their conferences and attract more diverse speakers and attendees. I've also been honored to serve on the advisory board for a few others.
- Interviewed nearly 100 companies and individuals for The Diverse Team, a book to help employers change their hiring, interviewing, and outreach practices to increase diversity within their organizations. A few times a week I speak with businesses on how to improve their culture and outreach to create positive change through hiring and community involvement.
- Spoken about diversity, inclusivity, empathy, and education in podcasts, at conferences, on twitter, and have had numerous conversations with individuals to help them better understand both the problems and the solutions to the lack of diversity and empathy in our communities.
- I speak with businesses, non-profits, and other organizations to help them with their own initiatives that aim to make our communities better for everyone.
- On the local level, I run a women in tech group in Madison to help people feel more comfortable speaking in front of a group, presenting, and practicing before submitting to conferences and other events. The group fosters a safe environment for people to learn, be vulnerable, and make mistakes. With volunteers from this group, I also hope to create an after-school program for financially underprivileged kids to learn how to code.
- I mentor people who are new to programming, which may be one of the most rewarding things I've ever done.
I do these things because I'm passionate about them. I love open source and I love our community. I want everyone to be able to experience the awesome things we're able to create together. It's work that's really important to me and has the potential to change tons of lives.
As a freelance developer over the past 4 years, I've been afforded a lot of opportunities to take on amazing projects as I dream them up. I've been able to educate, speak, and provide resources for people who need them while still having time to work on fun open source projects. Here's the thing: I've gotten to a point where my community work is starting to overtake the time I have for paying freelancing work.
This is where I need your help.
I want to fund these community-betterment projects and my open source work either through full-time employment or through the support of businesses and organizations.
If your company is passionate about open source, sees the value in increasing diversity, and wants to make the community a better place, I'd love to talk to you about what we can accomplish together. I'm especially interested in places that already have remote employees and are intentional about their culture.
Why Increase Diversity?
Diversity yields superior results for businesses and organizations. Research has shown that more diverse companies make better decisions, think outside the box more, and produce more innovate products than homogenous companies. A recent industry report estimates that by 2012, teams with gender diversity will double their chances of exceeding performance expectations when compared to all male teams. Companies with diverse boards and directors experience a significantly higher return on equity, higher sales increases, and return on invested capital. Diverse organizations are more able to compete in a global landscape when their workforce is representative of the market.
In short, your financial success and viability as a company are directly related to the makeup of your teams.
Resources
- Minorities and High Tech Employment (pdf)
- The Business Case for Gender Diversity (pdf)
- The Bottom Line, Corporate Performance and Women's Representation (pdf)
- The Difference: How the Power of Diversity Creates Better Groups, Firms, Schools, and Societies (book)
- A Different Kind of Diversity: The Changing Face of Engineering Education
- Diversity: Promoting New Perspectives
Ideal Job Description:
- create and develop new tools for reaching technical audiences (books, documentation, podcasts, workshops, etc)
- promote work through speaking engagements at conferences and other events
- focus on increasing adoption of open source tools in diverse and emerging communities
- help develop diversity-friendly hiring practices, outreach, and culture
- organize and execute technical education programs that are inclusive and accessible
- developer evangelism across online and in-person communities
- contribute to open source projects
Experience:
- developer, 12 years
- freelance + contract developer, 4 years
- consulting
- team augmentation
- project management
- conference and community organizer, 10 years
- speaker
- writer
- podcaster
- open source advocate
Many people have asked me how they can help on an individual level and that means a lot to me. I have a gittip, which is the easiest way to fund my projects for as little as 25cents USD per week. If you want to contribute to any of my projects or would like help with your conference or other initiatives, email me and we'll set up some time to chat :)
Thank you <3
I'm in this amazing position today thanks to the outpouring of support I've received from businesses, organizations, and individuals who've helped lift up my voice and work. I couldn't have done this without you.
Taking it to the next level: hire me or help me fund my diversity projects bit.ly/Z2cEPH
— ashe dryden (@ashedryden) April 17, 2013
How to not make a bad situation worse
Welcome to the internet, my pretties. You're probably reading this because some shit just went down. Whoa, totally makes you lose your faith in humanity right? Declare the equivalent of moving to Canada via rage quit? I'm with ya.
So, take a deep breath and let the rage subside a little. What can we do so this incident repeats itself with less frequency?
Step one: check yourself before you wreck yourself
The hardest part about this whole process is that many people that are on the receiving end of this kind of stuff know it isn't an isolated incident - this isn't the first time it's happened, this is maybe just the first time you've noticed it. Additionally, the people who are on the receiving end of this kind of behavior on a regular basis are frustrated because people don't learn when other people make these mistakes. Think of it like a conveyor belt: you explain to one person why what they did was wrong, but there is an infinite line of people behind them ready to make the same mistake. It's tiring.
Let's get into personal responsibility. Take a seat and buckle up, we're expecting a little turbulence.
You've fucked up
Maybe someone couldn't handle speaking up to you about it (this is not an uncommon thing, considering the average reaction), but it's likely you've made this mistake in the past. Recognize it, own it. Realize that everyone makes mistakes and it isn't the end of the world. I consider myself pretty versed in a lot of issues and I've gotten rightly called out on twitter and in conversations for saying things that I shouldn't have. It happens to all of us.
This is hard for a lot of people (myself included) because the vast majority of us don't want to hurt others, we don't want to create an atmosphere where someone feels unwelcome or even physically threatened. Coming to terms with the fact that you may have done that sucks, there's no better way to put it.
Pro tip!
Yeah, your pride is probably a little bruised, but you'll recover. Don't make it worse by calling people names, being verbally or physically threatening, or publicly harassing the person you've wronged. There's no coming back from that.
You have an opportunity to right the ship before you lose your shit, though. Oh man, I really hurt this person is on a different continent from OMFG NO U! So choose your next steps wisely.
Take a deep breath.
Learn how to apologize
- Acknowledge it.
- If confronted: You're right, that was out of line.
- If you realize it first: Actually, lemme stop for a second. What I just did was wrong.
- Apologize.
- I'm sorry. (Yup, it's totes that easy.)
- Make amends.
- What can I do to make it up to you?
- Learn
- Take time to fully understand why what you did was wrong.
Apologizing is more an art than a science. Sure, it has specific ingredients, but there are subtleties that the recipe misses. Mainly sincerity, which means all apologies should lack excuses. If you say the word "but" anywhere in your attempt, it is not an apology; stop yourself and start over again.
Everyone has received an apology that they didn't believe. Be mindful of your tone, your volume, your words, and the setting.
Step two: if you see something, say something
The person on the receiving end of poor or dangerous behavior can't always speak up for themselves without worrying about things like being treated worse, being ganged up on, or retribution. When you step in, say "hey, not cool", and employ your best mega-frown a la Grumpy Cat, you're saying other people recognize what they're doing and it's not acceptable. This takes the pressure off of the victim (for lack of a better term) who is already having to deal with a flood of their own emotions (insecurity, fear, anger, anxiety, panic, etc). Everyone is responsible for helping to uphold the Golden Rule.
The level of "call them out on that" varies depending on the person, relationship, context, and the situation. Use your best judgement according to this handy dandy escalation list:
- Pull them aside privately or email them and explain the situation to them.
- Stop them immediately and tell 'em what's up.
- Get an authority figure involved (boss, conference organizer, business owner, a respected third party - whatever is situationally appropriate).
- Take it to the the streets. If all other avenues have failed you or if the situation is severe enough, get help from wherever you can.
- Get the cops involved. If someone has done something illegal or has become physically, verbally, or emotionally threatening, drop everything and call the cops immediately.
Pro tip!
If someone accuses you of White Knighting, remind them that you're a human that expects other humans to be treated with respect, full stop. Feel free to use this totally scientific equation:
When you did/said ________, I felt __________.
Letting bad behavior slide shows everyone in the community that it's acceptable to do those things. It's not. You don't want that in your community and I don't want it in mine.
Step three: dftba - don't forget to be awesome
You've graduated and are ready to go out into the world planting flowers everywhere you go and high fiving everyone you see. So what's next?
- Encourage people to get to know people who aren't like them. This is what I like to call the Empathy Trojan Horse. You're more likely to see a situation from someone else's perspective when you can put yourself or someone you know in their shoes.
- Proactively discuss community issues with friends and help them to see why it's an issue in the first place. The more we talk about these problems, the more we can start modeling good behavior and eradicating the bad stuff.
- Talk to conferences and companies about putting in a code of conduct. And offer to help!
- Make the world a better place. Volunteer to help with community-based organizations that aim to either help bring more people into the community or help support the people that are already here.
- Speak out publicly about these issues, explain how to combat them, and urge people to help you.
Freelance contracts that anyone can understand
I was invited to speak on an episode of the Ruby Freelancers podcast today about client red flags and a lot of conversation seemed to center around what was in my contract.
I have a different contract style than most people: mine is in plain language (no legalese) and I consider it to be a living document. Whenever I have an issue with a certain process or client, I am sure to add language to my contract to insure that the issue won't come up again. I'm a big fan of being up-front with clients so they know what to expect from working with me. What better way to do this in a contract they can read and understand? No surprises makes for happy everyone.
I based my contract off of Andy Clarke's Contract Killer from 24 Ways from a few years ago. As you can see, mine has evolved a quite a bit from its original state, but I definitely recommend taking a look at his and reading his reasoning behind using a plain language contract.
Edit: I forgot to mention: I charge more if a client would prefer I sign their contract instead of signing mine. This allows me to get a lawyer to go over their contract as well as adjust to working more within their boundaries and constraints.
Note: I've removed any personal details and made it as easy for you to copy and paste to use for your own contracts. It is also available on github.
[LOGO]
[ADDRESS]
[PHONE]
[CONTACT EMAIL]
[DATE]
Summary:
We will always do our best to fulfill your needs and meet your goals, but sometimes it is best to have a few simple things written down so that we both know what is what, who should do what and what happens if stuff goes wrong. In this contract you won't find complicated legal terms or large passages of unreadable text. We have no desire to trick you into signing something that you might later regret. We do want what's best for the safety of both parties, now and in the future.
In short:
You ([CLIENT COMPANY]) are hiring us ([MY COMPANY]) to [PROJECT NAME OR DESCRIPTION] at the hourly rate of [HOURLY RATE] per hour. Of course it's a little more complicated, but we'll get to that.
What do both parties agree to do?
As our customer, you have the power and ability to enter into this contract on behalf of your company or organization. You agree to provide us with everything that we need to complete the project including text, images and other information as and when we need it, and in the format that we ask for. You agree to review our work, provide feedback and sign-off approval in a timely manner. Deadlines work two ways and you will also be bound by any dates that we set together. You also agree to stick to the payment schedule set out at the end of this contract.
We have the experience and ability to perform the services you need from us and we will carry them out in a professional and timely manner. Along the way we will endeavor to meet all the deadlines set but we can't be responsible for a missed launch date or a deadline if you have been late in supplying materials or have not approved or signed off our work on-time at any stage. On top of this we will also maintain the confidentiality of any information that you give us.
Getting down to the nitty gritty
What we need from you
Below is a list of items we’ll need up front from you. Every project is slightly different, so there may be things we’ve missed from this list, but we will let you know as soon as we’re able if we’ve forgotten something we need.
- [LIST OF NEEDS] (includes credentials, access to any necessary services or assets, etc)
Browser Compatibility
We have agreed to test our code in IE7+ as well as the latest releases of Firefox, Safari, and Chrome. Additionally we test on mobile Safari and mobile Chrome (iOS devices, Android devices). If you need browsers other than those listed tested, please provide us with a list of the browsers and devices. Testing additional browsers requires more testing time as well as potentially needing to code for that specific browser.
We code everything with progressive enhancement in mind. This means that modern browsers may show slight differences to older browsers (such as text and box shadows, rounded corners, etc) based on what a browser is able to render. Any changes will not affect the user experience.
Testing
We write tests before we write our code, which allows us to make sure that all required functionality is not only present, but works no matter how often we change things around. If your employees or other contractors will be working on the project along side us, we require that they also write tests for all code they produce to make sure we are all on the same page and not stepping on each others toes.
Version Control
Git allows us to keep track of all changes that happen in your application. This way, if a bug is introduced we can quickly find where it was added and roll back to the previous bug-free state while we fix things up! We require code be under version control so we can work on your application with your employees or other contractors without worrying that we may be undoing or overwriting each others changes.
Timeline
This project is scheduled to begin [START DATE] and will last a [PROJECT DURATION].
Below is the milestone schedule:
- [MILESTONE NAME, # DAYS REQUIRED]
This contract will be declared complete when all work completed has been paid in full.
Additional development
Any additional development needed above and beyond what we have agreed to here must be accompanied by an additional contract which we will be happy to provide upon request. We retain the right to refuse additional work that is not specifically outlined in this document.
Contact
All communications will be made during regular business hours (Monday-Friday, 9am-5pm CST, excluding holidays) and we will return any contact requests within one business day unless we notify you ahead of time that we will be out of the office. Of course we understand that emergencies do arise, so in the case of one know that our hours will be billed at time and a half. We appreciate communication in a text-based medium, but understand that not all discussions are easily done this way. We’re happy to speak to you on the phone, over Skype/Google Hangout, or in person if you are in the [MY CITY] area, keeping in mind that any decisions that are made will be written down and require your written approval.
As we value your time as well as our own, we ask that all meetings be scheduled a minimum of two business days in advance and be accompanied by an agenda so that we can be fully prepared. If we are unable to attend a meeting at your suggested time, we will be happy to provide two times that will work for us. Meetings must start and end on or before the time allotted and will be charged for whether you attend or not.
Project Management
If you do not have a preferred project management tool, we will provide you with a login for ours where you will be able to see the status of the project down to the specific task, so you will always be kept up to date. We’ll be relying on you to participate by answering our questions, stating your approval, requesting changes, and verifying completeness through the tool as well. We ask for a one business day turnaround time on responses so we can keep things moving along at a pace that will allow us to hit the milestones we decided on together.
To keep the project organized and the management of it easier, we prefer not to communicate any of the information stated above over ordinary email.
Legal stuff
Although we test extensively, we can't guarantee that the functions contained in any application will always be error-free and so we can't be liable to you or any third party for damages, including lost profits, lost savings or other incidental, consequential or special damages arising out of the operation of or inability to operate this application and any other web pages, even if you have advised us of the possibilities of such damages.
If any provision of this agreement shall be unlawful, void, or for any reason unenforceable, then that provision shall be deemed severable from this agreement and shall not affect the validity and enforceability of any remaining provisions.
Phew.
Copyrights
You guarantee to us that any elements of text, graphics, photos, designs, trademarks, or other artwork that you provide us for inclusion in the application are either owned by your good selves, or that you have permission to use them.
When we receive your final payment, copyright is automatically assigned as follows:
You own the graphics and other visual elements that we create for you for this project. We will give you a copy of all files and you should store them safely as we are not required to keep them or provide any native source files that we used in making them.
You also own text content, photographs and other data you provided, unless someone else owns them. We own the code we produced and we retain the rights to license it how we choose or to contribute it back to the open source project which it is based on.
We love to show off our work and share what we have learned with other people, so we also reserve the right to display and link to your completed project as part of our portfolio and to write about the project on web sites, in magazine articles and in books as well as speak about them publicly at conferences. Of course we’re happy to keep this information to ourselves until your project goes live or 6 months from the handover date, whichever is sooner.
Payments
We are sure you understand how important it is as a small business that you pay the invoices that we send you promptly. As we're also sure you'll want to stay friends, you agree to stick tightly to the following payment schedule.
Payment Schedule
We bill every other week on Friday and all invoices are payable upon receipt.
A deposit of [DEPOSIT AMOUNT] is due up front and will be subtracted from the last invoice.
Any payments not received within 7 days will halt work until the payment is received. If payment is late twice during the project, we retain the right to ask for prepayment of hours or to end the project, whichever is deemed more fitting for the situation.
If either party chooses to end the project, it must be done in writing. Please keep in mind that the deposit will be forfeited and any work that has been paid for up to that point will be turned over to you.
But where is all the horrible small print?
Just like a parking ticket, you cannot transfer this contract to anyone else without our permission. This contract stays in place and need not be renewed. If for some reason one part of this contract becomes invalid or unenforceable, the remaining parts of it remain in place.
Although the language is simple, the intentions are serious and this contract is a legal document under exclusive jurisdiction of [MY STATE] courts.
The dotted line
Signed by [MY NAME] and on behalf of [MY COMPANY]
Signed by [DECISION MAKER] and on behalf of [CLIENT COMPANY]
Dated [DATE]