Sunday, January 25, 2015

Have to Work Hard Not to Overload

Alright man I am on full throttle lately and just blasting through things. I've been listening to 1-2 podcasts a day and getting a ton of great suggestions. My task organization is getting better and better (still not where I want it) but writing down all of the crap that circulates in my head is allowing me to feel much less stressed.

I've been chatting with various communities, and feeling really good about where that is heading. I just recently got some help on some MAJOR roadblocks to me continuing the Facebook app. I can finally begin working on it again.

I've organized tons of resources, books, and small projects that I want to complete into my Kanbanflow app. So...that leads me to my current situation, where I think I MAY need to be a bit careful and reign it in a bit. If there is one thing that I know for sure, and in fact is a big part of the Pomodoro, it's that spreading focus can be a bad thing and cause me to lose productivity.

Looking over all of the things that I want to do, and how I am starting to bounce around with my resources, I am starting to think I may be getting into that trap. Honestly, I feel that part of that was due to running into so many problems with that Facebook app so I just began running off in multiple directions to ease the pain.

I really want to follow along on this Algorithms course, while learning the many things I have been...but if I want to make true progress I have to focus on what will allow me to produce measurable results, so let's examine that.

Reading 50 articles, and 5 books, and watching hours of lectures may sound great...but if I don't jump in and actually play around and produce something from those concepts shortly after it is almost a waste of time. Our brains just don't work that way. Without applying the principles, it's all going to get muddied and all of this "learning" I want to do won't work out.

That said, when I reel back and think of my goals for the next few months, we see that I REALLY want to get into a Jr Dev position as soon as possible. What do I feel are the important aspects of proving my ability to an employer? Okay, based on my opinion from reading and common sense it's:

  1. Projects proving my ability to code
  2. Contributions to open source to show I can work with codebases and teams, and have initiative etc.
  3. Knowledge of tech that is being used currently.
    1. Ruby/Rails, TDD, Javascript/JQuery/HTML, Postgres, SQL
  4. Online presence / credibility
    1. Blog, podcast, youtube can all contribute to this
    2. Also networking in person and on social media with other devs close to companies I want to work for
So, if I try to align the tasks I am currently working on...it makes me want to rearrange what I am currently working on. Even though I DO feel that the Algorithms course is very important, and I know some of that stuff is going to be brought up in tech interviews...I hear less about it happening in web dev roles. I can definitely understand the basic stuff, and eventually jump into the more heavy duty learning but I feel that getting through these HIGHLY critical things such as Javascript for example just feel like a much more productive use of my time currently.

The idea is the 80/20 concept. I can spend my time doing many many things, but if I can focus just on that top 20%, I can shine above other candidates. I'm probably going to bump up the priority on getting my actual blog out (this is just more of a personal journal than the blog I want to have out).

After working through week 1 of Algorithms (not done yet) I am already at 3 hours spent. The assignment will MOST likely take me another 3 hours. With my rate of learning, I could probably get through a very large amount of the CSS3 and/or Javascript sections in that amount of time. Obviously projects take a bit longer, but from my experience most of those things are fairly easy to me save for any major roadblocks I might hit.

As for my reading, so far I have been doing a lot of speed reading practice and I am getting pretty good at it. I'm able to get through 65 pages a day currently just during short breaks at work, and maybe a few minutes more of reading at home. With that rate, I can definitely get through 4 books a month without taking away major time from my actual learning. The only caveat to that is that any tech books won't work like that. I'll have to work through examples and what not. There is no point in straight up reading through a tech book, because I won't retain most of that information. I'd have to treat it like a full on project and WORK through it. I'll need to stick to personal development style books for my speed reading at work stuff.

Anyways, this post was long and a bit misorganized but it helped me to get my mind right on some things that were bothering me. I want to keep tweaking my kanbanflow grouping / tagging, and probably organize it more like the secret weapon GTD. That will most likely be the best route to take.

Other than that, I think I'll start breaking up my time to focus half on the Facebook-app, and the other on continuing through the rest of the Odin Project. I'll feel much more productive that way. As for working through the setup of my blog, I'll dedicate a decent size to that 1 or 2 days a week in order to get it out the door also.

OKAY, that's all for now.

Wednesday, January 21, 2015

Fired up and working much more efficiently

Whoa, I feel like so much has happened since my last post and yet it has only been a couple of days! Well, I'll try to summarize and talk about some of the changes I've made to my daily routine.

Alright, so I've discovered some great resources as I generally do from listening to Ruby Rogues podcast daily, as well as some short browsing of Reddit /r/learnprogramming and /r/cscareers, however I picked up on a blog from John Sonmez. He has some great material focused on personal development for programmers, which is a great fit for my style. Most importantly however, was a video from his Youtube which showed how he plans his week, that shows an amazing app called KanbanFlow.

