Monday, June 29, 2015

Free Code Camp Review

I have always promised honesty and transparency with this blog.  Last time I gave a review about Free Code Camp, I wasn't super supportive.  I talked about how the back 2/3 or the course material were basically unusable and very frustrating.

I am happy to tell you that I have been back to Free Code Camp this past week and looked at their new material and played around with it, and can honestly say it is way better!  If you want to become a Javascript developer and don't want, or can't pay $17,780 to go through Hack Reactor, then I think Free Code Camp is the best option to become a front end Javascript developer.

My biggest issues with Free Code Camp were towards the end of the map, I didn't like their Node courses and instead got a free trial to Team Treehouse and took all of the Node courses that Treehouse had.  I still want to encourage you to always think outside the box and customize the learning to code process to whatever fits your own individual learning style and needs.

I think the best thing about Free Code Camp that I am seeing is the fact that they are constantly trying to improve and make the course material better, which takes time.  In my book I mention that Free Code Camp has the best algorithm challenges for beginners that I have ever used and highly recommend using the Bonfire challenges, even if you don't want to take the rest of the Free Code Camp course.

For someone on the fence about taking the course I would keep in mind, that if you are just starting the course now, by the time you get to the back of the course material, it will have improved and gotten better and better.  I remember taking One Month Rails when it was first offered on Skillshare years ago - it sucked!  But, over time it improved and got better to the point where I now recommend it to everyone :-)

Here's the deal, as long as you are 100% sure that you want to be a Javascript developer and can put in the required time of 1,600 hours, then I highly recommend Free Code Camp.  You need to be committed and driven to complete the course, the good news is they have an online chat room where you can ask for help and get unstuck.

All in all Free Code Camp has improved, I see them really trying to make things better and feel that they are serious about making you well rounded as a developer and want people to come out of the program able to land a job.

Keep coding peeps, you can do this!

Wednesday, June 24, 2015

How to finally land a coding job: The 80/20 rule for learning to code.

When will you stop dreaming and land a coding job?

I couldn't stop throwing up, I could hear my heartbeat pounding in my ears, the radio said we had set a Virginia heat record for the day.  I had just finished shoeing 16 large draft horses, I had changed my clothes twice and still my pants and shirt were dripping with sweat.  The inside of my thighs were raw and starting to bleed.

I was about to drive home, but my client insisted that I call my wife to come pick me up as I shouldn't be driving.  I laid down in the shade, took the garden hose and turned it on and tried to cool off.  When my wife pulled up I was having a hard time saying the 's' sound, She helped me into the car, handed me an ice cold Gatorade, and insisted I drink it.  3 minutes later I vomited it all out the window onto another car.

I remember thinking how proud I was of myself as a provider as I handed my wife over $1,000 from my pocket, most of it consisting of now sweaty cash.  It also started to dawn on me that I couldn't keep doing this long term as a career, this was my 4th heatstroke in the past 3 years.

4 years later I would be sitting in one of the tallest buildings in Reston writing front end code for ZipList, the A/C was so cold my glasses would sometimes start to fog :-)  Looking back I can see that I had no idea of how to break into the I.T. world, and had no clue on what skills I needed to learn.  Having helped 30+ people in the past 2 years land QA and coding jobs, I think I can offer some keys to actually learning how to code and actually landing a job whether it's in QA or as a developer.

First know what skills are required to know for the position you want, than only focus on learning those skills.  If I wanted to land a junior Ruby on Rails position, here is what I would focus on:

Http - Know how to do a GET and POST, then an UPDATE and DELETE.

Ruby - Focus on the 20% most used core of the Ruby language.

jQuery - Skip pure Javascript, use jQuery for everything you can for now.

Rails 4.0+ - Forget Rails 3, it will only make Rails 4 seem more confusing.

Html - You need to know the basics.

Css - Know enough to be dangerous.

Sublime Text 3 Plugins - Double your coding efficiency by installing the 30 most useful plugins.

Postgres - You will be using Active Record, but you need to be able to use the database from the command line and know what's going on.

