Tuesday, September 9, 2014

Why moving, writing code, and golf are similar

I apologize for the long absence in writing.  My family and I have been collecting and packing boxes to move in our spare time for the past few weeks.  I forgot how much work it is to move especially with little kids!  We moved into our townhouse in Marshall, Virginia this past weekend after moving out of our little 2 bedroom apartment which was located  on the 3rd floor - 39 stairs up!  After this move I promised myself to never again, no matter what will I live on the 3rd floor of any building!

Life has been good otherwise, I haven't been able to do much of the Epicodus coursework, work has been busy.  I am learning some of the Ractive.js library as well as the mustache.js library so my spare time has been filled with moving and doing some tutorials using Ractive.js.

Over the past couple of weeks, I have noticed some similarities between the process one takes when planning, packing, and finally moving into a new home and that of coding.



  • Getting boxes from local stores can be painfully slow even when you call ahead and ask for them to be held for you I was immediately reminded of the process of setting up a dev environment.  No matter how easy it sounds there are always going to be a few unexpected snags.

  • Packing up everything we owned took far longer then I had originally anticipated, even though we did a move like this 2 years before.  The difference was all of the kids toys and junk that we had collected or been given for them.  Developers I am told are always way too optimistic on estimating how long something will take to make, the same was true for my move.

  • I remembered how steep and tough the 39 stairs were to climb 2 years ago when we moved into the 3rd story apartment, so I called all of my biggest, baddest, and strongest friends to help .  I promised them all an awesome lunch and drinks if they would give me a hand.  I estimated with every one's help that it would take no more then 1 hour to have the truck fully loaded.  2.5 hours later, on one of the hottest, most humid days of the year, everything was loaded into the truck.  Code is never the exact same and usually takes longer than what I think it will take in my mind.  I shouldn't ever try to rush it, same goes for moving.

  • The new place has only 2 steps, I estimated 35 minutes to unload everything.  With every one's help the truck was completely empty after only 15 minutes!  This rarely happens in software when everything goes perfect, but when it does it blinds us, confuses our memories and makes us think that we can be more optimistic with our estimates next time... which leads us back to the original problem  :-)

  • Moving, coding, and golf are very similar to me.  All of them hold perfectly still for you and just wait for the first move.  All 3 of them can be frustrating, but when you finally do get something right, hit the perfect shot of the day.  EVERY frustrating memory we ever had fade away.  It is a hopeless addiction, I can't say that I am any good at moving, golf, or writing code for that matter but I am enjoying the journey and the challenge to always learn, grow, and strive to do better next time!


Keep coding peeps!









Tuesday, August 19, 2014

Epicodus Bootcamp Review - Week 4

Time is flying by, I've had my head down working hard at work and then studying hard in the evenings.  I am starting the 4th week of doing the Epicodus boot camp coursework in the evenings after work.


Let me say that if I had this course when I was first learning how to code, I would have been hired WAY sooner.  I can't believe how many people still email me asking if they should go to one of these $4,000 - $6,000 online boot camps.  The answer is NO!  Epicodus is incredible I have absolutely zero complaints!!!

I know my Css and Html fairly well and I still have learned quite a bit so far.  The course is really just amazing, there isn't any other word to use :-) 


The Epicodus coursework is broken down into basically 7 sections:



I am halfway through Branching and looping in Javascript.  There are A LOT of sub sections for each main section, don't be fooled, there is a lot of actual coding assignments to be done after each video.  This is not a tutorial where you watch a video and than check a box and say that you can now program.  No, this is a boot camp and there has been tons of coding up to this point in the course.


Here is where I am exactly with a lot of the sub sections showing:

 
I just finished up at the bottom there 'Looping practice'.  So far I've learned jQuery, and much more about Bootstrap than I had know previously.


I have been struggling to get in enough hours of studying time after working hard all day at work.  I also can't say no to my 2 little boys wanting to wrestle with me and of course my awesome wife wants to spend time with me as well :-D


I had originally thought that I could do a lot of studying on the weekends, but so far that has not happened as those are VERY much family days.  I had hoped for a minimum of 14 hours of studying every week, and more like 21 hours per week.  Well I am ashamed to say that has not happened at all, I am averaging around 11.5 hours of studying and working on the Epicodus coursework. 

Here is my hour list just how I have it on my computer:


I'm disappointed, but I also know that my family sacrificed before for 9 months while I studied like crazy so I could get hired as a junior developer and I don't want to put that stress on them again, I want my boys to have the weekends with their dad :-)  My wife Elisha's brother did get married and that through a monkey wrench into the mix as we had to travel but that's okay.


Long story short,  I obviously push super hard all week and than just crash on the weekends.  I highly recommend doing the Epicodus boot camp if you aren't already.  If you are doing the Epicodus boot camp, leave me a comment below, I'd love to know that other fellow Epicodians are on the same path as I am.  You will probably pass me at the current "snails pace" that I am going :-)

Life is good, my little family and I are moving up the road this next month, so there will be lots of packing and lifting of heavy boxes :-D

Keep coding peeps!


Thursday, July 31, 2014

How I finally got to go to a coding bootcamp...for FREE!!!

OH MY GOSH!!!  I don't know how I didn't find out about this till just this week!  You know how I taught myself to code and got hired at ZipList this past year and my life has been great ever since :-)

That is true, however I have a lot of knowledge gaps.  It has always been my dream to one day be able to attend a Coding Bootcamp and fill some of those coding knowledge gaps.  I have never been able to make that dream a reality do to having a family, overall cost, and not being able to make an income to pay for me bills while attending the Bootcamp.  I have heard countless horror stories and sad tales of Coding Bootcamps, so I have always looked into new coding schools carefully.


I have done my research and found what in my opinion is the best Coding Bootcamp in the world: Hack Reactor.  The "Harvard" of Coding Bootcamps if you will.  I have never heard anything bad about the place, I've talked to one of the founders Shawn Drost, and have decided that it is without a doubt the best Coding Bootcamp there is.  Hack Reactor is not cheap, it is one of the most expensive bootcamps out there, and I think they are justified in there tuition costs.  When you leave Hack Reactor you walk away as a full blown developer.  They don't simply make you a junior level developer.  That is the main difference with the school versus any other Coding Bootcamp out there.


Now, for me, everything has changed.  I finally found a Coding Bootcamp that is actually recommended as the "next best" option by Hack Reactor's co founder @shawndrost.  If someone who co founded the best Coding Bootcamp in the world recommends it, than I have to check it out!

The name?

                          Epicodus.


The cost?  Extremely affordable!  The founder of Epicodus @michaelrkn is almost running it in my opinion as a non profit :-)


Here is the truly amazing part, Michael Kaiser-Nyman is SO nice, he puts up the entire Epicodus course work online for anyone to go through for FREE!  I can't tell you how many people have gone through cheaper online Bootcamps paying somewhere between $3,000 - $6,000 dollars and come out on the other side not being able to land a job.  I always tell people to stay away from most Bootcamps and to learn it on your own.


Well now, there is no excuse!!!  I can't figure out why the entire Internet is not blowing up over this Epicodus boot camp???  I have stopped doing my other courses and am dedicating myself to doing the entire Epicodus coursework. The Epicodus course is 40 hours worth of work for 16 weeks.

My goal is to study 2 - 3 hours per night 7 days a week.  If I can study between 14 - 21 hours per week on top of working and family, I should be able to complete the entire coursework in 30 - 45 weeks.  The earliest time frame would put me at March 1st 2015, the second best completion time frame would be June 15th 2015.


