Unexpected Lessons from Netflix’s “Black Mirror”

Black Mirror Poster

Can I just nerd out for a second and not get too technical? (Is it even possible to do that? I mean, by its very essence, isn’t it a primary attribute of nerdiness to go super deep and analytical over the minuscule details of something?)

No, this article won’t be about higher order functions or test driven development or about which components are rendering in your react web application. None of that. Yet, it still has everything to do with programming and the world of tech.

See I’ve been enamored with this new show recently called “Black Mirror ” on Netflix (I know, I know… it’s “new” to me but “old” to you. Be nice and give me a late pass 🙂). There are currently 4 seasons of the British-based, science-fiction anthology show. If you are unfamiliar with it, the basic premise of the show is that it is usually set in the near/semi distant future and every single episode features some sort of new technology that we have never seen before in our current day. I sort of think of it as a hodgepodge mix between “Alfred Hitchcock” meets “Tales from the Darkside” meets “Twilight Zone” and then it had a baby with Wired.com and Silicon Valley. One of the cool things about the series is that you do not need to watch them in any particular order. One episode does not build off a previous one. They are all stand alone, brilliant pieces of work.

Take an example from the episode “Archangel” (Season 4, Episode 2) for example. During this particular episode, in an instant, a mother loses track of her two-year-old daughter at a neighborhood park when she briefly takes her eyes off her to engage in conversation with another mother. When the mother realizes that her daughter is missing, she goes on a frantic search for the child in a desperate effort to find her. Once she locates her, she internally resolves to never have that situation occur again, so she turns to… technology. “Archangel” is a tracking technology which utilizes a tablet in connection with an implanted chip inside the child’s head. The chip communicates with the tablet and allows the parent to not only monitor the child’s whereabouts (a good thing), but even goes as far as to have the ability to monitor the child’s blood levels, adrenaline, and can even view everything that the child sees through tapping into the optic nerves of the child. Things turn gruesomely dark as the episode progresses as the benefits of the technology are overshadowed by the compulsory usage of the parent to unhealthily oversee every aspect of her daughter’s life.

Archangel

Season 4: Mother Consults Doctor To Implant Chip Inside Daughter’s Brain

Or in another episode entitled “Men Against Fire” (Season 3, Episode 5) the government uses implants within their military soldiers called “mass” in order to give them revolutionary, state-of-the-art schematics on site, along with super human tactical abilities. Things get grim, however, when a soldier makes a discovery that a program has been implemented into the mass technology used on soldiers to convince them into targeting innocent civilians to be killed like “roaches”. Each episode features a different, amazing technological advance that at first glance, we would love to have access to today. These technologies exist in the world of Black Mirror because at some point, society, government, corporations, or even individuals at times, deemed it best to integrate into mainstream society.

mass

Season 3: Soldier Preparing For Combat Utilizing The “Mass” Device

As an aspiring software engineer, what intrigues me the most about this series is that in a roundabout way, it is teaching me about the importance of ethics in software engineering. Let me explain…

What we create with our code has wide ranging effects and could potentially have long-term, damaging ramifications on both people as well as the world around us. Every line of code that we write could potentially serve others and bring help, healing, and hope. Or conversely, could bring harm. For instance, consider the amount of thought and testing that goes into each iteration of development of a driverless vehicle at Tesla. A product which has the potential to take a life could literally have “grave” consequences if not crafted carefully. Or, think about the ethics decisions that go into programming such a vehicle.

It’s an assumption we often make as programmers that the end result in which we intended for our software to be used will always be used to that end (but this is sadly not the case). For example, we see this clearly on prescription medications which state on every bottle to “use only as directed”.  Yet, we have an entire generation of people who sip “lean” by making cocktails of codeine/promethazine, candy and soft drinks.  Simple cough syrup to alleviate a cold, turns into a mechanism for drug abuse. Something specifically made to heal and/or bring enjoyment ending up being abused as a means of getting high.

Or even when a social media platform, intended to connect individuals in meaningful ways with people from across the world or to allow the “common man” to interact with a “celebrity”.  In a mild sense, who would have thought that given only 140 characters the amount of “trolls” that would be unleashed on the world? Or in a much darker sense, allow for online bullying or the collusion for murder-for-hire plots?

These may seem like extreme examples but the point being is that even great things can be used for dark purposes and we should all strive to be privy of what steps we can take to alleviate the threats of our technologies being misused.