5 MOST Popular Rails Gems  - Devise, Cancan, Paperclip, Twitter-Bootstrap-Rails, Better errors...

Git - Only learn the 8 - 10 most used commands,  this is all you need for 90% of real life work.

Rvm - For keeping track of your Ruby versions.

Brew - For installing everything in an orderly way that won't conflict with other installed programs, you'll thank me later for this :-)

Firebug/Chrome Dev Tools - Learn how to find Html elements using either tool, you will need to do this everyday once you are hired.

Make a Rails app to demo - Don't make the next Facebook, make something that uses a real API like Flickr, that's what I did.

Regular Expressions - Don't stress over it, simply understand the basics for now, when in doubt use Rubular.

Unix - Don't be afraid of the command line, start doing everything from the command line, leave GUIs behind, from now on.

Anything not on this list, skip for now, you will need other skills down the road, but first learn these skills if the goal is to land a junior RoR job.  Don't play with other languages or cool new things that you see on Hacker News, stay focused on the most important areas that you need to learn and understand them well.

What do I mean: "focus on the 20% most used core of the Ruby language???"

Here's what I mean in 4 simple steps:

  • Never write your own custom Ruby methods unless you absolutely have to, always start by looking in the Ruby docs for a method that will accomplish what you are trying to do.

  • Focus on knowing Arrays and Strings, you can accomplish 90% of problems with those 2 data structures.

  • The bottom line is always try to find the easiest, simplest way to solve the problem first before trying to wad into Ruby knowledge that is way over your head.

  • If you can complete the first 30 of these challengesFree Code Camp Challenges you are at a junior dev level of algorithm proficiency, if you can do more, great!  The challenges are written in Javascript, so you will need to figure out how to convert them to Ruby :-)

  • Find a mentor or coach that will help you 10x your learning speed, I was able to meet up with local devs for coffee every other week or so, make sure you have someone who can help you get unstuck and give you clarity and focus on what is important to learn for where you are at in your Ruby knowledge base.

I am not saying do a poor job or become a crappy developer, what I am saying is focus on the most important areas, and land your first job.  6 months at a real job is worth 2 years on your own, you will learn faster than you ever thought possible. 

Don't wander around learning anything and everything that looks shiny and cool like I did.  It took me longer than it should have when I was trying to change careers from a Blacksmith/Farrier to a junior dev.  Whether you want to become a QA Engineer, a junior RoR dev, or a Mean stack Javascript developer, focus on the most important areas for the job that you are trying to get first!  

If you want to know more about the coaching I offer check out: QA Coaching

Keep coding peeps, you can do this!

Tuesday, June 23, 2015

How to use RVM and how to trouble shoot install issues with Sublime Text 3

Hey Guys!  Another day is in the books, I've heard several people asking about how confusing RVM is and also issues with getting Sublime Text 3 to install packages and symlink correctly.  I remember being confused by RVM, but actually it's really simple once you understand what it is doing.  Let me know in the comments what you think and if you want to see another video of me showing you how to do something :-)

Keep coding peeps!  You can do this!!!

Saturday, June 20, 2015

The most useful Unix command of all

Hey guys, had an awesome week at work, I love coming to the end of the work week, knowing that I have grown my skills more than they were last week :-)

With that in mind, I thought I would show you one of if not my favorite Unix command that I love using everyday!  I don't want to say the word Ninja, but you will feel like you almost have a super power when using Unix.  Grep is one of the most powerful and useful Unix commands when you understand how to use it properly.

Lots of beginners don't use Grep, because they think it is confusing and miss out of the full potential and time savings of using Grep in their day to day work.  In the video below, I will show you how to use the Faker gem, how to troubleshoot in irb, how to write a super simple Ruby loop and create 1000 names of fake data.  Next I will show you the power of Grep, and search through the data and extract the name we want and write it to a file.

The video below is 7 minutes long, but watching it will save you 7 minutes a day or more once you understand and harness the power of grep :-)

Talk to you all tomorrow :-)  Keep coding peeps!

