Sunday, September 20, 2015

Why you should never finish Free Code Camp

Yes, obviously Free Code Camp is popular. It's supposed to make things easier for you to learn how to code.  My problem is the length of time, do you realize it will probably take you roughly 1.5 years or more to actually complete Free Code Camp. Here is a link to their wiki: Free Code Camp Wiki.  That is simply the required course work at Free Code Camp, you still have to actually go out and land a job.  I think 90% of people who are still working full-time will take at least 2 years to finish the course work.

I know when I was first learning how to code, I was working full-time shoeing horses all day to support my wife and 2 children.  When the children were in bed and my wife went to sleep, I would study every night from 10pm - 1am (or until I feel asleep on the couch).  On the weekends I would make up for whatever hours that I hadn't been able to study during the week.

I did this every day without fail for 9 months and 2 days a total of 827 hours.  When I began coaching people how to get entry-level QA jobs, I thought people would easily be able to put in at least 21 hours per week. The biggest surprise has been how few people actually week in and week out actually put in 3 hours of studying every day!

This is why I think Free Code Camp will take the average person who still has bills to pay and a job at least 2 years to complete.  I am a very driven and passionate person and still had a tough time at the end of the day, after wrestling horses to find the energy to study. I was barely able to keep up that level of discipline for 9 months.  I think the average individual will not be able to do this. I have helped 30+ people land jobs, and I would be willing to take a guess and say that probably only 1% of the people who start Free Code Camp even finish the first 800 hours of the course much less land a job.

To me it's cool to have Free Code Camp, it gets better and better.  I think most of the smart people who are taking Free Code Camp, learn enough to get hired and then learn on the job from there.  To start off and actually spend 2 years just working through the curriculum is not the best use of your time in my opinion.

It doesn't matter how good the curriculum is, if the end goal is to land a job in the industry, you should try to land a job as soon as you possibly can.  Sure 2 years of training will prepare you better than someone with 6 months of training.  BUT what if the person who studied the Free Code Camp material for 6 months got a job at a company and gained real world experience for the next 18 months???

Which person would be more marketable and likely to land a job? The person who has studied online for the past 2 years and has hopefully done some pro bono work as the course recommends, or the person who has 18 months of real world experience?

If the goal is to land a job in some coding capacity and not purely academic, than you should never try to finish Free Code Camp.  If you argue the point that you should be really proficient at coding before getting hired, then why not just go get a Computer Science degree and do Free Code Camp??? The truth is you could spend your entire life studying if you wanted.  I think it's better to find a job as soon as possible and learn real world experience.

Don't just start Free Code Camp because of all the SPA ( Single Page Application ) JavaScript app hype that is going around now. You aren't going to make $100K a few months after joining Free Code Camp.  Join Free Code Camp and go through the material, skip something if it is poorly done or doesn't teach you in a manner that you understand.  Always keep your focus on getting good enough at coding to 'get your foot in the door at a company'.

The truth is JavaScript is not easy for novices to learn which is one of the reasons why so many people do not finish.  Ruby is much easier, I highly recommend it for novices. JavaScript is a great language if you consider that most of the language was written in 10 days. BUT any language written in 10 days is going to be 'buggy', and JavaScript is no exception.  There are lot of 'gotchas that throw beginners for a loop.

My advice is to start with the end in mind. Learn from Free Code Camp, do the Bonfire Challenges (they are amazingly well done) but do them in Ruby. Copy the JavaScript code into your text editor and then learn how to convert it to Ruby and solve the coding challenge.

Would you rather study for 6 months and then land a job? Or study for 2 years, and then try to land a job?  50% of landing an entry-level coding job are real coding skill and technical abilities, the other 50% is a combination of: Marketing, Networking, and Interviewing. Never forget that, don't be naïve and think that all you have to do is simply write the code.

Keep coding peeps, you can do this!!!

Tuesday, September 15, 2015

Cody Hired???

Tomorrow is Cody's last day staying at my place and sleeping on the blow up air mattress :-)


IS HE HIRED???


no.