Have you thoroughly thought about the possible unintended consequences of the program/app/site that you engineered? It’s impossible to think of every single edge case and scenario in which it could be used for evil. Any tool can be a weapon depending on how it is used, but as ethical developers, we would do well to cover as many bases as we can when implementing code that will go into production for public consumption.

What I have learned from being entertained by Black Mirror is that it teaches us the great burden of responsibility to wield technology rightly, or to suffer the consequences.

I don’t know for sure if the writers set out with the intentions of teaching people about software ethics. I binge watched the show just to be entertained, yet, I came away with something totally different. See what I mean? Maybe I’m just getting too deep. Maybe I’m just trippin’.

***

*{For those who may be interested in watching the series for the first time and don’t know where to start, I offer you my top 5 favorite episodes (in no particular order):}*

  1. “Playtest”
  2. “White Christmas”
  3. “Black Museum”
  4. “White Bear”
  5. “Shut Up And Dance”
Advertisements

This is my mood whenever I am working on a full-stack web application, and I hit refresh, and I see something that I don’t expect and there are still errors in my code. And it does often feel like stuff is on fire, I’m about to be hit by a truck, paralyzing fear, etc…

Net Neutrality Explained With.. Whoppers

Net Neutrality has been in the news a great deal over the last month or two… yet, most people still can’t really explain what it is or what it means. Well, hopefully this video will help in that regard. When dealing with tech, I need to be taught like I’m in kindergarten. We all need very lofty concepts brought down to levels we can easily understand, right?

Because, that’s how I learn best… with burgers. 🍔🍔🍔🍔🍔🍔🍔🍔🍔🍔🍔🍔🍔🍔🍔🍔🍔

 

 

 

 

 

 

 

Communication Is Key

Screen Shot 2017-05-18 at 4.00.39 PM

No matter what relationship you are in, whether in marriage or if you are dating, on a sports teams or in the work environment), one of the most important aspects is communication. When expectations are not met or addressed, it is usually a matter of a lack of clarity when it comes to what was communicated.

I recently saw this comic strip illustrating this principle in the tech world.  A client envisions the end product one way, but how that vision was explained may have missed the mark with the engineers hired to carry out the vision. Likewise, the engineers may have also dropped the ball when the engineers communicated with the client how the progress of the vision was coming together while both sides were led to believe they were on the same page. I got a kick out of the illustration and thought that you might too.

My Friend, Work-Ethic

dontbesupset

What I’ve learned is that there are few feelings as exhilarating as having an opportunity in front of you, and being fully and completely prepared for it. That doesn’t always mean that there are no butterflies associated with the weight of the moment. But the feeling of peace and calm that you experience because you know that you have put in the hard work, effort, and the grueling labor of something, feels so amazing. Your confidence quiets your nerves. Your heart beats a bit slower. You smile a lot more, LOL.  Stress does not touch you; stress decides to mess with the unprepared. And you can see it in their eyes, their sweaty hands, and their trembling knees. I HATE having those moments. I am learning more and more to make work-ethic my friend.

In some ways, we all try to avoid him. He’s harsh and demanding (if you want your dream, he forces you to pay for it), rude (he does not care about your schedule), selfish (demands all of your time) and makes you turn your back on many of your loves (hobbies, friends, family, leisure time, etc.).

As a society, we have gone about this the wrong way. We need a perspective shift. Work-ethic is our friend. Work-ethic is there to protect us, prepare us, and provide for us, if we are willing to listen to his wisdom. Boundaries are a good thing. Sacrifice is often a good thing; and when we begin to embrace those principles as being true and good for us, we will not see hard-work and discipline as friends, but we will instead look at them as enemies. We will see them as threats to our comforts.

It is not until we view these “comforts” as the very things that are confining and imprisoning us that we will begin to see them as lesser joys and the enemy of our progress and therefore begin to change.

I feel myself beginning to change. Though it is often hard to look my friend, work-ethic, in the eye early in the morning and answer his calls to hang out during the wee hours of the night… though it does not always feel good to hug him because of how awful he makes me feel sometimes, it does not compare to when I rise the next morning and I look myself in the eyes in my mirror and feel the pain and disappointment from not having spent time with my friend.

Undefeated After A Defeat

AP_maya_angelou_wy_140528_16x9_992

