Editor's note: This post was originally published in June 2013. The content has been edited for comprehensiveness.
Hello World!
There has been a tremendous push to learn programming, led in large part by code.org.
Their video below features some of the most accomplished technology innovators, including Bill Gates, Mark Zuckerberg, Jack Dorsey and the Miami Heat's Chris Bosh, and has been viewed more than 13 million times.
As marketers, we may never write full software programs. In fact, as described to me by an actual developer, to code programs and do it well, you have to live in these languages.
However, this doesn’t mean we should ignore Chris Bosh’s sage wisdom. By nature of our jobs as marketers, we are required to use code to:
- Strategically guide website and app development, and familiarize ourselves with the latest trends, at least enough to know what’s possible and applicable to specific business needs.
- Update and manipulate web pages, and take care of quick fixes that may have at one time required developer help.
- Integrate tracking and reporting technologies to collect data and report on performance.
Even a basic understanding of how different coding languages and programs work will position you for success as you integrate more marketing technologies into your campaigns. Specifically, you’ll be able to:
- Communicate your vision for websites and apps to developers more effectively.
- Take advantage of evolving SEO tactics, including authorship tags, microdata markup and HTML 5.
- Free yourself from the restraints of developer schedules and content management system (CMS) WYSIWIG editors to manipulate, test and evolve web pages.
- Tap into APIs to collect data as a way to draft unique, data-driven content reports, or even create scorecards that automatically pull in campaign performance metrics.
So, this is all great, but where to get started?
A few years ago, I wanted to start to really learn how to program, but was clueless on where to begin. This is the blog post I wish I had when I first started.
In it, I’ll give you a high-level overview of the coding language landscape, recommend which languages to start with, and then point you toward some of the best, “starting-with-no-experience resources” I’ve found. I’d love for actual developers to offer additional insights and resources in the comments below.
Coding Language Landscape
When I talk about coding for marketers, I’m talking about technologies used for websites and online applications. Several of the languages mentioned below can also be used to develop full software programs. However, I’m not sure we as marketers need to get into that.
There are two main categories of coding languages when it comes to websites and online applications:
Front-End Languages
Front-end languages are those that website visitors see and interact with. They include:
- HTML: The structure and framework for all web pages.
- CSS: The style and design of a web page, including color, font type, alignment, padding, etc.
- JavaScript: The interactive elements, including dropdown menus, form validation, and page content changes based on interaction (without loading a new page).
- JQuery: A cross-platform JavaScript library that makes coding with Javascript easier and cleaner.
Of course there are many more, but start here as these are the most widely used and cross-browser compatible.
Server-Side Languages
Server-side languages are used to dynamically build sites, and often provide users with a customized user interface. Some examples include:
- Ruby
- PHP
- Java—For reference, Java is not a shortened way to say JavaScript. As I heard once, “Java is to JavaScript as Ham is to Hamburger.”
- Python
- MySQL
I recommend talking to developers who have experience in several of these languages before diving too far into one or the other. Also, work on learning languages that best align with the technologies you will be using most often.
What Programming Languages to Start With?
This is the million-dollar question; the answer to which could have saved me months of infuriating dead ends.
I have to give thanks to Steve James (@steve_james_) at Stream Creative for his guidance here. He recommended starting with the front-end languages, specifically HTML and CSS, and he couldn’t have been more right.
HTML and CSS are the foundations of most websites and email marketing tools. They are used everywhere, and honestly, they’re also the easiest to understand. In addition, the principles established in these two languages can then be applied to JavaScript, and JQuery.
After you have a firm handle on HTML and CSS, I’d recommend learning JavaScript. This is where the real programming fun begins, as you’ll start to gain a better understanding of functions, objects, arrays and methods, and, for the first time, give your programs some brain power.
With a firm understanding of JavaScript under your belt, you’ll also want to dive into JQuery, which gives you more freedom and flexibility with your JavaScript programs.
Finally, you’re ready to move on to the server-side languages. I don’t have a recommendation of where to start because I’ve only used one, PHP. I can say, if you’re familiar with JavaScript, picking up the basics of PHP is pretty straightforward. At a basic level, aside form some small mark-up differences both languages share a number of similarities.
The Best, Starter “How-To-Code” Resources
There are many resources available to help you learn to code, but finding one that starts with the absolute basics and progressively builds is very difficult.
The best course I’ve taken is edX’s CS50: Introduction to Computer Science. It is a recorded semester class taught by Harvard Professor, David Malan. David walks through a lot of the fundamental concepts and programs that all computer programs use. There are projects, supplemental lessons and a final. It’s also free.
Another really great training resource is TeamTreehouse.com. The basic plan costs $25/month, but the training videos, “deep dives” and “learning adventures” are extremely thorough, well explained, and follow a logical progression. If you are committed to learning, this is worth the money.
A Few Final Recommendations
My final recommendation for you is to have a project in mind while going through the training. It helps to think about lessons as they apply to your application, and gives you the chance to get your hands dirty. In my case, a lot of learning to program has been trial and error; a.k.a. a valuable exercise in patience.
Also, through your browser, you can view the HTML and CSS of most websites. Check out how the code aligns with the different features you see on the front end of the site to get practical real-world examples.
Work through problems, and don’t hesitate to use Google for help. You’ll find that many others have asked similar questions. You’ll also find that StackOverflow.com’s members offer the best answers. If this site shows up in your search results, go here first.
Hope this post helps as you get started. I can promise you it can be confusing and frustrating, but is a highly rewarding journey that will pay dividends when it comes to marketing campaign effectiveness and efficiency.
Remember, as marketers, we all stand to benefit from being a little more like Chris Bosh.
Image credit: Pixabay
COMMENTS