Welcome back, traveller! We have changed things around here and are currently in the progress of finishing up the initial renovations. Unfortunately, due to recent internal changes, SEO Soul has limited resources (human, temporal, and otherwise) to dedicate to what would be considered ‘standard operations’ within the field of digital marketing.

This post will be the first in a multi-part ‘Back to Basics’ news series where we outline the education, training, and skills upgrade that SEO Soul is undertaking during the COVID-19 lockdown; as the country of Canada gradually begins to re-open and post-COVID.

Due to our current and temporary circumstances, we have chosen to focus on training and improving our primary staff’s web development skills; to maximize future productivity, stay up-to-date with the latest web standards, and fill in any gaps in our fundamentals.

First Principles in Web Development

I have learned that no matter the success or talent of an individual, we all need more real-world practice and training. As a digital marketing specialist, I have decided to devote my spare time to further developing my web development skills to ‘write, produce, and direct my scenes,’ using acting as an analogy for digital marketing.

Although analogies are fantastic for introductory concepts, communication, story-telling, etc., SEO Soul primarily applies reasoning from first principles as its guiding light for research, development, and training.

As more web frameworks, libraries, and technologies become available to the general public, I notice a growing gap between fundamentals/theory and its applications. For example, it is not uncommon to find a junior web developer who has graduated from an accredited web development course, working with Node.js, React, etc. and not understanding the cascading portion of stylesheets or the semantic VS functional flow of HTML elements.

Attending an accredited post-secondary institution in British Columbia, I have been fortunate to apply academic theory in real-world situations. It has taught me the value of having a real-world understanding of ivory-tower concepts.

To be a good team member (especially a contractor) in any business, you have to learn to be your boss. No one will hold your hand and guide you the entire way. And even if they did, it wouldn’t be YOUR way. That is why all web developers specialize in different sub-sets of web development, even if they all start from the same fundamental concepts.

Aside from programming fundamentals, a good starting point to understanding HTML is understanding what XML is and why it was created. To fully understand HTML5, CSS3, and JavaScript, a developer should know what EcmaScript is. This strategy also applies to design and UI/UX development.

Web Development by Inductive Reasoning

As an internet user for more than half of my life, I have built up my own likes and dislikes for hardware, operating systems, software, internet brands, content, etc. These preferences were developed through personal experience, observations, and research.

Even if two individuals had the same financial circumstances, personal bias affirms having two entirely different workflows. As a small digital marketing agency, SEO Soul has to balance personal preference and min/maxing productivity.

Even though I like the Atom.io code editor/IDE, Visual Studio Code (or VSCodium) will eventually become my primary code editor of choice due to the community and developer support VSC will receive from Microsoft GitHub, etc.

The balance tips favour personal bias when creativity and quality of work are negatively affected by over-optimizing productivity. If you have played a tabletop RPG or video game, you have undoubtedly encountered players who min/max everything until the top players are all eventually doing the same thing. Where’s the fun in that? If all of the websites/businesses in the world were the same, optimizing for some value, then it would be the one that breaks from the tradition that would be seen as ‘revolutionary, and innovative,’ or at worst ‘experimental.’


While learning new skills and experimenting in any field, you have to establish your foundations through inductive reasoning and keep building upon and revisiting those foundations through first principles thinking; this applies to many things, not just web development.