So, to provide a brief update on my journey, I took another assessment a few days ago. I knew that I could have passed it, but I needed a few more days to grasp some of the concepts after getting behind too early in the curriculum. So, as a result, that means I will have to repeat everything I did for the past 3 weeks all over again from scratch for an additional 3 more weeks. 😔 As depressing as it may seem, it is re-establishing two truths that I already know, yet have become even more dear to me because of my failure:

  1. Embrace the process. There is beauty in the struggle. It is not about the destination, but the journey.
  2. If you stay ready, you ain’t gotta get ready…

It’s always foolish to learn hard lessons more than once when you don’t have to. Yet, I think it was good for me to have not succeeded so soon if it will change me into being a better version of myself for the rest of my life.  The usual way of thinking is to hurry through things so that you can get to the endgame as quickly as possible. But, many times, we should be thinking about the opposite. Taking it all in. One day at-a-time. Cherishing every painful moment and defeat, and seeing yourself go through a metamorphosis and seeing your own growth and transformation. That alone oft times is worth embarking on the journey altogether. This has taught me clearer than ever before that even 1 bad decision… 1 poor choice… can set you back days, or weeks, or even years.

I have grown quite comfortable with some of the people I have met in my cohort. While it hurts to see that some of the cohort-mates that I came in with will graduate ahead of me and we won’t celebrate together at the same time, I am reminded that I must run my own race, and that my story won’t be their story, nor is it intended to be.

My focus and resolve is renewed, and I am ready to finish strong. I want to leave you with this quote that really rocked me recently. Sometimes, you come across a quote from a prolific, historical person that, although you are very familiar with their body of work, something fantastic from their repertoire comes from out of the shadows and you say to yourself: “How’d I miss that one?” Well, this quote is one of them. Shoutout to a website I discovered within the last year that I really enjoy, which is where I got it from. It is from Maya Angelou:

“You see, we may encounter many defeats, but we must not be defeated. It may even be necessary to encounter the defeat, so that we can know who we are. So that we can see, oh, that happened, and I rose. I did get knocked down flat in front of the whole world, and I rose. I didn’t run away – I rose right where I’d been knocked down. And then that’s how you get to know yourself. You say, hmm, I can get up! I have enough of life in me to make somebody jealous enough to want to knock me down. I have so much courage in me that I have the effrontery, the incredible gall to stand up. That’s it. That’s how you get to know who you are.”

Current Mood: Getting Dragged…

giphy

Above, is a live look at me and my current energy levels…

So… currently, we are learning a TRUCKLOAD of stuff. So much new stuff is being thrown at us that I can’t even adequately (or accurately) describe what they are because they are so brand new to me. Here’s a few of the topics we are tackling now (in no particular order):

  • Creating RESTful routing CRUD apps (Create, Read, Update, Delete)
  • Javascript
  • JQuery
  • JSON
  • AJAX
  • Active Record Validations
  • Active Record Associations
  • Sinatra
  • HTTP Requests
  • BCrypt
  • User Authentication 
  • Sessions

… just to name a few. My head is swimming right now. But this is what I signed up for, right? I’m not getting very much sleep, but as the saying goes, “The only thing that comes to a sleeping man is dreams…” So late nights and early mornings have been my life for several months now. One artist I like put it this way: “…how you gon’ complete your life checklist/spendin’ every night watchin’ Netflix?” There’s no time to chill. I am about halfway to my goal, so I have to increase the intensity. My dreams will not get accomplished by wasting my time on the couch.

I can’t wait to blog from the other side (i.e., the employed, feeling accomplished, side of things). I can definitely see why so many take a vacation immediately after graduating! The threat of burnout is soooooo real.

The mental fatigue is so persistent that the best way I can describe it is that it is like running a “mental marathon”.

My current diet is TERRIBLE. When you take “L” after “L” and are constantly humbled by what you don’t know/or are unable to grasp, all you wanna do is grab some comfort food to cheer you up! LOL! In addition, there is very little time to workout, so you have to fight even to take care of yourself.

So, as I try to pick myself up from this carousel and get back to studying for a few more hours, enjoy an ice cream cone for me, ok?

A Major Milestone

 

giphy-downsized-large.gif

