Mr. Charlton is a Terrible Code Monkey

I was recently working on a project for a friend of mine who’s a software engineer, helping him put together some 3D modeling stuff. Nothing outside of my scope, but it’s been a while since I’ve sent anything to a 3D printer, so there was some stuff I had to relearn. We ran into one major issue after I had built the first model. When we sent it off to the 3D printer, the 3D printer said the model was too small. It was so small, in fact, my model wasn’t even showing up at all.

Now, I’ve been doing this sort of thing for a while. When the printer balked at me, my first reaction wasn’t “What’s wrong with this stupid hunk of garbage”, it was “Okay, let’s  simplify the problem”. Instead of checking the model (which I had spent hours on at this point), I sent a boring 3D cube to the printer. I ran into the same issue. The cube was too small. Huh! This instantly told me my model was probably fine, but the model and the 3D printer weren’t talking to each other correctly. Something was getting lost in translation. So I made the cube 100 times bigger. Success! The cube was being recognized. I made the model 100 times bigger, and the issue disappeared.

I told my friend, the one who contracted me to do this work, about the issue and how I solved it. He told me the process I went through, simplifying the problem then testing it, was the same way a coder would tackle the problem. Little did he know I’ve been teaching myself the ins-and-outs of coding for a while now! The philosophy of working with code is the same as the philosophy of generating 3D models, which is also the same philosophy of dealing with technology and computers in general; Test the easy, big stuff first so you can narrow down the solution. Also, your computer does not respond very well to yelling instructions at it.

20161213_124526

Strangely, it doesn’t respond to hand gestures either.

Coding isn’t something that comes naturally to human beings. Unless the person has some sort of specific autism, coding is a skill everyone will struggle with. Learning how to code and making little programs has taught me an incredibly important skill, one I never got the hang of in grade school, at college, or anywhere before in the workplace. The skill of being miserable at something, and failing over and over again.

I was pretty good at school. I wasn’t an exemplary student, by any stretch of the means, but I didn’t struggle with any subject. There’s never been a time where I was overly challenged. The only challenge I ever faced was of my own doing, as I tended to procrastinate. Any problem can be made difficult if you wait until the absolute last minute to take it on. School and work never really put me in the path of failing. If it was school, I did well if I put the slightest amount of effort in, and work was basically showing up and doing the job.

Enter coding. I started coding, ever so slightly, a couple years ago. I was a lousy coder back then. These days, well, I’m still pretty awful at coding, but I can look at code and make some sort of sense of it. I can make little scripts to automate tasks. The truth is, I’m not sure if I’ll ever actually be good at coding. I think it’ll always be something I struggle with. That okay, though, because there’s few things I’ve found in life to be as enjoyable as solving problems, and a computer, well, that is basically a box full of problems that need to be solved.

The point I’m trying to make here is very few people are naturally good with computers. The rest of us nerds have to work for it. So if you’re trying to teach yourself how to code, there’s a trick that will keep you on track. The trick is learning to be happy with failing, over and over again. A computer doesn’t hand out participation trophies. Having code that is 95 % correct will still return errors. The computer will only recognize code that works. But when you finally do figure it out, there isn’t anything I’ve found that is quite as satisfying.

Sincerely,

The Illustrious Mr. Charlton

p.s. Okay, an orgasm can also be satisfying, but anyone can give themselves one of those, so it’s a different kind of satisfying, I guess.

 

2 thoughts on “Mr. Charlton is a Terrible Code Monkey

  1. you say that coding isnt something that comes naturally to people unless they have autism– this is unfortunate for two reasons. first of all, i know youre making a joke and im not offended by the lack of political correctness (go right ahead) but public understanding of autism is thin and fragile enough already without thinking its a requirement for basic computer skills. in the 80s, lots of non-autistic kids learned to code.

    but the worse part of it in my opinion is that youre implying that code cant come naturally without some kind of special brain. this is a defect in teaching (and teaching tools), and basic and logo were both developed in the 1960s to tackle precisely this issue– computer literacy for non-experts. whats missing from the public is not unusual brains but sufficient exposure, due to priorities in education changing in the 1990s. in the 80s, anyone could learn to code. in the 90s, they didnt bother because it was no longer in vogue. now again, its back– and with it, tools to help anyone. my advice is to pay more attention to those tools 😦 dont feed peoples misconceptions. cheers– all the best.

    Like

    • The truth is, nothing comes easily without practice. Learning simply takes patience and practice, whether it’s coding or painting. It’s a wonderful thing there a number of tools available today to help people learn to code, sites like khan academy and codecademy. I know these websites have helped me find a starting point.

      Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s