I am finishing my 3rd day of doing the course, I am not skipping anything I don't care if I think I know it or not, I am going through the entire course no exceptions!  I have put in 5 hours 10 minutes of studying time in the previous 3 days, so not too bad if I can keep it up :-) 


I don't know if down the road Michael Kaiser-Nyman founder of Epicodus will take the coursework down, I hope not.  Anyone who wants to learn how to code would be stupid to not do the entire Epicodus course work.  Better yet go to the school itself.  Here is where you can go to do the Epicodus course work: 

                                              Epicodus Coursework



I hope I can help to in some small way repay Michael Kaiser-Nyman for his amazing course and generosity by putting his site permanently on this blog. I want to help to get the word out about the Epicodus course, I will let you all know how it is going with updates about the program coursework.

From just the few online videos I have done on the Epicodus course material:

http://www.learnhowtoprogram.com/

I have been absolutely blown away by how incredible Michael's teaching style is.  If I could compare him to any other course or coding instructional tutorial I've ever taken it would be closest to Mattan Griffel of One Month Rails.  His teaching style is phenomenal which is why I can't believe how awesome this opportunity is!  Anyone and everyone who is trying to learn how to program and than get hired on an engineering team, should take the course!


OKAY...I will stop rambling, I am in cloud 9!!!  My life is good.  In other news, I am still doing the ambidextrous hammer and non dominant cursive writing training.  I'm still pair programming with my brother Cody every Wednesday till around 1am  :-)   I Shot my lowest golf round ever a 103, I even had 1 golf drive that went just over 270 yards!  Life is good my friends!

Keep coding peeps  =-)




Wednesday, July 16, 2014

Pair Programming

There is nothing like pair programming with someone else till 1 a.m. in the morning!  Magical things seem to happen when you are up that late trying to learn more about coding :-)


It's so much better to be hired and be able to practice coding than to simply be reading about it and studying on your own time.  For example, when I took an online Rails SASS Berkeley course on EDx, the course talked about Agile methodologies, User stories,  3 week coding sprints, and software life cycles.

I passed the course, got my grade and felt good.  The truth is I didn't know anything about Agile or how it worked.  When interviewed I mumbled something I had heard in class about weekly Scrum meetings being important.  I still don't know much about Agile and don't pretend to.  However as ZipList ( the company I work for ) ZipList just launched the new website yesterday, a project that just started when I was hired on in August.  I find all of the Agile terms meaning so much more to me and not just something to say in an interview.


I am loving learning, loving this whole coding thing!  I still have a LOT to be desired in my skills and abilities, which brings me to pair programming.  Every Wednesday evening from 7:30p.m. till usually 1a.m.  I pair program with my brother Cody.  I love that after every coding session we both walk away just a little bit better in some way.  There is nothing that will help you learn faster than pair programming with others at least once a week.

I am fairly good at Haml and Scss, and Git.  My brother is a coding logic savant.  He eats tough coding challenges and laughs whenever I get stuck :-)  In fact after I showed him Project Euler he went home the next day and decided to easily complete problem 168 without much difficulty.


I help him with his front end knowledge and he helps me with coding logic, a perfect match.  Find someone to study with.  You will have a lot of fun, help each other, and grow your coding knowledge like you are on steroids!


In other news I am re-doing my entire book "No Degree, No Problem".  It needed A LOT if editing and grammatical cleaning up.  I am also adding several more chapters that I think will help people learn how to code and get hired much faster.  Hopefully next month the book will be done and re-released :-)


Keep coding peeps, it gets addictive after a while  =-)

Sunday, June 29, 2014

Coding Bread Crumbs

I realize my writing isn't that much about code anymore.  Not because I don't like to code, on the contrary, I find myself wanting to learn more then ever.  I never wanted my blog to be only code tutorials.  I wanted it to be a small path of helpful breadcrumbs to show others where I went in the mysterious, dark and sometimes lonely coding forest.  A small trail that others who got lost in the forest might find to help guide them on their way. One thing that hasn't changed since getting hired is the need to learn.  Learn as much, as fast as possible, without much training or help.

My course was almost completed. Now there has been an unexpected "monkey wrench" thrown into the mix.  That's okay, the only thing that doesn't keep changing is change itself.  The one natural talent or God given gift I possess is determination.

Whenever in my life I have gotten complacent, something happens that jerks me back to reality and reminds me of my one true strength grit.  The same toughness that allowed me to shoe 20 horses in a single day. The same never give up attitude that left me unable to drive home, laying on the ground vomiting from heat stroke waiting for my wife to come drive me home, all to keep my word to finish all of the horses I promised to do. The same ability to mentally deal with the pain of my pinkie and thumb broken, and shoe another 5 horses before I stopped for the day.

Life is like that, some things change, some things don't. I am grateful for the ability to be tough when things get hard. Sometimes I should give up and I don't. There is so much to learn in software, you never really make it. It reminds me of looking out at the ocean from the 16th story of a hotel room, feeling so small and the ocean so vast.

People have accused me in rather mean emails of romanticizing the 'learning to code' journey, making it sound easier then it actual is.  I hope I only convey the love for learning and for the ability to take life by the horns and change your life for the better.  I get excited about that, I get excited when some coding problem 'clicks'.  Sometimes, I notice how big the coding ocean is and get scared.  Usually I just focus on making myself better at navigating my coding ship. So one day, I may be able to hold my own through small waves and eventually a real storm.

I love the 'WBP' coaching I am getting from Michael Lavery, but will be stopping for a little while as I need to focus on re-doing my course to make it a better fit for beginners as well as some other things that I can't mention here. I was able to bounce a golf ball 374 times in a row with my left hand off of a 16 oz. claw hammer.  If you've never tried, you should.  Most people can't bounce a golf ball 3 times in a row.  I really feel like my corpus callosum is feeling the effects of all the brain training exercises I am doing.  I feel my speed is increasing at learning new things.  I am still sleeping like a baby :-)

As we approach the 1 year anniversary of my book I thought what better way to say thank you to everyone then by giving a lot more incredibly useful information at no additional cost :-) I am going to be editing, revising, and adding a whole lot more content to the book.  Originally I was going to write another e-book that I was going to release this fall, showing people how to speed up their coding abilities entitled: "Hacking How To Program"  The book's main purpose being how to help people learn how to code much faster simply by learning the 80 20 rule of coding and get past a lot of the 'sticking' points of learning how to code.  Now though if you have bought my book previously, I am sure that Amazon will send out an updated copy of the book once it is finished.  You don't want to miss some of the secrets I have learned the hard way while learning to code!



Keep coding peeps, the seas eventually start to calm :-)






Sunday, June 8, 2014

Ambidextrous Coding - 2 week update

Well things have been happening, life is good! This Whole Brain Power training is really working. Everything in my life right now is improving.  My golf game is doing better, I typically drive a golf ball 200 - 220 yards, after 1 week of intensely doing the 'WBP' training regime my drives now average 220 - 240 yards.

I also took up juggling and have caught as many as 402 throws in a row without dropping any of the balls, after only 10 days! My wife knows sign language so I had her teach me the alphabet. After watching her and trying 4 times I was able to memorize and do the entire sign language alphabet!!!

It honestly felt like someone else was doing the learning for me that's how much easier it was for me to retain the new information. Instead of it feeling like I was trying so hard to remember each hand sign. it was almost like I couldn't forget the hand gesture as I went back through the alphabet to recall each one! The same for solving a coding issue or 'bug', this week at work I seemed like I was able to get unstuck from issues 50% faster then before starting the 'WBP' training program.

