#100DaysOfSelfImprovement / Time Management / Web Dev Bootcamp by Colt Steele

In my last post back in April I mentioned my #100DaysOfSelfImprovement challenge I kinda made for myself / kinda already existed if you searched the hashtag on Twitter. As of writing this today is day 90 of the challenge, so nearing the finish mark.

It’s been interesting. Sometimes it’s felt pointless, sometimes it’s felt like I’m just detailing the things I did during the day. However other times it felt / and feels like subtle motivation to keep doing what I’m doing and to actually make improvements.. and I have. For better or worse, been making what I would consider improvements, ie.

  • Maintaining regular coding and projects
  • In general maintaining my gym sessions and improving in my exercise
  • Increase in wellbeing and mindfulness
  • More meaningful time with my wife
  • Have become more productive before work
  • Started finding alternate hobbies to help with my mindfulness
  • Finally managed a short course in data science via edX
  • Finally booked a holiday with my wife, been a few years since our last.
  • After some tedious work found a way to be more productive and better map my todo list with my day to day lifestyle.
  • Finding myself managing to get around to things I haven’t previously found the time for.
  • Managing to meditate on a regular basis and seeing results in my mindfulness
  • Finally seeing improvement in my posture after starting to regularly do posture exercises to improve it.

The main thing I’ve gotten out of the experience is managing to land on a level of time management and productivity that is successfully allowing me to find the time for things I was previously neglecting. I landed on Habitica as an alternative to managing a Todo list and a calendar. Habitica linked everything in together Habits, Daily Reminders, Todo list, Rewards/Shopping list. For a time it was great, but the gamification that at first sounded very appealing resulted in me overthinking my schedule, and my lifestyle.

I found myself regularly checking off simpler tasks to recieve a reward, losing interest in daily reminders as they gave less reward for more effort. Spending alot of time balancing my reminders and in the end turning them into kind of a calendar by making up an Excel spreadsheet that tallied how much time I was spending each day on them. My todo list was getting intimidatingly long, my rewards list was getting out of control. It was becoming more stressful than helpful. Instead I’ve opted to go back to Google calendar and use google tasks to manage tasks relating to the calendar entries I have. I use Google Shopping list for my shopping list and Habitbull to track my habits. I’ve never used a habit tracker before, but Habitica introduced me to the idea of it, and it’s through this that I started to notice change in my habits. The habit portion of Habitica was the only thing that was still working for me, but I swapped to Habitbull for something simpler that just focused on habits. I haven’t regretted this decision and continue to see improvements in all the things I struggle to maintain.

Lastly I have also recently completed the Web Developer Bootcamp by Colt Steele.

I have to admit.. it does live up to the hype, covering:

  • HTML
  • CSS
  • Bootstrap
  • Semantic UI
  • JavaScript 
  • DOM Manipulation (Vanilla JS and JQuery)
  • NodeJS
  • Express
  • Working with API’s
  • MongoDB
  • Mongoose
  • RESTful Routing
  • Git and Github
  • Heroku

Here are my ratings of how well I think the main technologies were taught:

  • Bootstrap: 5/5
  • DOM Manipulation: 5/5
  • Node: 4/5
  • Express 5/5
  • MongoDB 3.5/5
  • RESTful Routing 100/5
  • Everything else: not that great, but good enough

Bare in mind I have very little compass of which to make these kinds of ratings, but for a rookie like me I’m basing these off how well I feel these concepts were taught to me for what was $20 of my money and 50+ hours of my time. I now feel like I know RESTful routing, I feel like I could make my own express app from scratch, (however basic), I understand DOM manipulation for the first time and the difference between jQuery and Vanilla JS, some courses simply don’t teach you that you can style with JS alone, jQuery just makes it a heck of alot simpler.

One of the biggest things I appreciated about Colt’s course is every time he added a new concept, he did a project focusing completely on that concept. Where the overall project was Yelpcamp, as concepts were added you completed side projects to learn a new technology before adding it into Yelpcamp.

My main criticism is the course felt unfinished. I completely appreciate the ongoing support it has and the updates provided by the teaching assistants as technology updates. However as the course went on it began to feel more like I was doing the teaching assistant’s course, rather than Colt’s. As such it felt disjointed as it started to mix teaching styles. I also felt like the course finished quite ubruptly, it felt like there was more to be added but just never happened, or maybe it’s still yet to happen.

Having finished the course I’ve been forking some of the code to make my own little projects and learn a little more express and DOM manipulation. I’m starting to appreciate just how worthwhile learning via personal projects and idea’s is as it motivates you to learn and try new things, and I find it very hard to break away from a coding project once I’m motivated and stuck into it. What a great way to learn!

Until next time,

Christon

#100DaysOfCode completed + updates on my coding endeavors

