Coding and drawing

Some people like coding and they like drawing too. What do they have in common?

I like to code—I don’t looove it, but I like it ok and I do it a lot—but I find drawing to be very difficult. I can keep tinkering with my code to get it to look like whatever I want, but I feel like with drawing I have very little control. I have an idea in my mind of what I want the drawing to look like, but my pencil does not follow my orders.

Coding is digital and drawing is analog. Is it just that? I don’t think so. I think that if I were doing digital drawing, pixel by pixel or whatever, I’d still struggle.

On the other hand, I like drawing a lot and find it super useful if I’m drawing graphs of data or math patterns.

Here’s what I wrote a few years ago:

I was trying to draw Bert and Ernie the other day, and it was really difficult. I had pictures of them right next to me, but my drawings were just incredibly crude, more “linguistic” than “visual” in the sense that I was portraying key aspect of Bert and Ernie but in pictures that didn’t look anything like them. I knew that drawing was difficult—every once in awhile, I sit for an hour to draw a scene, and it’s always a lot of work to get it to look anything like what I’m seeing—but I didn’t realize it would be so hard to draw cartoon characters!

This got me to thinking about the students in my statistics classes. When I ask them to sketch a scatterplot of data, or to plot some function, they can never draw a realistic-looking picture. Their density functions don’t go to zero in the tails, the scatter in their scatterplots does not match their standard deviations, E(y|x) does not equal their regression line, and so forth. For example, when asked to draw a potential scatterplot of earnings vs. income, they have difficulty with the x-axis (most people are between 60 and 75 inches in height) and having the data consistent with the regression line, while having all earnings be nonnegative. (Yes, it’s better to model on the log scale or whatever, but that’s not the point of this this exercise.)

Anyway, the students just can’t make these graphs look right, which has always frustrated me. But my Bert and Ernie experience suggests that I’m thinking of it the wrong way. Maybe they need lots and lots of practice before they can draw realistic functions and scatterplots.

When I do statistics-style drawings, I can make things look right, and accuracy really matters to me. But ask me to draw a cat or a dog or a house? Forget it. What’s going on here? More introspection and experimentation is needed. The point is, coding kind of is like drawing. there’s something going on here.