Thursday, June 18, 2015

Why you should use Brew and Sublime Text 3

Hey guys, going to hit the bead early tonight :-)  No 1:30 a.m. stuff, thought I would show you some of my Brew and Sublime Text 3 secrets and why you should use them too!

Keep coding peeps, I'll talk to you tomorrow :-)

There is no luck, only grit.

It's 1:26am here in Northern Virginia.  I am exhausted, I want to go to bed, but I promised myself that I would write a post tonight, which got me to thinking.

All of the most successful people I know have all overcome challenges, and have worked really hard for what they have.  It also got me to thinking about one of my QA coaching students Georgi, she is studying like crazy!  4+ hours a day, I can't believe the learning progress and speed she is making, I was no where near as fast as she is.

Which made me think even further about success whether it has been in coding or my own personal life.  When I was learning how to shoe horses, all of the older farriers would always refer to me as: "Hey BOY!... get over here!"  They would play tricks on me so that I would accidentally pick up a hot horseshoe, ( because they put a hot horseshoe in with the cold horseshoes ).  I eventually had to leave the one farrier I was apprenticing with because he literally would only have me work on the most dangerous horses.  But I never gave up on my goal of learning how to shoe horses, and I eventually did and had my own business for 7.5 years, 1 year netting over $115K after taxes.

That never would have happened if I had given up.  My success had very little to do with luck and a whole lot to do with never quitting, even when I thought I would pass out from heat stroke.  Coding is no different, fighting the urge to simply watch T.V. and instead open your computer and try to write some code.

That's why I love working with Georgi, I love her work ethic.  I woke up yesterday and saw an email from her that had been sent at 1:30am in Spain time.  Don't ever give up peeps, you guys can do this, if you have to go at a slower pace, okay, just don't ever stop.  It's a lot harder to get going again from a stand still.  Everyday, open your computer and write something in your text editor, anything :-)

Good night, I talk to you tomorrow :-)

Tuesday, June 16, 2015

Basic Unix commands Video: What's the difference between copy and move?

I used to struggle with this simple command on Unix, and know that others do as well.  Sometimes the simplest things can seem confusing or complicated until you finally "get it", then it all makes sense.

In a nutshell: Copy 'cp'  and Move 'mv' do virtually the same thing Copy just keeps the file in 2 places.

I know that sounds simple, but it's good to be clear with the basics, whenever you use copy you will have 2 copies of the file.  When you use move, you will only have 1 version of the folder or file and simply move it to some other location.

This becomes confusing when you see the most common use for the move command which is actually used to rename files.  Maybe they should have a command called 'rename' instead of move.

I'll show you some examples in the video below, hopefully you will walk away from this video with better clarity of Move and Copy.  Don't get discouraged when you are new to Mac and Unix, there are so many terminal commands.  The truth is that you really only use about 12 - 15 on a daily basis, you don't have to learn ALL of Unix on day 1 :-)

Hope this helps, if you want me to make a certain video, suggest it in the comments below :-)
Keep coding peeps, you can do this!

Monday, June 15, 2015

Announcing QA Coaching and Videos Page

I am launching a 4 month QA coaching program later this week, details to follow.  I am also excited to be adding a Videos tab to my blog.  The Videos page will NOT be like other places that you have seen videos on learning how to code.

I will be adding new videos every week, the videos are not going to be very "wordy".  I am not going to talk a lot about things that have absolutely nothing about learning how to code.  I want these videos to get right to the point, very little if any introduction when I record each video.  The point is not to be rude, but to make progress and learn as absolutely quick as possible.

All the students are doing well, and keeping on my toes to try and push them as fast as possible :-)  I look forward to helping you learn how to code and learn coding tools easier through these videos.  If you want to know how to do something, put a comment on the Videos page and I will try to make a video that address your concern :-)

Check out the: "How to make a Gist from the command line" video I just put up here: Video Page

Keep coding peeps!

Tuesday, June 9, 2015

The Computer Scientist who can't code

I have a confession to make:  I can't really code.