#100DaysOfCode I finally finished it, it took me.. lets have a look… 236 Days.. obviously this isn’t quite what the challenge was supposed to be. But about halfway through the challenge I started hitting a few road blocks both mentally and physically and I decided that it’s okay to take my time with the challenge, provided I keep working at it and log my progress as I go.

The thing is, most of my reasoning behind taking on the #100DaysOfCode challenge was to give myself some persistence during what was a period of change. I was getting back into I.T. changing both my job, and my career. I was also struggling with anxiety and still am to a lesser degree and was just looking for something to keep me grounded. I guess I know myself well enough to know that I tend to question everything all the time, and tend to find excuses to procrastinate given the chance to do so.

So I don’t care that it took me 236 days to do, because it was better than the likely alternative.. which was giving up; and maybe I wouldn’t have given up, but I was looking for excuses left, right and center to take a break from it. I was questioning my life choices, struggling with my mental health and the strain it has caused on the people around me. However I kept coding anyway even if it was at times just once a week. Through this challenge and my desire to complete it I fell back into an interest in coding. I finished the last 30ish days of the challenge mostly through working through the Web Developer Bootcamp on Udemy by Colt Steele. Which I’m still working through at a brisk pace and a genuine interest.

Before deciding to do the Web Developer Bootcamp I was actually looking around for a solid paid course to do, that had deadlines and a certification at the end, but time and time again I saw people pointing to this course. I was avoiding it because I thought “Ugh his name’s pretty douchy and I’ve done a video course in the past and found it difficult, broken and essentially no support when things don’t quite work.” But I decided to give it a go, and it’s definitely worthwhile. It spends a great amount of time on HTML, CSS, JS, JQuery and covers Bootstrap in detail and also some fun JS libraries with a good amount of clarity.. and thus far the back end portion seems equally as detailed.

The course also gave me the confidence to integrate Bootstrap into my portfolio site.

At this point I now feel back into the swing of things, I’m getting up at 5:00am to study before work, just changed my schedule around (AGAIN!) to study 7 hours a day on my days off, taking a break on Sunday. I’m getting back into some of the other MOOC’s I’m interested in primarily CS50 and Electronics and Circuits on edX, and there’s a bunch of other things I’m looking to get back into, or at least try, so.. I feel pretty good about where I’m at right now.

I think the point where I began making the wrong choices was thinking that I needed to reduce the stress I have in my life.. at least that was the impression I got from Dr Internet and my actual doctor. But what I’ve now come to realize thanks to counselling but also just getting a better understanding about my mental health and anxiety is that it’s all in my head and the hobbies I’ve taken on were beneficial to my mental health, not detrimental.

I thought I needed to take a break from everything and relax all day until I calmed down, but now I know that was wrong. Now I don’t think that’s ever the solution to stress, whether caused for mental or physical reasons. I think stress is good, just not too much of it, and if there is too much stress, the solution isn’t relax all day, it’s do something different, be productive in a different capacity. Don’t relax all day and give your brain more time to overthink all of the stressful, anxious thoughts, there’s better things to do like, anything that can be done now, any changes that can be made now. Like coding, studying, building up my relationships with my family and friends, focusing on my mental and physical health.

So since finishing the #100DaysOfCode challenge, I’ve started my own #100DaysOfX challenge, #100DaysOfSelfImprovement which is one I’ve decided never has a skip day, because there’s no reason I can’t do at least one thing a day to improve myself. So far, I’ve listed things like going to the gym, coding, focusing on a project, I don’t really care what it is, as long as it’s giving back to myself and encouraging a more positive version of myself and a better lifestyle.

Anyway for those reading, I do appreciate it, look forward to hearing your thoughts maybe on the #100DaysOfX challenges, or #100DaysOfCoding and how it’s helped you. Feel free to follow my Twitter @Christonja.

Thanks, Christon.

Coding Detour Update

Just an update on things as I realize I haven’t posted in a few weeks, and I try to post at least every couple of weeks on both my blogs. However in amidst of changing jobs and some health ‘disruptions’ I’ve slowed down on almost every aspect of my life, which is both stressful as I feel like I’m getting nothing done, and less stressful, simply because I’m doing less. Nonetheless I have been keeping up with at least freeCodeCamp and following the 100DaysOfCode code challenge, which has been my saving grace over the past few weeks.

I’m currently up to the React challenges, admittedly I’m finding React to be convoluted and difficult. Certainly it’s making sense, just very hard to grasp, I have to re-read the challenge a number of times, and if I study something different one day, I need to redo some of the challenges to regain the grasp of concepts I lost since the last time I studied it. It is starting to make more and more sense the more I learn, however I’ll surely be revisiting the section again in the future.

