When I went to law school I was one of the few in my class that could explain how a car worked. I didn’t go to a bad law school with dull people, I went to a good law school with very bright people who had studied many interesting and complicated things.
But, if you took one of these bright and educated students out to a parking lot, popped the hood of a car, stood side-by-side, gazed upon the wonders of modern machinery, and turned to face your companion, you’d almost certainly find a face of befuddlement, boredom, and fear.
Point at something - anything - under that hood and ask, “what does this do?” and the best you could hope for was a pitifully sad wrong answer. At least that guy is trying. But you’d potentially get another kind of answer - an annoyed “I don’t know” in a tone that says not only do I not know but this knowledge is beneath me.
How could you not want to know about something that is such a fundemental part of your daily life?
Sometimes when you don’t know how something works it can feel overwhelming. It can seem that the people who “get it” have always understood the thing we do not. We are doomed to a life of ignorance and subservience to the knowledgeable, and we just hope we aren’t getting taken for a ride when the mechanic tells us we need a brake job.
Last year a friend of mine had Chrome opened in developer mode. Then he opened Terminal. And then it was a text editor with a black screen and so many colors of text. Ooooooh. Pretty.
Now I was that student looking at the engine compartment of a car. What does that do? How does this site work? Why does Adobe want me to update flash every 18 days? Is JavaScript the cursive version of Java?
not. a. clue.
And I felt the pull of protective annoyance brought on by profound ignorance. The dark side wanted me to recoil and decide that all coders are either 15 year-old genius bots or else 40 year-old coding language inventing gurus, but in either case not me so this is something I could never understand.
But that’s not what I did.
In June of 2015 I dove in to the sea of what I did not know and frantically started swimming. I used free resources to learn about basic HTML and CSS and Bootstrap and JavaScript and jquery. I plowed through a basic Python book. I started learning just how much I do not know. And there is so much I do not know.
But I also found that I am well-suited to aspects of programming. I’ve been teaching the LSAT for years - a test based on rigorous logic that rewards strict textual analysis. You must know exactly what’s stated on the page and you must not assume one sliver of information more. Writing code is like talking to the LSAT; a computer knows exactly what you said and nothing more.
And I have a tenacity about problem-solving that many friends and loved ones will tell you is maddening. If we are about to leave the house and I notice that the TV is sending a 2-channel stereo signal through the receiver when it should be sending a digital 7.1 signal? Cancel plans folks. I’m in menus, unplugging components, talking to myelf a little bit (just things like, “but why???” and “okay, so that’s good…okay…but then this should be working too but it’s not…”) and I can’t leave until I have it figured and fixed. And that’s the best part of coding. It doesn’t work and I don’t know why. But trust me, I will.
And eventually I decided I want to do this full-time. I want to look at the work day and be disappointed because that’s all the time I have to work on problems, not disappointed because I’m so far away from going home.
And now I’m working towards that goal. Speaking of which, I have a lab that’s not passing so Imma get back to that.