Wednesday, December 11, 2013
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
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
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.
Monday, November 18, 2013
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 :-)
Sunday, November 3, 2013
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).
~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 2.3 .
~ Complete Zed Shaw’s excellent book: "Learn the Command Line the Hard Way". If you are not familiar with using the terminal.
~ 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 www.onemonthrails.com which cost $49. 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!
~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.
~ 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!
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.
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 to 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!
Wednesday, October 23, 2013
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
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.
Monday, October 14, 2013
Thursday, October 10, 2013
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 :-)
Monday, October 7, 2013
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! =)
Thursday, October 3, 2013
Saturday, September 21, 2013
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: email@example.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 :-)
Sunday, September 15, 2013
"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
Tuesday, September 10, 2013
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.
NONE. Only an extremely hard-work ethic and commitment to studying a minimum of 21 hours per week.
Here's my email: firstname.lastname@example.org
Thursday, September 5, 2013
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 :-)
Saturday, August 31, 2013
Monday, August 26, 2013
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
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
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!
Monday, August 12, 2013
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.
Friday, August 9, 2013
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 :-)
Friday, August 2, 2013
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: email@example.com.
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!
Tuesday, July 30, 2013
My blog recorded it's highest traffic ever after announcing I got hired. I have also received about a billion emails from people asking for advice. I apologize for not getting back to everyone yet, I 've been very busy. I love getting emails, so keep them coming, I just am a little slow getting back with thoughtful good advice.
I also have been getting asked the always awkward question: "How much did you end up getting?"
Awkward. However I started this blog to keep myself accountable, and to help/encourage others to step out and learn on their own. So I want to be very transparent with everyone.
First off I will say, I am VERY happy with ZipList and the incredible opportunity I have been given, but I'll give you a range so you can get an idea.
I am making between: $60,000 - $80,000 ....how's that :-)
No, I'm not working for $5 an hour in some sweat shop, so no fears if you are on a similar journey as mine. Yes, you can with no college education or expensive bootcamps land a great paying job at an awesome company, if you don't mind a little hard work!
In other news, I am featured on Uncollege this month which has me totally stoked! I have always been inspired by the work they are doing, and Dale J. Stephen's book Hacking Your Education which was very helpful to me while on my learning journey. (And no I don't have to promote them, I just really believe in the book, and think it will help virtually anyone on their own learning journey).
Wish me luck peeps, I've spent this week saying good bye to a ton of shoeing clients that I have had for 7+ years of shoeing horses for a living. I thought I'd be a little happier about leaving shoeing than I actually am, it's a kind of sad/mixed emotion. Feels almost like when Fall comes around, you're happy for it, but you are going to miss the Summer.
Friday, July 26, 2013
On October 23rd 2012 I started trying to learn RoR hardcore and to not make excuses, study EVERYDAY no matter how tired, and keep on studying/learning until I landed a job somewhere.
9 months 2 days later I landed a super sweet job at Zip List in Reston Virginia!!! I am SOOO excited for this opportunity, I plan on learning/working my butt off!!
Some people told me that someone without a degree who didn't have an IT background wouldn't be able to get hired.
I just want to encourage you, that if you are willing to study really hard EVERYDAY for a long period of time, that you CAN accomplish your goal and get hired. My secret to success is simple: NEVER give up and eventually you'll get there.
Sorry I didn't have more of a "real" secret :-)
I plan on having a blog post dedicated to the people that helped me out the most and took me under their wing, because I could not have done this on my own.
What a ride, what a journey! I do want to be clear, that this is only the BEGINNING, I will be continuing to blog as always, and share what I learn as I navigate this whole new world.
My end goal has not changed, 4 years from my hire date I want to be an expert full stack Ruby on Rails developer. Let the fun begin :-)
Monday, July 22, 2013
When I was trying to get into Dev Bootcamp, they made all the applicants take a typing speed test on Type Racer and to then take a screenshot of your speed and send it to them. They told me that everyone who made it in to Dev Bootcamp, needed to be at a minimum of 40wpm before class started.
I remember thinking to myself as I typed 12-16wpm, that I would NEVER see 40wpm EVER! I really do one day want to learn how to "really" type instead of my "free hand" style, but I never wanted to side track myself from strictly learning to code.
Well I'm buying my self an ice cold coke to celebrate (beer gives me a migraine). I guess the moral of the story is, you can get halfway decent speed just by learning to code without ever actually learning the correct way.
I do NOT recommend my style of typing, I just feel happy to be ANYWHERE in the 40s wpm!
I don't think being timed and nervous helped either, but what the heck, live and learn. eventually I will be good, and ole' "DHH" himself will be begging me for advice :-)
Time to code peeps, no more dilly dallying! -Josh
Saturday, July 20, 2013
Pair programmed today with +Bill Glennon. We are making a basic little rails app for fun with trivia questions about the 49ers team and players. Right now, it's still pretty basic, just made some scaffolding and doing some basic mocking up of the site.
I'm going to try and black mail a small company for stickers in exchange for mentioning them on here, how awful is that? Ha ha! I'll let you know what kind of response I get back.
I'm learning more about Css lately, couldn't sleep last night after one of my little guys woke me up so I opened up my mac and made just a plain html/css webpage without looking anything up. Just typing in stuff and seeing if it did what I wanted. I actually really enjoyed the "experimental" way of making a page without looking stuff up.
Interviewed at 2 more places, we'll see what happens, I'll keep you up to date. Apparently things go slowly when getting hired, that's the vibe I am getting :-)
Who cares, I say keep coding till you're so good no one can ignore you :-)
Thursday, July 18, 2013
If I could do the talk over again I would have more clearly stated in the Meetup group that I wouldn't be able to help people install Ruby or Rails, and to make sure to have everything working on your computer before coming. The talk went slower than I wanted for a variety of reasons, but all in all I really enjoyed it, and would love to do more public speaking/teaching in the future.
When am I going to finally get hired??? Well I have been doing multiple phone screens and interviews EVERY week, so I think it's just a matter of time till I find a place that is a mutual "good fit". Once I am hired, I will tell you more about some of the pit falls and horror stories I've had, and maybe a few tips on what not to do.
I signed up for Code School, and am going to go through some of their materials. A really talented, smart, senior RoR developer who I got to pair program with last week recommended it to me, so I decided to give it a try. It's supposed to be better than other places because of the challenges they give, to make sure you really know what you are learning. I don't know, I'll let you know what I think as I get through them.
By the way, if anyone is looking for someone to pair program with over Google hangout who is also trying to learn RoR, send me an email, or put your name in the comments. I always have a ton of people asking to pair program, and I can't pair program with everyone.
Not trying to be cocky, I just thought that maybe if someone wanted to know of someone else who was looking for a study/partner I could suggest one. No fee, no business idea, just trying to help others out and learn this RoR beast!