What a Digital Marketer can learn in #100DaysOfCode

After a description of who I am, what I do and why I committed to the challenge I describe key takeaways of what I learned as a digital marketer during my first 100 days of studying programming languages like Python, PHP, JavaScript, jQuery, HTML and CSS. In the last part of the article list my next steps and goals and I thank creators, contributors and community members of the #100DaysOfCode project as well as the FreeCodeCamp.org project, online documentations and inspiring developers.

Throughout the document I provide links for anyone that is interested in following along.

1. Who I am
I am a married 33 year old European citizen that was born in Rostock, raised in Leipzig and grew into adulthood in Rome. I hold a e degree in Economics and Management from the Italian UniversitĂ  degli Studi di Trento and have full working proficiency in English, German and Italian.

I am a digital marketer. I am not a developer. But I want to create things.

2. What I do
As a digital marketer with 8 years experience in Display Advertising, Native Advertising, Search Engine Marketing and Social Media Marketing, I use formulas and macros in Microsoft Excel and Google Sheets on a daily basis. I am no stranger to the use of data feeds and product feeds as well as the the implementation of Dynamic Keyword Insertion, Ad Parameters and Ad Customizers.

A handy query in MySQL or xPath spices up my workday every once in while and I acquired enough knowledge of HTML, CSS, jQuery and JavaScript to publish basic side projects with WordPress like web pages for kitesurf instructors or music schools.

3. Why I committed
Although I am able to promote products ranging from app installs or automobile test drives to SaaS or SUVs across online marketing channels, I am aware of not being able to generate something other than monetary value. Meaning: I lack the ability to create a product from scratch.

Being able to promote goods and services is one thing. Being able to bring something new into existence is different. Unsatisfied with the state of affairs I committed to the #100DaysOfCode challenge to see how long curiosity could motivate me and how far discipline could take me.

4. What I learned
When I started out with the #100DaysOfCode I did not expect to make a transition from digital marketing to software development within a little more than three months, nor did I want to. During the first round of the code challenge I aimed at gaining an overview of the world of coding and what use cases might be interesting for me.

To keep me motivated I tried to relate my self-study sessions either to my personal interests or to work-related projects. Thanks to 100 days of getting up early at 4:00 am to learn new things and staying up late to repeat the learnings I was able to improve my workday by setting up automated decision making, apart from making processes generally easier, faster and more interesting.

The world of coding is overwhelming: It is likely that there are more programming languages, libraries, frameworks, scripts and tools that would be useful to spend time counting. Moreover, old products receive updates and new products get published that add new items to the list.

Over the first round of #100DaysOfCode I looked into Amazon Alexa, Azure ML, CSS, Go, Google Apps Scripts, HTML, jQuery, JavaScript, MySQL, PHP, Python, Regular Expressions and SVG to gain a better understanding of Front End Development, Machine Learning, Social Media Mining and Voice Assistants.

I assume that 100 days of coding, respectively 100 hours of training, are not sufficient to learn any programming language, leave only thirteen — with or without prior knowledge. Throughout the first round of the challenge I was able to gain familiarity with the logic behind programming causing me to shift away from from a linguistic approach. Coding is different from chronological sequences of Subject-Verb-Object-Phrases. Sometimes there is no object. Sometimes there is no sequence. Sometimes code just is.

Ticking of a checkboxes, filling out blank spaces or copying and pasting code is part of the learning process would take my ability to understand and write code only so far. After weeks of trial and error and deep-diving into documentation I noticed how my approach to learning and problem solving changed moving away from a linguistic approach.

Interestingly, coding requires more reading than writing when you start out.

5. Where to start
There is no perfect starting point and no perfect time to start learning a new skill. Perfection is for procrastinators. You can use principles that can help you layout a plan at the beginning of your journey and keep you focused and motivated over a period of 3 months.

a. Be realistic: Set goals, even ambitious ones. Your goals are going to guide you.

b. Be curious: Follow and develop the interests you already have and find new ones. As long as you are interested you will not stop learning.

c. Be basic: Start all over again. Basics are the most important thing. Always.

d. Be patient: Learning takes time. Trust the the process. Do not rush the process.

e. Be thorough: Read resources like documentations, books, articles and watch tutorials. Then read and watch them again.

f. Be social: Be part of the code community. Its members are going to help and inspire you.

g. Be honest: No one will notice if you cheat. No one will be harmed if you cheat. Except you.

h. Be consistent: You have to do it anyways: early in the morning, late at night, on full days, on hard days, on holidays, on weekends, during tiring weeks, during never-ending months. It is important to grow a habit: Learn to go through the motions knowing why you do this and who you do it for. Your future self is going to thank you.

i. Be generous: Donate, if you can, to tools you are using, e.g. Eclipse, FreeCodeCamp, phpMyAdmin, or Wikipedia or promote the idea of doing so. Without access to free articles, courses, programs and videos our learning process would be either much slower or simply impossible. We have to give before we can take.

j. Be yourself: Dream big. But start small.

5. Next Steps: Goals for #200DaysOfCode
For the second round of the code challenge I set myself a series of minimum objectives in order to wrap up projects I have started but not yet concluded.

Finish Microsoft’s Professional Programming course on Artificial Intelligence.
Create a multi-language blog on www.PeterStieg.com
Finish reading “Social Media Mining” by Robert Marmo
Finish reading “Designing Voice User Interfaces” by Cathy Pearl
Finish reading “Web Application Development with PHP and MySQL” by Marc Wandschneider

6, Thank you
a, Alex Kallaway for creating the #100DaysOfCode and providing a GitHub repository.
b, Quincy Larson for creating the learning platform FreeCodeCamp.org.
c, Twitter community behind the #100DaysOfCode for the inspiration and support.
d, MDN Web Docs and Wikipedia for being reliable sources of information.
e, Sarah Drasner, Elisheba Wiggins, José M. Perez, Michael Fogleman and S Leigh for the inspiration.
f, Roberto Berretta for introducing me to tools like Firebug and xPath.
g, Rudolf Jantos for bringing up FreeCodeCamp.org in the first place.

Also, thank you for reading this and staying with me. Feel free to comment and connect!

LinkedIn | Twitter | Xing | Medium | GitHub