Swim'n in Code < /> .                         Orca whale logo

MacBook keyboard image

Willkommen!  🇩🇪

Welcome to my trusty old WordPress website. This is where it all started for me as a WordPress fan (hence the URL). Hello, my name is Andrew. I'm a web developer, and this site, like me, is always a work in progress. 

I live in Austin with my amazing Canadian wife (a civil defense attorney). I also happen to be a  huge fan of Germany soccer. 🇩🇪⚽️

Besides helping people, I'm passionate about front-end technologies, visual design, and entrepreneurial business. You can also check out my portfolio at andrewbain.io or swimr.io.


More yakking about myself:

So, what caused me to want to take the leap, pivot my career, and learn how to code? I'll share my story with you, so grab your favorite bevy and keep reading. ☕️

Being a longtime WordPress fan, I initially created this site several years ago because I wanted to figure out how to create and deploy a personal website. It also outlines some of my coding "journey."

I enjoy researching, learning, and new challenges. I recently decided I wanted to make a transition after working many years in the traditional "corporate world" in business development (within the SaaS space). In previous roles, I helped train and educate clients to use various software products and always wanted to nerd out on the deeper technical aspects.

I'm grateful for all the opportunities and experiences I gained (and the awesome people I worked with), but I was just ready for a fresh start.

I finally decided to take action (instead of just dreaming about it). Learning to code takes perseverance. I told myself (as a 50 something dude), "you can do this and it's never too late to learn something new."

photo of a MacBook pro desk

If you are learning to code, I've listed a few ideas below that may help you as a place to begin.

One thing I have learned to ignore, regardless of how much (or how little) I have learned so far, is that it is easy to think to yourself "I'll never learn this fast enough"…"There's so much to learn and keep up with,"…"What programming language do I begin with?"

We all strive to have an area of expertise. Initially, if you're interested in web development, you may want to consider learning how web browsers work specifically the "DOM" (Document Object Model).

I found it helpful to familiarize myself with Git, GitHub, and the CLI (Command Line Interface) especially if you like keyboard shortcuts that don't require a mouse.

Familiarizing yourself with the CLI can save you hoards of time (especially with Git) and you'll quickly become a keyboard ninja.

 

What are HTML & CSS?

HTML (Hypertext Markup Language) uses tags to identify different types of content and the purposes they each serve to the webpage.  It's a great place to start if you want to get involved with computers, primarily because it's exciting, and you can see the results of your learning almost instantly.

HTML provides the raw tools needed to structure content on a website. CSS, on the other hand, helps to style this content so it appears to the user the way it was intended to be seen. These languages are kept separate to ensure websites are built correctly before they're reformatted.

 

CSS stands for Cascading Style Sheets. It dictates how the HTML elements of a website should actually appear on the frontend of the page.

Put simply, CSS is a list of rules that can assign different properties to HTML tags, either specified to single tags, multiple tags, an entire document, or multiple documents. It exists because, as design elements (like fonts and colors) were developed, web designers had a lot of trouble adapting HTML to these new features.

After learning HTML and CSS, I recommend learning JavaScript next, then it's your choice of what interests you (e.g. React, Sass, Ruby, Vue, UX design, etc.). Take your pick! The main thing is to take one framework or language and focus on learning it.


Orca whale icon

I personally like working with the front-end since it appeals to my creative side and allows me to put my ideas in a digital format (as you can see I'm a fan of emoji's, and I probably use them way too often 🎸).

