Diversity (Lacking) in Tech

Twitter, following in the same steps of Google, Facebook, Yahoo, and other big technology companies, published statistics regarding the diversity of their workforce.

Screen_Shot_2014-07-23_at_12.23.21_PM_medium
Screen_Shot_2014-07-23_at_12.23.10_PM_medium Gender and Ethnic Breakdown at Twitter

As I would have guessed (and have observed in real life), most tech companies are (disproportionately, relative to the ethnic makeup of the United States) comprised of White males, especially in technical fields.  Across the board (at Google, Twitter, Facebook, and Yahoo), only 1-2% of technical roles are filled by Black workers.  One would think that under ideal circumstances, the workforce makeup would somewhat resemble the ethnic makeup of the United States.  There is obviously a gap somewhere, whether it be societal barriers, education, achievement gaps, cultural issues, racism, access to resources, etc.

I’m curious, for my Black brothers and sisters in tech that I have met (I do know quite a few), how do they differ, what did they do differently, how was their upbringing different that provided them the opportunity to work in technology, what decisions did they make, what barriers were or were not in their way?  For myself, my path to a software engineering career was:

  • Grew up in a relatively stable, middle class family
  • Had a parent who works in Health IT
  • Had a computer (first was an IBM PS/2) at home and was coding in Basic at a young age
  • Had internet access (AOL)
  • Each classroom (schools in NJ, NC, and Hawaii), from what I can remember, had at least one computer and a decent computer lab
  • Enrolled in an engineering program (I didn’t get into NC State Engineering as a freshman, I actually needed to take a few extra classes, then I transferred in) and somehow graduated with a degree in Electrical & Computer Engineering
  • Strong, close Black community at NC State, across majors and in Engineering
  • Interned in tech (often through INROADS, this program has had a significant impact on my career)
  • I have a genuine interest and passion in building things

With all that said, I have brothers and classmates who have had similar experiences growing up, but aren’t in tech all.  There are others who’s experience was different and they are in tech (I’m sure there are some key similarities between their and my experience).  I’m not a sociologist by any means, so I can’t speak to society at large.  I can only hypothesize answers to some of the questions below:

  • Is there a general lack of interest in tech (or STEM at large) in the black community?
  • Are their societal barriers?  If so, why?  Why are some overcome?  Why are some not overcome?
  • Does access to good schools with computers and the internet play a role?
  • How big of a role does a stable household and environment play?
  • How big of a role does exposure to technology play (ie. parents or mentors in STEM, computers at home, etc.)?
  • What role do technology companies have in all of this?

These are all questions (and I’m sure there are more) that I would really be interested in legitimately having an answer for.  I’m excited that this discussion is happening and hope it’s the first step of many in increasing diversity in STEM because all things being equal, I believe a more diverse workforce is a better and more competitive workforce and makes for a healthier society.

Source: Twitter

Coffee

If you want to learn more than your fair share regarding coffee (history, grinders, roasting, brewing, etc.), listen to the latest episode of the Pragmatic Podcast with John Chidgey and guest, Marco Arment.  They’ve convinced me that it’s time to:

  1. Upgrade from a French Press to an Aero Press
  2. Upgrade from my blade coffee bean grinder to a burr coffee bean grinder

At least I don’t need to upgrade from decaffeinated coffee to caffeinated coffee.

Source: Pragmatic, Episode 30

Node.js Sunday Reading

In 2014, I’ve designed, developed, and  deployed two Node.js API servers.  One is currently in use and experiences some pretty great uptime, my NC Traffic Cams API server.  I’ve learned an incredible amount going through the effort of bringing up an instance (Amazon EC2, Google Compute Engine instance), connecting to it, installing all of the necessary software, then deploying code to it.  Each time I do it, the better I get at it, and the more clever the server configuration and code.

Since I’ve never taken a class on Node.js or worked fulltime at a company who has deployed a Node.js server, all my learning has come from the internet and hands-on experience.  Here are a few of the articles and guides I’ve used (or will be using soon) along the way.

Why  You Should Learn Node.js Today

Let’s talk about a technology that has been getting a lot of well-deserved hype lately: Node.js. Node.js is the hottest new technology in Silicon Valley. Currently in use by Microsoft, VMWare, Ebay, Yahoo, and many more top tech companies, Node.js is the perfect skill to open up amazing career opportunities for any software developer.