Cody has a final interview with one company tomorrow, so technically he still could get hired within the 30 day challenge.  BUT I doubt they would tell him he got the job the same day as the interview.  The good news is Cody has lots of job leads, phone screens, and has been called in for several sit down interviews.  I am sure he will land a job soon, I will let you know when he does!

Cody is attending the Ruby D Camp in Northern Virginia ( thanks to David Bock! ), he will then be returning to the RTP area.  He has decided to get a place in the area and has asked me to continue coaching him.


I told you about my coaching client in Denver that was trying to get hired, well he had his technical interview yesterday and it went well.  With any luck he will be brought in for a final interview, I will let you know more as things progress :-)


Do I feel like a failure for not getting Cody hired in 30 days?

no.  Maybe I should, but I don't.  Cody is amazing at coding, but weak on people skills and the ability to read social cues.  I've been preaching this message for a while now and will continue to preach it until I am blue in the face.  Most people who are trying to land a job, only focus on coding and technical abilities!  Only 50% of the equation of landing a job is technical ability!!!  My brother Cody is in the top 10% of people who know how to code.  He is truly amazing, one of those people who is a natural 'coding savant', but that is not enough on it's own.

There is a recent article out on how to learn Javascript in 5 months and land a job.  The article is basically a list of Javascript tutorials.  It shows why these tutorials are best and will teach you all the Javascript you need, in order to land a job as a developer.  The article then abruptly ends.


This is the problem with the whole "learning how to code movement".  There are tons of free resources, lots of cool books and videos that promise to teach you how to code.  Yes, some are better than others, I won't get into that now.  But here's the thing, How do you actually go about landing a job???  Are you going to apply for a senior developer position online?  Everyone is chasing this "pot of gold at the end of the rainbow", they think just as soon as I can really code, THEN I'll get an awesome high paying coding job!


Guess what, Cody can code circles around you!  I have been coaching him every day for 29 days, and although I think he will get hired soon, it has taken ALOT of work and creativity to get him this close to the goal, and he can code!  


Don't believe me???  Have you been reading Reddit and Quora reviews and watching coding boot camp videos for too long?  Here's what you do if you want to see the truth :-)
Just for the heck of it, let's act like a magical "coding fairy" waved a wand.  Now you have just graduated from the best coding boot camp on the planet and can really code!!!


Now what???  Okay, you may begin your job search.


What, no one is knocking down your door???  No one knows who you are, or what you've even done.  You need to start thinking with the end in mind NOW, and not when you actually need a job.  There is no one day, today IS the day.  Make small deposits everyday in all areas, not just coding:

Technical ability
Marketing
Networking
Interviewing Skills

Don't neglect any of the above if you want to actually land a real paying job.  Of course if you just want to code in your parent's basement and put cool stickers on your computer, you can do that too :-)

Keep coding peeps, you can do this!!!

Wednesday, September 9, 2015

Cody - Final Week

Well we are down to the wire, this is the start of Cody's last week.  I promised he could stay at my place for 30 days, his last day is September 16th!  The good news is Cody has more job leads than ever and is actively pursuing them all.


The other coaching client I told you about who is starting to actively try to get hired, has a 2nd interview at a well known company.  He passed his first interview and is facing the technical interview tomorrow.  I am sure he will have at least one more interview after tomorrow's assuming all goes well :-)  I will let you know how things go for him.


As for me, there are soooo many things that I want to say, that I can't about what I am doing and where I am working :-(  That is the problem with getting hired, it puts a lid on some of the things you would otherwise be able to say and blog about.  I can tell you that I am using Javascript, and Protractor to test a SPA ( Single Page Application ) Angular app.


I find Protractor to be very 'buggy', and to have poor stack trace error messages.  SPA apps in general seem to have about twice as many bugs as a REST app.  I am also noticing that tests are slower to run, as you have to run them through a longer flow to set the 'cookie'.  With a REST app you can simply go to a specific URL and test a single page.  I think long term, SPA apps are not going to be as cool and sexy as they are now.  Once more people actually work on them, and see some of the common issues with maintaining SPA apps.


