In the “Developor-y” way.

Being well into Track 3 of the Firehose Project, I think it’s high time I write my first blog about my coding experience.Being a complete newb to the coding world, I can’t say I have a ton of insight as the ins and outs of web development. But one thing I keep reading is to look at things in the “developor-y” way. What does this mean Exactly? I’m assuming, in an oversimplified sense, that we have to learn to speak a new language.

And brother, learning a new language is tough! Especially a computer language. A task as challenging as this can benefit from a bit of advise. So here are a few pieces of information, tips, and tricks that have helped me along the way thus far.

1)Casing

Oh the dreaded lower case vs. upper case. If I could tell you how many error messages have had me at my wits end and searching through code, file names, and folder names just to find I had a “J” where I should have had a “j”. Silly.

2)Two Databases!

Throughout the program you’ll probably be hearing about “migrating” changes to the database on the local machine db and to the Heroku db. The local machine db(be it your Vagrant or Cloud9 IDEs) are for development purposes. A place to test and fiddle with your app as you please. This is one database.

BUT THEN…

There’s another database which needs to have changes migrated into IT, and that’s the Heroku db, or the production(this one is Live to the world).

I’ve read in the comments section that people still have trouble not seeing changes to their app when on Heroku. In some cases this is because changes to the app structure have not been migrated to Heroku db, only the local machine.

note: running migrations to either of the db’s will only update the structure of the app, NOT user inputted data. So if you manually input data into the local db through ‘rails console’, then migrate to Heroku, the inputted data is not shown.

3) Follow Instructions closely

It seems that any and all of the problems I encountered were all covered in each lesson’s instructions. Many times I’ve accidentally glanced over a single line of instruction and would continuously receive errors not knowing why. I’d go back, re-read, then catch the line I missed.

If you think you followed all the steps and are still getting errors, give it one more close read.

4) Read Comments

Sometimes, after all the instruction have been had, and error messages abound, it’s useful to read the comments section. Odds are someone has encountered your exact issue before and a solution has been suggested. This could save you a ton of time. Trust me.

5) Google

I know at first it may seem like a bit of a cop-out from the creators of the lessons to throw Google searches into the mix of knowledge, but if you don’t already use Google to unlock some new piece of information on the daily, then you’re missing the InfoTech train.

Google is powerful. Stupid powerful. Reality is that many of us who’ve chosen to take on the Firehose Project in hopes of a career change will, under most circumstances, have to use Google to find our exact solution to our exact problem during our careers. Don’t hesitate to Google something if you don’t understand it. In the middle of a lesson even.

6)<%=yield %>

What is this yield guy? Read here.(Googled)

7) Personal Method.

I have a personal method that I’ve taken to using to get as much understanding out of the lessons as I can. Though this may work for me, it may not be for everyone, I guess it really depends on your specific learning style. But I go through each lesson twice: Once for learning, and second time for understanding.

Learning: What I mean by “learning” is simply just going through the lesson(or lessons in a particular section), reading all the instructions, without stopping to take notes or rack my brain about what’s happening. Following the rabbit into the rabbit hole, so to speak.

Understanding: The second go round is all about the “why?” Now that I know what was the lesson’s intended outcome, I could re-evaluate how we got to were we did. Why did the program behave that way when I typed a specific line of code, and why does it behaves another, etc. This time I take notes and read member comments.

This may seem a bit redundant and time consuming but, following a piece of advice someone gave me, you only get as much as you put into it. So whatever brought you to the Firehose Project and the world of computer coding, get your money’s worth.

Good Luck everyone.