It uses the Pomodoro technique to time activitiesand track them. I picked up and skimmed through a book on the technique called Pomodoro Technique Illustrated. All I can say is...WOW. So, I am really hyperactive and quite ADD...which generally leads to me getting REALLY off topic and unfocused as I jump around to 10 different things at once. I can be reading something, or working on a project and my mind just goes off like a 4th of July Sparkler.

Now, it has been getting more and more clear that in addition to the learning and projects that I am doing, that I will have to put some real effort into networking and meetups in order to boost my chances of getting "in" with a company looking to hire. I've joined a Ruby and a Javascript meetup which I will be visiting today and next week. I'm excited to write about that experience later.

Also, I've enrolled in an Algorithms course via Coursera in order to bust through the tough Data Structures and Algorithms questions that I may get bombarded with in an interview. The great thing about this is that many people wanted to join a study group, so I created a Slack team for this. Hopefully it will be a great way to chat with peers and learn by teaching etc. Not only have I joined a study group on the Coursera course, but also I have one for a group I met on Reddit for learning Ruby on Rails.

As for my TDD learning, I have been cruising through a ton of resources for this because there is just SO much to learn. I've gotten a bit further in the Facebook-rails project, however I got stuck on an error with FactoryGirl associations. Man, my biggest letdown so far with all of this massive learning I've been doing is when I get stuck for hours at a time on something that seems so trivial.

I've decided not to allow myself to continue working on something past 3-4 pomodoros of time (25 minutes each) so that I can move on and work through other problems or do other learning. That way I can come back later with a fresh mind. I've also decided that I will be spending at least 1-2 days working on "Soft Skills" in addition to my usual learning. By this, I mean general skills for boosting myself as a person.

These could include things like, writing my blog posts, reading personal development books, networking, learning skills such as speed reading, and other related concepts. This, I believe will make it possible to boost the effectiveness of all other learning, while building up and multiplying what I am worth to employers or clients.

Well, this was a highly excited and long post so I'll stop by saying that I will soon have a more legit and REAL blog that I am going to begin posting helpful things such as personal development, and structured stuff...whereas here I am mostly just blasting out a public journal of my progress. I will probably continue doing this blast, as it helps me keep track of things on a more dirty granular level, but I REALLY enjoy outputting helpful and lasting content.

Friday, January 16, 2015

Let's step back and do it correctly (I'm talking about TDD)

So yes, I am still on the final project for The Odin Project (Facebook-rails). Most of the reason is that I have hit a multitude of roadblocks. Some of which are that I have included additional specs which I didn't learn during the course which I have been needing to teach myself before I can proceed.

One of the biggest ones that I have recognized is the need for learning how to develop with a TDD approach. Not only was testing almost completely left out of The Odin Project, therailstutorial.org also used the very basic Unit Test modules, which from what I can tell nobody uses. After listening to days and days of Ruby Rogues podcast and much reading, I have learned that it is most accepted to use R-Spec.

Luckily I have come across a new amazing resource that is...similar to The Odin Project in that it blobs together a decent amount of resources to solidify various topics, but this one is literally FROM a company whose sole focus was to create an amazing on-boarding process for it's new hires. The website I am referring to is leveluprails.com.

Anyhow, I downloaded The R-Spec book, Practical Object Oriented Design in Ruby by Sandi Metz, and I will be going through the Testing section on leveluprails in order to get a better understanding of testing. I tried to just jump in blind with the Facebook project and I was able to accomplish a fair amount of testing, however I couldn't get several of them to work so I'll put it on pause until I figure things out the right way.

I believe that will be good enough for me in order to finish up the 'Final' project, as I plan to do a personal capstone project once I am finished which will incorporate even more of the overall learning as well as plans to add in more front in UI such as Jquery and Ajax, and overall styling etc which I have yet to teach myself.


Thursday, January 15, 2015

All the more reason to study harder

Well bad news bears. Apparently I didn't get the position. I honestly don't know how they could have found anyone even remotely as qualified as I am for the role, but that doesn't matter now. I certainly have even more incentive to get myself prepared for taking on a Jr dev position.

The past two days I SOMEWHAT procrastinated, as I didn't really work on the final rails project and instead brushed up on my Ruby skills by working through about 18 Exercism.io projects. I feel like the majority of my solutions were quite good, and on others I learned enough to refactor them later to a more acceptable form.

I was going to take my time if I got that role, and spend more time learning front end dev...but now I think I am going to finish up this Facebook project and go straight into interview prep before continuing my learning. If I can land a position while learning that would be the best thing for me imo.