For me, learning visual design is just as important, because not only do I want websites to function properly, I want every pixel to be visually appealing…(as I'm typing this, I laugh as I realize this particular (WordPress) site is not yet an example of that). But hey, it's a start!


What is JavaScript?

JavaScript is a more complicated language than HTML or CSS, and it wasn't released in beta form until 1995. Today, JavaScript is supported by all modern web browsers and is used on almost every site on the web for more powerful and complex functionality.

What is it used for? JavaScript is a logic-based programming language that can be used to modify website content and make it behave in different ways in response to a user's actions. Common uses for JavaScript include confirmation boxes, calls-to-action, and adding new identities to existing information. It basically makes your webpage interactive.

JavaScript logo

In short, JavaScript is a programming language that lets web developers design these interactive sites. Most of the dynamic behavior you'll see on a web page can be attributed to JavaScript, since it augments a browser's default controls and behaviors.

One example of JavaScript in action are boxes that "pop up" on your screen. Think about the last time you entered information into an online form and a confirmation box popped up, asking you to press "OK" or "Cancel" to proceed? This is an example made possible through JavaScript — in the code, you would find an "if else" statement that tells the computer to do one thing if the user clicks "OK," and a different thing if the user clicks "Cancel."

So, fast forward to early 2018. I finally decided to get out of my comfort zone and go for it.

I immersed myself in code (full-time) and made the decision to complete The University of Texas at Austin Full-Stack Web Development Program (a.k.a. "UT Coding Boot Camp").

I gained familiarity and experience working with HTML, CSS, JavaScript, and MERN-stack (MongoDB, Express, React and Node) technologies.

Learning to code can be really hard. At times you feel like you're on a roller coaster. I know, because I've been "on and off" several times.

Some days it's like you're drinking from a firehose, so try to stay focused and positive. Choose to continue learning (with or without "imposter syndrome").

 

 

What I like about this entire process is that it motivates you to constantly keep learning something unfamiliar. The learning process is research-intensive. This is a good thing! Stick with it, since it will pay off in the long run. It will eventually click.

Although it's not a "popular" language, I started learning about PHP, so I could better understand how it interacts with WordPress. I think it's pretty amazing and rewarding to see how the code you write "becomes alive" on your page and how the user experience can constantly be improved.

This ordinary WordPress site (and older theme I am still using here), did not look like this four years ago. So far (as of mid-2019), I've made over 1,400 revisions to this page!

WP revisionsI'm planning on updating this (twenty seventeen) theme to a newer one (ya think!). I initially chose this theme many years ago, before "Dark mode" was a common term. It's still fun to learn how to change the overall look of the site and make improvements to it over time.

You can also use PHP to edit the theme's code and (for example) modify some items in the footer (the very bottom of the page) to display your name instead of the generic "Powered by WordPress." What can I say, I'm old school.  I just like to figure out how things work (even if it's an older language like PHP). It's still just as fun to make it work.


Attend a Conference – Invest in yourself!

I took a friends advice and recently attended a developers/designers conference in Seattle (in March 2019). It came highly recommended, and it's called An Event Apart (it was awesome!). I was surrounded by subject matter experts on web design and development, met some great people, and learned a lot.

Below are a few resources that I've found very helpful and I hope they help you.


A Great Place to Start Coding:

FreeCodeCamp icon

FreeCodeCamp – Totally free online courses!

This is a great way to get started, especially if you want to access free courses. The podcast is very informative and fun to listen to. Oh, and did I mention it's completely free?!

The value here is not that its free…there is a real, vibrant community, and the site is now even more "accessible" (built with text editors for accessibility requirements). Pretty cool!


I've researched a ton of online resources and one of my favorites (IMHO) is treehouse for learning HTML, CSS, and JavaScript.

They have a variety of different "Tracks" to choose from, and for me, the format is really clear and easy to understand.

Their slack channel is a great way to connect with other coding students and instructors, and also get questions answered immediately.

You are encouraged to review other peoples project submissions, which helps to reinforce your own learning.

I highly recommend treehouse. You should definitely check them out. I think they do a great job. ?

Link to Treehouse website

(Full disclosure: we both receive some sort of discount if you check out the free trial via the purple link above, at no extra cost to you. I only recommend products or services that I personally use or believe will be helpful).   


A great book to learn HTML, CSS, and JavaScript:

There are obviously zillions of other helpful resources online and on YouTube, but I found these particularly helpful.

Besides learning online on treehouse, this book (HTML&CSS – design and build websites) is a classic must read by Jon Duckett (in addition to his JavaScript book):

HTML & CSS Book by Jon Duckett

Here's a cool game to learn CSS or CSS grid!


 

Udemy logo

Udemy: Online HTML/CSS/JavaScript Courses:

You can watch these anytime and anywhere on mobile (via the Udemy app).

How awesome is that? You can learn 24/7/365 from almost anywhere!

These guys do a fantastic job of taking time to explain the process in a way that is very straightforward (and they respond quickly to your questions).

There are many other great courses available. These are just a few I recommend starting out with.

I have no affiliation with the course resources and podcast links below, I simply wanted to list them to help make them easier for you to locate.

As you can probably tell, I really do prefer treehouse as an overall  "go-to" resource. Getting started and spending just an hour or two every day, is really what matters most.

GitHub logo

Learning Git and GitHub (version control):

As a developer, it's important to learn Git and GitHub so you can post your code ("repositories") and easily collaborate with other developers. GitHub Desktop is currently an indisposable tool for me.

Learning terminal commands are extremely helpful and will save you a lot of time.


Learn to code with me icon

Learn to Code with Me (Laurence Bradford)

I started listening to her podcast and found it really helpful as a beginner (which I still am!). I think I'll always feel like a beginner, but in retrospect, I have learned a lot, and still have a lot to learn.

I also found her website to be an excellent entry level or informational resource. Definitely check it out!


WordPress:

If you're interested in learning one of the most powerful and predominant Content Management Systems (CMS) in the world, you may want to familiarize yourself with WordPress, it powers over 33% of the web (in 2019)!

There are still many WordPress developers out there that stay very busy helping clients with a WordPress site or building themes or plugins. Personally, I'm a big fan of WordPress and the WP community (hence the name of this URL).

Below are a few resources I recommend.

You can also attend a local WordPress MeetUp and WordCamp (or travel to one for fun, like I do, by going to the Seattle WordCamp) :


Podcasts and Additional References:

It's amazing how much you can learn from listening to podcasts.

Besides listening to the Techmeme Ride Home podcast every day, I like listening (and learning) from the Syntax and ShopTalk podcasts.  Wes Bos (from Syntax and JavaScript 30) is a great JavaScript and React instructor.

Resources for CSS: As you probably already know,  Chris Coyier and Rachel Andrew are both super knowledgeable in CSS. They both spoke at the  An Event Apart conference I referenced above.

It's always beneficial to get involved in your community with like-minded people (developers & designers). Attend local Meetups a few times a month. You never know who you will meet and can learn from.


Titles…

Front-end, Back-end, Full-stack Developer, etc. I try not to get too caught up on titles. I think it's beneficial to learn as much as you can (since we all have to eventually don a new "hat" once in a while).

I'm personally striving to learn the "front" of the front-end along with UI (user interface) design.

I find learning back-end (or server-side) technologies interesting too, however, I prefer coding and designing with front-end technologies.


Wow! If you made it this far, congratulations. As you learn how to code (which really never ends), I hope just a bit of the information listed above saves you time and helps you find a useful curriculum.

Something to keep in mind after a long day of coding.

As obvious as it may sound, be sure to make time to take a short break and get outside for a walk, run, swim, or ride. It really helps to clear your mind and re-focus. Find something to do to give your mind a break.

For me, it's watching football (soccer, depending on where you live). Are you a soccer fan? One of my favorite things to do (unfortunately, it's only every four years) is watch the World Cup (men's or women's).

When the World Cup is not on, I enjoy rooting for my favorite team in the Bundesliga, Bayern München (Munich, Bavaria). The Germany soccer team…"Die Mannschaft" translates to "The team."

I also enjoy learning where people come from (their lineage). My ancestry is German 🇩🇪, Dutch 🇳🇱, and Swiss 🇨🇭(you can check out the respective European travel videos and icon links below).


Einstein quote on failure

Life is like riding a bicycle. To keep your balance, you must keep moving. -Albert Einstein

Also, never forget that it really is about progress, not perfection!

 


 

Best of luck to you on your coding journey. Thanks for stopping by.

~Auf Wiedersehen

 

Photo of Andrew Bain - Web Developer

 

 

 

 

 


                            Deutschland/Germany

 

 

 

Bayern Munich


The Netherlands

Netherlands soccer logo


 Switzerland



Shameless plug:

If you're looking for an awesome (and cost-effective) place to host your website(s), consider SiteGround. Full disclosure: I receive a tiny credit (and you still get an awesome deal) just by clicking on one of the links below.

I've been with them for many years and have been really happy with their support, easy tools, and super fast responses to any of my questions. I would not recommend anything I have not personally used.

Here is a great article to support my opinion and answer any questions you have on SiteGround as a cost-effective, super reliable, and forward-thinking hosting company.

Thanks in advance!

Web Hosting
Web Hosting
Web Hosting