I’ve also recently explored Sass and JQuery, two technologies I came across during a Ruby on Rails tutorial I worked through. These were much easier to understand and clearly powerful tools in the design of HTML. However React is such a different approach to things, it’s very hard to tell every benefit of the library. It’s kinda getting to the point now where I’m struggling to enjoy freeCodeCamp as I’ve never felt this lost in what I’m doing before. I understand what the code does, but it’s never been this hard to understand. I mean generally speaking it’s easy, one function returns HTML, the other provides operations that slot into that HTML and output a result on a web page (As an example)… but to understand what all the little eccentricities of the library are it’s very far from anything I’ve come across before. However it is very interesting to see HTML and JavaScript working together in such a way. Besides the fact I’m struggling, yet slowly getting there, It certainly helps me understand just how powerful programming languages can be. Certainly the first time in freeCodeCamp I’ve seen JavaScript have any tangible impact on what’s shown on a webpage (well other than JQuery). So it’s interesting to finally see an example of that.

However it’s only recently I finished running through the JavaScript challenges for the second time around. This is something I haven’t mentioned yet since finishing it for the first time. Well.. I ran through them again, and have concluded that running through them again was helpful.. and although in some areas, not at all helpful, overall, it was enjoyable. Now that I feel I have a solid grasp on ‘the basics’ of JavaScript, anything that involved writing ‘the basics’ is alot of fun. I enjoy the problem solving side of it, I enjoy knowing of different possible implementations and deciding to try a different one ‘this time around’, I also enjoy using ES6 to try and write things as succinctly as possible. The fundamentals of JavaScript are great! It’s just when the fundamentals are applied to web development is where I meet my next learning curve.

So I’m certainly progressing slower than I’d like, however the main reason I joined #100DaysOfCode was I knew I was making a few life changes that may compromise my ability to keep on top of things. So 100DaysOfCode was there and still is there to keep me going. Then once my health is back in shape I’ll be prepared to take on a full schedule as before. It’s a good time to mention to any potential readers that nothing is more important than good health. I’ve forgotten that the past two years and as I’ve built up a good lifestyle in most areas, I’ve lacked alot of physical activity and healthy diet since stopping going to the gym in mid 2016. Now it turns out I may have high blood pressure at the age of 27. So I’m going to head back to the gym and start eating healthier, these things are more important to me than coding right now. Although I’ll still code, just a little less until I’m comfortable to increase my workload again.

I think if anyone’s read my set of posts about my journey to loving learning, I think it’s important above all things to remember to make time for physical activity, get some sunshine, eat well, don’t compromise on these things just so you have more time to study or maintain a tighter schedule, it’s not worth it. I got a little wake up call to remind me, ‘You’re doing great Christon, but you’ve forgotten one very important thing’. So my schedule is on hold for a while, but I enjoy coding and MOOC’s and learning new things, I’ll just do it in a way that it doesn’t cause stress, at least for now.

My Deep Dive into Ruby on Rails

I ran through this course called ‘The Essential Web Developer Course’, which I found via the /r/learnprogramming subreddit (and by found I mean, top post of all time on that subreddit). It takes you through HTML, CSS, working with Cloud9 to build a blogging platform, Ruby, and then the core of the curriculum being to build a real startup called DevMatch.

On the face of it, it’s a solid curriculum, I was excited to learn programming via this course which touts itself from the start as teaching you HTML5, CSS3, JavaScript and Ruby on Rails. The course culminates in a PDF handbook to teach you how to use your new found skills to get a job. Leading myself and I’m sure other’s to think, upon completion, you will be job ready. However although my tone here is a little critical of the course, I’m not here to criticize it. I’d never criticize an opportunity to learn, especially not if it’s free. I actually think it’s a decent course, just not quite what I was expecting.

To begin, the HTML and CSS was fine, you’re introduced with the Sublime Text editor, which I still use, then you run through 24 video’s in total ranging from 2 – 13 minutes on working with both technologies, however in my opinion, not enough to provide a basis for how to use HTML and CSS. Nonetheless the knowledge I gained from these video’s remains as part of my ‘toolkit’, i.e. certain styling options in CSS and HTML, and ‘good practice’.

Secondly is a deep dive into building a blogging platform, and immediately there is an issue as this course was built with Cloud9 before Amazon bought it. So the video’s discuss setting up with Cloud9 and the course instructor provides additional info below the video’s to discuss where Amazon Web Services differentiates and how to work with it.

I got set up with Amazon Web Services easy enough and started work on the blogging platform. Lets just say he wasn’t kidding when he said ‘deep dive’ I felt like I wasn’t learning anything. He reassured in saying “it’s okay if you don’t remember this now we’ll go over it in much more detail later”. However I didn’t particularly feel reassured by that.

Nonetheless I made the blogging platform and it worked as per the tutorial. Next was Ruby, which in my opinion potentially should’ve been put before the deep dive, however maybe the idea was to get confused by the deep dive to have context heading into the Ruby videos. Here there are 12 videos of 4 – 13 minutes on the basics of Ruby, the boilerplate of every programming language, at least the ones I’ve worked with. Numbers, strings, variables, booleans, conditional statements, data structures, iterators, methods, classes etc. Once again, great videos, but not enough in my opinion to get a solid grasp on Ruby to head into the main part of the course which is the ‘Build a Real Startup’ component, which from here on in I’ll call the ‘SaasApp’ or Software as a Service Application.