My course is almost done, and should be live on Udemy on July 1st, it has taken a lot longer, and has been a WHOLE lot more work, then I had originally anticipated it would be. I am feeling SO happy to almost have it completed.

Since starting the 'WBP' training 2 weeks ago, I have lost 2 pounds (without changing anything to my diet) and feel stronger then when I was shoeing horses everyday for a living. My mood is more elevated, I can feel myself being able to focus like a laser beam for an extended period of time without really trying.

If you are learning to code, or learning a new programming language you need to get Coach Lavery's  Whole Brain Power book and try the brain enhancing exercises for 30 days. I wish I had started doing 'WBP' at the beginning of my learning to code journey.

Here is a sample of me learning Javascript, writing out the data types in left handed cursive ( I am a natural right hander), YOU CAN'T forget them after doing that :-)



Keep coding peeps! You can do this =-)

Tuesday, May 27, 2014

Whole Brain Power Coding

I promised to always tell you what I am doing to improve my coding skills, to be honest on what works. 2.5 years ago I read this book: Whole Brain Power by Michael J. Lavery and started doing 1 of the brain training exercises suggested in his book to improve your brain. I did the hammer drills brain training exercise which I shared previously with you as one of the best things I ever did while learning to code to help keep my mind fresh here in this post: The blacksmith secret I use everyday to keep mentally sharp.

What I failed to mention is, I am not the originator of this learning 'secret' but in fact Mr. Michael J. Lavery. All I did was find another application for how to help myself learn to code quicker. The main reason for me not mention Mr. Lavery's book previously, was I felt weird enough already with my unusual background, education, and learning strategies to feel comfortable sharing more unconventional ways of learning.

However things have changed, I feel so strongly about Whole Brain Power 'WBP' and Coach Lavery's training methods and to techniques to radically improve your brain, I have decided to do coaching with Mr. Lavery himself. I am also having a link to his site: http://www.wholebrainpowercoaching.com/ and his book.

This is not any kind of affiliate link deal where I receive money when people click on the link or buy the book. No, the purchase of the book goes straight to Mr. Lavery, not me. Just so there is no misunderstanding :-)

After talking to Mr. Lavery about the fantastic clarity and focus I am having by using the hammer drills Coach Lavery promptly let me know that I was actually doing less then 30% of the the training methodologies he teaches in his book. He also conducted a 20 minute 'communications game' on the phone where it was painfully obvious how sloppy I have become with my speech.

On the bright side after realizing how little of the Whole Brain Power training methods  I was currently incorporating into my daily life. Coach Lavery was quick to encourage me that if I would commit to doing the entire 'WBP' training program, I would soon see nothing short of incredible changes in my brain, body, and furthermore my focus would go through the roof.

I have taken the good man's advice and for the past 5 days have done absolutely everything suggested to do in the Whole Brain Power book and am already seeing huge improvements in my speech, focus, mental clarity, and also my sleep.

From staying up into the early hours of the morning for the past couple of years, pushing myself to learn how to program, I have develop a terrible issue with being able to sleep at night. I am not a whiner which Is why I have never mentioned this issue before.

I would go to bed exhausted but unable to sleep until 1 or 2 in the morning most nights. I would then wake up the next morning at 7a.m. feeling very tired. I started taking some natural essential oils to help myself go to sleep.

After the first day of doing the 'WBP' left handed writing exercises for 20 minutes. I slept like a baby!!! Deep restful sleep not my typical 'light' sleeping. It felt SO good to experience the kind of sleep where your muscles feel relaxed when you wake up. Long story short, my sleeping is getting way better!

I finally decided to get over my awkwardness and let you all know about 'WBP' and how it is helping me. I apologize if I sound like a used car salesman in need of a buyer. I really believe 'WBP' is helping me learn Javascript at a much faster rate then before and to retain the information. As a recreational golfer I want to improve my golf game which I don't have the time to practice except for once a month. Coach Lavery tells me that if I really do all of 'WBP' training I will soon see incredible improvements in my golf game as well.

I am so excited, I recommend you not only get the Whole Brain Power book and read it, but also to try it out and do the exercises in the book as Coach Lavery recommends. I will be keeping you up to date on how things are going for me with 'WBP'. My learning of new languages like Javascript, as well as my overall brain improvement, and in my golf game.

People told me many times when I started this 'learning to code' journey that I was dumb to think I could simply 'learn to code' and expect a company to hire me without any degree or background in I.T.  I am sure I will hear that some more from people as I begin to push forward with something as unconventional as 'WBP'.  I say to those people in advance: "I don't care how unusual something is as long as it gets results".  If something doesn't work, you will see me running the other way as quick as possible, I have no time to waste on unproductive learning.  Whole Brain Power is not one of them.

Give the book a read and try the brain improvement exercises for yourself, I promise you will not regret it. Keep coding peeps! :-)



























































Tuesday, May 20, 2014

My Dream: Hack Reactor

I have a dream, it is quite large and very far fetched. In the past I have never supported ANY coding Bootcamps. I have never been paid or received any kind of compensation from anyone for any product I recommend. Hopefully you trust me and the things I do suggest because I have gained your trust and have the best interest at heart to help all 'noobie' developers.

I have talked to people from probably 10 or more Bootcamps who have gone through the course and then told me in a private email how much they didn't like the experience and how they still don't have the skills to get hired as a 'junior' developer. Most of the people emailing me are unable to complete the entire 'Learn To Program' book by Chris Pine.

I will say after talking to a lot of graduates from these Bootcamps I believe if you can complete the entire 'Learn To Program' book no matter how long it takes, you will have a very decent understanding OOP programming. The title of the book is why I think most people don't end up finishing the book do to the fact it sounds too much like a beginner's' only book.

I achevied my goal of getting hired as  'junior' developer, I know front end CSS and Haml pretty well after making 280+ sites since being hired at ZipList in August of 2013. I don't think it's being 'cocky' to feel confident in that arena. What I don't feel confident about is in my actual 'coding' abilities. Soon my official role will be a full time Javascript developer starting July 1st (so hopeful I will be up to the challenge by then)  :-)

I have HUGE knowledge gaps though, which I intend to fill, not as fast as I would like just do to how things are with a full time job and family.  I am dying for the oppurtunity to dedicate myself to working hard for 4 months, pushing myself to the next level of coding knowledge.

I have always kept my eyes and ears open on all of the latest and greatest coding Bootcamps and always have people asking me which is the best Bootcamp. To which I typically recommend learning on their own and saving their hard earned $10,000+ and instead get up at 5am or 6am, drive to a coffee shop and buy a senior developer's gourmet coffee whenever stuck on a coding issue, instead of paying for expensive Bootcamps. Which is still a good idea. 

However after watching for the last year one Bootcamp has caught my attention for several reasons: (1) I have yet to read a bad review about it, (2) They don't promise you to become a 'junior' developer (which is very vague) instead they promise you will be able to compete for REAL engineering jobs the same jobs that a CS degree graduate with 2 years of experience would apply for. (3) If you read about getting into the Bootcamp, students say it's incredibly hard to even get into the school it's not for beginners. (4) I have never had anyone email me about the school as having a bad experience which is something I can not say about many other schools.

My dream is to somehow get enough money to take my family the 2,812 miles from our apartment to the Bootcamp, complete the 12 week course and then get hired in Dallas, Texas which is where I one would one day like to settle down buy a house and live.