Sure I can make little ruby scripts that go out and scrape a site and then kick off a build depending on what the data returns back.  What I mean is, I'm okay.  I'm not good at coding, I'm still learning and know enough to get the job done, although it may not be very pretty or the best way to do the task or script.

The bottom line is everyday I love learning more about coding and figuring things out.  I'm just not that good yet, give me another 10 years and maybe I'll know what I'm talking about :-)

I met a Computer Scientist who has a full blown CS degree from a respectable college and she can't code! ( I won't say where I met her or how, to keep her identity anonymous ) She was embarrassed when I asked her a question I was struggling with and she had no clue what I was talking about or suggestions of how to fix it.  I felt bad as she mumbled that she didn't really know how to code and her face blushed red.  She went on to explain how she knew a lot about computers, but not really about coding.

I quickly tried to make her feel better by showing her how my code really wasn't that good and wasn't actually written the "ruby way".

Later, I thought to myself:

"How do you get a CS degree and not be able to code???"

How can I ( a former Blacksmith ) with no college education whatsoever with only a couple of years of playing with code,  code way better than someone with a CS degree?  How does that happen?

I felt better about my coding abilities, not that I'm any good.  I just see that my efforts to get better most be working at least a little bit.

My next thought was:

"Why did you get a CS degree if you didn't love coding?"

I don't have the answers to these questions, only that I think people shouldn't love getting a degree, but instead should love learning how to code.  Also I think I will stop apologizing for my lack of formal credentials even if I'm not very good at coding just yet.  I am going to embrace where I am on the learning to code journey even if I still have a long way to go :-)

QA Coaching UPDATE:

It is with a heavy heart that I must tell you both of my QA coaching students that I was coaching for free, have dropped out after 1 week :-(  Both quit for various reasons, and I wish them all the best of luck with what they are doing.  Both had to drop out for similar reasons though:

They couldn't put in the minimum required 21 hours per week of studying.

I have already filled the 2 free 4 month QA coaching slots with 2 new people Georgi and John.  I will say that if these 2 people drop out, I won't be doing anymore free QA coaching sessions.  I wanted to show people real live examples of how to land an entry level QA job in 3 - 4 months putting in 21 hours a week of studying.

Yes it is hard work, but you'll have the basics of coding down and your first job.  I think that is well worth the effort.  I am going to be starting a paid QA coaching program in the next few weeks for anyone who wants to land an entry level QA job in 3 - 4 months AND can put in the required 21 hours of studying per week!

Keep coding peeps, you can do this!!!

Thursday, June 4, 2015

Qa student update, Monthly Google Hangout?

Hey all!

I'm sooo excited to give you an update on the first 4 days of the QA coaching with Roger and Dexter :-)
They are both doing very well, Roger is leading the charge and is further along then Dexter, but both are doing well.  One issue that students come across and realize when they actually get started trying to get hired, and study, is how hard, and how much effort it takes to put in 21 - 30 hours per week!

I think that hit home this week, but I feel impressed with the 2 students I picked and their chances of landing a QA job within the 4 month timeline.  Roger is having some issues with his computer and ordered another one online last night.  Dexter was borrowing a Mac and is now purchasing his own. We are doing our first Google Hangout tomorrow so wish us luck :-)

I've gotten several emails from people asking me to coach them in the past 3 days.  So I wanted to clarify and throw some ideas out to you.  My original plan was to officially launch a QA Coaching 4 month bootcamp  ( or whatever you want to call it ).  With the goal to have 100% of students land entry level QA jobs by the end of 4 months or else I won't consider my coaching a success.

People have been emailing me and saying: "How much would you charge me to help me get a QA job? " Here's the deal, I don't know.  So I put it to you guys:

Would you mind shooting me an email with what you think would be reasonable to charge someone for 4 months of QA coaching.  Assuming at the end of 4 months the student does in fact land a job making $50K.  I really want feedback on this, and will not be offended, no matter what you say in the email, I just really want your opinion on this.