We firstly get introduced to GitHub, great! I learned that GitHub is really important to know, so I was stoked to get working with it. This course, absolutely great for learning the basics of GitHub committing and branching from the command line etc. Next was setting up a free Cloud9 account again. Which at this point made me realise this SaasApp tutorial probably used to exist independently from the ‘deep dive’ blogging platform component. But that’s okay, I skipped past these and setup a new virtual machine for my SaasApp as I had done for the blogging platform.

Without going into too much detail, my first issue was when the instructor advised on getting Rails and Ruby installed, I kept running into problems where Rails wasn’t installing even though I literally just installed it. I eventually got it working after recreating the virtual machine and giving it another go. At this stage I noticed the pg gem wasn’t installing for me, it installed for the instructor so I knew it was supposed to install. Further I knew I’d eventually need it as the comment for the pg gem in the Gemfile said “Use the PostgreSQL gem for Heroku production servers” which I knew was part of the course. I tried to get it working but none of the commands I was trying worked even though everyone else on StackOverflow seemed to have no issue. I skipped past it figuring maybe it would resolve itself at a later stage. It didn’t.

We learned about Twitter Bootstrap and wow such a handy development tool! I feel now that I have a semi-decent handle on how alot of things in Bootstrap work, but after making my own website without Bootstrap I’ve learned that maybe it’s not always the best way to go and more a design choice. You have to nest so much html within each other simply to use the classes properly and it becomes a little unreadable. Further you never quite get to see what’s happening under the hood. Which as a course that is meant to teach HTML and CSS seems a little unfortunate, it would’ve made more sense if the instructor said it taught Bootstrap instead of CSS. Further you learn a little more HTML throughout the SaasApp but more learned how it’s done in Ruby on Rails, completely different syntax. So for the most part the HTML and CSS was quite hidden from the learner. Which was a little unfortunate, however instead I learned Bootstrap and the Rails way to work with HTML, well kinda. I mean, these concepts aren’t easy to learn without a solid foundation in HTML and CSS. A foundation I only feel like I’m just starting to get via freeCodeCamp and other sources. I mean I guess they’re easy to memorise, but without knowing what’s happening ‘under the hood’ it feels a little like you are learning how to make something very specific and not how to use the technology to make anything you want.

Once again I don’t want to bore any potential reader’s with every part of the course. Simply the things that stood out to me. So around 70 video’s in I felt like I was doing okay with the course, I was learning a few things, certainly not everything, but I figured alot of things were still to come, my knowledge would solidify and I’d learn alot of the base concept’s this course was trying to teach. Then everything came crumbling down when it came to deploying my site to Heroku. I’m pretty sure I ran into issues getting it deployed, but I managed to get it working. But then Mailgun wasn’t working. The instructor mentioned that it’s okay if you didn’t want to implement Mailgun it’s not heavily needed for this tutorial. But I did wan’t to implement Mailgun, it just wasn’t working. Further I had no idea why it wasn’t working. My first thought was it must be the pg gem issue. So I spent hours trying to get this working.

I tried recreating my virtual machine and cloning my GitHub, same issue. I was about ready to give up and just move on. But every time I tried I just got frustrated by not being able to get Mailgun working. Now I don’t know at this point what the problem was, all I know is that the troubleshooting steps I was trying to perform, Amazon Web Services wasn’t letting me perform them. So I had the bright idea of formatting an old laptop of mine with Lubuntu (Ubuntu was too slow.. I tried). Lubuntu is a lightweight distro of Linux, perfect for my 10 year old laptop. After a few hours of getting the laptop up to speed with installing Ruby, Rails, etc. etc. pg gem installing this time. I deployed to Heroku and Mailgun was working! At which point I decided my 10 year old laptop was better than Amazon Web Services. However I’m certain it’s simply that the tutorial was designed for Cloud9 not Amazon Web Services and there’s obviously a few things that were changed that this tutorial didn’t account for. Or I screwed up somewhere 10 times in a row. Doesn’t matter I was happy and now moving on with the course.

Now the problem with using my laptop was the rails server wasn’t working properly on my laptop, I chalked it up to being because the tutorial is not meant to be done on an old laptop so that’s why. However I shouldn’t have decided that because it was working fine, just not showing any of the CSS or Bootstrap. Meaning I could still see if I had made any syntax errors as I stepped through the tutorial. But I was being cocky and decided, nah should be fine and just ran through the tutorial and whenever he said ‘get the server running’ I wouldn’t bother.

Then came the 2nd Heroku deploy and my site was broken. I thought to myself ‘Couldn’t be a syntax error’ I copied his tutorial perfectly. Not true. There was a syntax error. Forgetting to end an unless statement I think it was. Now it was fine yay! Completely my fault, wasting an entire day looking through all my code and comparing it to the instructors to see where I screwed up. Not too long after this found that the rails server on my laptop beyond the styling worked perfectly. Meaning it provided the same debugging ability that Cloud9 would. Which meant I could’ve fixed it much quicker had I not been such a silly billy.