So, I managed to do the impossible and pass a major test in my journey to becoming a full-stack developer. It was only by GOD’s sheer grace that I even passed it. Not by my smarts, or my work ethic, or by any such thing. I am beyond hyped (and relieved). As you can see from the gif above, this is an accurate representation of my current mood. I’m trying to go Super Saiyan on every test from here on out, but I know it won’t be easy. Every assessment makes me feel like it is the 4th quarter in game 7 of the Finals. The pressure is palpable. The stressful cloud hanging over your head each time you take one makes you feel like you might throw up Mom’s spaghetti at any moment…

I was tested on things such as refactoring classes, module mixins, inheritance, schemas, SQL queries,  nested arrays, etc. There’s such a long way to go. Yet, I am trying to re-orient my mind to think more about how far I’ve come instead of thinking how far I have to go. I see more clearly how learning to become a programmer changes you… You really do have to think differently and approach situations with more of a changed perspective than you ever have before. There’s definitely a lot I wanna say right now, but I will leave that for another time. Sometimes, you just gotta appreciate the win, and not take for granted what you have already accomplished. So that’s what I will do. Soak it all in, before it is time to get hit by more haymakers.

When GitHub Teaches You A Life Lesson

Nothing to CompareSo… some time ago, I found out that I would need to repeat my previous 3 weeks of learning because I did not pass an assessment (which measures your skills and comprehension on all that you have learned thus far). It would be devastating had I not already known going into the exam that I wasn’t passing it, LOL. (I typed “LOL” there even though there’s nothing really, truly funny about it. It’s just that sometimes you have to laugh to keep from crying…)

I will be given another assessment really soon, and should I not perform well this time around, I will be asked to leave the program.  I currently feel like Langston Hughes’ “A Dream Deferred” or even better Proverbs 13:12.  I feel as if all of my hope is beginning to dry up. My hopes of getting out of a dead-end job, and out of a crappy NYC apartment, and onto a fulfilling career seems to be slipping further and further from my grasp. I feel like such an underachiever. It feels as if all of the late nights, early mornings, massive hours studying code, whiteboarding, extinction of a social life, loss of sleep, etc. is not paying off and I feel like a huge failure. On top of constantly dealing with “Impostor Syndrome”, I now am tasked with rebuilding the sandcastle (that I just spent 3 weeks building) all over again because the foundation was not good enough. My sandcastle was kicked over by big, bad, bullies like Rspec and code reviews that showed that I had a lot of improvement to do. This means that in addition to this, the stress of surmounting monthly bills (after having left 2 jobs in order to pursue this dream), the constant reminders that come in the mail from the company that I took out a significant loan from (in order to finance this endeavor which could cover the cost of a new car), amongst other pressures is starting to weigh heavier. “Will I do all of this and have nothing to show for it? All of this sacrifice just to find out that I couldn’t “hack it”? (pun definitely intended here…).”  Even as I typed this last line, I seriously considered whether I should put “hack it” in single quotes since I already used double quotes earlier; that’s how much my mind has been inundated with code (my Rubyists will feel me…). It feels like everything is falling apart. I don’t have the financial resources to easily start from scratch again. Doubt is beginning to permeate my emotions. I feel like an intruder who will never belong.

But here is what I have been reminded of this week in the most unexpected of places: GitHub. The photo above was like a reminder to me to stop comparing myself with others. Truthfully, there is no one to compare myself with. My journey is not and will not be the same as anyone else’s. It is unique with its own sets of challenges, setbacks, victories and experiences. It has been said (and very well, I might add) that “comparison is the thief of joy”. There is soooooo much truth to that. Stop comparing. There is no one else in the world like you. You are a unique, specific, special, original, instantiated object, I mean, person (pardon my Ruby speak…). Be encouraged to not compare your journey and set of circumstances to others. It is unhealthy and dangerous. People who are fellow learners with you have such a unique combination of education and experiences that allows them to either grasp/not grasp the material you are now learning. (May I offer you a really great article in general, as well as one that speaks specifically to this exact point? (see tip #1 Hmmm. I wonder why it is #1…))  Maybe they had a head start. Maybe they repeated the phase before you did. Maybe they took online classes already. Maybe they have a Computer Science degree in hand already. The scenarios are endless but the comparisons are not valid.

It is likely, that for the very first time in your life you are training your brain to think like a computer. That is not easy! Be kind to yourself.

But if the saying is true that anything worth having is worth fighting for, then that is exactly what it is going to take: an all-out fight, each and everyday to have the life that you want, regardless of profession or endeavor. So I will dust myself off, and try again. Who knows how long this blog will be around if I fail again? The answer lies in how bad do I want it…