If You Want to Be a Digital Marketer, Learn Web Development

I ended up in marketing nearly by accident. My plan was always to be a developer—it still is—but I knew I eventually wanted to start a company, and I so I knew that I would at some point need to learn a bunch of other stuff in addition to pure programming: sales, marketing, economics, accounting, business law. So when I was offered a marketing job, despite a work history full of building websites by hand and utterly lacking in anything even containing the letters “SEO”, I took it.

This gave me an interesting background for a marketer, where though I was extremely junior, I understood all the technical jargon that made my coworkers flinch. And looking back, I think my technical background was a boon to me; so much so that I recommend taking at least one beginner web development class to anyone who wants to be a digital marketer.

Why Learn Web Dev?

Knowing web development is so useful for digital marketing because the two are hopelessly intertwined. For example, take the two most important pieces of metadata for SEOs: the meta title and description tags. Knowing where they are in the code, how they show up on the SERP, and how Google indexes them is extremely helpful to use them effectively for on-page SEO. Take another example: it’s all well and good to know by rote that appropriately sized images will make your page load faster, but if you understand the reason—that CSS takes a moment to resize the image, and if you give it an appropriately-sized image, it can prepare it faster—you’ll know exactly how to fix the problem. In general, being able to read the code when you “view source” on a webpage, along with knowing the general architecture of the internet, will help you immensely.

If you’re currently working in marketing or you’re planning to start soon, you may be thinking, “okay, in theory that sounds nice, but I’m already working so hard on marketing itself, and I don’t have time to learn to code – isn’t it super time-consuming and hard?” Fortunately for you, the answer is no, it’s not harder than any other marketing skill – if you have the right resource. And I have the right resource for you right here: HTML, CSS, and JavaScript Web Publishing by Colburn, Kyrnin, and Lemay. This book taught me a majority of what I know about HTML and CSS, which says at least something given my portfolio. It has one oddity: it doesn’t tell you how to actually host your site on the web until chapter 24. You’ll want to read that chapter very early on – probably either right before or right after chapter 1. Getting used to pushing your changes live with FTP is both easy (you can teach it to a 7-year-old) and important. Besides that little quirk, this is one of the best resources I have ever found for HTML/CSS/JS, and definitely the most useful for beginners. It even has a nice section on SEO at the end!

Learn to Use Chrome’s Developer Tools

Besides building your own websites, there is a techie tool that’s also helpful if you’re going into digital marketing: Google Chrome’s Developer Tools (or “DevTools”).

You can access the Developer Tools by clicking the three dots in the top right-hand corner of the Chrome browser, then selecting “More Tools” about 3/4 of the way down the menu, then selecting “Developer Tools” from the bottom of the next menu. The developer tools are a window that pops out from the right-hand side of the screen, and they’ll let you do all sorts of awesome stuff, including seeing in real time in a real browser what would happen if you made certain edits, without ever changing the real source code. You can do this with not only your own website, but with other peoples’ sites, even those which are way more complicated than yours. Here’s a nice tutorial to get you started with Google DevTools.

These tools are very useful for the beginner web developer or digital marketer because they’ll let you toy around with massive, complex sites without having to build those sites from the ground up yourself. I tend to just open the DevTools on random websites and play around with making changes to see what they do. It’s not a systematic process, but it’ll improve your web development skills, and it’ll also be fun. Who said work couldn’t also be play?


Do you agree that digital marketers should learn to code? Do you have more useful tools for beginner web devs (those who are or aren’t marketers by trade)? Let me know in the comments!

Thoughts from Planet Earth

Sometimes I look at the sky and I think, how high can I jump? Like, half a foot or so. And then I think, how high can I get in an airplane? That’s the kind of delta that human ingenuity gives us. And it’s not even the limit: how high can you get in a rocket ship?

But even so, the stars that I’m looking at are so much further away. If Earth was a word, the nearest star is ten times every word you’ll ever say in your life. And yet, we humans went from the half a foot we can jump to the upper stratosphere, where the tallest mountains are vague outlines of purple and white.

It took a lot of work. Not with our muscles, which can only get us about five feet up if we train relentlessly for years, but with our brains. Thousands of ordinary human brains, no smarter or greater than you or I, made the airplanes and the rocket ships. In fact, human brains did a whole lot more than that. They created the entire modern world.

I wake up in the morning to an alarm app that comes installed on my smartphone, which gets its data from a clock which runs on humanity’s collective knowledge of quantum physics and syncs with all the other phones via a network which runs on humanity’s collective knowledge of binary logic. I get dressed in clothes that came directly from somebody I’ve never met who donated them to a Goodwill on the opposite side of a continent from my current residence, and that person got them from a store which got them from a country I’ve never been to. I take a train to work which moves through a huge tunnel under the ocean at upwards of ten times the speed I can run. Humans made all of this! Some of it is pretty suboptimal—the fact that I have to get up at 6am certainly comes to mind—but you can’t deny that it’s incredibly cool.

If thousands of ordinary human minds were able to make all these things, I think that with a few thousand more, we’ll be able to make it all the way to those stars and to the planets that might orbit them.