The cost for the Bootcamp: $17,780. The name: Hack Reactor. Here is their website: http://www.hackreactor.com. This is the most expensive Bootcamp there is currently, but I think it is worth it. I still recommend teaching yourself if you don't have the ability to go to Hack Reactor, but if you aren't married with kids, I think Hack Reactor is THE best Bootcamp bar none and I will continue to recommend it, unless something were to change with the way they run it fundamentally.

So how am I going to go? I don't know. Ideas? Why yes I do have some ideas. Is it likely to happen? No, but then again most of my goals and dreams are not 'very likely' so we'll see if I can make 'magic' happen :-)

Keep coding peeps!

Tuesday, May 13, 2014

One of Dev Bootcamp's Finest! Meet Rick Rubio

 Meet Rick Rubio ( @rickarubio )  I first met Rick online through his blog well over a year ago while I was about 3 months into my learning to code journey. Rick spent an entire year of learning to code BEFORE even going to Dev Bootcamp to help put on the finishing touches to make him a really good developer ready to be hired!

Rick has inspired me by his hard work ethic over a long period of time, being willing to move and relocate in order to learn from the top ranked bootcamp in the business.

I hope you enjoy Rick's story and share with others, also send him an email or a tweet to encourage him along on this final leg of the journey :-)

 

(1) What got you into wanting to be a developer?

- Back in high school, I took a Visual Basic 6 course and made a really cool game using sprites. Unfortunately, I pursued IT instead of software development. Years later, I was working at a local tv station and made a cool little application in Java to control the weather graphics for the weatherman. That got me looking into alternative education to avoid wasting more time/money in college. I found out about Dev Bootcamp in San Francisco. I applied, interviewed, and got in. It's been over a year since I read that Dev Bootcamp article. I now live in San Francisco. I attended Dev Bootcamp. Soon hopefully, I'll have a full-time job developing!


(2) What has been the hardest thing about learning to code?

- There is so much stuff out there. Where do you begin? As a beginner, I think the sheer amount of "stuff" out there to learn is daunting. I needed a focused environment that would help me break into programming. That's why I went to Dev Bootcamp. Now that I have a good foundation in programming concepts, it's way easier for me to learn stuff on my own. It's so cool that there's all these new technologies/frameworks around me. It's like I'm a pioneer. Computing is still in its infancy. This is a really exciting time to be a programmer!


(3) What do you like most about coding? What has been the coolest thing you've built or helped to build so far?

- My favorite thing about coding is that it's magic. Literally. Modern day wizardry. Spells and Sorcery. If you can think it, you can build it. Being able to program allows you to turn thoughts into things. As for the coolest thing I've built so far? I made a silly little app to easily display the USD and BTC exchange rates for Dogecoins (http://www.cryptseer.com). I also led a team project to build an online learning course aggregator (http://www.noodleskoodle.com) over the course of roughly a week for my DBC final project.


(4) You recently graduated from one of the best coding bootcamps in the world: Dev Bootcamp. After attending and successfully completing the program, would you recommend it to others?

- Dev Bootcamp was amazing. It's definitely an experience. They will pound work ethic into your skull. I feel like I learned more than I ever have in a very condensed period of time. I've also made some great friends here. Dev Bootcamp also allows me to continue showing up to use their space as a study space, since I have found that I can get into a good flow there. They also hired me on as a part time phase 0 guide. I don't know of any other coding school that would provide so much support to a student after you've graduated. I think Dev Bootcamp is very unique in the experience and culture that they create. After you graduate here, you're not afraid to learn new things. You have learned how to learn. That's the main skill Dev Bootcamp teaches. Forget Ruby on Rails. The skill you have now is that you have a kitchen mindset, you have a creator's mindset, you're excited and ready to tackle problems that you would've previously given up on. Because really, you create the experience at Dev Bootcamp. You. If you want to learn how to code, go to Dev Bootcamp. Be prepared to work hard, learning will be up to you.


(5) What advice would you give someone who is just starting out wanting to learn how to code?

- Meetups! Meetups are so awesome. Meetups are so cool. Go to a meetup! Meet people at meetups! They will help you learn if you just ask! Besides meetups, you'll learn best by doing small tutorials. Get some hands on. Build little tiny programs. I learn best by doing, maybe that style will work well for you too.


(6) Knowing what you know now, what would you do differently with your path to learning how to code?

- For starters, I would not have wasted years of my life (and lots of money) wandering through college. If you have the means, apply to coding schools. Go to meetups. Do online tutorials. Build sample apps. Try do something that will progress your learning everyday. Keep track of your time. Notice where you lose time. Try to minimize distractions. Keep coding. Keep learning. Keep creating.

(7) As a recent graduate of Dev Bootcamp that is interviewing with companies for development roles, what do you want to see in a company that you would like to work with?

- I'd like to see a company that cares about its developers. A company that allows me to develop. A company that allows me to continue my learning. I'd like a team environment where I might have a mentor that could help me out when I get stuck or need guidance. Most importantly, I want to be creating something meaningful. Something that will add value to the world. I love challenges. I want to be part of a team that is disrupting the way things are. Give me a challenge, a place to work, a team to work with, oh and money is always nice too. Most importantly, I want to be around passionate people. People passionate about coding. Passionately passionate people. Yes.

(8) Where do you see yourself as a developer in 5 years? 10 years? What are some long term goals that you have?

- In 2-3 years I want to be highly proficient in developing mobile web optimized apps. Whether that means writing them in their native languages (Objective-C, Java), or JavaScript(Node.js, Angular, Famous, etc.) or both, who knows. I'd like to someday apply to YCombinator. I'd like to try my hand at a startup someday as the technical cofounder. 10 years? I'd like to be living proof that old people (aka anyone not in their teens or 20's in tech) can code just as well or better than the young minds.

(9) How do you feel about your development skills? What is your favorite language? Do you like do more front end development or backend?

- I feel like I have enough knowledge to learn anything I don't know on my own. If you give me a project to code, I feel like it wouldn't be a matter of if I could code it, but how long will it take. My favorite language? Right now it's JavaScript. There's a lot of exciting things going on for the mobile web right now, and JavaScript is front and center of the revolution. So many awesome JavaScript frameworks! I enjoy both the front and back end. Ideally I'd love to work in an full stack role. It's like being the conductor of a symphony. I love learning and creating, and I think I'd be best in a role where I can help build the entire system. Maybe as the henchman of a full-stack master.

(10) Tell us something that most people don't know about you :-)

- I enjoy trading. Stocks. Options. Crypto. I enjoy learning about trading. It's an expensive hobby :-)


I hope you enjoyed getting to learn from Rick's 'Learning To Code Journey'. Please help him get hired sooner rather then later by spreading the word about this guy :-)

Sunday, May 11, 2014

Learning To Code - 2 Warnings

My number one goal with this blog is to be transparent and to show you how to learn to code and get hired, with that in mind I strive to always have the utmost honesty and character with you.


Which brings me to 2 rather uncomfortable points:  BE CARE FUL of Code school and Skillshare, which I used to highly recommend. Unfortunately things change as time moves on and so we must change or at the very least be honest about what is going on.

When I applied to Dev Bootcamp, one of THE most frustrating things about the entire process at the time was the blatant untruth on their site. Big bold letters "You will get a 'yes' or 'no' answer from us within 2 weeks." Of course as you probably know it took me well over 2 months to get accepted into the program which I later had to decline.

As you know I am making a course due to be out in the next month that will hopefully be a big step in helping people learn how to code, make it easier and more fun. As I applied to Udemy and Skillshare with my course, Udemy has been nothing but nice while Skillshare has in Big bold letters: "We promise to get back to you within 5 days."