I am thinking of incorporating the Underscore Library or Lodash Javascript library into my testing framework.  I am not sure If I am allowed to add those libraries or not, but I think it will be cleaner and easier to use some of those built in methods.  I will have to check with some people before I just add a new code library :-)


It feels weird to see how things are changing in our industry with the rise of SPA apps.  One encouraging thing though regardless of what type of coding you do, is seeing how good the job market is.   If you can code and have been doing so for a while.  Every week I get someone asking me to work at company 'X', and why it is a better company than the one I am currently working at.

What's funny to me is if you go on Dice.com, and search for jobs.  You will get soooo many more for jobs for mid level developer positions than junior developer positions.  It's even more obvious when you search for senior developer jobs versus mid level developer jobs.  When you first try to get hired, it will be at a junior level.  The problem is finding a junior position, it can be done, it just takes some work and 'know how'.   It is cool to see once you've been coding for a few years, and have held a couple of positions, how much easier it is to land another job.


I think after 2 -3 years of coding experience, you will have a pretty safe job.  You will be able to move to just about anywhere in the U.S. and land a job without too much difficulty.  If you are struggling to find your first job stick with it, things do get better down the road :-)


Keep coding peeps, you can do this!!!

Tuesday, September 1, 2015

Cody Halftime - Survive and Advance!

So my little bro has been sleeping on my Air mattress in my living room for 2 weeks now.  No job yet, but lots of job leads!  I'll keep you posted on how things turn out with this "coding thriller" :-)


My coaching client in Denver just started interviewing, he has 2 - 3 phone screens so far for this week.  We will see if the mock interview training sessions and my secret interviewing techniques pay off!  I also decided to double my coaching prices in the next 10 days.


WHY???

Simple.  I love coaching and think I am really good at it, but the key to my success in helping people change their lives, is time.  Coaching people to land jobs in a short amount of time, is only possible because of the amount of contact and time I spend with them.  If you look at other online bootcamps or programs, they simply give you course work material and a "mentor" that you can email weekly.  I talk to all of my students almost everyday if not multiple times a day.  I don't want to have a course that I give to people, I want to know all of my students on a very close level.

I absolutely love coaching!  But, like I said it is a ton of time so I only want to focus on a few people and not try to take on tons of clients.  So I'm doubling my prices :-)


Anyway in other news, working at the new huge corporation job has been challening in a good way.  It is soooo different than when I worked at ZipList where there was 15 - 16 people in the office and shoes were very optional.  Every Friday was Happy Hour followed by a round of "office golf"!

I love that I have a mid level engineer position at a massive corporation.  It's been great in the span of 2.5 years to have been at a small Start up ( 15 - 20 employees ), a small company ( 100 employees ) and now a large corporation with over 40,000 employees.


The good news is, all of these companies no matter the size all want the same thing.  People who have experience, know some common software tools and can code.  They aren't only after degrees or stuff like that, if you can code you can land a great job fast!

Several people have left comments, and several people have emailed me asking why I am using Javascript, when I like Ruby more and am better at Ruby?  The reason is simple:

I don't recommend learning Javascript as a first language for complete beginners, but Javascript is super popular right now, and if a company is willing to pay me good money to code in it, why not???
My old boss at ZipList told me:

"The best thing you can do is to land a job with a technology you don't know.  You'll get paid and 2 years later you will have a whole new set of skills that you can use to land your next job."


Bottom line, if a company will pay you to use a technology that you aren't very good at, take it!  When I first interviewed at ZipList I totally bombed the interview, I failed 80% of the questions most of which were related to HTML and CSS ( my weakest areas at the time ).

I somehow got the job and then went on to make 500+ of ZipList's partner site's Headers ( they were called "white label" sites, basically just the top of a website ) like:

Rachael Ray
Martha Stewart....

Guess what?  I got really good at Html ( Haml ) and Css ( Scss ).  I think my current position is similar, I'm not as green as I was with Html and Css, but the principle is still the same.  If you get to write code everyday you will have to improve or else get fired :-)


Alright peeps, I hope you are making progress learning to code and landing a junior job!  None of this is rocket science, it simply takes time.  Keep coding peeps, you can do this!