Then Stripe wasn’t working but it turned out this was another syntax error I never debugged. It was at this point I was reminded that ‘You will always make syntax errors, even if you are 100% sure you won’t’. So I started checking my server by the end of every few videos to make sure all my newly implemented code was working.

Then we added user profiles, deployed to Heroku and here it is:

DevMatch.png

And here it is in code form.

So did I learn Ruby on Rails? Barely. Could I make a blogging platform or SaasApp or even anything? Maybe something minimal, like a one page write up of something. But at this point I need to make it clear. The instructor made a great tutorial. Where I thought we were learning HTML, CSS, Ruby, Rails and Javascript. Instead I’m coming away from it with a knowledge of Bootstrap, Amazon Web Services/Cloud9, Stripe, Heroku, GitHub, Linux command line, Rails troubleshooting and Debugging.

Further the instructor mentions tirelessly throughout his videos, “Read documentation”, “Watch these videos again if you don’t understand”, at a couple points he even recommends to run through the whole tutorial again. I think he realizes people aren’t going to magically learn everything from running through a tutorial, because he so often encourages people to be proactive with their learning.

I’ve mentioned the problems I’ve had with the tutorial, but overall I’d still recommend it, if anyone was thinking of running through it just bare in mind, you may run into the same issues I had with Amazon Web Services, if you do, just see it as a great way to learn Linux troubleshooting. If you run into issues with Heroku not working, or Stripe, or Mailgun, see these things as opportunities to troubleshoot and learn. I feel like that’s helped me and I’m proud of my efforts. I would however recommend doing the course with some prior coding knowledge, I don’t feel like it’s a good course to start with, but as a deep dive into Ruby on Rails and web technologies, it’s rather excellent.

certificate-of-completion-for-the-upskill-essential-web-developer-course.png
You too can obtain this neat certificate 🙂

 

FCC JavaScript certificate

Picked this up yesterday, and in light of doing so figured I’d write a post about it, amongst other things:

JavaScript Algorithms and Data Structures.PNG

Number one thing I’ve noticed about JavaScript is I can definitely understand why some people say it isn’t a good language to start with. The basics seem as foundational as any programming language at this level of abstraction, with some differences. However it quickly starts to do some very different things that I haven’t seen before, alot of it being the ES6 stuff that based off what I’ve read you won’t find in most other languages. I’m getting used to it and although I was initially like “Ugh this just looks so unreadable I don’t like it” I’m now more like “How can I make this function even more succinct?”. I think my definition of readability was “I’m used to this, so I can read it”, but now I appreciate once you understand something, readability is far more about white space and indentation and good naming of variables and functions etc. So something like:

let newArray = oldArray.filter(arr => arr > 10) //filter through oldArray and return values greater than 10 storing them in the newArray;

Becomes just as readable as a for loop with an if statement and a push( ) function.

Anyway, I’m beginning to like JavaScript is my point. Probably more than C as I remember liking C back in uni as it was and still is, very readable and sensible, rather simple, no confusing OO. I still like C for these reasons, however I like JavaScript for other reasons. However in my opinion, I’d say C would be one of the best languages to learn coding, as it sits at a really good level of abstraction. Especially for someone who wants to learn a language but is a little unsure what they want to get in to. I mean if you’re keen on web stuff, well C might be a little less sensible, but if you’re more into hardware and hands on stuff, its a great language to start with, at least that’s the impression I get.

I guess my point is I feel like most other languages seem to get a little carried away with their abstraction to the point that most things are hidden away from the programmer and everything is just a function you just know exists. However C and obviously other slightly lower level languages, require memory allocation and declaring variable types as int, float, char, you can’t use filter to cycle through an array, you have to use for loops and if statements etc.

Obviously I’m comparing a web language to a programming language, however freeCodeCamp teaches JavaScript (amongst other things), CS50 teaches C (to start with), two very popular MOOCs starting from two completely different places both of which I’m working through. Anyway, I’ve digressed…

In getting the Javascript certificate I’ve felt a little less proud of myself than the HTML and CSS one, because I found it much harder and occasionally had to seek help in the form of solutions which I’d look through and understand, but then obviously now I know the answer so I’ve kinda ruined things for myself. So I’ve decided to run back through a bulk of it without looking at the solutions and we’ll see how things go. Then I’ll move onto the front end stuff in freeCodeCamp which I’m very excited about.