2 weeks+ later not a peep from Skillshare nothing. I have been hearing less and less good things about their camp and more and more good things about Udemy, maybe it's just how things go with change.

Which brings me to the question: "Do 80+% of these online monthly membership 'Learn To Code' places really want you to learn or just keep you coming back regardless?" I'm all for making money, but what I learned the hard way is a terrible practice that Codeschool does that I think you all should be made aware of since I have previously highly recommended it.

I would sign up for Codeschool for a month or two then take a break till I saw another course I wanted to take. I know LOTS of developers who love Codeschool and do the same, pay for a month when a cool course comes out to keep their skills current since their material is top notch.


SO...I was quite surprised when I had stopped the Codeschool membership a while back that an email popped into my inbox saying my card would start being automatically charged in less then 3 days if I didn't tell them explicitly NO!

I don't know about you, but that is not right, I don't pay for your course for a month or two and then YOU get to decide when you will AUTOMATICALLY start charging my card???

Sorry folks, I just think they are more interested about getting your money then in giving you a quality education. Yes there material has always been good, and if you are still going to use them then fine, however be very careful of what card you give and watch your emails like a hawk.... unless $30 bucks doesn't bother you in which case you can send it my way :-)

Otherwise life is good, JavaScript learning is going great, my course is kick butt awesome and I got an email this past week from an amazing well know developer who I didn't know had been watching my career and sent me this note:


This note made my month, I felt taller after reading it :-) My book is coming out as a professionally done audio book very soon, which I am tickled pink about. 

Sorry today's post wasn't as upbeat I hate to be a negative downer, but I promise to always keep my eyes open for you guys.

Keep coding peeps!  =-)
 

Wednesday, April 30, 2014

Two skills needed to learn how to code: Grit and fun

There's a statistic that says 33% of people who start learning to code, give up before getting everything installed in there dev environment. I know from personal experience having hundreds of people email me, and tell me they are going to learn to code. I would say 50% or better give up 30 - 60 days later from when they started.

The ability to be resilient, to have enough grit to be tough and keep on when the going gets tough I think is one of the "must have" qualities of learning to code. If a new person can keep studying hard for 2 months then they can go the whole distance in my opinion.

I think one key besides being tough. Is also always being able to find a way to stay curious with what you are learning and to find some fun in what you are learning.

Without the ability to find some joy in what you do even the boring mundane or completely hard abstract concepts. You will eventually burn out. There is a book by @jamesmarcusbach "Secrets Of A Buccaneer Scholar"   (and no I don't make any money from this) in it he talks about basically following your own unique "learning rhythms" which I used to think was really just a cop-out for people who couldn't buckle down and study.

Now though I think if you really want to learn to code, it's more important to keep on learning over a long period of time then to simply crash and burn in the short term. I'm all for pushing hard, but I think if you can keep your "coding passion" with a long term focus you will stick with it and not give up and fade away. I really want to help people realize their goal of becoming a developer, and not just dream about it.

I feel bad for not blogging consistently, I promised myself I would always "write back" to let others know how things are once you actually do get hired. I am 2.5 weeks behind getting back to people's emails.

I am making a course that I will hopefully have up on Udemy or Skillshare in July that will hopefully change the way people go about learning to code, I'll let you know more as time gets closer.

I am still working on a book that will make understanding and learning programming easier for people not from an IT background. In my spare time I am still learning Node.js and Javascript which is helping me to understand coding more and not just in Ruby.

What else? Oh, hire my friend Dan who I mentioned last post you can email him and make him an offer or grill him on his coding knowledge at 6ftdan@gmail.com.

Other then trying to keep my head above water, I've been taking my boys to the park by the lake, eating dinner, making a fire and eating delicious s'mores.

Life is good, keep coding and enjoy it peeps :-)




Thursday, April 17, 2014

Hire this guy!....My Interview with a Daniel P. Clark

I thought we'd switch it up for a change and have an interview with my friend Daniel Clark. I first met Daniel a couple years ago at the Global Code Retreat the same one that I met my soon to be mentor David Bock @bokmann. Daniel was miles ahead of me then at coding and still is :-)

Daniel also knew a lot of Python besides just Ruby and had already made several Ruby Gems that had been download several thousand times. I was always shocked that he didn't go out sooner and get hired as a Ruby developer.

Well after talking over the years and coding together atseveral Meetup groups, that time has now come and Daniel is fresh on the market and ready to get hired as a junior developer. Finally!!!

 ANY company would be a fool not to beat a path to Daniel's door and hire him tonight, tomorrow might be too late =-)

Here is the interview I had with Daniel, I hope that it inspires and encourages others along the path to becoming a developer and one day getting hired as well, I hope you enjoy it! Feel free to leave some comments for Daniel, follow him on Twitter and check some of his cool stuff on Github, I always love sitting down and seeing what he's working on :-)


ME: 
"Tell us a little bit about your background, what got you into wanting to be a developer?"


Daniel:
"I'm a bit of a jack of all trades kind of guy. Growing up I always dreamed in adventures. In my dreams I'd always be running towards something, or away from something, but I never knew what. I love to be curious, and I love solving mysteries. 

Not mysteries as most would think of them. While I was still a toddler, to my mom's surprise, I found a screw driver and took apart the dining room furniture. I've always enjoyed taking things apart to understand them better.

My dad is an excellent computer programmer. He introduced my to qBasic when I was in 5th grade. I grasped a very basic concept of 'functional programming'. I was gifted an old computer around that time and the curiosity drove me.

I learned computer systems with hands on experiments. Break it, fix it, repeat. I was very interested in programming, and I so wanted to learn Java. Java was this amazing language that worked on everything. It seemed like the way to go. 

Well when I first started learning it I became very frustrated. Too many lines of code for simple things, it was object oriented and I only understood functional programming at the time, and I simply didn't have fun figuring it out.

So that kept me away from programming for a while. Around 10th or 11th grade I'd discovered a language called Python. And it was perfect. It looked like English, and it was very friendly with my functional programming style. 

To accelerate my learning with it I challenged myself to design an open source video game for school. So I wrote a game called PyC4 which is a Connect Four game. I won a first place for that entry in the Science and Technology Fair. From there I was hooked. I could do anything."


ME:
 "What has been the hardest thing about learning to code?"

Daniel:
"The hardest thing about learning to code has been thinking anything is difficult. To think that really turns your brain off and makes everything harder to grasp. There are often many ways to solve a problem.

It is most helpful to learn the tools you have at hand and use them in creative ways. If your process of deduction isn't continually improved then your brain isn't as sharp as it can be. It is how you think, your method, that needs to be improved. You don't need to know the answers to the world, you just need to know how to find the answers when you need them."


ME:
 "What do you like most about coding?"

Daniel:
"What I like about coding is it's always fresh. I love a good mystery, a good challenge, and the process of problem solving. I also like the difficulties to overcome.

Yes... when the code just doesn't work and you don't know why... What do I know when that happens? Well these are the times that I can improve my process and become a better programmer for it. The process is the most powerful part of programming. Having my mind become stronger
for the difficulty is worth those moments."


ME:
 "What has been the coolest thing you've built or helped to build so far?"

Daniel:
"I have written many things that I've been proud of. I mainly have developed small projects and scripts. I've written some web automation, including YouTube, Twitter, and search engine optimization scripts.

I've written many system scripts for handling, and processing, videos, images, and audio. I was also contracted for a script which paid out teachers for an educational media site through PayPal.