What might we find there, on those distant worlds? Maybe nothing more than we minimally expect. Some interesting places, both habitable and hostile, to which we can add the beauty that comes with perception by intelligent life. And this isn’t a loss! Improving the diversity and span of human experience across the galaxy is one of the best futures I can imagine for us.

But maybe, just maybe, we might find someone else out there. Not humans in funny suits, like in sci-fi movies, but things which are more different from us than we are from petunias—because we and petunias both evolved on Earth, though our evolutionary branches separated aeons ago. Sentient things made of complex configurations of silicon, crystal, liquid, metal, or things even stranger. Sentient things which are further from humans than anything we know, but that we can still call people, because though they may not have human thoughts, emotions, or biases, they have goals and they don’t want to die and this is all we really need.

Think how similar we are to each other, compared to the others we might find out there. All humans look the same—bipedal ape-like things made of flesh and built from DNA. We think the same—simple animals which evolved higher thought, planning, and consciousness by a constant competition with one another which produced predictable patterns and errors in reasoning. We act the same—pack animals inclined to organize into social groups and gatherings who are practically mandated by our development process to use syntactic combinatorial language along with specific nonverbal gestures and facial expressions to communicate. We feel the same—emotional creatures motivated primarily by fear and secondarily by joy, sadness, anger, and love. We’re as alike as peas from the same pod.

And maybe this is the part of my mind that grew up on Star Trek talking, but it doesn’t make any sense, if we could find and cooperate with these others—and I think we would, judging from how badly we want to not be alone in the universe—that we would still have such silly things as the various -isms and -phobias which are manifestations of inter-human hate and insecurity. How could we hate a fellow language-using, emotion-feeling, hairless ape built by DNA, when we could get along with electrically-charged systems of fractal crystals and gaseous blobs of pulsating color?

If our distant ancestors could gradually build our modern world and our distant descendants could get along with these impossibly different aliens, how could it make sense for me—operating in a flawed modern world but made of the same stuff that made up the humans before me and will make up those after—to hate another human?

These are the things I think of, looking up into the sky at night.

Thoughts on the Basics of Go

Disclaimer: I’ve been studying Go for two days. There are some neat things I learned about it, so I decided to document them, but if anything in this post is factually inaccurate, please let me know so I can correct it. Thanks!


Go is an object-oriented, statically-typed programming language created by Google in 2007, which makes it the only language I know that’s younger than me. (Python and JavaScript aren’t as young as you think they are, they were both created in the mid-90s. Yeah, I was surprised too.) Go seems to me like a weird lovechild of Java and JavaScript, but then again, I have heard it’s more like C, I just didn’t make that connection because I don’t know C.

That being said, if you already know both Java (or some other statically-typed OO language like C) and JavaScript (or some other dynamically-typed language like Python) most of the basics of Go aren’t going to seem odd to you. Go is statically typed, but it’s much smarter than Java in terms of inferring variable types, so the actual top-level programming feels somewhat like JavaScript or Python.

For some examples: Go has a main method that works just like Java, and one variable initialization style, var x int = 10, looks Java-esque. However, the idiomatic style for initializing variables looks somewhat like JavaScript: x := 10, since there’s no explicit type declaration. Overall, in Go, you type way less characters than you do in any other language I’ve used before. Look at the idiomatic initialization above. Or look at how you get a character from an array: arr[2], unlike Java, arr.charAt(2). The + operator is also overloaded to both addition and concatenation, like JavaScript, unlike the Java string.concat() method.

Now for the weird stuff that’s not like any other language I know – though it might be like some other language.

Go only has one loop, which happens to use the for keyword. Using different syntax patterns, it can operate like a for loop, a for-each loop, and a while loop, just to name a few. There’s also a range loop for k := range arr, and if another language I know uses them it’s definitely esoteric.

Go also does a weird thing with arrays. There are three standard types of array-like things: arrays, slices, and maps. Arrays pretty much work like Java: they have a set type and size and can’t be expanded. To fix the “arrays can’t be expanded but I wannaaaaa” problem, instead of going the Java route and making an array-style expandable object type which everyone then uses instead of standard arrays (ArrayList), Go has “slices”. These are segments of arrays which can be expanded when new elements are appended, until the length of the slice exceeds the length of the array, at which point the contents of the array are copied to a new array which is big enough to hold the appended elements. …I think. Maps are, fortunately, simpler. They’re sets of key-value pairs, where the keys and values can be of any single type. So you can map strings to ints, ints to ints, strings to strings, etc.

There are two things about Go which I find neither good nor bad, just very interesting. The first thing is that, among the variously-sized numeric types, there exist numeric types for complex numbers. This sparked a sudden desire in my mind to do something involving quantum physics with Go, although I have absolutely no idea what about quantum physics I would want to write a computer program for. The second thing is that Go does a lot of stuff in the Terminal, which makes me wonder how one goes about writing desktop applications in the language. (According to this article, it’s difficult.) I’m not a huge fan of web development stuff in general, and it’d be kind of annoying to have to make all my advanced Go projects web-based.

Besides slices, nothing about Go seems too awful or counterintuitive, so I’m optimistic about my future studies. As soon as I’ve got something a bit more complicated than Hello World, I’ll post projects and write-ups here. Please look forward to it!