You may have heard of Node.js, but know only that it has something to do with “real-time” or “highly scalable” apps. You may have heard that Node.js is JavaScript for the server-side (and you may be wondering why anyone would want that!). Or maybe you know exactly what Node.js is, but aren’t sure when or why to use it. Just sit back, and I’ll explain everything.

Creating a REST API using Node.js, Express, and MongoDB

I recently used Node.js, Express, and MongoDB to rewrite a RESTful API I had previously written in Java and PHP with MySQL (Java versionPHP version), and I thought I’d share the experience…

Here is a quick guide showing how to build a RESTful API using Node.jsExpress, and MongoDB.

Node.js async in practice: When to use what?

When I started out using node.js and async I didn’t find any good/thorough resources on how to really use the async module. That’s why I decided to make a little cookbook about it.

Node.js in Production

When running a node application in production, you need to keep stability, performance, security, and maintainability in mind. Outlined here is what I think are the best practices for putting node.js into production.

By the end of this guide, this setup will include 3 servers: a load balancer (lb) and 2 app servers (app1 and app2). The load balancer will health check and balance traffic between the servers. The app servers will be using a combination of systemd and node cluster to load balance and route traffic around multiple node processes on the server. Deploys will be a one-line command from the developer’s laptop and cause zero downtime or request failures.

Material Design

Google is introducing a new design language.  It’s called Material Design.  Look’s pretty sophisticated and modern.

The goals of Material Design:

Create a visual language that synthesizes classic principles of good design with the innovation and possibility of technology and science.

Develop a single underlying system that allows for a unified experience across platforms and device sizes. Mobile precepts are fundamental, but touch, voice, mouse, and keyboard are all first-class input methods.

The great thing about Material Design is that they are releasing toolkits for Android, iOS, and the web (via Polymer) so developers can create consistent user experiences across most devices.

components-singlelinelists-11_large_mdpi components-menus-menus-menus-01b_large_mdpi components-grids-keylines-imageOnlyGrid_03_large_mdpi

 

Lot’s of interesting design concepts and paradigms.  Android app developers have a lot of work to do between now and the Fall, when the next major of Android is released, to say the least.

Source: Google Design

Apple + Beats

Apple buying Beats is officially a thing:

Apple has just confirmed plans to purchase Beats Electronics for $3 billion. The acquisition ranks as the largest that Apple has ever made and will see it take ownership of an enormously successful and profitable line of consumer headphones as well as a burgeoning subscription music service. Beats co-founders Jimmy Iovine and Dr. Dre will also join Apple as part of the acquisition, which it will pay for with $2.6 billion in cash and $400 million in stock.

BowaZW8IYAAkeRc
Source: @tim_cook

 

I was only mildly surprised when I first heard the rumors.  $3 billion ($2.6 billion + $400 million stock) is a relatively inexpensive manner to acquire the expertise (electronic manufacturing & design + music services) and hire Jimmy Iovine and Dr. Dre.

I’m also not surprised some Apple fans are so dismissive of the deal.  The sentiment being Apple is known for quality, Beats is known for brand and marketing.  I challenge that sentiment by saying Apple and Beats are pretty similar (from my perspective).  Both companies are known for design, branding, and lifestyle.  They sell products at a ridiculously high margin (for hardware anyway).  Those products are aspirational in nature.  I think it’s a pretty great fit.

Source: The Verge

Google’s Self Driving Car

 

google-self-driving-car-new

Impressive.  Cute.  Self driving cars, by Google.  Really interested in hearing more regarding the technology behind this self driving prototype and the eventual consumer version.

We’re now exploring what fully self-driving vehicles would look like by building some prototypes; they’ll be designed to operate safely and autonomously without requiring human intervention. They won’t have a steering wheel, accelerator pedal, or brake pedal… because they don’t need them. Our software and sensors do all the work. The vehicles will be very basic—we want to learn from them and adapt them as quickly as possible—but they will take you where you want to go at the push of a button. And that’s an important step toward improving road safety and transforming mobility for millions of people. 

Would be cool if we could get one of these with a VR6 engine am I right?

Source: Google