As for cool, I kinda like my random YouTube video script which grabs three dictionary words and gives you the first YouTube video response. Yes that's silly. But as a 
programmer you need to have fun now and then ^_^. "


ME:
 "What advice would you give someone who is just starting out wanting to learn how to code?"

Dan:
"I highly recommend beginners to be a bit relaxed when starting out. Don't ever assume something is hard or difficult. Knowing where to go is really key to progressing quickly. 

Fortunately in the programming world Google search results generally provide very good answers. This seems true for the more popular programming languages. For any particular questions you can head over to https://stackexchange.com It's wonderfully easy to use for Q&A and for all things software development."


ME:
"Knowing what you know now, what would you have done differently with your path to learning how to code?"

Daniel:
 "Deadlines. Starting out having deadlines for accomplishments really drives efficient progress. I say that because the school project had me learn a huge amount to accomplish the game.

 The thing about deadlines is it indicates a commitment to complete the task at hand. This largely helps prevent any idea of giving up, or abandoning it. Also find a competitive partner. Some one who's willing to challenge and push you further. 

This will open up whole new worlds before your eyes. If you need something to compete with then websites such as https://projecteuler.net provide excellent challenges."


ME:
"Where do you see yourself as a developer in 5 years? 10 years?"

Daniel
 "In five years I see myself as a community organizer and leader. I can see myself involved in the 
development process and growth of a company. In ten years I can easily see myself as a founder of one, or many companies. I can also see myself as being heavily involved in helping the community in so many ways."


ME:
 "What are some long term goals that you have?"

Daniel:
 "I have many. I have always wanted to own my own software company. I want to be a lead singer of a band and have the band stay together. I want to found a music label as a non-profit ministry. I'd like to be part of a video ministry. I want to master several languages. And I want to be a great athletic runner and a master of parkour."


ME:
 "How do you feel about your development skills?" 

Daniel:
"I feel I'm capable of some of the greatest achievements yet to be. I am able, I only need to hone my ability in on target and all will be well. This is how I feel about my skills. Do I know everything? Not even close. But I am as capable as anyone else on this earth. I can chose many different paths. Which do I truly want to be a master in? Yet another mystery. I look forward to the future."


ME:
 "What is your favorite language?"

Daniel:
"I love Ruby and I love Python. I like Ruby as a powerful language to accomplish things to the finest details. And Python I like for beauty and consistency. Python has a game development library PyGame, and an amazing network protocol library Twisted.

So for game development I clearly favor Python over Ruby. As far as web platform, I really like Django, which is a Python based platform. I fully believe the consistency of code between developers on this will help the code be easily maintained, and not a problem to maintain in the long run.

In Ruby you can have so many different ways of writing code that it can make for a more difficult time when working with other programmers. Think of it like people in Ruby have such extreme accents it's hard to tell what they're saying sometimes. But that's not a bad thing, it just keeps us looking up more details online and learning all the more.

My first choice to program is Ruby, but I'll quickly go to Python for it's well developed libraries if the task calls for it.I would like to say I'm open to learning many other languages. HACK, by the makers of Facebook, is one I really want to learn. I love web applications, and this looks like a beautiful language. A true programmer will continue to learn more languages."


ME:
"Do you like to do more front-end or back-end development?"

Daniel:
"I like whatever remains simple and beautiful. For front end development, everyone has a web browser on every device, and it's simple to develop for. So for me the best front end development is web development. But that's just aesthetics. I love mysteries remember? So give me the back-end problem solving code and I'll be on the hunt."


ME:
 "Tell us something that most people don't know about you. :-) "

Daniel:
 "I know that the mind is the best tool you can utilize. It is your 'way' of thinking that defines, or redefines everything. What I speak of is worldview(s). We often limit ourselves by believing before knowing. What this leads to is what I call “self-fulfilling prophesy’s”.

If you believe you will be poor all of your life, then you end up living in such a way that proves that. For example; some one who believes a jump won't hurt them, are more likely to make the jump. And one who is afraid of a jump, will most likely not jump and believe their fear to be fact. These are self limitations.

I believe that in all area's of thinking we can expand our worldview and become bigger and greater people for it. And so I help myself expand my worldview, and my understanding, by reading and studying patterns of good thinking. Author's that have helped me greatly are people such as Zig Ziglar, Jim Rohn, Dale Carnegie, Ravi Zacharias, and many others. There will always be more to read, learn, and grow from.

Lastly I root my understanding, and my foundation, in the Holy Bible and Jesus Christ, the risen Son of God. He provides reason for living, hope, meaning of existence, purpose, and lastly He gives us value. I love sharing and seeking truth, and I am open to all who want to talk on these subjects.

If anyone would like to take a look at some of my projects and code feel free to head over to my GitHub. "https://github.com/danielpclark And feel free to follow me on twitter @6ftdan




Tuesday, April 8, 2014

Everything is basically an API

I apologize for not writing, I am kicking butt trying to learn new stuff and loving it!!! I am getting one on one instruction 3 times a week for a minimum of an hour each session with our chief computer scientist so I am pretty stoked!

The only drawback if you can call it that is he has a WEALTH of computer science knowledge not to mention a PhD in computer science. The man is intelligent and knows so much that I think his hardest part is trying to dumb stuff down enough for me to understand it =-)

Basically I feel giddy with excitement. I mean think about it, I'm getting paid well to learn one on one about node.js and computer science in general from a PhD computer scientist with 40 years of experience. Can you feel the excitement, and the reason why I haven't had time to post lately?

I had to write today to let everyone know that it doesn't matter what your background is whether you are a: truck driver, painter, college student, construction worker, etc you can make the switch.  Which by the way I have received emails from people in all of the previously mentioned professions that are all trying to learn to code and one day live the dream.

The hardest part with learning to code is that it's easiest to quit when just getting started because everything is SO overwhelming, so much to learn & so many new concepts to decipher. Not to mention the verbage I mean COME ON! Why can't everyone just call a method a method or everyone agree to call it a function. NO! instead it can be called: 'method', 'procedure', 'function', 'calling', 'running', a 'subroutine' I mean my goodness not to mention all of the other computer science terms that make your brain hurt when you've never been exposed to them before.

One that confused me for the longest time was client, server and API relationships, how it all fit together. I'm not there yet but let me just say it's all making a LOT more sense, although I think it's too much to write in this post. Basically everything in computer science is all just layers and layers of abstraction all with an Application Programming Interface. It's almost like: 'OHHH...this isn't as hard as I thought kind of moment, it starts to all make more sense :-)

Well that's where I'm at right now, keep coding peeps!

Thursday, March 20, 2014

Udacity CS 101 versus Stanford's CS 101

I am currently learning Javascript, It's funny how many different ways there are to learn: tutorials, classes or just simply making something which is what I am doing currently.

I am still taking Udacity's CS 101 converting the Python into Ruby, which is going well. I did half of Stanford's CS 101 course but ended up stopping because although a nice introductory course, it doesn't teach you how to write code which is in actuality the hard part and takes skill which can't be faked.

I am realizing more and more that a lot of online places (that charge you $25-$30 a month just to use their courses) actually aren't super concerned, if in the end of taking their courses for a year, if you are really able to write any code on your own or not.

When I originally started learning how to code I naively thought that the more expensive a class was the better it would be and the faster I would learn. I think most places are more concerned about getting you to come back each month and pay them some more money.

Not that they are all bad but I do have some bad stories that I may or may not share in the future about some of my own experiences.

