NavBar

Sunday, April 26, 2015

I finally finished Hartl's Rails Tutorial.

Very excited about the progress I've made in the past week.  Tonight, I finally finished Hartl's Rails Tutorial... all 771 pages of it!  It took me 2 months to finish it.  I found the book really helpful to clarify and work through some basic rails concepts like sessions and params.  I found concepts I learned in it, I referred back to while tackling work tasks.  I'd definitely recommend it after you get some familiarity with RoR.  Next, I think I'm going to change it up and next tackle learning some JS, particularly AngularJS, in my personal time.  I also have a copy of Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages that I want to tackle reading as well.

Also this week, I setup a dev environment from scratch (for second time ever) on my work mac.   It was pretty painless compared to my first attempt on my own 5 months ago.  I needed some minor guidance, but I think I would do fine by myself when I do it again.  I setup my ruby version manager with rbenv instead of RVM.  It's what my colleagues use and you don't have to deal with creating/managing RVM gemsets, so I wanted to give it a try.

After using rbenv for the past week, I really liked it a lot better than RVM and wanted to change my own macbook over to it.  After reading some posts and talking to a colleague, I was worried though that even if I impoded RVM, it would still leave lingering files on my machine that would muck up a clean install of a new ruby manager... and my worst fear is that I wouldn't be able to fix it... so I originally decided that I would not change my setup.   But, I couldn't resist the challenge of trying to switch over to rbenv from RVM, and, of course, I attempted to do this late on Friday night. :-)  It all went well, though!  I just had to run '$ rvm implode', clean up my bash files of any reference to RVM, restart, update homebrew, then install rbenv and my ruby versions.  There were some minor little issues to resolve when I checked that my projects still ran normally locally, but I worked through everything and it's running fine!  I'm happy that I just did it despite my reservations.

I've been learning some more difficult concepts and working through understanding APIs, client/provider side authorization, OAuth2, OmniAuth and Doorkeeper.  I built my first gem and published it to RubyGems.  It's an OmniAuth strategy for one of the projects I work on that is a OAuth2 provider.  I got to figure out a lot of things while working on it- building a gem with bundler, publishing a gem, writing a gemspec, and building an example app in Sinatra within the gem.   It's cool to think of what I've built recently, when I just wrapped my head around APIs, clients, providers a week or so ago.

It's weird how things have changed for me over the past 6 months.  I worry I've become a bit 1-dimensional though.   I live/breath/think constantly about coding.  It's what I wanna talk about all the time and my main interest right now.  I'm excited about it and can't help myself.  I don't think much about my previous career or have a desire to go back to it.  I just want to keep getting better and faster at writing code.  I wonder if this is just a phase that every new coder goes through or if this is just how it is going to be from now on... :-)

Thursday, April 16, 2015

I made it! Job contract signed!

Very excited to announce... I signed a job contract!  I was able to go from a code nobody to signing a job contract for a full-on developer position in 5 months.  No $30,000 dev bootcamp necessary.  Just self-teaching with online tutorials and scoring a jr. dev internship.  Seriously, that's crazy, right?

As of May 1, my title will officially be Software Developer. :-)  I am staying on at the company where I am doing my jr. developer internship.

If I can make it, I don't see why anyone else out there can.  I started flirting with the idea of trying to become a web developer in November.  I started reading some blogs from others that found jobs as jr. devs after self-studying for 6-8 months and got motivated.

There were 2 big obstacles to getting a job I saw when I started out learning to code... 
  • Living in another country and not speaking much of the native language. (How am I supposed to find a job or internship then?)
  • No dev bootcamps nearby. (I almost considered doing an online bootcamp....)
I didn't let these worries deter me.  Here's my milestones on my journey to get a developer job:
  • On November 13, I successfully battled homebrew and xcode error messages and installed Ruby and Rails and a text editor.
  • On November 26, I created a github account.  I didn't really understand the git process at all.
  • On December 16, I finished my first Rails app - One Month Rails' Pinterest clone.  I kept working through every free online rails tutorial I could find online.  I started the precouse work for 2 different online bootcamps - Tea leaf & Firehose project.  I was considering doing one of those.  
  • On January 13,  I applied for a couple jr developer internships.  I almost didn't.  Some of them were posted in Dutch.  I didn't think I qualified after only doing some online tutorials for ruby and rails for the past month.  And, I definitely didn't think I was qualified when I don't speak Dutch well.  My husband convinced me to just apply and the worse they could say is 'No' or flat out ignore me.  So I did.  Caveat:   There were no positions in my current city.  So I applied in other cities within commuting distance.  I was willing to commute ~3 hrs roundtrip from Den Haag to Amsterdam every single day.  I still commute.  It's freakin' tough but I've gotten used to it.  If I get a decent seat on the train, I pull out the MacBook and work on code stuff for work or work on Hartl's RailsTutorial. 
  • On February 9, I started a jr. developer internship (lots of struggling with tasks at work and reading Hartl's Rails Tutorial during my personal time happening for the next few months).
  • On April 14, I signed a contract as a full-time software developer!
So that's 5 months from the time I installed Ruby and Rails to I signed my job contract!

I still have a lot to learn.  I am learning something new everyday.  Some days I feel like I'm drowning and some days I feel like a coding champion.  I truly enjoy coding.  I'm kinda shocked sometimes that I do as much as I do.  I think about coding and the coding community all the time.  I never felt that way in my previous career.

I am so excited for the future.  I can't wait to see where I'm at in 3-6 months from now.

Monday, April 6, 2015

Week 8 finished + holiday weekend!

I finished my 8th internship week!  Time is going by fast!

I worked on some new tests and features for the main app project.  I struggled with the proper setup of a cucumber (+capybara+poltergeist) test for 2 forms that are submitted using JS instead of ruby.  I figured out how to get the test to test the JS functionality and pass the individual tests, but then it was breaking a couple other tests in my full test suite.  I then adjusted my test env to run the database cleaner between each test and, voila, it was fixed!  I still am unclear how there the carryover of the @javascript notation for those scenarios were breaking the other tests, but this solution fixed it.

I am also getting more familiar with working on an api within an app.  I struggled a little bit this week with changing a feature on the api.  With everything I work on, it seems the list of stuff to learn gets longer and longer.  It's really amazing the possibilities of what you can build in Ruby on Rails.  I feel like I'm only just learning what is possible with Ruby on Rails and it's both overwhelming (most of the time) but, also, very exciting and motivates me to learn more (all of the time)!  :-)

I am still working through Hartl's Rails Tutorial.  I'm currently on Chapter 10.  I am going back and re-reading some sections from the past couple of chapters on creating user sessions and cookies.  I feel I didn't understand all of that discussion, so I'm trying to look back at some material before continuing on.  I bought the railscasts with the tutorial, so I'm taking the time to watch through those.  I hadn't been watching them, but after watching one on the signup procedure, I found it super useful to get Hartl's commentary as he worked through adding features.  I am going to work on watching more of the screencasts this week particularly the sections on user sessions and cookies.