Lastly I want to help beginners new to coding by doing a monthly Google Hangout.  I'm not charging a penny or anything like that.  If I get 10 emails from people saying that they would like to be on the 1 hour Google Hangout with me, then I'll do it.  If I don't get at least 10 people interested, I won't host the Hangout, simple as that :-)

I was thinking of helping beginner's get their dev environment set up, since 33% of people new to learning how to code quit while still trying to get it set up.

I thought I would cover some topics like this:

Sublime Text 3 
Basic Unix Commands
Basic Regex

Stuff like that, I'm not going to be making a Rails app online or anything like that, just troubleshooting and answering questions.  Well, that's all I've got, let me know if this is something you guys want me to do.  I'll do the Google Hangout on a first come basis.  Whoever sends me an email first, will be in the first Hangout, so I am fair to everyone :-)

Keep coding peeps!  You can do this :-)

Monday, June 1, 2015

How to get an entry level qa job

Learning to code is fun, but can you get a a dev job with your new found coding skills?  Maybe, maybe not.  Here's how to land an entry level QA job in 3 - 4 months.

First things first, forget all of the things that you read online from QA training companies that tell you that in order to land an entry level QA job you need more degrees or training certificates!  Nothing could be further from the truth!  Here's what you really need:

Ability to market yourself
People skills
Interviewing skills
technical skills

In that order!  Everyone trying to get hired does it all wrong, they only focus on the technical skills.  Yes you need technical skills, but when trying to land an entry level QA job, it's a lot more on who you are than what you know.  I am sure this will tick of a whole bunch of people who have master's degrees and still can't get a job, but the truth is the key to landing an entry level QA job is not that hard if you are willing to think outside the box.

Most people trying to land an entry level QA job wake up, jump online and check their email for any replies to the resumes they sent out the day before.  Then they go onto Dice, Indeed, Monster, and, and spam the heck out of any and all jobs that are even close to what they want.

Guess what?

That method no longer works, you are just 1 resume on a pile of thousands, everyone is doing it wrong, stop fighting for the 13% - 17% of jobs listed online, and instead focus on tapping into the 80%+ of jobs in the hidden job market!

HOW? ... I'm glad you asked :-)

How are you remarkable???  If you start talking about your degrees and education, you just failed.  Let me rephrase the question:

"How are you remarkable WITHOUT mentioning your degrees, or education?"

You can't stand out from the crowd when you are wearing camouflage.  You need to find out what it is that makes you unique and then flaunt it!  Don't be obnoxious, but be proud of the fact that you were self employed for 7.5 years and used to be a Blacksmith, don't try to hide that!

The above is really the key to getting hired, but I'll give you 7 practical ways to actually get noticed and hired for entry level QA job.

1. Learn the basics of programming.
2. Learn Ruby it's the easiest and best scripting language out there.
3. Join local meetup groups and attend regularly.
4. Write a basic testing tool.
5. Give a short presentation at a local meetup group ( 5 - 10 minutes ) and show other coding "noobs" how you made your testing script.
6.  At the end of your talk mention that you want to get a QA job, and to keep you in mind.
7.  Repeat steps 1 - 6

IF you actively ADD VALUE to a local community and know the basics of coding, know how to interview and don't treat people like a butt, you will land an entry level QA job in no time!

I've helped over 30+ people land entry level QA jobs and junior dev jobs using mainly the above steps, along with some coaching from me.  MOST people that don't get hired, don't get hired because they only do 2 or 3 of the 6 steps above.  You can't get hired if you aren't willing to get up in front of a group of 50+ people and give a short talk! 

You don't need another degree or certificate to get hired as an entry level QA Engineer.  Most of the skills you will learn on the job and will be taught be the lead QA Engineer.  95% of people will read this article and agree, BUT will wake up tomorrow and spam job boards, don't let that be you!  If you want massive positive change in your life, it takes effort, it takes being willing to crawl out of your shell!  If you need help I will be offering a 4 month QA coaching package soon for people who are serious and want to land an entry level QA job in 4 months or less! :

Keep learning to code, you can do this!!!