I’ve also got into #100DaysOfCode and on my 12th day of doing it. I decided to start it after a while of thinking ‘Nah, I’m pretty on the ball with my studying I don’t need it’ initially because I was feeling a little down with my progress. I saw it had a journal component on GitHub, it gave you a template and every day you write your progress down including thoughts and any associated links to your work. I was considering making my own journal up so I could appreciate the progress I was making, so after hearing I could just do #100DaysOfCode instead, I figured I might as well. I had no idea it also came with such a supportive twitter community also, now every time I update, I’m excited to hear about other people’s journey’s and see what people say about mine. So far I’ve had a few supportive and encouraging comments.

I’ve also been interviewing for a new job ‘finger’s crossed’, and I’ve been running around in preparation and attendance of interviews etc. Having #100DaysOfCode has been the only solution that has kept me on the ball with my freeCodeCamp and CS50. Basically had it not been for it, I’d have missed alot of quality study and probably felt crappy about it.

Nonetheless I’m tracking quite well with most things, some things I get bogged down with like one of my courses, but I just spend my time I planned on it and come back to it next week. It’s pretty easy to get discouraged but I try not to let that happen and seriously #100DaysOfCode is a great help.

That’s all for today, back to coding =P

– Christon

My Journey to Loving Learning (Part Three)

Part Two here!

So after realizing how much I enjoyed Lynda, I subconsciously had my ear to the ground about free online learning. I say subconsciously because I was already very happy with Lynda, and I certainly wasn’t looking for other roads, but when I heard about the other options out there, I perked up and started exploring what was on offer. Lets just say, I had no idea!

I still had a month left of planning including a report to finish and an exam to study for. I worked on those when I had to, but spent the remainder of my free time on edX and Upskilledcourses.com. Honestly before stumbling on these, I was aware of maybe Khan Academy and Lynda, oh and obviously Online University… but edX was online university. I mean it literally has 100’s of courses that mirror the onsite university unit, but they’re free (or $100 for a verified certificate). When you’re coming off of a course where each unit was $2800 AUD, I couldn’t believe I was wasting all that money. Especially after realising that the quality of learning is equally as good in MOOC’s except instead of a tutor, you work together as more of a community driven experience.

I deferred my course, (passed the exam and unit etc. as I felt it was important to finish what I paid for) and haven’t looked back. Once I freed up the time I was otherwise spending studying planning I was up to maybe 18 hours per week of free time to study. Which was already basically twice the amount of time I was spending per week studying planning for the year and a half I was doing it. I started making my life more centered towards this direction, updating my LinkedIn, and other social profiles. It felt right, more right than planning, or I.T. felt the first time around. I started listening to coding podcasts, obviously I started this coding blog! I most recently started the #100DaysOfCode challenge. I started hearing about people on the same or similar journey to me. It’s hands down the most encouraging online experience I’ve ever found.

I’ve been finding time where I didn’t know time was, waking up earlier instead of sleeping in till 10:00am each day (I work nights). Now I go to bed at 12:00am and wake up at 7:00am so I can have more time to study. I study more on my days off too. I’ve bought my total study time to 32 hours a week, so I study more than I work now. Never saw that happening ever! Almost finished the Upskilledcourses.com course, working through 3 different edX courses (Just started a third yesterday), spend most of my time on freeCodeCamp, also building up my maths skills on Khan Academy. I’ve even found more time hidden away for unrelated things like I’ve started learning piano alongside guitar, I’ve found more time for learning Japanese. I’ve managed to get more done on a puzzle that’s sat unfinished on the desk in the main room for half a year. I’m keeping up with my gaming hobby as much as feels comfortable, maintaining both blogs and Instagram as much as feels comfortable. Getting the housework done including some extra stuff I’ve never managed to get around to until now. I’m finding time to spend with my wife probably more than I used to and I’m applying for jobs and getting interviews.

I’m in a position at the moment that feels perfect. Where perfect isn’t contentment, it isn’t having everything. It’s simply being on a path that feels right. Not right because it’s sensible, or popular, or easy, or cheap, or expensive, or something to brag about, or of any particular status, or grants me significant wealth. But right because I’m enjoying it, everything else is a bonus, and obviously getting a career out of it is the goal, but I’m finding time for a slew of things that I don’t want a career in, I just want to learn because it’s fun.

I used to look at people who’d spend every week filling up their schedules and wonder what makes them want to be so busy. I finally understand why, because they’ve stumbled upon something that really works for them. I thought planning worked for me, I felt like it did, and it was, I did enjoy it, but it didn’t feel quite right. I felt so out of place, and the more I learned about it, the more I realised it wasn’t what I thought it’d be. IT is what I think it is, and I like what it is. I think the number one thing I’ve learned is that passion is not something that exists within you, it’s something that you develop. I could’ve become passionate about planning if I stuck with it, but I didn’t want to develop that passion, at least not as much as I wanted to develop my passion for technology.

