I have wanted to learn to program for a long time. For 20 years!
I have tried on and off multiple times (around 10 attempts) already, but I just could not (or would not) stick with it. While I would not explicitly ‘give up’, I would quietly ‘forget’ about it and move on to other goals or tasks.
But I am really going to learn it this time (Dec 2018). I also have a strong incentive and relevant product to work on — this website. I can build and code things for it.
Day 1 — December 13, 2018 (Thu)
Research, Reading, and Planning (3.5 hr)
Googled best ways to learn programming and HTML / CSS as a beginner
Many seemed to suggest that Codecademy is good to learn basic syntax and FreeCodeCamp is better for the exercises and projects
Codecademy HTML / CSS course link — think I will start with this one
Read Haseeb Qureshi’s website — a former pro poker player who became a coder
“If you’re struggling to understand a concept in a book or on Wikipedia, look up Youtube videos of people explaining it in different ways until you get it. I’ve found this strategy amazingly effective.”
“Make a schedule. Know exactly when you’re going to be working on this stuff, when you’re going to take breaks, when you’re going to go to lunch, etc. Build flexibility into your schedule, but have clear goals for how many hours a day you’ll spend studying.”
“Your best defense is structuring your time. Religiously schedule yourself. Know what you should be doing everyday. In many ways, freedom is your enemy. Let structure be your shelter.”
recommends Codewars, Coderbyte
”Farewell, App Academy. Hello, Airbnb. (Part II)” — “get so good that they can’t ignore you”
A lot of useless thoughts in my mind right now… do I really want to study programming? Am I really going to study HTML / CSS at the age of 34…? I have already quit studying programming about 10 times… what will be different now? What skill am I even building? It’s not like I’m going to work at Google or a start-up at this age… but at the same time… my mind fights back — I must do this. Let’s see if I like it. Let’s see if I’m any good at it. Ok… time to open Codecademy… let’s make a pretty website!
Codecademy - Introduction to HTML — 0.5 hr
Part 1: Learn HTML: Elements and Structures
It’s 4 hours later since I wrote the above thoughts, and almost deleted them… but I guess it’s good to keep a track of my real thoughts & moods. Studied for half an hour… let’s do this…
Day 2 — December 14, 2018 (Fri)
Codecademy - Introduction to HTML — 3 hr 15 min
Part 1 - Learn HTML: Elements and Structures
Introduction to HTML Quiz — 12 correct out of 13
HTML Tags Quiz — 12 correct out of 12
Part 2 - Learn HTML: Tables
HTML Tables Quiz — 8 correct out of 9
Whew… this wasn’t too bad… a bit dry… but thought overall the course structure was solid and so were the two freeform projects… now onto CSS… I can’t tell how much I’m absorbing but I think it all kind of makes sense…
Codecademy - Learn CSS — 2 hr
Part 1 - Learn CSS: Selectors & Visual Rules
CSS Setup and Selectors Quiz — 13 correct out of 13
CSS Visual Rules Quiz — 6 correct out of 7
Part 2 - Learn CSS: The Box Model
Thoughts: Studied 5 hr 15 min today. Focused work. Getting the hang of this… feeling a bit of momentum… I want to get really, really, really good at coding and programming.
Day 3 — December 15, 2018 (Sat)
Codecademy - Learn CSS — 4 hr 45 min
Part 2 - Learn CSS: The Box Model
Box Model Quiz — 12 correct out of 12
Part 3 - Learn CSS: Display and Positioning
Quiz — 6 correct out of 11. Not good!
Had difficulty with POSITION and DISPLAY. Something that I am going to need to revisit and review…
I am surprised but I am not finding hand writing notes very helpful. Part of that reason may be because I am logging my progress here as well, so doing both is a bit repetitive. I am going to migrate my notes to this page. I might still hand write a few things on my end
Part 4 - Learn CSS: Colors
Day 4 — December 16, 2018 (Sun)
Codecademy - Learn CSS — 4.5 hr
Part 4 - Learn CSS: Colors
CSS Colors Quiz: 7 correct out of 7
Part 5 - Learn CSS: Typography
CSS Typography Quiz: 9 correct out of 9
Part 6 - Learn CSS: Grid
CSS Grid Quiz: 11 correct out of 13
Since taking the HTML and CSS course on Codecademy, I begin to look at my website differently… I can perceive more underneath the text. I can kind of see the ‘structure’ underneath it and such.
Modify & Update CSS on this website (5 hr)
As a Squarespace user, I had multiple things I wanted to change about the design of this site, but I needed to write my own ‘CSS code’. After taking the HTML and being almost done with the CSS course on Codecademy, I felt I had enough intuition to start modifying & updating a lot of what I had wanted. After spending 4 hours on it today, I am happy to say I was able to hack away at a lot of things to get it to a satisfactory place for now. What I think I want to do next, is to always post all blog posts / update pages on the site in HTML or other code, instead of using the Squarespace editor. At one point, I do need to think also about going to Wordpress or something like that where I have full control of the functionalities, but I definitely have some attachment to Squarespace (had first subscribed to it early 2006). We shall see if I can write code on TOP of the Squarespace interface, but over the long run, I probably do have to leave as there are quite a bit of restrictions. Either way, I am quite proud and satisfied… applying what I learn!
Day 5 — December 17, 2018 (Mon)
Codecademy - Learn CSS — 2 hr
Part 4 - Advanced CSS Grid
CSS Grid Quiz: 12 correct out of 13
Finished with Learn CSS! Woohoo! To be clear — I am not ready to go do some or any meaningful HTML or CSS work at the moment — I mean, I only studied for ~20 hours! — but I do feel like 'I ‘see’ websites and this one that I am typing on differently. I was even able to modify a few of the CSS pages to make some site formatting changes that I have wanted to do for a long time. I’ve got a long way to go… but I see some hope! (hope for what? not really sure. hope for some meaningful skill acquisition in coding, I guess.)
Just signed up for Codecademy Pro as a monthly subscriber to unlock more ‘Pro’-exclusive content on website development and other topics. . There does exist a lot of free content / courses on Codecademy, but it’s the ‘Learning Paths’ that appealed to me. There are 4 paths: Web Development, Data Science, Computer Science, Code Foundations. One of the complaints about Codecademy is that their free content lacks context or teaching or showing of actual application usage — so I am hoping for a more comprehensive course and course structure available through ‘Learning Path’s is conducive for this new knowledge and skills ‘stick’ better. I am also planning to finish a lot of the ‘Pro’-exclusive content in a relatively short time, so I don’t have to pay monthly for more than a month or two, and then move on to FreeCodeCamp or The Odin Project. As of Dec 2018, I am paying $40 / month, so if I have to pay for a month or two, I figure it’s still worth the investment. I have read mixed reviews about Codecademy Pro, but I can only imagine it’s still better than the free version of Codecademy.
The two courses I just finished ‘Learn HTML’ and ‘Learn CSS’ are part of the ‘Web Development’ Path so it’s naturally I start here. There are 14 parts in the ‘Web Development Path’.
Part 1: Learn HTML —> I had already done this (read above)
Part 2: Styling a Website —> Learn CSS was about 75% of this part, so I will resume here
Downloaded Atom text editor as part of the lessons.
Done with Part 2: Styling a Website of the Web Development Path in Codecademy. I skipped one of the projects (Dasmoto’s Arts & Crafts) which was to put together a page almost from scratch using Atom text editor. I want to spend time working on the pages on this site. I am not sure if that was the right choice… but I think it’s all right?
Modify & Update CSS on this website — 4 hr
Day 6 — December 18, 2018 (Tue)
Conditional statements quiz: 10 correct out of 10
Functions Quiz: 8 correct out of 10
Day 7 — December 19, 2018 (Wed)
Sizing elements quiz: 14 correct out of 16
Media queries quiz: 6 correct out of 7
Skipped Project: Tea Cozy
I had a rough day of doubts regarding my programming journey today. Could not focus and took a break from it. I was really upset, thinking “I am just wasting my time. All I can probably handle is ‘Hello World’ and I would still probably get the syntax wrong..”
So I created this prison in the closet. Just me and the computer. I’m not giving up again. I’m not quitting. Not this time. Because.. I want to be a Coder.
Day 8 — December 20, 2018 (Thu)
Scope Quiz: 5 correct out of 7
Arrays Quiz: 9 correct out of 10
Loops Quiz: 8 correct out of 9
Iterators Quiz: 7 correct out of 8
Day 9 — December 21, 2018 (Fri)
Objects Quiz: 8 correct out of 14. Not Good!
Today is the day I began to understand that there’s no ‘right way’ to code. Sure, there are ‘best practices’ in structure, syntax, and formatting — but at a certain point, I realize that I need to get the code to do what I need. I am also realizing there are different styles in the ways people code.
Day 10 — December 22, 2018 (Sat)
Re-creating the Lodash Library — I had a hard time w/ this section. It’s also hard because Codecademy doesn’t show you ‘answers’ for this part, so it’s hard to verify my work. Today is December 22… I’m going to come back to this in a month or two, and see if I feel about this section then. Hopefully, it’s easier for me then…
Read about ‘spaced repetition studying’ for programming — 0.5 hr
Day 11 — December 23, 2018 (Sun)
Read about ‘spaced repetition studying’ for programming — 1 hr 15 min
Day 12 — December 24, 2018 (Mon)
I don’t really like taking notes anymore… if there is something I want to memorize — I learn it first via the website or code editor, and then I transfer it to the Anki flash card system…
Day 13 — December 25, 2018 (Tue)
jQuery Introduction Quiz: 6 correct out of 7
Day 14 — December 26, 2018 (Wed)
jQuery Effects Quiz: 10 correct out of 10
Mouse Events Quiz: 5 correct out of 5
Style Methods Quiz: 7 correct out of 8
Day 15 — December 27, 2018 (Thu)
Classes Quiz: 10 correct out of 11
Day 16 — December 28, 2018 (Fri)
Modules Quiz: 9 correct out of 9
Error Handling Quiz : 8 correct out of 8
Async Await Quiz: 7 correct out of 8
Codecademy Go (6 exercises)
Day 17 — December 29, 2018 (Sat)
I realize I hadn’t posted my thoughts here for about a week. I have been chugging along, moving along, with a little bit of momentum. I don’t spend as much time self-bashing and self-doubting when I go to the computer to open up Codecademy. Before — fighting that negative talk was as draining as learning the lessons and doing the practice exercises themselves. Learning coding has become more of a habit now. I’m grateful that Codecademy has a ‘curriculum’ that I can follow. There are some lessons / exercises that are harder than others, easier than others, but it keeps me going. I think as my mind and attention shift to becoming the best coder that I can be, I have done a lot of thinking to identify both the real and imagined obstacles and baggage. It has been a week of deep introspection and for me, and understanding myself. I recognized two major issues that have really held me back from learning programming. This introspection led me to bigger insights about me than I ever expected. I didn’t really think learning coding would be necessarily be a path of self-improvement. Though… of course it is. The self can only achieve as much as the self’s potential. And if there are things that inhibit from unlocking your potential… one can’t achieve as much. And I had two big inhibitors, when it came to coding. I write about the first of the two issues here in a blog post.
Day 18 — December 30, 2018 (Sun)
Today was big. On December 22nd — 8 days ago, I struggled with an exercise ‘Re-creating the Lodash Library’ that I skipped. I said back then that I’m going come back to this in a month or two, and see if I feel about this section… it’s only been 8 days! Now to be fair — it wasn’t a breeze. I had to do some googling and gain some insights… but what I read, I did understand. I felt like… I belonged. And I implemented them okay. And I studied coding for almost 10 hours today (9 hr 45 min)… I can do this!!!!!!
Day 19 — December 31, 2018 (Mon)
Codecademy - Learn the Command Line (4.5 hr )
Navigating the File System - 8 correct out of 8
Viewing and Changing the File System - 5 correct out of 7
Redirecting Input and Output - 9 correct out of 10
Configuring the Environment - 8 correct out of 9
Bash Scripting - 7 correct out of 7
Queries Quiz: 12 correct out of 12
Manipulation Quiz: 9 correct out of 10
Aggregate Functions Quiz: 10 correct out of 10
Multiple Tables Quiz: 10 correct out of 10
Codecademy Go app - 2 exercise
Day 20 — January 1, 2019 (Tue)
Codecademy - Learn Git (3 hr 30 min)
Basic Git Workflow: 9 correct out of 9
How to Backtrack in Git: 8 correct out of 8
Git branching: 11 correct out of 11
Git teamwork: 6 correct out of 7
This is a big deal to me. I often heard about, read about Github and wondered… “When will I make a Github account…?” And finally… I have one! I know I know… I don’t have any code uploaded there or anything — actually, I do have a repository with a README.txt file that I created in one of the Codecademy exercises… gotta start somewhere, right? :)
Codecademy - Building Front-end Applications with React (3 hr 15 min)
JSX: 7 correct out of 9
React Components: 8 correct out of 9
Node.js - Downloaded and installed. Ran ‘create-react-app’ for the first time
Microsoft Visual Studio Code - Downloaded and installed
Codecademy - Ravenous ‘React Project’ - Part 1 (1 hr 30 min)
Today was a massive day… I created a Github account, learned Git, downloaded and installed Node.js … and I also downloaded Microsoft Visual Studio Code to finally write & run code on my own computer, instead of exclusively on the Codecademy app. As I looked at my Visual Code app… I thought to myself — wow… my screen looks like that of a coder / developer. It was a cool feeling. I want to feel like I belong. Belong in this world of coders / developers. I have to remember that this group of people / professionals are not superhuman subspecies of the human race — they are just people who worked hard, with the right resources and coursework/syllabus, with the right work ethic and practice — and I can do it, too.
Day 21 — January 2, 2019 (Wed)
Recently, I had identified 2 large obstacles in my learning to program. Part 1 was my inability to retain info (link). The second one is much more personal. It was harder to write, and harder to encapsulate in a phrase or two. But I feel relief, pride, and hope.
Codecademy - Ravenous ‘React Project’ - Part 1 (3 hr)
spent time customizing Microsoft Visual Studio Code with different extensions, themes, fonts
Codecademy - Ravenous ‘React Project’ - Part 2 (1 hr 45 min)
Codecademy - Building Front-end Applications with React (5 hr 30 min)
Components Interacting: 9 correct out of 11
Stateful and Stateless Programming Patterns: 5 correct out of 11... had to retake.
Codecademy Go app - 1 exercises
Day 22 — January 3, 2019 (Thu)
Codecademy - Building Front-end Applications with React (2 hr 30 min)
Advanced React: 10 correct out of 11
Codecademy - Ravenous ‘React Project’ - Part 3 (1 hr 30 min)
Codecademy - Ravenous ‘React Project’ - Part 4 (2 hr 30 min)
Day 23 — January 4, 2019 (Fri)
If I had faced a ‘roadblock’ or potential ‘pivot point’ like this two weeks ago — it might have derailed and demotivated me. But I think I am a little more resilient now. Thoughts like “What are you DOING? You can barely type ‘console.log(“Hello World”)’ do cross my mind”, but I will persist and continue.
Today has been rough. I did a lot of research and reading on mobile app development, React Native, and software engineering. But I am having a hard time shaking off this nagging thought it’s all ‘too late’ to start developing apps now. When am I ever going to develop anything worth a download? Everything I can possibly think of, it has either been done or someone can do it better. They are useless thoughts, but not necessarily groundless or without merit. They are just misdirected thoughts, aimed with the wrong destination in mind (i.e. the product) whereas the correct destination for me has to be focused on skill-building and gaining proficiency — and while I pursue those goals… good things will happen… right? :o) I discussed the source of these negative train of thoughts in the below blog post from 2 days ago. I’m trying to shake it off. I think I’m going to go climbing. It’s funny — these types of thought posts (the last 2) are long enough to probably go in ‘My Thoughts’ — but these struggles inside my head are part of my learning journey… so I think it’s all right. The ups and downs… today is definitely a bit more of a ‘down’ day.
Oh, I almost forgot to mention. I added the two cranes at the top (if they are indeed still there by the time you read this) today… that’s something… I can’t deny. It didn’t take me that long to add via CSS… I can’t deny… 3 weeks ago, I would not have been able to modify the CSS of this site… no… I did learn… I did learn… I did learn something in the last 3 weeks… let’s remind myself.
Day 24 — January 5, 2019 (Sat)
Udemy - Build an app in less than 1 hour using React Native (4 hr)
I did my first Udemy course on React Native today. It was… okay. I didn’t find it as fun as I thought — maybe because I’m just following along the instructor without my own creativity. I’m not sure. I’ve been a bit lost in the past 2 days on where… or what type of programming I want to do. I got a ‘taste’ of web development… I can do the Computer Science or the Data Science paths on Codecademy… I just want to pursue a type of programming that seems fun and rewarding. I think the issue with mobile apps is that I’m not a big app user… or am I? Confused. This page is supposed to be about my learning journey, but it’s becoming more of a learning diary… I’m struggling to find direction, but maybe that’s not the point. Maybe I’m supposed to just learn all types of code?
Day 25 — January 6, 2019 (Sun)
I want to build towards something. But I keep trying to find a massive skyscraper or masterpiece to build… when I don’t know what materials to use, what tools, or technology… I am stuck in a place where I want to do ‘grand’ things that meet some standards of what greatness is, yet I lack the perspective or the skills to pursue the most basic of things, in coding.
I have about 100 hours of studying under my belt… and I act like… I deserve to … be good, right now. I don’t even know what I want to be good at. I don’t know what I don’t know.
One thing I learned in rock climbing… is that your perspective changes, both figuratively and literally when you are 50, 100, 200, 300, 500, 1000 feet off the ground. You think you know what it would be like, how you would feel, but you don’t know until you start climbing and gain elevation and see and feel things. As you get more climbs under your belt — you also learn a lot about yourself — what views you like, what type of climbing you like, how you handle pressure, what skills to improve on — and you can better train, plan your next climbs, and do them.
So maybe that analogy applies here.
Instead of trying to look up the coding mountain from the ground and thinking — hmm… I wonder which mountain to go up? How far do I want to go up? Damn… that mountain is so high! Do I want to make it a day trip or multi-day trip? Do I even want to do this?
Maybe, let’s just take a few steps up. And see how I feel. And see if I like what I see.
I feel like during the past few weeks, I learned how to set up a base camp. And I am … stuck here afraid and hesitant to start the real climb.
Let’s start with a few steps. It’s time to gain some elevation.
Customized my Visual Studio Code via extensions & themes to optimize it for React Native coding (0.5 hr)
Udemy - The Complete React Native and Redux Course (5.5 hr)
Day 26 — January 7, 2019 (Mon)
Udemy - The Complete React Native and Redux Course (5.5 min)
I am feeling proud… that I can follow the lessons and do the exercises in this Udemy course… I will write more about it later… probably after I finish in a few days. Momentum is building back.
Day 27 — January 8, 2019 (Tue)
Udemy - The Complete React Native and Redux Course (8 hr 15 min)
Day 28 — January 9, 2019 (Wed)
Udemy - The Complete React Native and Redux Course (8 hr 15 min)
Day 29 — January 10, 2019 (Thu)
Udemy - The Complete React Native and Redux Course (7.5 hr)
Watch coding related videos on Youtube (3 hr)
Day 30 — January 11, 2019 (Fri)
Udemy - The Complete React Native and Redux Course (30 min)
Watch coding related videos on Youtube (15 min => 45 min)
Udemy - The 7 Day Android App Bootcamp - Android Pie and Kotlin (8 hr 15 min), Kotlin Day 1
Day 31 - January 12, 2019 (Sat)
Udemy - The 7 Day Android App Bootcamp - Android Pie and Kotlin (5.5 hr), Kotlin Day 2 — FINISHED!
Watch and researched coding-related videos on Youtube (1.5 hr)
Udemy The Complete React Native and Redux Course (3.5 hr)
Day 32 - January 13, 2019 (Sun)
Udemy The Complete React Native and Redux Course (2 hr) — FINISHED!
Udemy - Kotlin for Android: Beginner to Advanced (0.5 hr), Kotlin Android Developer Masterclass (15 min)
Finished the React Native and Redux class… got through it but it was difficult… and not sure if I retained much… I did learn quite a bit about how a software engineer thinks like an architect and organizes and structures his scripts… also completed a course on Android app development and Kotlin… I like Kotlin… I’m a bit discouraged, though I’m not sure exactly why… I’ve been studying for 32 days… but I feel like I don’t have much to show for it… It’s incredibly frustrating… I really HAVE put in a lot of hours… I feel like there should be more to show for it… yet I’m still taking basic Kotlin classes and have a very very skeleton understanding of Android development… a bit lost in direction and initiative but I shall keep going, I guess… I want to quit…
Day 33 - January 14, 2019 (Mon)
Udemy - Kotlin for Android: Beginner to Advanced (4 hr). Kotlin Day 3
Record 2 Youtube tutorials for Kotlin / Android app development, edit videos, make thumbnails (2 hr)
Day 34 - January 15, 2019 (Tue)
Udemy - Kotlin for Android: Beginner to Advanced (6.5 hr). Kotlin Day 4
Record and upload 2 Youtube videos on Kotlin / Android (2 hr)
Day 35 - January 16, 2019 (Wed)
Udemy - Kotlin for Android: Beginner to Advanced (5 hr 15 min). Kotlin Day 5
Prepare, record and upload 1 Youtube video (1.5 hr)
Push “Kotlin Links” on Github (2 hr)
Day 36 - January 17, 2019 (Thu)
Udemy - Kotlin for Android: Beginner to Advanced (4 hr 45 min), studied Kotlin (0.5 hr). Kotlin Day 6
Prepared, record, and upload 1 Youtube video (1.5 hr)
Day 37 - January 18, 2019 (Fri)
Udemy - Kotlin for Android: Beginner to Advanced (6 hr)
prepare, record, upload 1 Youtube video (2.5 hr)
work on Android app / presentation (1 hr)
study Git (30 min)
Anki - studied 15 cards in 1 minute