I did a fair amount of research and ALMOST bought a chromebook with the money from selling my gaming Asus, however I found that they announced at CES a slightly better version of what I was going to get...the Acer Chromebook 15, which looks to be similar to the C720 I was going to get, but with a bigger screen, IPS display, better sound, and it looks much snazzier I think. I'll just wait for that to get released in the US before I make my purchase.

Well, overall only slightly bummed. I really do wish I had far less bills so that I could bump down to part time and study harder. The main issue I have at the moment is that I literally make JUST BARELY enough to pay my bills without having ANY expendable income whatsoever or ability to eat out more than maybe once...and that's working 100% full time and making the max bonus. In other words, when I don't bonus I'm eating into my savings. What the hell!?

So yea, that's my motivation I suppose. Let's kick it up a notch and get this project done so I have something to show potential employers!


Tuesday, January 13, 2015

Rough week, and tough project!

Blegh! Okay it's been a bit since my last update...right around 2 weeks in fact. For the first time in a decade I was sick. I thought I had the flu, but luckily I did not. Either way I did end up missing out on some work, and spent about 12 hours a day sleeping (which is a ton, considering I only sleep 6 hours a day generally). I wasn't up to doing any work at all on the final project so I am not really MUCH further along than I was 2 weeks ago.

That said, I have hit some serious road blocks which I just CAN NOT overcome. For example, I am unable to figure out how to get javascript to work with link_to in this project. I am also taking seriously long amounts of time figuring out the models and associations.

While at first it feels discouraging, it feels great once I finally overcome the problems. When I look at it, I realize I am overcoming big challenges and making huge strides.

After this project is complete I will most likely be spending time learning algorithms, and doing exercism.io projects.

So, off I go...continuing to finish up this final project HOPEFULLY by the end of these next 2 days off.

So in other news, I sold my gaming laptop with the plans of getting...a Chromebook. Crazy right? Well, I I have heard they do well as a Linux machine and for just web dev hopefully the lower specs won't be a killer on me. If anything...I could always buy a more beast of a machine later if I begin making more money and actually NEED more than an i3 processer and 4gb of Ram. I really do all of my dev on this desktop however so I am not too concerned.

Still no word yet about that trainer position. I may apply for a manager role also, which would be less time consuming and less responsibility. Might work better with my goal of learning web dev.

Thursday, January 1, 2015

Happy New Years! A look back at 2014 and my resolutions

Woo, what a year. This one has felt like it really went by quickly, however if I look back quite a few transitions took place so that would explain it. I am extremely excited right now going forward for what this year will hold, but first let's look at all that happened.

For the first half of the year, I attempted to quickly build up a streaming audience via Twitch while playing Path of Exile. I would like to think I did fairly well at that, however I waited way too long to try something like that because my YouTube had already been suffering hard enough. I eventually had to cave and get a job for the first time in 4 years.

The job was a blessing in disguise, because it gave me the permission to finally put a section of my life to rest that I had been subconsciously looking to retire from for quite a while. Sure I really enjoyed doing the gaming scene and YouTube and I now have some of my best memories from it, however it wasn't bringing me the challenge and fulfillment that I seek in life.

It wasn't until my sister moved down here for her CS major, that I had my passion for programming re sparked. At first I just wanted to brush up on some Java in order to help her out with her homework, but once I got into it I was fully hooked. Since then I've been reading up on some books for Java, and then Python. Once I began thinking about it I realized that this is what I actually want to do for a career.

After a while of messing around with random things and not knowing how best to approach becoming proficient enough for a job I stumbled across a post on Reddit about a boot camp that somebody attended for 3 months and then jumped into a job shortly after. I was excited as hell about this, because the slow pace of learning from a University always turned me off.

While I couldn't afford a Boot camp (even though I was accepted into one after some rigorous testing) I came across an amazing website called The Odin Project towards the end of November. It was essentially a full blown Boot camp curriculum, but with free self learning articles and projects to work through. This had my name written ALL over it.

So, about a month ago from today I began the project with the goals of completing it and being ready by June (which is when I would have completed the Boot camp I was looking at). My progress has been much more promising than I had realized. I am now already 93% complete with learning Rails, with only the final project remaining (which is pretty big, as I am squeezing in the learning of RSpec, Haml, and Foundation along with the other challenges that it will present)

So going forward, I definitely feel that I can be done with the entire Odin Project within another month without a doubt, so for the sake of additional satisfaction I'll probably be adding in some reading and advanced topics such as algorithms and perhaps a capstone project of my own (maybe learn to make a simple android app to go with the web app)

So, 6 months down the line maybe I'll be interning at or even working as a Jr. Dev at a company. Either way, I am excited to see where all of this hard work I am putting in takes me.