What I’ve found is when trying to manage time and 100 things on your plate, don’t jump straight into a 60 – 70 hour schedule. The way things developed for me when I left my IT job was a struggle, however in studying planning only 10 hours a week, it really helped me get comfortable with learning from home and balancing work and home life etc. I started learning to code and I went up to 18 hours a week studying to 22 hours a week to 32 hours a week which feels like my limit, and it is a limit because it has to be seen as such. I think when filling up all my free time with an open ended hobby, I needed to appreciate that it’s not always going to be that much. Sometimes I don’t study that much, sometimes it’s less. This week’s been hectic it was probably closer to 22. But on a quieter week it’ll be 32.

I blocked my calendar, it took some adjusting but this is how it ended up (generally speaking):

I’ve found putting things into big chunks works better for me as it means, ‘this time is for studying, not more than this’… ‘before this time is for something else, after this time is for something else, during this time is study time’. Further which I’ve found helps is block time in priorities. Sometimes things will come up that need to be dealt with. I put my most important things on days I think I’ll be the least bothered and I order these things as priority A through D. I have a separate list on my computer that specifies what things I consider priority A through D. For example, freeCodeCamp is priority A because it’s something I’m doing for my career, whereas my Electronics and Circuits is priority C because that’s more just because I want to learn about for various hobbies etc. So priority A type things get 12 hours a week and because it’s put in times during the week that I am most able to focus on study, it’s most likely to be 12 on the dot and not any less. priority B is 8 hours, C is 8 hours, D is 4 hours. I have other things like career and hobby priorities too which are much the same thing, although it’s not so much based on priority as much as a way to keep my calendar clean and maintain a separate list of what I do during those blocks of time.

I also have a set of reminders on my phone, so any time I think of something that needs doing, I chuck it in there, then if I don’t get time to address them during the week, I’ll address them on Sunday. I put anything in there including things to remember to write about in a blog topic that I think about at work or something, the more stuff out of my head and on ‘paper’ to remember later the better. This is opposed to a convoluted time management system which I’ve had experience with and for me I’ve found having something that is as quick as possible to jot thoughts down on is the best solution, at least for me, in my case it’s memo’s on my phone as my phone’s always nearby.

Further tips I’d suggest (If anyone’s interested) are working with the time available, even if it’s just 4 hours a week, maybe over time you’ll feel more comfortable adding more and more time or changing priorities around to make study more important etc. Like I say, doing planning I was struggling with 10 hours a week, doing what I’m doing now, I’m only limited by sleep and work! Sometimes that’s all it is, finding what you enjoy and building it up. Listen to podcasts, write about it, find online communities or face-to-face communities, take part in fun challenges and share your progress. Don’t take things too seriously and be okay with running out of time. Maintain a schedule and sort things by priority if need be. Find a balance that works and keeps you going, where you can still do everything else that you want. Some people I think burn themselves out by blocking out all their free time. Balancing a few other hobbies and leaving time for a social life I think is important, especially if you don’t plan on stopping and it’s more of a lifelong learning thing.

I never imagined I’d ever be someone who could be this productive, and not be the usual procrastinator I’ve always been. I can’t speak for anyone else as I think my situation that lead me to where I am now was particularly unique. However for me when I started my IT career the first time, I was worried it wasn’t for me. Not because I didn’t enjoy it or didn’t find it fascinating, but because I was worried it was the easy way out, it was a comfortable solution for me to a tough question of what to do with my life.. comfortable and easy, not because a career in IT is easy, of course it isn’t, but because the decision to choose it seemed a little too simple, my life at that point led me in that direction and I never stopped being scared it was too predictable and maybe the wrong choice. I was always worried it was wrong because I hadn’t tried any other choices. I now realise none of that ever mattered. To have found something that makes for a great career, that I’m comfortable to a fault in pursuing is a very fortunate situation to be in. I just didn’t realise it at the time.

There are thousands of career paths and thousands of opportunities. Life’s too short to waste on questioning the one that stands out. If it stands out it’s worth pursuing, or at least giving it a try. In this modern age you can study anything for free if you look in the right places. It’s never to late to start something that makes sense to you, nor to early. There’s always time hidden somewhere you hadn’t thought to look, waiting to be filled with a new possibility you’ve always wanted to consider. Mine was right in front of me the entire time, a whole world of possibilities I keep on finding new dimensions to explore. It’s exciting and fun, and I didn’t think that was possible. Turns out it is.

My Journey to Loving Learning (Part Two)

Part One here!

So I began the process of making this change.. long story short, I was not able to find anything although came close on numerous occasions. At this point I was looking for casual / part-time work so the fact I had to give three weeks notice to my employer as well as being 24 at the time, so they’d have to pay me full rate.. things like this made me quite unemployable. Part of my plan was if I was unable to find work, to simply quit, give the 3 weeks notice and then live off my savings and annual leave pay out. If I still couldn’t find something, I had plans for that too.

Coincidentally, when I put in my letter of resignation my boss was actually glad I did. Not because he wanted to get rid of me, but because he needed to get rid of a staff member to cut costs. In fact he said I could return if my new path didn’t work out for me. He even asked if I could a year later, which I declined, however I was grateful they still considered me after being gone a year. Point is, I shouldn’t have been so secretive, not really, he was obviously seeking to get rid of someone, if I told him, he probably would have been accommodating to my situation.

