Computing is social

Computing is social. Really?!? That's not true. Computing, computer science, compsci, CS is a bunch of socially awkward unattractive white and Asian males sitting by themselves staring at a computer screen all day, everyday coding. And coding...that's hard and I think I would get bored with it after awhile. I don't want to make THAT my career choice!

So, I read your mind a bit (but not really...keep reading).

When you hear this stereotype, you believe it because you immediately visualize the lone male coder. It's an urban myth. Similar to your parents forewarning you about strangers tampering with your Halloween candy. These myths are sculpted to be memorable and believable "sticky" ideas (see “Made to Stick” by the Heath brothers -

While Computer scientists are not strictly White or Asian males, the reported diversity in computing numbers and ensuing conversation for the past year is long overdue since these numbers are abysmal. But remember, women exist and succeed in computing. Underrepresented groups exist and thrive in computing. For example, check out The annual Grace Hopper Conference (annually in October) and Tapia Conference (annually in February) celebrate women and underrepresented groups in computing respectively. Each year, both conferences break attendance records. In addition, Many diversity initiatives are starting. I expect several of these programs will sustain IF AND ONLY IF the primary goal is to cultivate computationally-minded problem solvers who happen to be African American, Hispanic, Native American and/or Pacific Islander.

Let me emphasize this point: The focus on an individual's aptitude in this discipline is crucial. You can not force an individual to be successful in any discipline if s/he doesn't have the aptitude, skill set and passion for it. The aptitude is an individual's natural inclinations toward the discipline and skill set can be taught while passion retains and indicates the individual's propensity for continual learning. That passion is encouraged, and eventually discovered, with exposure to different specializations of computing. Computing specializations grow and expand every few years, but here are the main categories (alphabetically): Algorithms, Artificial Intelligence, Bioinfomatics, Computer Architecture, Computer Forensics, Cybersecurity, Databases, Data Science, Gaming Technology, Human Computer Interaction, Information Security, Information Technology, Management & Information Systems, Operating Systems, Robotics, Software Engineering, Theoretical Computing, Wireless Networking.

The urban myth that CS is only for White males and Asian males is by no means debunked, but there are hopeful, change agent diversity in computing initiatives on the horizon. The attractiveness and socially awkward descriptions associated with computer scientists are subjective qualities. They are in the eyes of the beholder -- not all actors are attractive to everyone. So my commentary on those descriptions stops right here.

Let's say the "socially awkward ..." narrative doesn't cause you to run away from computing. The last piece of the CS urban myth tends to be the clincher: "alone coding all day everyday". Coding is only a part of the computing craft. Coding gets a bad reputation because it takes patience and practice to learn and effectively apply. There is no shortcut to learning to code. Coding is a computer scientist's equipment (like words to a blogger or a 9-iron to a golfer). Computing encompasses so much more, it has become social:

S -- systematic. Computing pieces together interdependent components intended to solve a problem and/or resolve an issue computationally. The GPS in your car or smartphone interfaces with the satellite towers to gather location information, roadway maps to determine plausible routes and real-time traffic reports to identify the faster route to the desired destination.

O -- omnipresent. Computation is at the core of many humanities, fine arts, management and STEM disciplines. If you pursue computing, you can surely find your niche. We benefit from the advances in computer science everyday such as reading email, dvr'ing our favorite shows and online banking.

C -- creative. We carry these small computers in our pockets. How many apps do you have on your smartphone? How many of those apps essentially perform the same function? Each app has more functionality you like than features you don’t like. I have 4 Holy Bibles apps, 3 Home Search apps, 2 Music playing apps and 1 of everything else apps on mine. A different design of an existing feature or a new feature becomes the base for a new system and possibly new crop of consumers.

I -- interactive. These systems are designed and built by coders with the expectation of bringing value to us, the consumers. Coders must discuss amongst themselves the set of viable approaches to address concerns raised by potential consumers. These discussions lasts for months with each iteration revealing new potential issues while addressing existing challenges. Discussions end when the system’s features outweigh the system’s issues. For example, certain spelling errors are very common so now electronic and computing devices auto-correct those spelling errors by default, but not all spelling errors are resolved.

A -- algorithmic. The approach and corresponding methods to solve an problem or resolve an issue requires sufficient planning and comprehensive design. Poor planning and design is a recipe for an unstable useless system that will not engage consumers.

L -- lexicon. A coding computer scientist has to select an appropriate computer programming language to represent and execute the planned design. A programming language is constructed to optimize a particular set of designs. C# (C-Sharp) is intended for use in developing software components suitable for deployment in distributed environments. Python is a general-purpose high-level programming language emphasizing code readability for clear, concise small and large-scale programs. Javascript is a programming language of HTML and the Web while PHP is a server-side HTML embedded scripting language.

Perhaps I have not convinced you that computing is social. But, maybe the next time you check your email, google something or drive somewhere, you will take a moment to think about the computer scientists who contributed in making that action a little easier for you. And they were not all socially awkward unattractive white and Asian males sitting by themselves staring at a computer screen all day, everyday coding.