31
Growing Developers. Growing Diversity. By: Elaine Marino, October 2014 @elaine_marino #growdevelopers

Grow Diversity. Grow Developers

Embed Size (px)

Citation preview

Growing Developers. Growing Diversity.

By: Elaine Marino, October 2014@elaine_marino#growdevelopers

The following presentation is an abbreviated version of a 40 min story I’ve given at Denver Start-up Week, OSCON 2014 and DreamForce 2014. To see the full presentation, go here. Or contact me and I’ll be happy to share in person.

- Elaine Marino, November 2014

@elaine_marino #growdevelopers

Presentation Goals

Bring a new perspective to the diversity dilemma

Provide solutions for increasing diversity amongst software developers and tech at-large

Provide solutions for growing developers locally

@elaine_marino #growdevelopers

Current Portrait of Tech

Every month, the tech industry adds about 9,600 jobs to the U.S. economy.

By 2018, another 1.2 million jobs will be added, boasting an average salary of $78,000.

Women make up 22% of the computing workforce, but make up 53% of the overall workforce.

Latino and African-American workers each make up less than 5%.*

@elaine_marino #growdevelopers

“The number isn’t what matters. It’s an indicator that something is wrong.

And that matters.”

- Oren Teich, former COO Heroku

(In response to a question about the low ratio of women attending Heroku’s Waza conference.)

@elaine_marino #growdevelopers

What does diversity mean?

Gender

Race

Age

Class

Religion

Disabled@elaine_marino #growdevelopers

Why is diversity important?

@elaine_marino #growdevelopers

“They believed it (diversity) was a business imperative because their companies needed it to stay competitive, and they believed it was a moral imperative

because of their personal experiences and values.” – HBR Study of 24 top CEO’s diversity agendas

“People with different lifestyles and different backgrounds challenge each other more. Diversity creates dissent, and you

need that. Without it, you’re not going to get any deep inquiry or breakthroughs.”

- Paul Block, CEO Merisant

@elaine_marino #growdevelopers

So what can we do?

@elaine_marino #growdevelopers

Three-tiered approach: Top Down: LeadershipThe Middle: The Learning ClassBottom Up: Children

@elaine_marino #growdevelopers

@elaine_marino #growdevelopers

“I believe quotas are a great way of advancing diversity, particularly when you have a long way to go and you don’t want to wait forever. After a company attains a certain level of diversity, I think quotas lose their effectiveness.

But when you’re moving from 1% female managers to 5%, if you don’t enforce a quota, it’s going to take forever to reach that number.”

– Carlos Ghosen, CEO & Chairman, Renault - Nissan

Some advice…

@elaine_marino #growdevelopers

Is your culture inclusive?

“I am a mother of two. I don’t care about your beer and ping pong.”

– Female Sr. Software Engineer, struggling to find the right cultural fit and job

At it’s darkest, software development needs to overcome some serious problems with mutual respect and

professionalism.

@elaine_marino #growdevelopers

You challenge code all the time. Start challenging ignorance.

@elaine_marino #growdevelopers

The Top Down (Leadership):

Consider quotas if you are going from 1% to 5%

Approach inclusivity as a personal mission

Company Culture

Mutual Respect

LEADERSHIP: SPEAK-UP

@elaine_marino #growdevelopers

@elaine_marino #growdevelopers

The Middle: Educated, diligent and hungry for work

@elaine_marino #growdevelopers

People are learning to code. There is a gap in knowledge. Companies can fill this gap without breaking the bank.

My Mentorship Program Recommendation

Two mentors – 1 male/ 1 female

Assigned bugs, projects, real work

Review assignment for 10 minutes at the beginning of each day

Get 15 minutes in the middle of the day to ask questions

Get 15 minutes at the end of the day to ask questions

Required to learn outside of the officeList of learning and timeline set-up by mentorsMust work on open source

Have progress check-ins every two weeks (AGILE!)

@elaine_marino #growdevelopers

Fix vague and confusing job descriptions.

Job QualificationsThe ideal candidate will have the following:

• Ruby on Rails specific experience• 1 - 3 years experience developing applications using Ruby on Rails.• 3 - 5 years total software engineering experience• BS in Computer Science or equivalent experience• BDD & TDD C proficient with test frameworks such as RSpec• SQL (experience with MySQL, Postgres or equivalent)• Experience with Mongo, Couch or other non-relational databases

General• Strong software engineering fundamentals• Javascript, CSS, HTML (JQuery or equivalent)• AJAX, RESTful web services, JSON• Object-oriented programming and design including Model-View-

Controller architecture• Use of Agile project tools such as Rally or Pivotal Tracker

Sr. Ruby on Rails Developer Job Description (Real)

@elaine_marino #growdevelopers

Jr. Ruby on Rails Developer Job Description (Real)

Job duties and responsibilities of the position:• Maintain existing web sites, web applications and web services• Manage application development against PostGreSQL, Oracle and Mongo databases• Work collaboratively with colleagues on team and with other programming groups within the

Company• Develop web applications based on complex scientific and engineering algorithms• Capable of working directly with engineers, scientists and analysts to translate their

calculations from paper calculations to the web Required Knowledge, Skills and Attributes:

• Masters Degree in computer science, engineering, science, or related discipline. • Must have proven experience on a Ruby on Rails project• Ideally we are looking for a self-motivated programmer who knows HTML, CSS, Ruby on

Rails, JavaScript, Oracle, and/or PostgreSQL and is familiar with Subversion• Familiar with web service or API development• Demonstrated excellence in interpersonal, written, and oral communication skills• Preferred Qualifications:• Knowledge of Capistrano, PHP, Drupal, geographic web development or GIS systems,

PostGIS, and GitHub Enterprise.

@elaine_marino #growdevelopers

Tell Us What You Need Us to Know

• 1 – 3 years building Ruby on Rails applications

• Previous work using the Twitter API in a Rails application. (We will want to see an example where you used the Twitter API.)

• Implemented a CMS system using one of the following: Refinery CMS, Browser CMS, Comfortable Mexican Sofa

• Enough Javascript to write client-side validations

• Previous use of the following Gems: tire, will_paginate, twitter_bootstrap, Mailman, google-geo, Geokit

• Write SQL commands to populate the table

• Write code using RSPEC. (You will be tested on this.)

• Comfortable using only the Command Line

• Able to use advanced Git commands such as rebase, stash, diff, log, fetch

• Applications built using both Heroku and Amazon Web Services. (We will want to see them.)

• Comfortable debugging in Haml

• You will be required to advance your skills after work hours with tutorials and classes

@elaine_marino #growdevelopers

An accurate and detailed job description evens the playing field AND gives you better candidates.

The Middle (The Learning Class) Recap:

Training!

Meet up-and-coming developers half-way

Well-defined Job Descriptions & Standards

A “I want to hire you!” attitude

Stop the interrogation tactics

@elaine_marino #growdevelopers

Bottom Up: Children

Inspire youth toward Science, Engineering, Technology, and Math (STEM) and particularly Computer Science classes and careers.

@elaine_marino #growdevelopers

Inspire programs need Engaging Stories, Role Models, Mentors, CS Teachers and MONEY.

The Bottom Up (Children) Recap:

Advocate for computer programs in school: donate the tools, funds and people.

Get on the board of these organizations.

Help fundraise.

Give money.

Give employees incentives to volunteer.

Ask your companies if you can support these organizations. Ask you manager, HR, peers.

@elaine_marino #growdevelopers

RecapLEADERS: Approach inclusivity as a personal mission

LEADERS: SPEAK-UP

Training!

Meet up-and-coming developers half-way

Well-defined Job Descriptions & Standards

A “I want to hire you!” attitude

Stop the interrogation tactics as interviews

Stop poaching

Stop looking for the same criteria

Look for talent on the bench

Invest in the young

Start with the poorest schools

@elaine_marino #growdevelopers

Here is what I know for sure.

Diversity in the workplace is important and profitable.

There is a major lack of diversity in software development.

There is a dire need for software development talent.

The Calvary is not coming.

People of all ages, races, classes and genders are trying to learn. They are hungry for jobs. And they are smart, eager, diligent.

There is no silver bullet. We will need to approach diversity and growing developers from all angles in order to make real change.

It takes a Village.

@elaine_marino #growdevelopers