I am a very goal driven person and as 2013 comes to a close, I always plan ahead for things that I want to accomplish in the new year. I had several things in mind for 2014 that I wanted to do that I thought would have the potential to make fairly good money and others that were just cool.
Tuesday, December 31, 2013
Udacity CS 101
Monday, December 23, 2013
My old arch enemy ' rm -rf ' rears his ugly head again!
Some people are great friends all the time, some people are good friends some of the time, ' rm -rf ' is almost NEVER a good friend :-(
So I made this little html file that called external css and javascript files that hid a scary monster image until a button was clicked. I wanted to show you some cool new things that I've been playing around with lately and show you the little site up and running until I made a HIDEOUS mistake and accidentally deleted the entire folder that had the files.
How?...a long story that is ultimately pointless and boring...it happened :-(
So, you will just have to check these out on your own for now until I make something else to show you:
I had always heard of Jekyll but never looked at it, it's cool and worth checking out!
I love Heroku, but when I first made a site and hosted it, the site would take FOREVER to load. I found a cool little trick here: Heroku: Depriving your free dyno of sleep and thought I would pass it along, I have Uptime Robot running on 2 sites of mine now.
All the best peeps, keep coding and have a Merry Christmas!
Tuesday, December 17, 2013
The Blacksmith secret that a "junior" dev uses everyday to stay mentally sharp
For the longest time I wasn't going to admit to anyone that I actually do this much less show you. 4 1/2 months ago when I was shoeing horses for a living, whenever a client was late or didn't show up I would take a golf ball and bounce it off of my 2 1/2 pound rounding hammer to pass the time.
After learning to code and getting hired as a "junior" developer I gave away all of my shoeing gear and equipment to other local blacksmiths and farriers. The entire first month at work as a "junior" dev I would always go home with a headache. I noticed that after lunch I would feel a mental "coding fog", the stress of a whole new environment and constantly trying to learn as much and as fast as possible was burning out my brain.
One day at lunch I was feeling mentally "tired" and thought back to how I would always feel mentally "sharp" after doing "hammer drills" for 10 minutes while waiting for clients to show up.
I looked around the office found a small hammer and a golf ball that our front end manager had.
I went to an empty conference room and after 15 minutes of practicing bouncing the golf ball off of the hammer and switching different hands right then left, right then left I felt amazing! I went back to my desk feeling extremely refreshed and very focused. Since then, at lunch I sneak off into a conference room and do 10 -15 minutes worth off "hammer drills"
Every night I work on small projects on my own time to try and improve my coding skills, whenever I get stuck with something or find myself stressing out and having to read something multiple times, I do 5 minutes of "hammer drills" and am able to concentrate much better.
Laugh if you want, yes it's kind of awkward/embarrassing, but there are lots of studies on how "juggling" makes your brain grow and become more focused due to "active stress". I don't know, what I do know is that it works for me, and I thought I would let others know so if you are feeling crazy "coding" stress you could give it a shot.
Wednesday, December 11, 2013
The Git command every "junior" dev needs to save their butt.
Unless your perfect and never accidentally hit the wrong key when you don't mean to than keep reading.
Most Github articles walk you through some good basic commands others are WAY too advanced and in depth for beginners. This command is the one to know when you have messed up. After knowing this command, you will have the absolute confidence and ability to not freak out when you do make a mistake.
I was doing front end work last week and made the mistake of getting caught up emotionally in an email from one of my bosses to check on a different site I had just made...BLAH..BLAH..BLAH long story short I ended up making some tweaks to the site that I was emailed about and quickly committed the changes as a "dumb-trying-to-impress-his-boss-noob" developer does.
Now here is where the story actually gets good. 3 Months ago I would have been freaking out and cursing myself under my breath for not being more careful and "measuring twice before cutting once".
However now after committing the coding atrocity I simply typed in 1 command and life was good once again and no one was the wiser to the fact that I had violated every good and healthy safety code check that should be done before committing your work. The magic Git command?
All I typed in was: 'git reset HEAD~1'
That's it! That command is your: "Get out of jail, I messed up with Git command"!
The best part is, its a totally safe command that doesn't erase your work or do anything that you don't want to happen. You are simply resetting the last commit, it doesn't erase anything it simply resets everything to how it was before the commit. You can reset the last commit many other ways, but for me this was a really easy one to remember that hopefully I WON'T need anytime soon =-)
Please share in the comments what I did wrong, I know I was an idiot but being able to fix my mistake and not having to ask for help from the other developers, like the first month at work. I realized that other young developers might want to keep it handy as well =-)
Monday, December 2, 2013
Why new developers should write crappy code.
Some things about development are not taught in college, some things about development are not even taught on the job. Some things you are just "assumed" to know, almost as a 'gut' instinct. You can take every great tutorial on How To Code and memorize all of the "Best Practices" but that is no better than simply memorizing the answers to a test in school. At the end of the day, what did you truly learn? What do you really know?
As a junior developer working on a team with a lot of senior developers, I get to spend my lunches listening and learning from them and I am very fortunate and grateful for that. Yes, I got hired from a very blue collar background of shoeing horses for a living with no college education and although that's great I am painfully realizing that I am lacking any 'gut' instinct. I had simply memorized enough of the 'test' answers to get hired.
How does one develop a true 'gut' instinct for knowing how and what to code? Everyone will give you all sorts of different answers from: You'll get there eventually to Never look stuff up to Always look stuff up that you don't know. I think the answer (at least for myself) is writing crappy code and making tons of mistakes. I think we should encourage young developers instead of learning everything about the best practices with methods right off the bat. Just try to make a little command line game, like Hangman, without using ANY methods.
No longer will the conversation be: "What's the reason why we do 'x' like this or that?" or "What's the best practice?". Young developers will truly KNOW what not to do, and will instinctively go towards better ways of making the code better especially if they know an experienced developer that they can go and ask questions which can also help prevent bad habits.
I know for myself if I don't know why I am doing something I am going to try to make a program not using the thing I don't understand and see what happens. For the last few weeks everyday after work in the evenings, I fire up the text editor and just start making things. I know without time pressure or this is the only way to do it mentality. I have learned so much and am having a BLAST!
I am slightly embarrassed to admit that at lunch today I showed a program that I made on my own time that was giving me an error to a very senior member of our team and the first thing he said was: "Josh this is bass backwards!" and showed me why I was getting the error. That lesson today at lunch clicked in my head and will not be repeated because I had spent an hour last night trying to make the program work.
I know at least for me in my free time I am going to be writing code and enjoying the whole learning process without worrying about if it's the perfect way. I don't think new developers should write experimental code like this obviously in ANY sort of production code base but I think young and upcoming developers shouldn't be pointed to just tutorials. They should just make something on their own regardless of how crappy it is. I think that is how a true coding 'gut' instinct is born.
Wednesday, November 27, 2013
How "junior" developers can become Regex wizards
You need a Regular Expression to validate a phone number or a user's email address, so what do you do? Go onto StackOverflow and copy someone else's code and paste it into your code and be done with it? Well that may work, and if you are in an absolute pinch that can work, but what have YOU personally really learned? Zilch.
At my job as a "junior developer" I am starting to have to use Regex (Regular Expressions) quite a bit to validate/check for certain things. I could become a "Googling wizard" but I'd rather expend the energy and effort now to become a "Regex wizard" instead. The truth is, Regular Expressions seems
daunting and intimidating, and they may be at as they get more and more complicated, however I think Regex are just different and you need to slow down and think of them as symbols and not try to rush through.
With that spirit in mind I recorded myself doing a basic Regex date string, I did it "cold turkey", so as to be authentic, and real. I did make one mistake and then fixed it, so you can see I'm quite new to this and human :-) The point is not how much I suck, the point is to go ahead and just try to make your own Regular Expression before just "Googling the answer". I want to be a good developer one day, and I think as a young developer we should put in the extra time to try and really understand something and not just always do what is the quickest.
If you are new to Regex, www.rubular.com is your friend. Put test strings in the box on the site and then look at the Regex "cheat sheet" on the bottom of the page when you get stuck or need a refresher. To the right you will see a blue bar that tells you if you are matching the 'test string' correctly or not which makes it easy to tell if the Regex you are making is actually correct or not.
The other thing is, DON'T RUSH, if you can't take a few minutes at work to fiddle with Regular Expressions, then make sure while eating some turkey and watching the game at Thanksgiving tomorrow that you pull out some random strings to try and match, I find it's actually really fun and not stressful if you don't pigeon hole yourself into a time crunch.
I always have my "mentor" developer at work double check my work when in doubt. NEVER put something that you are unsure of into production. Certainly on your own projects and stuff you should be able to take 5 - 10 minutes to have fun with some Regular Expressions.
Keep coding!
Monday, November 18, 2013
I give you permission to no longer ask for permission to learn to code
Craziness happened this last week. My blog post went viral on Hacker News and Reddit, over 34,000+ people read the article in one week. Needless to say I got inundated with emails from lots of people who are trying to learn to code, others who are trying to get hired. I'm still trying to get back to everyone so I apologize if that's you.
What amazed me was the fact that people are asking "MY" opinion, (feeling like an impostor) just because I started from zero knowledge and actually got hired. Here's the thing though that I would say to everyone who is wondering if they should learn to code or if they "can" learn to code. Here's the thing: if you want it bad enough you can accomplish virtually anything so my answer is of course, "Yes! and Yes!".
I'll tell you a secret that helped keep me motivated when I was really discouraged and felt like I would never understand something. I would watch the movie In the Pursuit of Happiness with Will Smith. No matter how bad things got, they were never as bad as he had it. Not only is it an inspiring movie but it's also a true story. I find that a lot of people that email me are basically saying: "Hey how can I get a really really easy job that pays a lot of money... TOMORROW!!?"
I explained that it actually takes a lot of hard work and usually that's the last I hear from them. Then you have the other side of the coin: You have 80's mindset developers who practically scoff at the idea of "teaching yourself to code" and always point you to Peter Novig's article Teach Yourself Programming In 10 Years. I honestly like Peter's article and agree with it, BUT I think you can learn enough programming/coding skills to be able to add value to a company in a junior role certainly in 6 months to a year.
It's not like a company is going to give you the "root" passwords to their databases on day one even if you were a database wizard. Some things are simply about trust and establishing a relationship over time proving the quality and type of person you are.
So I give you permission to no longer have to ask if you can learn to code or get hired, the short answer is yes if you want it bad enough. That may even mean you need to relocate. Which brings us back to the question of how bad do you really want it?
The hardest thing for me about working in a new field is not being that good at it and having to ask for help and then banging my head against the wall or apologizing and fixing my mistakes. When I was a Blacksmith/Farrier I felt 100% confident that I could make 99% of all the horses that I worked on to move and feel better. I love the confidence that comes from absolutely knowing what your doing and having the experience (from lots of mistakes) of what doesn't work or isn't the "best" way to do something.
I no longer have that same confidence I had when dealing with horses when it comes to coding and in fact most days I have a slight migraine from trying to learn and absorb everything I can. That is what drives me now, I don't want to just have a job. I hate not being really good at something, I hate being the guy who can do the task but if anything goes wrong outside of the norm, I would drown. I push on for the day when I have enough coding history that I can actually draw from it. It's many years down the road but the quickest way to get there is to step on the gas.
I've been bad about blogging, lots of things going on but I do have some big plans for the end of December - early January. I'm playing around with some smallish ideas until then so don't worry. This isn't a "ghost" blog that will dwindle away. It just took me a while to get acclimated to the new place.
Watch out peeps, I've got big dreams let's see if we can make them happen!
Keep coding :-)
-Josh
Ruby on Rails: Faliure
When I was a kid whenever I would put too much food on my plate and then not eat it all my dad would say: "Josh, I guess your eyeballs were bigger than your stomach...don't take more than you can finish".
Sunday, November 3, 2013
HOW A BLACKSMITH LEARNED TO CODE
UPDATE September 2016: We are now inundated with bootcamps and it's getting harder to land a junior developer position. I created a course to help you get hired faster, a proven method that I've used for the past year with my coaching clients. This course is the EXACT way I helped my coaching clients get hired, for a more affordable price and in the shortest amount of time!
Everyone everywhere is pushing this whole "Learn To Code" movement, but is it actually possible? This former Blacksmith/Farrier says a resounding: "YES!"
I wrote a Book on how to do what I did, but here's the condensed version of how I went from zero experience writing code to getting hired 9 months later as a junior developer and how you can do the same! I finally decided to teach myself to code after getting my hand kicked real bad and breaking my thumb while shoeing a horse. I came home and told my wife that I was done with shoeing and I was going to teach myself how to code and get hired, despite no experience and no degree. That was October 23rd, 2012. (9 months and 2 days later I was hired by ZipList in Reston, Virginia).
Month 1
~Pick a language to learn. I recommend Ruby on Rails because it's fairly easy to learn and there are a lot of entry level jobs for Junior Developers. In order to get hired 8 - 9 months from the day you start, especially with no degree as such in my case, you MUST start marketing/networking NOW!
~ Start a blog today and blog 3x per week.
~ Start a Twitter account and start getting some followers (they may later become your employer).
~ Join every local Ruby on Rails Meetup group within 50 miles and attend EVERY meeting. Start making relationships now and let people know what you are doing. You'll also learn more than you can imagine just by listening to "coder lingo".
~ Start installing stuff and getting your "dev" environment set up.
~ Download and start learning how to use Sublime Text 3.
~ Complete Zed Shaw’s excellent book: "Learn the Command Line the Hard Way". If you are not familiar with using the terminal.
Month 2
~ Start Chris Pine's "Learn To Program" Book.
~ Complete the first 15 lessons of Git Immersion which is free online.
~ Take Mattan Griffel's excellent course 'One Month Rails' which cost $49 per month. Trust me it's the best money you'll ever spend and I don't receive a penny for recommending, it's just that good!
Month 3
~Complete Zed Shaw's other awesome book "Learn Ruby the Hard Way". It's tougher than Chris Pine's book but you should be ready for it at this point.
~ Spend the rest of this month catching up on all the loose ends of stuff you didn't totally understand or got done in the previous month. Completely "flesh out" the Rails app you made while doing "One Month Rails". "Learn Ruby the Hard Way" is a lot to do in and of itself in one month.
Month 4
~ Make a basic web app and get it online and DNS working correctly.
~ Find a friend with a TINY small business (any business) or you can just find a crappy old site that needs a serious facelift (farmers markets are a great place to find these).
~ Make a basic site using Twitter bootstrap (look at Michael Hartl's Rail's Tutorial for help).
The goal is to make and deploy online a real website for a small business. You will learn so much from having to make something from scratch and have it online in 30 days. You'll struggle but don't give up!
Month 5
This is where things get real, by the end of this month, you should have made a pretty kick butt Twitter app. Now is the time to take on the BEAST of all tutorials:
~ Michael Hartl's Rails Tutorial, all 547 pages of it. The first 3 of the 11 chapters should be easy because of the other things you've done. Go through all 11 chapters and NO "copying and pasting".
This tutorial will probably take you a solid month if you work hard on it. You have now made 2 sites to show potential employers down the road! You should volunteer to speak at local meetup groups and give a talk on how to do something basic for beginners, this is the best marketing you can do.
Month 6
You are getting close and at the 6-month point, you want to really let people know that you are serious and are actively pursuing a junior dev job.
~ This month you will want to launch your own personal site. Make a video on your site about who you are and what you've done and that you are looking to be hired.
~ Put your resume up on Dice.com, Indeed.com
~ Make a Linkedin portfolio to get the word out.
~ Give another talk at a meetup group because this is where you'll more than likely make your connection to get hired.
Months 7 & 8
This is where you start juggling.
~ Give as many short talks at local meetup groups.
~ Get back to recruiters, do phone interviews, respond to emails.
~ All the while within these 2 months you need to make a web app with 2 other developers to show employers that you can work on a team and also make a really cool app to demo to potential employers. Stay the course, you’re almost there. Soon you will be sitting in engineering meetings and drinking free espresso every morning!
The last 2 months were the hardest for me personally to keep up with. From interviewing to working full-time, with a family and still trying to learn and make an awesome web app so needless to say- I didn't sleep much. Plan on getting around 4 - 5 hours of sleep until you are hired. Know this, though: if you study hard and follow the plan, you can get hired 8 - 9 months from today!
I studied 21 hours per week mostly from 10pm - 1am or until I fell asleep on the couch. If you can study 3 hours per night you can get in 84 hours a month, which is really good! Don't give up, stick with it and you can change your life, start a cool career, and make great money in a short amount of time!
UPDATE July 2015: 30+ people have emailed me and told me the above helped them land a dev job, but I think for people who are totally brand new to learning how to code, getting an entry level QA position first may be a better, less stressful option. With 3 - 4 months of studying, you can land an entry level QA job. QA jobs pay fairly well, and require a lot less actually coding skills, they are a nice way to get into an I.T. company without having to be a full blown developer. If you are serious about changing your life check out my QA Coaching
Don't give up, keep coding! You can do this!!!
Everyone everywhere is pushing this whole "Learn To Code" movement, but is it actually possible? This former Blacksmith/Farrier says a resounding: "YES!"
~ Take Mattan Griffel's excellent course 'One Month Rails' which cost $49 per month. Trust me it's the best money you'll ever spend and I don't receive a penny for recommending, it's just that good!
Don't give up, keep coding! You can do this!!!
Wednesday, October 23, 2013
Learning Ruby on Rails Day: 365
1 year ago I came home from shoeing horses hurt, angry, and determined. I hugged my wife and cussed at "them" and said: "I don't care if it takes the rest of my life, I am getting out of shoeing! I am going to teach myself how to code and get hired!"(quite a few cuss words were removed from that sentence) =)
What a year, what an adventure and man do I have a WAYS to go. I can't wait to get to work each day and to learn more, it's great! 4 years 9 months from now I want to be a lead/senior RoR developer, so I need to get learning and make "magic" happen if I'm to accomplish that.
Thanks to everyone who has helped me out especially +David Bock, +Jim Gay,
+Jason Wieringa ...there are MANY more but those 3 encouraged me the most and I am grateful. I started 1 year ago with zero knowledge, zero connections, and knowing NO one.
Everything I've done, anyone else can do and probably quicker and better. The purpose of this blog was to hold myself accountable and make it publicly known what I was doing. The purpose of this blog now, is to help of noobs, to make it as "junior" developers and to document my 5 year junior to becoming a "senior" developer.
In other news....I offered to do a monthly Google Hangout, but didn't get much response, so I won't be doing it after all. I didn't get to hang out with @codestoic last Sunday, because he had some internet problems, but will make it up this coming Sunday. I will keep you posted on how things are going for him and his journey!
I truly believe we can accomplish 99% of what we set our minds to.
As Babe Ruth said: "It's hard to beat a person who never gives up."
keep coding peeps!
Wednesday, October 16, 2013
Learning to code: Day 359
Well I can't believe it, it's almost been 1 year from when I decided to teach myself how to code and get hired on my own. A lot has happened in less than a year it's hard to believe sometimes. I am just now getting used to not shoeing horses and catching myself saying: "I shoe horses" when asked what I do for a living.
I was shocked when someone at work said: "Oh he's one of the engineers" I was thinking, I hope no one hears that :-) My back used to hurt me SO bad I couldn't sit in a chair for more than 30 minutes. It is just now starting to really feel quite a bit better and not hurt all the time. I've lost my last callous on my hands. I was riding home with a weird feeling today thinking: "Holy crap, everything is so different for me now."
Some big things are happening still, my friend +J. Terrell Allen who 's learning to code himself and is currently an awesome writer recently took my book and gave it a much needed facelift and made it look like super sweet. I will have the "much better formatted" version up on Amazon sometime this week. Thanks J! If you guys need any work done in regards writing, you need to look J up at @jterrell. Even if you don't need any writing done, check out his inspiring "learn to code" blog at J.T's Big Coding Adventure J is a former pastry chef, technical trainer and currently author and freelance writer. The man is going places :-)
This week I was also just contacted by Listen and Think Audio™. They said they really liked my book and wanted to make the audio version and put it up on Audible.com, Listen and Think Audio™ heard about me from Dan Miller's Podcast. The whole process to pick out a narrarator, record the book and get everything done will take 6+ weeks so it won't happen tomorrow but it felt really good to have a company contact me out of the blue.
I currently am mentoring +Dustin James for the next 8 months (or until he gets hired) and do a Google hangout with him every Sunday night when my kids go to bed. I was thinking though that I'd like to teach some basic things that would be useful, maybe do a monthly "group" hangout, just for an hour or so. I'd teach things like: "How to quickly make a Gist using Jist", "How to install some basic Gems", "How to do some basic Html/Css", "How to convert Html to Haml", "How to use Firebug like a pro".
I'm not sure how many people can get on a Google hangout at one time, and I'm not sure how much interest there will be. If enough people are interested, I'll do it, if it goes well, I'll do it again.
Email me if you want to be in the first "group" learning session. Email me at Joshuakemp85@gmail.com. Also tell me 3 or 4 things you would like to know more about.
-Josh
Monday, October 14, 2013
Ruby on Rails Interviewing: Final
Thursday, October 10, 2013
Ruby DCamp 2013
I've been pretty busy these past 2 weeks and have been just getting over a serious illness.
Ruby DCamp, yes I was one of the "chosen" only 78 people from around the country and some from Europe get to attend Ruby DCamp each year, and yours truly got to go. First let me say, it was either "nerd heaven" or "nerd hell" depending on your take on the matter. I was warned that I would see some "nerdness" that might be slightly unsettling :-)
Over the weekend I got to learn some: Kung Fu, the ancient game of 'go', Rspec testing, Lots of pair programming, Conway's game of life, how an 'unconference' works, had great food, played Frisbee golf, and got to hang out and talk to some of the coolest/nerdiest people I've ever met :-)
My little kid Ian ended up getting really sick and I had to go home a day early but all in all, I highly recommend going if you can find a way in. A shout out to Chris Mar for taking the time to slowly walk me through Rspec testing, he has an awesome way of bringing things down to your level and making them very easy to understand. That 45 minute pairing session with Chris was worth going to the entire camp on it's own!
I was surprised when I first started trying to learn to code, how every programmer/engineer I talked to who would always "get philosophical" on me whenever trying to explain or describe something. I thought it was interesting to see that it's not just a "local" thing. There were moments when I thought I was in a "theology seminary" and others at an "atheist" convention. Programming and design is all around us in life, I guess I shouldn't be surprised to see these type of conversations prevalent in the development community.
Anyway, had another great day at ZipList, kicking butt learning lots everyday and enjoying it! I can't believe it's been just over 2 months working here now, and to think I haven't picked up a single horse's hoof in the past 6 weeks! I hope to continue that streak for the rest of my life :-)
I'm doing a Google hangout with Dustin James the guy I'm mentoring from Canada who is going to get hired using the "road map" outlined in my book. I am so excited to get this whole thing moving along. I never wanted to be a "teacher" growing up and work at a school, but I realize as time goes on I do love teaching/coaching in general whether or not it's in an academic enviroment.
I'll let you guys know how it goes :-)
-Josh
Monday, October 7, 2013
"Get Hired the Hard Way" ...And the winner is???
I apologize for the long delay but I assure you it was worth it. I was surprised by how many people signed up and applied for "Get Hired the Hard Way". After much deliberation I narrowed the field of candidates down to 4 and then had to make some VERY hard choices and finally decided on 1!
Welcome to the winner of "Get Hired the Hard Way": Dustin James of Manitoba, Canada! Here's a short bio of Dustin:
My name is Dustin James - father, husband and Canadian. I have a business degree and have worked in that field since graduating from University way back in 2006. I have a small background in web development and am a co-founder of a start-up community here in Canada. Personal interests include comedy, cartoons (I'm 30), fitness, sports, coding and thinking about the world's problems. I am unwavering in my attempt to find truly fulfilling work and I decided that Josh’s challenge was just what I needed to finally take the plunge and chase some dreams. Looking forward to self-authoring a new chapter in my life with direction and help from someone who has done the same!
Today is October 7th, 2013 my promise is to help mentor/coach Dustin along and to have him hired no later than 8 months from today June 7th 2014! There I said it, hold my feet to the fire, follow along and if you ever needed a kick in the pants to get started and stick with your goal, now is the time!
Don't just watch success unfold before your eyes and wish it was you, make it you! Start a blog, open a book, fire open the text editor and make something! 8 months from now you'll be a totally different person...but you must start!
Okay, enough of that, Dustin has started a blog so please go follow it, and also go follow his Twitter account, this guy is going to be awesome!
Blog: Follow Dustin's Blog
Twitter: Follow Dustin on Twitter
Dustin has agreed to the tough challenge of studying a minimum of 21 hours per week! I will be giving updates on his progress and how the studying/training is going and stuff we are working on.
If Dustin does not get hired by June 7th 2014, I will have failed and will be publicly embarrassed, so let's get doing some serious coding! =)
-Josh
Thursday, October 3, 2013
"Get hired the hard way"
I have been the sickest I probably have ever been in my life these last couple days, I 've lost 5 pounds and can hardly function. I have picked the winners and will email everyone over the weekend when I'm feeling better, now back to bed. -Josh
Saturday, September 21, 2013
How to get along with nerds.
First things first, my good friend Jason Wieringa who helped me out a
ton on my learning to code journey has started a new site that you
should definitely check out....and no there is no kick back for me, I
just really believe in what he's doing, so check it out! Jason Wieringa.
The truth is nerds/developers are really smart, too smart, and even though they usually won't admit it, they look down on people that are not as smart or who they think aren't intelligent.
Here's the secret: Nerds are smart, but they have a little known weakness: Nerds equate people with "quirky" or "weird" behaviour to be more intelligent.
Okay, so you know I'm an impostor, I'm not a "full-blown-coding-from-birth-developer" and as such it's kind of funny getting to interact with this unique race of human species :-)
If you are coming from a a completely different background like: retail, garbage collector, business degree, landscaper...etc. (those are all true professions that I know of people trying to make the switch). Making the switch can be tough, but getting along with nerds is another whole skill entirely.
When feeling dumb or feeling inferior, here's how to look/feel more intelligent when facing an entire room full of nerds:
(1) Argue Math symbols.
Now don't argue how math works or equations because you will lose. However talking about why a certain math symbol came about and why it's important that everyone understands that, will always make nerds rethink whether you're intelligent or not.
(2) Have a position. or Collect something weird.
All nerds believe in something VERY sincerely, whether it be in collecting old Star Wars Lego sets from the 1960's or Barbie dolls. Or whether Linux is better than Macs, which text editor is better, the type of wine/beer you should drink. Why the world is actually a fake reality and in fact we are all just part of a realistic computer program and we don't even know it!
* What this means to you? Be Quirky! Pick something, I don't care what and become the "expert" on why it's important and why it will save the world, then when a discussion comes up at a meetup group or wherever, vehemently defend your point with weird worthless facts that are very subjective and depend on some unknown person that died in 1952. All nerds have this weird thing about them where they must be right on their one chosen subject, or collect something that you or I would be prone to throw away.
(3) The "art" of nerd talk.
There are only 2 ways to talk as a nerd: VERY SLOW with LONG pauses, or EXTREMELY FAST or even better, at a speed so fast you spit saliva or stutter.
* What this means to you? When in doubt of something or nervous, speed up your talking and look around the room with you eyes bugging out like a pug and nod your head a lot. If that technique doesn't restore your confidence when in a room full of nerds, try a SUDDEN LONG pause, look down at the table, squint, clear your throat loudly, look up and make your point very slowly while scratching the back of your head like a tick is biting you.
Okay so these rules may not be "chiseled in stone" facts, but seriously nerds are a weird/funny group. I like nerds and think its fun to be around them. Some people get offend by nerds, or can't get along. I'll give you tips you can take to the bank. Maybe I'll even show you how to tell when a nerd is feeling dumb and how to instantly get smarter in 5 seconds: "the secret nerds never share".
Oh, life is good! How can you not be happy when you get to make good money and learn lots of new things everyday?
You can still apply to my "Get hired the hard way" where I'll mentor you for 8 months and get you hired. Email me and I'll send you an application: joshuakemp85@gmail.com.
Don't forget to check out my book: "No Degree, No Problem" and if it helps you out, please leave a review on Amazon. It's hard to sell enough books to buy a private island without any Amazon reviews :-)
-Josh
Sunday, September 15, 2013
"No Degree, No Problem"
It's finally here! My ebook: "No Degree, No Problem", buy it today so I can get filthy wealthy, buy a remote private island and I will then invite you :-)
"No Degree, No Problem" has 53 pages of solid content, that will give you a crystal clear step by step road map from how to go from ZERO computer knowledge to getting hired as a junior developer in 8 months!
Buy "No Degree, No Problem" now for only $4.97
...YES I'm proud of my book...can you tell??? :-)
Friday, September 13, 2013
"No Degree, No Problem!" book launch in 2 days!
2 days peeps, till my ebook is out! I can't wait, I've put a lot of thought, time, and energy into this and I'm really pleased with how it turned out :-)
Tuesday, September 10, 2013
"Get hired the hard way".... now accepting applications for October 1st launch!
Okay, so you got hired Josh and self taught yourself so what, that won't work for everyone.
I, of course, disagree! That's why I'm writing my book "No Degree, No Problem!"
I am here to say that you can get hired by following the books step by step "road map". Let's put the book to the test! Starting now I will be accepting applications to be mentored by yours truly!
Send me an email if you would like to be considered and are willing to make the commitment and I will send you an application with some questions.
The launch date is October 1st 2013 (just over 2 weeks away)
Here's what I will promise the lucky student:
(1) "Get hired the hard way" starts October 1st, there is zero cost to you for my help/mentoring/promotion, only LOTS of HARD work.
(2) I guarantee that following the step by step "road map" in my book: "No Degree, No Problem!" and with my mentoring/guidance you will get hired no later than May 1st 2014.
(3) I will pair program with the chosen student every week for at least 1 hour.
(4) I will promote you through my blog and add your blog on to mine as a permanent link until you are hired.
(5) Every 2 weeks, I will tell the world how you are doing. If you don't put in the required time (21 hours per week) you will be dropped from the program.
REQUIREMENTS:
NONE. Only an extremely hard-work ethic and commitment to studying a minimum of 21 hours per week.
Any takers?
Here's my email: joshuakemp85@gmail.com
Thursday, September 5, 2013
Junior Dev Shortcuts
So I obviously have been sucking at blogging 3 times per week these last 2 weeks :-) I apologize, and I won't make excuses because EVERYBODY is busy. I think from now on, I will shoot for writing 2 posts per week, and maybe try and make them a little longer.
One of the problems I've had besides being busy, is what to write about. Before I was hired, I never had that problem because I was SO goal focused on getting hired. I still have no problem with things I want to write about, but I've asked around and I'm not really supposed to talk about the inner workings of the company I work for because competitors could use it and stuff like that.
I've learned all these cool things, but in order to tell you how and what I learned, I would have to explain how things interact in our system and how other parts of it work...which understandably is highly frowned upon :-(
Never fear! I am currently spending all my free time writing my ebook making sure it is going to revolutionize the way "blue collar" workers, college dropouts, and anyone who wants to can find their way into the cool IT "white collar" world.
BUT once the book is 100% done and released I have 2 really cool sites I am going to build and I will walk you through them, so that will be cool. Life is totally fun and exhilarating right now with SO much learning!
I get to work with a former "ethical hacker" so it's really cool at lunch to pick his brain. I feel like there should be a fee to be able to ask any type of IT world related question at lunch and then get to hear all sorts of opinions and differing view points from top notch developers and System admins. Last week at lunch I learned why or why not someone should use node.js and what EXACTLY are "callbacks" and how different types of things work in a "callback".
There are several new things down the road that I may be learning at ZipList depending on how things go, I can't really say just yet, but I'm REALLY hoping I get to learn this certain really cool technology, I'll of course keep you posted!
Since being hired, I've learned about 2 million shortcuts, and am getting pretty fast on the ole' keyboard, telling you all the shortcuts I've learned and writing them down is of no use to you, so I will give you 1 shortcut that is super easy and super helpful for now.
Here's the shortcut:(on a Mac)
Press the "control" key plus 'a' to go to the beginning of the line when using the terminal.
Press the "control" key plus 'e' to go to the end of the line when using the terminal.
Your like: "So what, ...big deal", well yes and no, but here's the cool part, what you just learned is a "key bindings" shortcut. These are similar to the ones used in emacs. The reason I think you should use control + 'a' or control + 'e' is when you are typing in certain windows like Blogger, the only recognized shortcut to move through the page is the shortcut I just showed you.
Here's another use with the same shortcut: Have you ever been writing an email in Gmail and wanted to go the beginning of the line? Or the end of the line to fix a spelling error? control 'a' or 'e' BINGO! See, that shortcut is good at a minimum for all emails and when using the terminal.
I'll slowly "spoon feed" you the best most useful shortcuts that are extremely handy :-)
-Josh
Saturday, August 31, 2013
Ruby on Rails Interviewing (Part 2)
Monday, August 26, 2013
5 things I've learned in the first 26 days of being a junior developer.
I apologize for not blogging for a whole week, life is flying by!
I promised to always be open and honest about my experiences in trying to get hired as a junior developer and my experiences every after learning the ropes to hopefully one day becoming a really good/senior developer.
5 things I've learned in the first month of working as a junior developer are:
#1 Being slow sucks, and shortcuts are king!
If you can find anyway to make things quicker or more productive, do it! No excuses, I am about 30-40% faster and more productive with my time since starting at ZipList, from just opening and saving files to sending emails, everything happens fast and you need to be faster!
#2 No one knows EVERYTHING, no matter how good you are!
I honestly believed at one time, that maybe one day if you tried hard enough and worked long enough, you could basically never have to look stuff up. I think the truth of it is, if you never look things up, you must not ever be learning anything new. At the speed at which everything on the web is constantly changing, you just have to get good at learning new skills and acquiring knowledge fast.
#3 Developers need breaks!
I thought walks were a complete waste of time. I mean, I AM being paid to work, not walk. I have come to the conclusion now though, that no one can stare at a screen all day and give his/hers 100% best without taking a short break to give your mind a chance to breath. It's not lazy, it's being productive. Something I struggle with, because if I'm feeling stretched or behind, the LAST thing I want to do is to take a break. Breaks are for wimps right?...maybe not :-)
#4 Working as a developer is like working at a Library... only quieter!
I didn't know what to expect changing careers and starting out as a junior developer, but I was am still surprised at HOW quiet it is. No music, no noise, just the sounds of fingers stroking the keyboard with an occasional chuckle from a developer as a funny picture is posted in the IRC (the developer chat room basically). It's not bad, just different.
#5 I have to eat less!
Bending over all day shoeing horses day after day sucked, BUT now that I'm sitting on my butt hour after hour day after day, I need to eat less :-) I've gained 3 pounds since starting at ZipList, and I thought I WAS eating less, apparently not enough less :-)
Monday, August 19, 2013
How to use Captured.
No, I'm not recommending this to make money or anything like that, that is not what this blog is about, this blog is about chronicling my journey to become a Junior Developer and then on the road to becoming an expert in the next 5 years or so.
Captured is a really cool app in the Apple store, it costs $3 bucks, but it is well worth it. I hadn't ever heard about Captured until I started working at ZipList, where EVERYBODY looked at me like I was an alien from mars when I said: "What's Captured?" They scoffed at me, "It's THE way to send something like a picture or note really fast, and you can highlight it with these cool arrows."
I still honestly wasn't that impressed, I mean I've seen people drool over an old crappy Linux machine, and I'm thinking: "Yeah,... I'll keep my Mac", but honestly after answering 30+ emails today from Users asking questions about ZipList, it was a lifesaver for time and clarity.
By the way, the only command I use is "command+shift+6" that's al you need, the rest is automatically generated for you!
You may or may not send a lot of email, but for me it's been an awesome help. I SO enjoy learning everyday more and more about: The web, coding, Css, Html, all sorts of tools. Heck I learn a lot just sitting at lunch and listening to all the developers talk :-) There is no comparison to this sort of work life versus the shoeing life...LOVE IT! -Josh
Friday, August 16, 2013
Alfred, Screenhero, ColorSnapper, and Gimp!
It's been so crazy this week at ZipList learning so many new things I can hardly remember all of them to tell you. I totally recommend to everyone that if you are learning to program to get "Alfred" it's a free Mac app and is 100% better then the finder window in Mac for finding things quickly and effectively.
I also recommend setting up LOTS of bash shell aliases to everything not just a couple commands because it's all about speed and efficiency when you're working at a company it's about getting things done well and as quickly as possible not wasting time, it helps to have lots of shortcuts. I'm still working on a lot of mine :-)
The best thing of all I have learned about has been "Screenhero" it's a free app that allows you to literally go on to the other person's computer. You can go on their computer and the user will see two arrows one is your mouse and one is the other person's mouse. It's great for working with people remotely especially if there's something that I don't understand and need help with, it's a quick fix on any and all errors I am totally going to use it pair programming from now on.
I'm learning quite a bit about responsive web design which is awesome! I bought "ColorSnapper" which was the best four dollars I have ever spent! I totally recommend "ColorSnapper" for finding colors quickly and very easy-to-use. It copies the colors you click on to your clip board, it is a lifesaver if you're doing anything CSS related.
I even been using Gimp some this week resizing images, cropping, and scaling I don't know much about Gimp, but it's been great so far. Tomorrow is officially my last day of shoeing horses hopefully for the rest of my life :-) I have one trim to do tomorrow and then I am having a " get spoiled day".
My wife Elisha and I are going out on the town, an hour massage, then shopping and getting some books to celebrate the end of shoeing/goal accomplished! Tomorrow should be a fun time I can't wait!
The entire team at ZipList has helped me grow so much in the last week, I swear working one week full-time is like studying a month and a half on your own! I'm not keeping track of hours anymore because it would be silly, but I still plan on keeping track of what I'm learning and roughly how long stuff takes and things like that.
Learning to code is like a giant puzzle with about 1 million tiny pieces I feel like right now I've got the border on the very edge of the puzzle almost completed and I can now look inside and go wow look at all the rest there is to learn... I love it!
-Josh
Monday, August 12, 2013
Ruby on Rails Interviewing (part 1)
Since I am happily hired now, I thought I would spill the beans on my interviewing experience. Now all the things I say, none of them apply to my current employer Zip List.
When I first launched my site Josh's Site after 6 months of training/studying RoR, I was immediately offered 2 jobs on day 1. One job offer was for $40K the other for $35K. I of course passed. It took the next 2.5 months to finally get hired at an awesome company, but along the way, there was a TON of other interviews. In the stories you read I won't use the real companies name, as I don't want to offend or possible hurt my employment chances if I were to need them down the road :-)
The good news is, I averaged around 3-4 phone screens per week and 1-2 second interviews, and usually I landed a final interview every 2 weeks. The first thing I learned was that recruiters will try to knock down your price if you don't have a degree saying things like: "How much?....oh, I don't know, you're going to be a kind of a tough sell without a degree...are you "flexible" on salary?"
Thankfully my mentor the great +David Bock gave me a warning that this probably would happen, and to stick to my guns, he evened helped me figure out what ball park figure I should be asking for.
Thanks to +Americo Saviñón I started a LinkedIn profile and per his recommendation made sure to list several key words like: "Ruby", "Rails","Ruby on Rails". Between LinkedIn, Dice.com, and Indeed.com I was getting around 20-25 emails a week from recruiters asking for my resume in word format and more information about my background. Half of the jobs would require relocating to another state which I didn't want to do.
I also had several people on Twitter ask me how much I wanted as a salary and would I consider relocating. One offer almost had me packing up and moving. I decided to give the Northern Va area 1 more month and then if nothing still had finalized I would consider moving, thankfully it didn't come to that.
Hopefully that brings you up to speed on what I was doing/dealing with during that 2.5 month period besides working full time, studying, and trying to get hired. The hardest part doing this period of time was that it was Summer, and I was super busy everyday shoeing horses, and had a VERY hard time keeping up with my weekly hourly goals.
I am loving writing my ebook, I think I can speed up anyone trying to become a junior developer quite a bit, half of my problem was never knowing what exactly I should be working on, and switching back and forth wasting a lot of time. Anyway, I'll keep you posted, more to come on interviewing.
-Josh
Friday, August 9, 2013
First Full Week At Zip List!!
One solid full week of life as a developer has come to an end! I am hooked like an addict! I love learning about everything IT/Web related.
A few Months ago I met for coffee with +Spencer Pingry , we talked for about an hour and he gave me some great advice that helped me on my learning journey. The one thing he said to me stuck in my brain, and I wanted to pass it along to you because I have found it to be 100% true.
"Studying 3 hours every night after your full time job and staying awake even though you're tired is very admirable, but there is nothing like being fresh and full of energy and getting to work with other developers 8 hours a day, 40 hours a week. You will learn like nothing else."
I share that not to discourage you that you can't learn to code on your own, but to encourage you that once you do get hired, you will learn like NEVER before!
I hate to brag, but the Zip List team is top notch, the team is so smart there are literally "ninja coders", developers come in wearing capes! I mean, I can't help but learn at a super fast rate! I can feel my brain absorbing knowledge through osmosis as I sit next to operational wizards like +Steve Annessa , the man's a genius.
Anyway, you can see how much I am suffering at my new job/life as a junior developer :-) Don't give up peeps, keep coding, it does get better, much better!
I just hope no body realizes what's going on...I mean getting paid to learn to code, how is that legal :-)
-Josh
Friday, August 2, 2013
Typing, Shortcuts, Speed
Wow, I thought I was getting almost okay when it came to typing, and finding stuff on my Mac. Since starting at Zip List, I feel like a BABY! My goodness these other peeps seem like they want to literally kill their keyboard!
I hunt and peck away and think: "Okay, not too bad speed" Then I look beside me and hear a developer typing so fast it seems like either him or his keyboard are on crack! I haven't even BEGUN to mention all of these "black magic" shortcuts I see people typing into their machines, and I'm like: "Uh,.....what was that?"
I need to learn a ton of new things, but I really do think I need to learn some basic "Nano" just because it comes as a built in text editor on Macs, so no matter what, I would be able to open up a file and edit, save it and not be like:"Oh, you don't have Sublime, ... I can't help you."
I also need to learn short cuts better, and double my typing speed. Not just double the speed, but type while not looking down at the keys. I'll work on it and let you know how things come along.
Last but not least, I going to write an ebook on how to to get hired as a junior developer, even if you don't have a degree(like me) and start off with no experience. I hope to have the ebook done sometime in October.
If you have any questions, or thoughts that you think my be helpful to me, please shoot me an email at: joshuakemp85@gmail.com.
-Josh
First week at Zip List
First Week at Zip List was AWESOME! Well, actually only 2 days, but seriously it was heaven on earth. I promised to always be honest with you, so I will tell you, it is EASIER when you finally make it to the "promise land" and actually get paid to LEARN!
I got a brand new top of the line Mac book pro and my own new keyboard, wireless mouse, and a brand new top of the line monitor, not to mention a kick butt awesome chair. The first half of the day consisted of getting everything set up and the second half of the day was spent trying to figure out how to adjust all the cool knobs on my chair, to get everything adjusted just right.
I did learn a lot of new things:
1. I Learned about Asana and got a basic overview.
2. I Learned about Pivotal Tracker and got a basic overview.
3. I Learned a lot more about PATHS in Unix (PATHS are So tricky and confusing to me).
4. I Used NANO for the first time(it's built into Unix just like Vim, just type in "nano")
5. I Saw Google effects used for the first time, while attending my first meeting.
6. I enjoyed my first free company lunch(every Thursday).
7. I Learned about Lime Chat, how to set it up and use it.
8. I Set up my new work email, and learned how to use filters(after receiving 93 emails in what seemed like 5 minutes).
9. I Did my first test.
10. I Got my first paycheck!( I checked the mail today on my to go upstairs to my apartment, and lo and behold I had a check, and I had just finished my 2nd day!).
11. I had a kick butt awesome 45 minute talk/teaching on Html & Css by 2 great developers!I learned tons of things that I didn't know and it also helped me to understand WHY we do certain things.
Anyway, not to brag, just to encourage others on the "Learning To Code" path, it is really nice when you finally get hired so keep on keeping on!
I will try and be less of a braggart in the next post :-)
I still feel like I am in a dream, I mean, I get paid to LEARN all this cool new stuff and get to use top of the line technology while I'm doing it?....Sign me up!
-Josh
Follow Me
POPULAR POSTS
-
UPDATE September 2016: We are now inundated with bootcamps and it's getting harder to land a junior developer position. I created a co...
-
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...
-
I have always promised honesty and transparency with this blog. Last time I gave a review about Free Code Camp, I wasn't super supporti...
-
You need a Regular Expression to validate a phone number or a user's email address, so what do you do? Go onto StackOverflow and copy so...
-
What up peeps ! I feel like every day gets better and better, I just gotta' say life is good, No brag, just fact :-) I thought I woul...