52 thoughts on “Coding and drawing

  1. Good post. I love introspective thoughts like these. I have many of my own going on right now so forgive me for not pitching in on this one, plus it’s yours…but I enjoyed reading it :)

  2. You and I have thought through the logic and “textures“ and “shapes” of our code all our life. But I at least have spent very little time drawing, like for example holding the pencil at different angles to achieve different textures or the illusion of a 3D effect.

  3. I had a similar experience back in 1999 or so. I bought the book “Drawing on the Right Side of The Brain” I have no idea if the anatomical brain theory has any merit but the theory that there are different subsystems and you need to get past some executive system that’s futzing up your drawings is very obviously right. check out the book!

    • Seconding Daniel’s comment…

      Betty Edwards coaches you through the cognitive leap between not being able to draw and then being able to. Disregard the title, because the validity of the anatomical explanation is irrelevant. It’s the drawing exercises that make the difference. If you do them, you will see it happen for you.

      In particular, the exercises that made me suddenly able to draw were the vases and faces exercise and the upside-down drawing exercise. If you do both of those exercises, you will discover something. After that, try drawing Bert and Ernie upside down. You will solve the problem and amaze yourself how much more representative your drawing is.

    • I absolutely dont like this book and the approach presented by this book. If we are drawing analogy to statistics, “Drawing on the Right Side of The Brain” is like training out-of-the-black-box neural network for any problem. I would much prefer problem-specific modelling, utilising domain knowledge.

      The same goes for drawing. Yes, you can turn any photo upside down and make its copy with a pen. But I would prefer a harder approach. You want to draw a human – go study anatomy. You want to draw plants – go study botany etc. This much harder, but also a way more rewarding.

      Drawing, like statistics, is about understanding the inner law of things, dont let yourself be tricked by surface similarity.

      • If what you got out of the book was that if you turn stuff upside down you can draw it easier… then I don’t think you read past the surface message.

        The fundamental message in the book is that drawing is about looking and honestly seeing what is there, and teaching you what the barriers are to doing that. There are subprocesses in your visual processing that create simplified representations of the world, these are what typically people draw, rather than what they actually see. Turning things upside down or the other hacks are just that — hacks to fool those subprocesses into not interfering with seeing.

        Fundamentally, the book is about understanding the inner law of your brain’s visual processing, and learning how to engage with the lowest level of it: patterns of light and dark, shapes, etc.

        Once you understand how to look at things, drawing them becomes vastly simpler.

        There are some rare people who don’t process the world this way. When they look at things, they see patterns of shape and light and dark. They are the ones who we think of as “natural talent” in visual arts. However, it seems to me that they often struggle with things other people take for granted. When the whole world is shapes and light and soforth, it’s hard to answer the more abstract questions. Like “where did I leave my keys” or “which person that I know owns this hat I just found” etc. Many of us process the world into symbolic representations that shortcut the complexity of visual processing. But this makes drawing hard!

        • I do understand what the book is about, and it is interesting in its own way. I just… dont find this approach very fulfilling. I believe that drawing is about understanding the world around you, not about turning your brain into a copy machine.

          Lets take Andrew’s example as an analogy. Students are asked to draw a function plot. These students are not very experienced, so they just draw some lines, something that they think resembles a plot. Any statistician would see these plots are wrong. Now, you can train these student to look for certain features: where does line intercept axis and so on. But instead of teaching them how to copy figures, maybe teach them math?

        • Sure, this book is like a first course in algebra that helps you get over the problem where you can’t seem to understand the idea that x could be a number. It’s not a comprehensive guide to all of math, so to speak.

          To me it’s a gateway book to a richer world you can’t access until you get past the barriers it breaks down.

        • Ok, we got ourself an empirical claim here!

          Lets define
          (A) – dont knowing how to paint
          (B) – knowing how to paint by reading “Right side of The Brain” book
          (C) – knowing how to pain in a classical way

          Your claim would be that it is easier to go from (A) to (C) though (B), and my claim would be that (B) makes no difference. I dont have any empirical data to test this claim, but this is my prior.

        • I think you’re making a stronger, or maybe just different, claim than the parent.

          You are implying that it’s possible to go straight from A to C without anything in between, but this is probably not true — there are almost certainly *some* intermediate states, you don’t just magically know how to paint in a classical way one morning.

          The prior poster is saying that B is one such possible path, not the easiest, maybe not the best, certainly not the only.

        • I don’t agree with this. It’s perfectly appropriate to use “hacks” to draw – or to do anything else. None of us can be experts in everything in the world. By using “hacks” or tools to accurately represent what we see, we learn about it directly, through experience, rather than through abstract formal training.

          I love your artistic work but with all due respect there’s nothing in it that tells me that you have expertise about anything you’ve drawn. Gaining that expertise might be a fine tool and an enjoyable past-time for you, but it’s not and shouldn’t be required of others who want to draw.

          Studies have shown time and time again that when students take notes in courses, typing them on a computer is far less effective for learning than writing the notes by hand. So I’ll venture an hypothesis: there is a strong hand-brain connection that helps us learn. So any tool we can use to help us draw or represent something – even just tracing it – will help us learn about it.

        • Jim said,
          “So I’ll venture an hypothesis: there is a strong hand-brain connection that helps us learn. So any tool we can use to help us draw or represent something – even just tracing it – will help us learn about it.”

          Interesting conjecture. But I wouldn’t be surprised if the strength and/or qualitative aspect of. the “helping to learn” is at least somewhat dependent on the learner’s propensities. For example, someone who is very kinesthetically oriented might find “just tracing it” a more effective learning tool than would someone who is very verbally oriented, or someone who is very visually oriented.

        • “I wouldn’t be surprised if the strength and/or qualitative aspect of. the “helping to learn” is at least somewhat dependent on the learner’s propensities”

          Yes, I agree

        • jim, I see you point, and I would agree with you.

          I dont want to claim that everyone should be a professional artist or something. Its fine to be non-expert and use hacks and shortcuts! Some people would claim that iliad and odyssey is only good if you read them in original ancient Greek, but I think summary is fine as well!

          What I want to stress here is what “hacks” and “classical approach” are different thing. And I would prefer to be a bad in “classical art” than good in “ad-hock art”. But sure, Im super biased here.

    • I cant’t claim to have read this book, but I feel like I just don’t have a good understanding of perspective, irrespective of any inhibitions that might be holding me back. I have a visual system that can parse scenes but inversion is usually harder (or at the least very different than) the forward operation.

    • I don’t know if this is book is the right thing or not, but I’ve always been under the impression that drawing can be taught/learned and that if you haven’t been shown the basics and done the exercises, you won’t be able to do it.

      Japanese is written with three alphabets of 50, 50, and a zillion characters, respectively. I’m comfortable writing Chinese characters (if it’s one I know or I’m copying it) and the second set of 50 (katakana), but the main alphabet (hiragana) is hard (for me to make look anywhere near correct). I found a book that claims to teach folks with ugly handwriting how to fix that, and the first thing it has you do is (drum roll*) draw circles.

      *: Since drawing circles has been mentioned elsewhere in this thread. In one of my walks, I came across a small museum dedicated to Ms. Ichiyou Higuchi, one of the first “modern” authors in Japanese. It had a framed example of her hiragana drawn with a brush; it was breathtakingly beautiful. Sheesh. I’ve got a long way to go.

  4. An important difference between coding and drawing is that the former is unidimensional (almost exclusively) and the latter is two dimensional.

    That said, I’m an OK coder and a terrible drawer, though, per your observation, I haven’t practiced the latter much and maybe I forgot how bad I was at coding when I started, even though, I would argue, it is simpler because of the uni-directionality.

  5. My trite guess is that it is like learning to play a guitar or piano, and takes a lot of practice to train the neurons to coordinate the right muscles, and to recognize the significant patterns (features) in the thing to be drawn. Anecdotal evidence: somebody, I think either Michelangelo or Da Vinci, was said to be able to draw perfect circles freehand (I can’t come close but feel lots of practice would make me better); and I was about as good in grade-school art class as a couple friends who grew up to be commercial artists–which is to say we weren’t very good then but more interested in it than the rest of the class, and they kept working at it and got a whole lot better.

    Although, as I look at the graphic of the cast of the “Dan LeBatard Show” (on an ESPN channel, weekday mornings at 10 AM), Alice’s face is the only one I think I could use to pick her out of a police line-up, and the artist (Dan’s brother) is a commercial success. So I’m not sure I would recognize his Bert and Ernie either. However, I can see the talent in his pictures.

    My sister and I used to make quick doodles on scraps of paper in church and hand them to the other to be completed into something recognizable. Then the doodler would grade the result A-F. I got as many A’s as she did, in those days (if memory serves).

    She majored in Geology in college but wound up as an art teacher and has sold her paintings and murals in oil and water colors, but isn’t interested in the digital art I need for my computer-game mods. If it doesn’t get her hands dirty (she does sculpture and stained glass also) she can’t do it. I usually capture, recolor, scale, and finally pixel-wrestle images that I need (mostly landscape features). That’s how I would get Bert and Ernie.

    I do make rough hand-sketches when working a new idea. It seems to help a lot, but I would be embarrassed to show them to anyone.

    • I play guitar, I draw, and I code! They all require practice. They’re all totally different.

      Playing music is about practicing movements. Coding is intellectual. Drawing is visual. In coding you can get stuck, but you can look up the answer. In drawing you can’t really get stuck, but you can struggle endlessly to get something right, and there’s nowhere to look up the answer. In music, you can get stuck, you can look up the answer, but it might take weeks, months or even years of practice until you can perform the operation.

      I don’t have any formal drawing training, and I’m by no means a professional, but I can make a recognizable representation of most things. For me the path to that was by thinking in grids. If you want to draw Bert from a photo put a grid over the photo that divides it into 25 squares, then draw on a matching grid. This ensures that you get the fundamental proportions right. If you do it a few times your brain will start to adjust and your freehand skill will improve. Then if you want to draw an eye, you can put a smaller grid over the eye; or nose or whatever.

      • +1. I’ve done more drawing than coding but I’ve done and enjoyed both and I find them hard to compare. Comparisons that make one sound like the other always seem to rely on a lot of abstraction (if both activities aim to create representations of the world, as a few have said, so do telling a joke or drafting a legal opinion) or on the vagaries of language (not everything that is “creative” in the literal sense of producing an output is also creative as the word is commonly used, to mean imaginative or original).

        Which is not to say that coding can’t be informed by imaginative or original thought, or that drawing is necessarily that. Maybe that’s where I’m getting hung up, that my drawing activities have a different aim than my coding. Although Andrew specifically mentions sketching scatterplots, I tend to think of “drawing” as an artistic pursuit done for its own sake, and judging from the comments here I’m not alone. Are there more constructive comparisons to be made between coding statistical graphics and technical illustration, for example, or between sketching with charcoal and creative coding?

        • Yeah I agree both coding and drawing – music too, any endeavor, really – require both technical skill and creativity.

          I guess the difference between drawing a statistical chart and drawing artistically is that in the latter the artist uses the drawing as a form of expression, rather than as a technical representation of the physical world. Still tho for the viewer to “get it”, even artistic visualization needs some fixed relationships (the transform vector for you mathophiles) that allow the viewer to follow the transformation or pivot from one coordinate system (reality) to another (imagination).

  6. I think that drawing and coding have similar aspects and that we can overcome challenges. There are such similarities as simple as both having to make it up along the way. For example: You have a chance to use an eraser and erase your mistakes when you are drawing. In coding you can test it out and delete it or move it.

  7. I also think that they are both fun activities even if you are bad at drawing. ✍️ I have seen his books before so I know that he has talent in writing and he has a spark of talent in drawing. But I am sure that if he took a ✏️ pencil, he would make a half decent drawing. If he practices more at drawing he could learn how to draw better. Same with coding. If I started out very bad at coding but practiced a-lot I would be better.

  8. If we all were 10/10 on everything we would only be able to go down. No offense to any golf players here, but, We would grow old just playing golf. ⛳️ I think that we have to at least try something new every now and then.

  9. Any good resources for stats-drawing exercises out there?

    I am teaching a crash course in intro stats for new sociology PhD students in a month and this is one of the most accessible ways to engage people with core concepts.

    • Maybe start by giving them pictures and asking questions like, “Which one has the larger standard deviation? How do you know?”, “Which one has the larger mean? How do you know?” etc. (This would be good to have students do first in small groups, then have groups report to the whole class on their conclusions, especially the “How do you know?” part).

    • Why not just have them trace some common distributions then answer some questions about the shapes they traced? Or cooler yet, have them trace some distributions independently, then compile them into a single chart. So first they see the basic relationship of the distribution to the coordinate system, then they can compare the distributions in their correct proportions and geometric variations.

      One of the problems with having people draw freehand on something technical is that they won’t notice the critical relationships, they’ll draw it wrong, and thereby reinforce an incorrect idea about it.

  10. Andrew,

    Is your experience tinkering with code representative of your experience developing more complex projects like STAN? It’s been my experience that much like in drawing, novice coders—and I definitely include myself in this category, depending on what kind of development we’re talking about—are also condemned to circle around various kinds of coding tasks, even with an infinite time horizon. Or maybe, more accurately, a novice coder would complete the task after some finite period of time, but only because they would develop better coding practices along the way.

    I’m thinking here of things like writing code that is easy to understand and maintain, that is idiomatic, that exposes a sensible interface for the user, etc., not just getting code to run from top to bottom without throwing errors. I think in these cases—at least for me—how well I replicate what I envision in my head in what I actually implement has definitely proven dependent on how much deliberate practice I’ve put in. I’m not much of an artist, but this strikes me as similar to how artists I do know have described the process of learning to sketch.

  11. I’m not very good at either coding or drawing. With drawing, I think the problem is with hand-eye coordination, and especially with fine motor skills. Maybe I could have learned to draw if I had had very good training, especially focusing on developing fine motor coordination. (My handwriting is poor, too.)

    Someone gave the analogy with music. In my experience (including piano, flute, and voice) the quality of the teaching is really important — a good teacher makes a big difference. Some music teachers just teach in a “one size fits all” way. I’ve never had a piano teacher who didn’t do that, but I’ve had both good and poor teachers for both flute and voice. For example, after struggling with a poor flute teacher, someone recommended another one. The new teacher actually listened to the sound I was making and looked at what I was doing. He realized that I was getting a really fuzzy sound because my lips were chapped. Using chapstick regularly helped that. He realized I was struggling with the basics because he started me on a book that was too advanced. When we switched to the lower level book, I learned what was in it at a good pace, then went on to the more advanced book and it was then at the right level for me. And when I took voice lessons (in my forties), the teacher listened to me and tested my range, then gave a summary and put me on a program that developed both my strengths and improved me where I was weak. But I think the fine-motor difficulty also affected learning to play both flute and piano. It was required much more in playing piano that in play the flute — because with flute, the hand positions just vary slightly, whereas with piano you have to judge larger and larger distances to get the right notes. Having small hands was also an impediment with piano.

    So, what was the problem with coding? I think largely that the first time I tried it (when I was in high school), it was machine code, and that really turned me off — having to remember a string of digits to say things like “plus” and “minus”, but also the difficulty with fine-motor-coordination (i.e., poor typing was a problem. So I avoided it in college (which I later regretted somewhat). My typing is till poor, but somewhat better after using a “Typing Tutor” type program. My piano playing is still rotten.

  12. The drawing of what you know how to draw is fascinating. There’s an inference engine which sees the next steps and which adjusts the drawing to fit what you know it should not be. I stated that intentionally because I think that’s the more important aspect: you can try to draw what something is or you can draw what it is not. You can, of course, use shadows to define objects, but I mean that every step you make to draw something in the positive illuminates a variety of connections that tell you what it is not, and you follow those to the next point of where it is.

    You can feel this when you’re drawing. The process behind it is really interesting.

  13. Coding today is a very diverse field. People do coding in different ways, for very different purposes and reasons. It is so diverse, I dont think there could be any unified good code practises.

    Same goes for drawing. People did art philosophy for millennia, it all contradict itself and its all correct.

    I like drawing, and for me drawing embodies learning. Like when you draw a flower, you need to learn how petals are attached to the stem. When you draw mountains – you learn about geology. When you draw humans in motion, lyou earn how skeleton works. Observing, seeing, learning – it is the fun part. Picture is a nice byproduct.

    So, for me drawing is much closer to statistical modelling that to coding. Unless you code a statistical model…

    • Your drawings or rather paintings are super cool! It’s hard to pick ones that I like the best but I definitely dig “pavement” with the blue flower and the lowest two in “7 types of loneliness”.

      One thing that is challenging for me in drawing is learning how to represent something and capture its essence without showing every line. How do you draw a tree that has a million leaves? The way I beat that game is to draw things digitally, repeat them at fine scales, then print at a much smaller scale so the detail blends.

  14. As I think some of the comments above have suggested, drawing and (the goal of) coding are similar: producing a representation of some state of the world, generally to convey something about the world. Could be a cat, could be the relationship between height and income, but the decision-making process (how to draw the whiskers, or whether to log income) seems analogous. On the drawing side, I think “Understanding Comics” by Scott McCloud does a great job of breaking this down.

    I can’t really draw but I do code a lot, and I frequently use spatial reasoning when I’m planning out my code. I try to modularize as much as possible, and so I also end up spending time thinking about how to connect those modules in an efficient (or even just sensible) way. Lately I’ve been mapping things out with Post-it notes on the wall, using up/down to represent forward movement in the pipeline, and left/right to represent multiple modules that split off from a common node upstream, or modules that can be run in parallel. Not terribly complicated stuff, but it helps me keep track of everything when processing or creating new data, adding new cleaning code, etc. I also tend to think of data cleaning – collapsing, reshaping, merging datasets – and some analysis – matching in particular – in spatial terms.

  15. My experience is that a major mental obstacle in drawing is that people tend to see an image as a gestalt, rather than as a collection of fine details. Even if the thing you’re drawing (or a photo of it) is right in front of you while you’re drawing, your perception of it is of “the whole of it,” not the details of it. For example, since you know what cats look like generally, it’s very difficult to look at a picture of a cat and see just a bunch of lines and curves and shaded areas. You might say that the picture you perceive contains information from the photograph but also information from your memory, and when you order your pencil to draw what you perceive, it doesn’t know how to sort through the two types of information and select only the external information.

    There’s nothing wrong with this, actually–your drawing will be better, or at least richer, if you incorporate all of the information you can access about a subject. This is the difference between being an artist and a draftsman. But people also tend to judge the quality of their own drawings by the literal resemblance to the subject, even if they’d never hold an artist (like Picasso) to that standard.

  16. I guess coding is like drawing in a very abstract sense. More or less like: writing in English is like writing in Chinese. Yes, and no. In some aspects, Code is more similar to write in English, while drawing is more similar to write in Chinese. You have good English and coding writing skills because you practiced them. They are not emanations of your eternal soul. So probably you will get very good at drawing if you practice it, and do so by getting some help with someone good at drawing. That is how most people learn well stuff for the first time, learning from others who are willing to share their knowledge. First time I really learned coding (not only paste and run syntax chuncks), it was in SAS/SQL, and I did it from a very generous guy who worked with me and was willing to explain everything he did in his coding. After some years of dailly practice by my own, all coding became much easier in every software I later tried. Because I learned the general patterns and logics of it. Probably the same will apply to drawing. In this sense, they are similar.

  17. This might be of interest https://www.amazon.ca/Visual-Reasoning-Diagrams-Amirouche-Moktefi/dp/3034805993

    An excerpt.
    “Valid Reasoning and Formalization.
    Deductive logic, all of us would agree, is the study of valid reasoning. Valid reasoning is the process of extracting certain information from given information. Logical systems are invented to make this process almost mechanical so that we may adopt them to save time and effort as well as to carry out valid reasoning in an accurate way. Realizing that mechanical processes go hand in hand with formalization, we should not be surprised to encounter much formalism in the literature on logic. At the same time, one could be intrigued by the following observation: The formalism studied in the logic literature is quite homogeneous—limited to almost only symbolic formal systems. Why does symbolization.”

    almost exclusively dominate the enterprise of formalism in logic?

  18. So, in order to take divergences, competent Stan modelers know that setting good priors can help.

    I find myself thinking about pedagogy, I think mostly due to disability.

    Anyway – we can borrow ideas from other fields (the arts). Drawing isn’t trivial to teach, it’s a skill with, I think, uncountably infinite degrees of practitioner degrees of freedom. What the artists have done, is given a skeleton of rules of thumb that help someone develop a foundation they can deviate from if the circumstances allow it.

    So consider the 3 heads is one shoulder with example. It’s a good starter, but it’s definitely not always true. My shoulders might be like, 3.25 heads. So, good illustrators know this, and will deviate from it when necessary to make their drawings realistic. The layman might not notice the difference.

    This framework, is kind of what I mean by the “starter priors for vanilla models”. What we’d want to do, is take experts in certain probabilistic Stan modeling techniques, and justify why their priors are compatable with Stan, and inference WRT to the given modeling technique. Then, domain researchers could use these priors as a baseline. If they find that, in their particular application, the priors aren’t adequate, as the expert illustrator knows not all shoulder widths are 3 heads, they can modify the priors accordingly.

    Moreover, “think harder,” is awful pedagogy.

    Moreover moreover, I think we can learn a lot, not in a scientific sense, but a pedagogy sense, from how humanity has successfully taught skills in the past. Let’s see where we can borrow pedagogy ideas from illustration, and music, and apply it to teaching applied researchers how to model.

    So yeah, in summary, we take expert “area” modelers, justify their priors that are compatable with HMC, and suggest these as “rules of thumb” for Stan users to start with.

    Yeah, yeah. I have docs to write, it’s been on my mind every day.

    But here’s an important question. Humans are good at skills and pattern recognition. How can we learn from our human history about seemingly obvious skills and help people learn how to model?

  19. Drawing is one of those things with a mystical reputation, but as far as I can tell (from my experience as a scientific illustrator), it’s three different skills at work. It can be frustrating if you’re not at the level you want in any one of these.

    One is physical – think “precision”. This is getting your tools to do precisely what you want them to make. To get this skill we could (as an example) practice drawing perfect circles and experiment with the different textures you can get out of a graphite pencil. (Skill with one tool translates only somewhat to skill with another.)

    Two is visual – think “accuracy”. This is being able to look at a scene and decompose it down into its component parts – lines, angles, areas, proportions, colors, shading, movement, etc. (The Drawing on the Right Side book mentioned above addresses this by teaching you how to work around your automatic processes that make this kind of low-level information inaccessible without deliberate attention and practice. How well it does that it up to the individual reader.)

    Three is mental – think “understanding”. This is what Mikhail was taking about: understanding how parts go together, how trees grow in response to environmental variables, etc. For a cat, what are the key features (color, proportion, movement, etc.) that make it a cat instead of a rabbit, or a housecat instead of a tiger? This lets you make decisions past just copying what’s out there. You can now imagine things, see inside them. Now, you can make changes to what you see – change the shading to emphasize a certain detail or make it clearer than it originally was. Choose not to draw certain details because they’re not important. Draw dragons instead of snakes. Whatever.

    If you combine these skills, you can draw whatever you want. Deducing what varying the level of these skills produces is an exercise left to the reader.

    That’s how I think of it, at least. I went to school with some good artists that would (and did) very much disagree with me on how this works.

  20. “I can keep tinkering with my code to get it to look like whatever I want, but I feel like with drawing I have very little control.”

    That sounds backwards to me.

    With drawing (which I’m not at all good at), I’m in complete control. I can make marks anywhere on the page. It’s just me and the pencil and the paper. Nobody’s even telling you how to hold the pencil, or which way to position the paper. You don’t get any more control than that! If you can make marks on the paper, you’re drawing. There are some great and successful artists with some pretty weird drawing styles.

    With software, I’m always at the mercy of the programming language (and libraries, and operating system, and …). There’s a suggested coding style, by rule or convention, and you’re supposed to make your code look like that. You’re probably using an editor (or “IDE”) which makes some types of edits easy, and other types hard. Hopefully, your editor has macros, so you can create your own types of edits on-the-fly, but that only lessens the difference.

    Of course, not all programming languages are alike. There’s a spectrum of how much control they give the programmer. With languages that have less enforcement (implicit or explicit) of structure, I’m in more control. At that end of the spectrum, you have Forth and Smalltalk and Lisp. At the other end, you have languages which have massive amounts of structure, like C++ and Java and Python. You have to write several lines of Java before you get to a line that actually does anything related to what you want your program to do. (You’ll never have to draw several lines on a piece of paper before getting to the subject you actually want to draw.) Python programmers will even complain if your program isn’t “Pythonic” enough. You can write a perfectly valid and correct program but it still has to follow a set of 19 vaguely-worded style points to be accepted by the community.

    It sounds like what you’re getting at is that drawing is a field that (1) gives you much more control, and (2) where you have much less experience. This combination guarantees you’ll have less success.

  21. Andrew said:
    “I can keep tinkering with my code to get it to look like whatever I want, but I feel like with drawing I have very little control. I have an idea in my mind of what I want the drawing to look like, but my pencil does not follow my orders.”

    Sam said: “That sounds backwards to me. With drawing (which I’m not at all good at), I’m in complete control. I can make marks anywhere on the page. It’s just me and the pencil and the paper. Nobody’s even telling you how to hold the pencil, or which way to position the paper. You don’t get any more control than that! If you can make marks on the paper, you’re drawing. There are some great and successful artists with some pretty weird drawing styles.”

    Sounds like Sam neglected the part of Andrew’s comment saying, “I have an idea in my mind of what I want the drawing to look like, but my pencil does not follow my orders.”

    In other words, Andrew and Sam are talking about two very different kinds of “control”.

  22. I think being able to doodle three dimensional objects and diagrams is a bit of an under-rated communication skill. Or maybe I just wish it was more important.

    Imagine a world where drawing is as ingrained in us as writing, so each computer has a little tablet and pen, diagrams are regular part of all technical writing, and our casual text conversations are livened up with confident cartoon drawings we make for each other!

    Being a *good* drawer can mean a lot of different things. For engineering work with diagrams, etc., having confident, accurate line-work is probably sufficient. I think managing three dimensional primitives is helpful too. I think most people could get there without too much trouble, just some practice.

    For next level stuff, you have contouring, light and shadow, anatomy, etc. which aren’t as helpful for logic problems or data.

    Drawing Bert and Ernie isn’t that different from contouring a bowl of fruit. It’s a technical job.

  23. Hi Andrew,

    Great post. I am a person that loves both coding and drawing. This is something I drew https://i.imgur.com/lB73SDz.jpeg

    Drawing and coding have much in common. They require a rigorous analysis of the individual pieces and then tying them together to form the whole. People always look at me confused when I say that drawing is very analytical. When I draw I see shapes, colours, lines, forms, I don’t see organic forms.

    One trick I tell everyone to try is to print out a picture, turn it upside down, and try to draw it. By turning the picture upside down you shut down the part of your brain that “sees things”. You will only be able to see line, shape, and form. Copy those. Flip the picture around. Boom! You drew yourself a sweet picture.

    Kind regards,
    Jan Meppe

Leave a Reply to Luiz Cancel reply

Your email address will not be published. Required fields are marked *