It has taken me a long time to also figure out how to spend my learning time ONLY on things that will help me become better at coding. I can sit at a computer and spend 3 hours learning cool things about I.T. but am now learning that I can do that for the rest of my life and still not be able to solve coding challenges.

The emphasis I realize is for myself and wanting to become a really good web developer. I need to spend 90% of my learning time actually writing or playing with code. Sounds stupid I know but that is why I dropped Stanford CS 101.

Stanford CS 101 is a great course, great teacher and it's FREE! But, you really won't learn much about how to code, which is the toughest part of coding. I would say maybe 20% of the class is actually coding exercises. It's a good basic CS overview if you want one. Just don't expect to improve your coding skills from it. 

Udacity CS 101 on the other hand is just the opposite. It starts off deceptively easy and then ramps up the coding challenges and becomes tough quite quickly. I don't think I could recommend it for an absolute beginner because it assumes you already can code and have STRONG logic and problem solving skills. Which probably isn't the case if you are just starting out.

The good news is Udacity's CS 101 really DOES teach you how to code. There is tons of coding challenges for every Unit and then LOTS of additional optional homework for each unit. Just so you know when I say lots I'm talking 15 or more additional optional homework assignments per unit, which can be challenging.

That's one of the many reasons why I am just on Unit 3 of 11 in Udacity's course and the fact that I am doing all of the optional homework by converting Python to a Ruby. Which is teaching me how to look through the Ruby docs better. 

What is funny is that while both classes are called CS 101 and are college level classes, Stanford's CS 101 can be done in 1 week if you work hard. While Udacity's CS 101 will take all of 7 weeks and probably even more while working hard on the coding assignments. Unless of course you just Google and paste in someone else's code. I am assuming that you really want to learn how to code, meaning that you personally have some coding skills and can solve some coding challenges on your own.

That my friends is the hardest part. You can find really cool frameworks like Rails and in a handful of commands have something up and running but the actual ability to know how to code (meaning solve coding challenges not just run a command) is a much slower and harder process yet still enjoyable process.

I'm making a class for this fall that I'm thinking I will do on Skillshare. It will be a beginner's class and focus on making a website from start to finish for a client in real life and in the end you should walk away with a profit. It would be cool to show students how to actually make some money while learning to code versus always paying $30 and having to eat those costs.

My idea will be something close to spend $20 for the class and then I will walk you through step by step, in a real life project, while you make your own as well. At the end of the course you sell yours for $100 (or more) netting you at the very least $80 or so depending on the exact dollar amounts.

There are SO many cool, dirty secrets that no one tells you about but EVERYONE who makes projects in real life does except for the noobs who have no clue.

Anyway that's this fall. I want to help new developers learn how to code quicker. I want to show others how to cut through all the clutter and make the learning to code journey fun and dare I say profitable.

Keep coding peeps!





Friday, March 7, 2014

Coding headaches are actually good.

At one time I actually had this idea that I would eventually outrun, this constant learning which can leave you slightly frustrated because you don't quite understand something, or a 'coding headache'.

Well here's the thing, after being hired for 8 months that feeling of always struggling to LEARN, LEARN, LEARN, MORE, MORE, MORE!!! has yet to leave and I now doubt it ever will, which is probably a good thing and not a bad thing after all. I am being to feel just a little more comfortable with being presented with something and not knowing it and then starting to try and figure it out.

This whole learning to code and hopefully one day be a top notched developer is a constant battle for more knowledge and understanding. I can't reveal the details, but all I CAN say is that I absolutely MUST start learning Javascript in the next 3 months no excuses because of some things going on. Another day another dollar, time moves on and in learning to code it's time to buckle down and study during lunches and at night when my 2 & 4 year old are in bed it's time to study some again. Then it's off to work to code and then the cycle repeats itself almost like an infinite loop, until either my head explodes or I am really good one day :-)

My one piece of advice to those who are trying to do like I did and teach themselves to code and then get hired, start getting used to not knowing something and try not to let it scare you. Instead do what I do now when walking through the office doors at work, be grateful and happy that no matter how stressful and swamped you feel, whether or not you get everything perfect, you will leave with more knowledge and information than when you walked through those doors that morning. Embrace it don't fear it, even when you screw up and get chewed out at work (and rightly so) for your mistake. Embrace it don't fear it, just one step closer to the goal of becoming a better developer.


My goal remains the same 4 years and 4 months from now, I want to be working as a senior developer somewhere. Laughable? Crazy? Maybe, I don't care I say make no small plans. Embrace it, don't fear it!

Keep coding peeps!!!

Thursday, February 13, 2014

How to know if you are cut out to be a developer

On days like this when there is lots of snow on the ground I used to fire up my forge, heat the horseshoes red hot, warm my hands and make special handmade forged clips on the horseshoes.

After 5+ years of shoeing horses full time for a living, I began to wonder if this was all there was for me, could I be anything different. I wasn't like the other redneck tobacco chewing, drinking farriers, I'd never worn a cowboy hat, or ridden a bull, but I longed to know more, be more and do more.

After making the switch to development almost 7 months ago, I have been emailed hundreds of times by people asking my advice on how to become a junior developer and also how to know if they are cut out to be a developer.

Here are 7 traits that I have observed the best developers I work with and know personally all have in common:


1)  Attention to detail, especially the smallest of details.

The old saying that 'almost' and 'close' only count in horseshoes and hand grenades is true, in development getting something 95% correct is still not going to work, a method that 'almost' works or a Css rule that has an image centered 'close' will not work. It's that extra 5% of effort to get things right that really counts and makes the difference.


«««  If you hate details, then you might not want to be a developer.


2)  Learning ALL the time.

At first this sounds sexy, your like AWESOME! I love learning new things! Especially if you come from a boring job or something that never changes like horseshoeing =-)  After a while though, it becomes a steady stream of knowledge, and if you don't like water, it will feel like you are stuck in a never ending, never knowing enough waterfall of learning that just won't stop. I literally learn 10 - 20 little new things every single day and I love it! My brother wants things that don't change and are consistent, he has told me he wouldn't ever want to learn how to code.

«««  If you don't like constantly having to learn new things just to keep up in an ever changing field, then you might not want to be a developer.


3)  Handle pressure, stress, and deadlines.

Yes everyone loves USING apps, but how about meeting business time lines, deadlines, and goals? When will this be done? How long is this going to take? Can we do more of these in this amount of time? Now remember the attention to detail? What are you going to do, hurry? Rush through your work and hope it's close enough? In a perfect world coding is so much fun, let's write some code that does something cool, eat pizza and have a coke. In real life there can be stress, not all the time, but it is VERY different then simply doing an online 30 minute tutorial. I love being pushed to my limits and I want to grow and become a better developer so I don't mind.

««« How are you at time lines and working under pressure? If you tend to shutdown under stress, then you might not want to be a developer.


4)  Organized

Now I know a lot of messy developers, who could SEEM unorganized, but what I am talking about is the ability to have an organized work flow. Meaning can you find how to do something on your computer easily and quickly? The good developers I know are usually able to quickly locate what file they need or have a built in alias or script to do tedious tasks, it's all about efficiently.

««« If you learn something new, do you write it down, or figure out a way to be able to repeat the same procedure? Can you organize a lot of different tasks? If not, then you might not want to be a developer.


5) Extremely inquisitive

When I was a teenager, a lady at the church I attended would tell me probably once a month, that I needed to STOP asking SO many questions and that it could be annoying. Although offended at first, I've come to realize that the best developers are always asking 'why'? Whether it's how a new app works or the way a building is being built across the street. Conversations around developers can always be heard starting with: " I wonder why they did it that way...?" I used to feel like I was weird when I would ask lots of questions, but I see now, that at least in development, it is a good trait to have.