Nonetheless I was un-employed for about six weeks and then started working at Coles. Spent the first 3 months settling on a new career path and in retrospect I kinda feel like I should’ve spent more time, but by this point I felt like I was wasting time doing nothing extra. It was a part-time job my hours fluctuated but generally it was 3.5-4 days a week, and I was getting the same amount for that, as I was in my previous job full-time. Which made me really like my new situation. I started studying a Graduate Certificate in Development Planning which led directly into a Masters in Urban and Regional Planning. It too was a good deal where upon completion of the ‘GCDP’ you can just continue onto the ‘MURP’ and the units done under the GCDP count as part of the MURP. I headed this way as the built environment was something I always found interesting, also I really quite liked the idea of being a town planner or transport planner or heritage planner, these things interested me. I later realised things aren’t always as they seem and it’s  all heavily politicised, but I won’t get into that.

I worked through the coursework generally speaking it was enjoyable, in fact it was incredibly interesting alot of the time. However over time I started to feel the same way IT used to make me feel, that maybe it wasn’t for me.. which was incredibly frustrating to feel because for the first 6 – 9 months studying it I was feeling ‘this is perfect, I’m loving my new direction’ to, this is great and interesting, but.. I’m not so sure I wan’t this as a career anymore. Exactly how IT made me feel alot of the time.

I obtained the Graduate Certificate and two more units of the Masters, bringing me to half way through the Masters degree before deferring to re-assess things. After the GCDP I was already pretty concerned the path I was taking wasn’t 100% what I wanted to do, but I simply couldn’t figure out what else I wanted do and at the time. My mantra was better to do something than nothing, so I stuck with it. Like I say, it was interesting and I enjoyed what I was learning, but for me it was beginning to feel like the wrong direction.

I barely ever make new users resolutions. But this time I did. I made the resolution to take better control of my life, sort out my direction and figure out what it is I wanted to do. Unlike when I decided to get into planning, this time I was actually being pro-active about it. I bought a guitar, starting learning that, decided to start learning Japanese, both I’m still plodding away at. These two things alone, ignited something in me. I mean I wasn’t making much progress, but enough for me to notice my skills were changing and growing. I became passionate about learning skills, not so much knowledge, but skills and abilities. I also got into sharing my passions, I started a blog and an Instagram for my gaming hobby I had build up over the course of last year. I got an email from my university about free access to Lynda.com which is a MOOC website with short courses on a variety of things. I then used this to learn Adobe Premiere Pro, I wanted to try my hand at making video’s on Youtube, turns out I hate the sound and look of myself on camera so much it was too cringy to try and edit it and gosh it’s time consuming. However in studying via Lynda specifically I had access to a whole library of content, high quality content that I could simply work through, upon completion the accomplishment would automatically push to my LinkedIn which I thought was a nice touch. At which point I was addicted.

In talking with my wife one night, she told me that she really doesn’t understand why I’m still doing planning if I’m not interested in it anymore. It made literally no sense to her. Something she had told me a few times by this point. However something else she said to me was, that it doesn’t matter if planning isn’t for you, you can always study something else, if it’s something you’re passionate about it’ll be worthwhile. I’ve come to think that passion doesn’t drop out of thin air, and is more something you build up. But I wasn’t building up a passion for planning, I was in maintenance mode, like I used be like. Doing the minimum requirements so that I can have free time. However I wasn’t doing the minimum requirements with Lynda, and my other hobbies, none of these were necessary. For maybe the first time ever I was doing additional things that the only reward coming for me was the satisfaction of obtaining new skills..

After what my wife said I decided to dabble in a few tech related things, I bought an Arduino Uno, and a Raspberry Pi, I decided to invest a small amount of time in tech related courses on Lynda, including electronics and programming type courses. At this point I realised that these things weren’t things that I just wanted as the occasional hobby. I wanted a career in them. I kept having this thought that when I’m 70 do I want to know I had a long career in tech or a long career in planning, I always felt like tech was what I would want. To look back on my life and say I stayed on top of the tech world, kept relevant with new technologies and was on the cutting edge of the industry. When I started feeling this way I knew that at the end of my unit I was currently doing I needed to defer and start exploring IT again.

I saw this as a profound moment. For the first time I was making a decision that truly felt like my own and discovering a passion that truly felt like my own discovery. With a desire to build it and grow it like I’ve never felt before. It kinda felt and still does feel like a blocked water main and I just unblocked it, and now all I want is to learn more and more. Blocked by my own self doubt, over thinking and ignorance really. However I don’t think I had an option. To truly invest in my love of technology, I kinda had to at least see what else the world had to offer and honestly. It has alot of great things to offer, but not as good as tech (At least for me..)

Part Three here!