The Odin Project - Week 1
Jan 2022
It’s been about 7 years since I’ve really done any coding and about 10 years since I made any money coding. Even back then things changed fast but not as fast as they do today. It seems like a new framework is born every 6 seconds. I don’t have any data to back this up, it just feels like that to me.
I decided to get back into coding with the goal of landing a junior developer job, but I wasn’t sure where to start. I previously focused on PHP and MySQL. I’m changing over to Javascript. To start over I decided I should start from some basics and came across the Odin Project.
Since this post is kind of long here’s the tl:dr. I struggled a bit setting up an SSH Key with GitHub. Git commands and HTML basics were like riding a bike. I am much more confidant now with CSS than I was in the past. I know that I need a lot more practice with CSS until I’m comfortable with it.
I don’t get to spend all day working towards this goal. I have a day job that takes up 50 hours a week. It’s not really engaging or fulfilling, but I can work from home. I work as a Sit Billing Coordinator for a healthcare company. That means that I am a middle man between the doctors and the medical coders. I gather documents on each patient and package them up sho they can be coded and billed. If something is missing or incomplete I have to try to get the doctors too correct their paperwork so I can get the information and the next step in the billing process can go forward.
After spending a couple of hours a night after my day job, and 10 more hours over the weekend I am currently in the middle of their Flexbox module in their Foundations course.
The first module, Introduction, was what I would expect for a first section. The Odin Project laid out how the course works, talked about finding reason and motivation to learn how to code, and gave instructions on how to find help if you get stuck. They also introduce you to their Discord community. I am a lurker so far.
I skipped most of the second module of theirs, Installations. I still had git installed and VSCode installed. I did have to update them though. They were dusty.
Their next module, Git Basics, was like riding a bike after pulling it out of the garage after a decade. A little shaky at first but you remember pretty quickly. I did have one issue. I have never used SSSH for git and wanted to set that up this time around. I use a 2020 M1 MacMini and I had a dozy of a time getting my terminal to remember my SSH key for GitHub after restarts and shunt downs.
I would have to type two commands before I could do anything with GitHub. I would first have to start an SSH Agent with: eval “$(ssh-agent -ss)”. Next I would have to add my public key for GitHub to the SSH Agent with: ssh-add ~/.ssh/id_rsa.
I eventually learned to add my public key to my Mac Keychain with the command: ssh-add -apple-use-keychain ~/.ssh/id_rsa. I also had to update ~/.ssh/config by adding the following lines: UseKeychain yes, AddKeysToAgent yes, IdentityFile ~/.ssh/id_rsa.
All of this took a couple of hours of using google and stack overflow. It was frustrating but boy did it feel good to figure it out. I am glad I stuck through it. Using an SSH Key with GitHub is much more enjoyable than typing in my username and password all the time in the console. I don’t think I will ever go back unless I have to for a job.
The next module was HTML Foundations. I remembered many of the lessons taught in this module and I really wanted to just rush though. I didn’t though. I took the time to read everything, even all of the Additional Resources. I am making a habit of completing every module in this way. At the end of the module they have you build a very simple recipe site. I have actually made the 3 recipes that I found to use for the site. You can see my recipe site here. They have you go back to this project after their CSS module to add what you’ve learned and add some style to the very basic project.
The next module, CSS Foundations, I was looking forward too and dreading at the same time. I have always struggled with CSS. I did understand the Box Model but I never really could grasp how the cascade worked. One of the additional resources in this module had a great explanation of how the cascade works. If you’re interested you can find the article here. I at least know that I can figure out CSS. I just need a lot more practice using it.
Now I am working through the next module, Flexbox. I thought that Flexbox would be harder for me that it has been so far. I know I still have to work through Axes, Alignment and then do the project at the end. That CSS module really built up my confidence when it comes to CSS though.
My goal for the next week is to keep doing at least a couple of hours a night and 10 hours on the weekend. I would like to get through the rest of their Foundations course this week. I am not sure how long the Javascript Basics module will take. There are 3 projects in that section to do that could take me longer than I’d like to do. I can remember vividly getting stuck on and wasting hours over the simplest mistakes back when I did code. I know that will happen to me again and again in the future.