«««  Do things that you don't understand making you curious? Do new things excite you to figure them out? If you don't have at least some level of natural curiosity, then you might not want to be a developer.


6)  Self taught

Yes I know many developers come from colleges and great schools, but that's not what I mean. Great developers are always looking up code samples or documentation to learn how something works, they don't knock on the bosses office and say: "We need a corporate training class for this new software". Good developers are constantly learning and figuring out things on their own, whether they have no degree or 5 degrees.

«««  if you need someone to train you or are waiting to take the 'perfect' class to learn something, then you might not want to be a developer.


7) People skills

This is not a common trait among developers, the truly great ones do have good people skills, but the vast majority don't. If you can get along with people, your boss and the business side of the company will love you for your ability to communicate and not look down on the rest of the world because they can't code.

««« If you hate people and have a hard time getting along with others, then you might not want to be a developer.







Monday, February 3, 2014

Learning to code: Day 468

It's been a while since we last spoke, but I assure you that I have not been sitting on my butt. On the contrary I have been busy every day trying to conquer the enormous gap of coding ignorance that separates me from where I want to be which is the Tiger Woods of coding (minus the whole getting hit with a 9 iron by his wife part) =-)

My friend owns this site and as you can see it needs some love www.jabsreporting.com. I have been building her new site, and a friend of a friend wanted me to do some Wordpress stuff for her and said she'd toss me $300 for the trouble, so that was fun and also hard to refuse :-)

I'm still working on the Udacity course and loving it, just going at a snail's pace at the moment do to other factors. I can't say really much about work just that I have more responsibility which I love but it is also a challenge and keeping me extremely busy with my head down all day at work.

I have a course in mind that I know I want to teach on Skillshare or Udemy later this year, probably in the fall. I need to make sure that my idea can actually be done successful so I am starting to work on testing it out... can't really say much more on it then that for now, but I am really excited with the idea!

My friends new site www.jabsreporting.com isn't done, but I thought I'd put up a pic of the home page, I don't have it up on Heroku yet or else I would give you a link. The main image is just a 'place holder' for now. Sorry it's so small, I'll put up a link soon. keep coding peeps!


Friday, January 17, 2014

The 8 most essential Git commands

This time last year I could taste blood in my mouth, my front teeth felt loose, and I was so angry I had just been kicked in the face by a donkey whose feet I was trimming. It happened so fast it took me a couple seconds to really understand what had happened.

Well it's been over 5 months since the last time I have touched a horse. I no longer make my living shoeing horses. Over the past 5 1/2 months as a junior developer I have learned 8 Git commands that have saved my butt countless times and that I deem absolutely essential especially starting out as a new developer in the field. The first rule of development is just like in medicine: "First do no harm".

There are basic git commands, like 'git push' 'git commit' and stuff like that, but these 8 rules while simple are the keys to becoming trustworthy and responsible to not screw anything up on your development team.

1- 'git status'

I used to "sometimes" check what I was committing, when working on my own projects. Now after working on a development team I ALWAYS 200% of the time do a 'git status' or 'git st' as I have it for short on my machine. I then do a...

2- 'git diff' or use the GUI 'gitx'

I know some "purist" developers would never consider using ANY sort of GUI but I have to say using 'gitx' from the command line has helped me SO much to make darn sure of exactly what I am committing. Without 'gitx' installed, the next best thing is to type 'git diff '. I think it's personally a little harder to read, 'git diff ' will show you what was changed in the files about to be committed.

3- 'git log'

Now don't jump the gun, we still are not ready to commit anything yet, one last step I like to do is to check the log, just to make sure that I am paying attention and know exactly what branch I am on and what has been committed before, I do a quick 'git log', if every think looks fine and I am sure that I am on the right branch, then I go to...

4- 'git add  filename'  WITHOUT the ' . '

Yes it's fun to just do 'git add . ' which then adds EVERYTHING all the files at once. A much safer way is to manually do a 'git add filename' it's the same thing, just you have to type in each file name as you add them to git. I think for me that it helps me to establish good healthy work flow patterns so that I am less likely to make a mistake when under pressure or stressed. I will have a good mentally strong git work flow.

5- 'git commit --amend'

You then of course do a 'git commit -m "my first commit" ' but what is really cool and helpful as long as you are working on your own branch and haven't released your work to any other developers is to use: 'git commit --amend' after making your first commit to a project. It basically just keeps stuffing each commit into the next one so that you don't have a lot of different commits for small tweaks to files or in tweaking a CSS rule or something. The more important less routine the work, the less I will use 'git commit --amend' but otherwise a really handy command to know.

6- 'git reset HEAD-1' or 'git reset HEAD^'
If even after being as careful as possible you do add a file or something you didn't mean to, you can simply undo the last commit you did by either doing: 'git reset HEAD~1' or if you prefer 'git reset HEAD^'. This command is worth a million dollars when you are brand new and make a mistake as all new young developers will, not an excuse for not be careful, but definitely a git command life raft.

7- 'git branch -d  branch name'

When deleting lots of branches in my case usually 10 - 15 branches every week, I ALWAYS use the lower case '-d' versus the '-D' to check if the branch can be safely deleted. It's basically a built in git safety, use it.

8- 'git rebase -i HEAD~4'

I never thought I'd care about how many commits it took to complete a task or project. I thought as long as it was done and worked correctly, that was good enough. Well actually no, when working on a code base with thousands and thousands of commits, development teams like to keep commits as clean and meaningful as possible. Which means if you took eight commits to do something that should have taken one then you will need to interactively 'squash' your commits and then re push your work back up to git as one nicely formatted commit. Pretty complicated the first time you do it but it's really too hard once you get used to it. Something you should probably practice on your own project the first few times. Take a look at interactive rebasing and don't be scared.

Keep coding!



Sunday, January 12, 2014

Garbage Collection

I used to believe there was no difference between a software developer and a computer scientist, and when I read things online that said differently I chalked it up to people wanting to stroke there ego and just wanting to have a cooler sounding title.

I was wrong, recently I have been seeing the error of my ways more and more. I love the fact that I can make things using Ruby on Rails, and that Rails has all this magic that I don't understand. I also like the low barrier of knowledge required to start to make things, but I am also realizing that I don't know ANY computer science.

Take garbage collection in Ruby, sounds fairly boring till you read more about memory management and memory allocation and find that Ruby uses a mark and sweep method for garbage collection and that is one of the reasons Ruby can be slower in doing some things.

I am finding previously "boring" subjects are actually more interesting when you start to understand them and what they do little bit better. I guess the biggest difference between a programmer and a computer scientist is a programmer can use a language and a framework, to solve a problem. The computer scientist looks at the problem and decides which language or framework to use if any, while weighing out many factors and possible solutions that the average developer who just knows a certain framework or language would even consider.


The lesson I am slowing starting to understand is that I have about 300 years worth of learning to actually become a computer scientist and that is daunting as well as exciting. No longer do I just want to learn a specific language or framework.

By the way it's simple to see garbage collection at work in Ruby. Just type 'irb' and press enter into your terminal. Once irb is running, type ' GC.stat' to see garbage collection information. You can also run: 'GC.start' which will return nil, and then run ' GC.stat ' again and see the difference like this screenshot shows:




Yes, this could be boring, but I am actually finding it kind of cool to learn more and more things of what goes on under the hood. Keep coding peeps!

-Josh