I'm at the end of what was a great weekend, life is so good :-) I'm a pretty stocky guy, I'm 5' 11" and weigh 230 pounds, no one believes I weigh that much, but I do. When I was 16 I ran a lot and weighed 146 pounds. I was embarrassed about how skinny I was, so I started going to the gym and working out like mad. Over the next 16 months I gained a lot of muscle and weighed 175 pounds, I felt more confident around people.
When I was a farrier, I would shoe horses for plastic surgeons, attorneys, people who worked in underground buildings in Washington D.C. Although it was never directly said, I got the impression that my powerful clients thought I wasn't very smart to be shoeing horses in the 21st century. I learned to code, I learned some fancy computer science terms that I could use in conversations to make myself seem smarter. My confidence grew, I felt more confident around powerful people.
The sad truth is I'm still the same person I was then and am today. I have a huge dream that I've only dared whisper to my wife. I made the mistake of telling a good family friend about my dream. She laughed so hard tears came out of her eyes. I became a little tight lipped about sharing my dream after that incident. It's such a big dream that less then 1% of people ever accomplish it. I believe in living your passions and going for big goals. Everyday making small deposits toward your dream until one day you are living the dream.
I've had this "laughable" dream since I was 24. I had a light bulb moment and thought: "If I could do anything with my life...I would do that!" This dream has nothing to do with coding, although, everyday I work towards becoming better at development. Everyday I take another small step to my "laughable" dream. That's the thing about passions, if they don't motivate you to work on them at midnight, then is it really a passion?
I am running again, 4 - 5 days a week, I missed running and am glad to be doing it again. This post isn't really about coding, but I just wanted to be honest with you and share that I struggle too. I don't have all the answers, but I don't let that stop me. I follow my passions and always try to take the next step in the journey towards achieving them.
Whether you are learning to code or becoming a chef, I hope you find the courage and perseverance to accomplish your dreams. Don't listen to the "dream snatchers" out there, you can accomplish your goals, never give up!
Keep coding peeps :-)
Sunday, March 22, 2015
We need dreams to keep us alive, never lose yours!
Tuesday, March 10, 2015
2 tools to help you learn how to code.
I thought I would share with you the hardest challenge for me personally, about learning how to code and how I overcame it. I want to encourage beginners who are about to give up coding, because they feel like they just don't "get it". The truth is, I couldn't either, I felt extremely non gifted when it came to coding.
The hardest part about learning how to code is not learning the syntax, Html or Css. The hardest part about learning to code is the actual "coding logic". Growing up I struggled with Algebra and abstraction like you wouldn't believe, I thought I was dumb. A lot of math wizards get abstraction much quicker than I do. For me I have to keep struggling and struggling until I finally get the concept to "click" in my brain. The thing is not to give up, don't make yourself feel bad that you aren't naturally "gifted" as a coder.
3 months after I started learning to code, I couldn't solve a single problem on the easy coderbyte challenges. Hours of trying, didn't help, I didn't understand the concept of a method. I didn't understand how different data structures got to use different methods. Thankfully I am more stubborn than dumb and didn't quit. Days went by, still I didn't understand. What helped me to break out of the rut, was realizing that I only really needed 2 coding skills to solve most of the coding challenges.
DISCLAIMER: This is not about writing beautiful code. This is about improving your coding abilities enough to solve basic coding challenges. Pretty comes later :-)
I realized that the power of coding was in knowing how to use 2 things ( statements ) in a language:
1) If else statements
and
2) for loops
Once I realized that I really only needed to figure out how to use those 2 statements. I gained a lot more confidence. Now whenever thoughts crept into my head like:
"Maybe you're just dumb"
or
"Maybe you aren't meant to learn how to code"
I would focus on learning how to understand for loops better. Since I am a very visual learner, I would take little pieces of paper and write a variable name on them. I would them make another piece of paper and call it array. I would then manually try to walk through what was happening with the data instead of trying to keep it all in my head.
The good news is after a week or so of doing this, I started to get it. Finally it clicked and I realized that I was way over thinking how loops work. Loops aren't magic, they are actually really simple. Even when you throw in a double nested loop, I would simplly print out what was happening at each step of the loop.
Yes, nested loops aren't the best. Yes you probably should use a for each iterator instead of a for loop. For me though, once I understood how loops work, I realized how much I could do with just a simple for loop and some if else statements.
Whenever I had some code logic that wasn't acting as I thought it should I would just look at this:
That's all I would do. I slowly started solving coding challenges. I started to gain a little more confidence. Yes my code looked like crap, but I wasn't giving up on learning how to code.
After focusing on using only 2 simple statements to solve coding challenges. I decided not to stress about feeling the need to use more complicated data structures. Instead I tried solving as many problems as I could using only arrays. I didn't care what the problem was, I first tried to solve it using an array.
Dumb I know, but for me that's how I started to realize that I did in fact need more of what the language had to offer. Instead of reading a massive book and freaking out about: linked lists, hash maps, dictionaries etc. My mind was now eager to see what else in the language could help me solve a coding challenge easier.
Then I discovered underscore.js, lodash.js, and recently ramda.js libraries. How do you use a library? How do you use a REPL to run Javascript? What is a REPL? Coding is no longer scary to me, it's still hard, but fun :-)
I strongly encourage you, whether you've been painting houses your whole life, are a CS college drop out, or in my case were shoeing horses for 8 years. Don't compare yourself to others, you can learn this stuff. Learn in such a way that your mind looks forward to solving coding challenges instead of dreading them.
I'm on step 6 of 6,327 steps to becoming a senior developer one day, but that's ok! Progress is progress, my motto is: keep it fun, never give up and you will learn how to code!
Keep coding peeps!
P.S. Let me know if you'd like more "how to" style blog posts. I have lots to write, but I want to write things that will benefit people who are starting out on the path of learning how to code. Comment below or email me :-)
Saturday, February 14, 2015
My rebuttal to: "Why learning to code is so darn hard!"
I mean no disrespect to Erik Trautman, or to any of the fine work he has been doing with the Odin Project. But I seriously disagree with his piece that is going around the internet about why coding is so hard to learn.
The article has some cool graphs and some interesting points, but all in all it left me with a very negative taste in my mouth. I think it paints a very discouraging picture in the minds of all people who are thinking about learning how to code.
I'll acknowledge that coding can be very hard and discouraging at times, but it gets better and better as you progress. I think if you are learning how to code, you should start with why? If you read online somewhere that you can learn to code and 8 weeks from now you'll be making $100K, well then yes, you are in for a very tough frustrating time learning how to code.
Do you enjoy learning? If you are like one of my siblings who's only goal in life is to get a good job where he doesn't have to keep learning new things, then learning how to code is going to suck!
If on the other hand you absolutely love learning new bits of knowledge, making even slow progress then coding is going to be a blast!!!
The truth is that anything that is worth something takes effort, learning to code is no different. If the thought of getting stuck on a coding challenge scares you and makes you want to quit, than I dare say most of life itself is going to suck. Learning to code is like learning anything new, take drawing for example. When I was 19 I auditioned and got hired to be a caricature artist at a major theme park. My artwork was not as good as some of the other artists who had been drawing professionally for the past 10 years. So what? I didn't dwell on that fact, or the fact that I had 26 people rejected my caricature drawings that Summer. I loved drawing and I loved seeing my hand eye coordination improve and my artwork. By the end of the Summer I could draw a Caricature sketch of someone in full color in less then 4 minutes!
So if you are a "take the easy path at all costs" then yes, run for the hills coding will suck. If you enjoy learning, you will have many opportunities to learn everyday!
A couple of things to keep in mind:
We all learn differently: If something is not working for you and you are getting frustrated, then stop! Try another way of learning. Some people like tutorials, some people like reading books and doing the exercises at the end of the chapter. Other people like trying to make a web app and learn as they go.
Take the pressure off: 3 years ago I could hardly text or send emails, I've made a lot of progress since then! However if you compare me to someone else my age who has been coding since they were in 5th grade than I am a total failure! Don't worry about anyone else, if they are further along than you are. You are in charge of your future so focus on what you are doing not someone else.
Any progress is progress! As long as everyday you open your laptop and try to learn and get just 1% better with learning how to code, you will make it eventually! A lot of the people that say they learned to code in 8 weeks, really had been "dabbling" with coding for a little while. If you are truly brand new to learning how to code, it is going to take some time. If you enjoy learning that's no big deal, make small steps of progress everyday that's all that matters!
Struggling is beautiful and necessary! A lot of people try to scare you into thinking, you absolutely must go to a boot camp in order to learn how to code. The truth is that no matter where you go, your brain is going to have to work, and work hard to learn lots of new things. The beauty of learning on your own is that when you are one day hired at a company. If your boss makes a mandate that the dev team will be switching to ractive.js. You won't freak out, you will have the confidence to be able to learn something new on your own. The other benefit of struggling to solve coding related issues on your own, is the fact that you will never forget the lessons you learn. This isn't a horse race, savor the moment and enjoy the learning process!
Getting hired is ultimately up to you: No one can get you hired except you. No one can hold your hand in an interview and give you the answers. I failed my interview at the company I first got hired at. They hired me because I admitted I didn't know the answer but I could "Google" the question and get them the answer. I failed 7 of the 8 interviews till I landed the job I have today. You can learn to code on your own and get hired, every year it will get easier and easier as there are more and more job openings as the demand for developers increases. Boot camps have a network so what, you can make your own network like I do in the next point.
Teach at local meet up groups: The best way to learn something is to teach it. The best way to get hired as a junior self taught developer, is to speak at local meet up groups. Kill 2 birds with 1 stone! I just gave a talk at the Arlington Ruby meet up group on Thursday about making a basic Ruby scraper. I was shaking like a leaf and this is the 6th or 7th talk that I've given like this to local meet up groups. Companies respect someone who has the courage to speak in front of 40 - 80 other developers and share what they know. When I was first trying to get hired I spoke at local meet up groups 4 times. Each time I had people come up to me about possible job opportunities. That's how I recommend getting interviews if you are a young self taught developer.
Don't let fear make your decisions for you! You will never know all of the answers and you will be ignorant in 90% of subjects your whole life. If that bothers you, then life bothers you. Coding is not the problem, gain joy from solving even the smallest coding challenges. Use the momentum to drive your learning forward. There will be dips in the road to learning how to code, so make an online coding group. Pair program with a friend when you get really stuck and can't go on without help.
My advice to people who want to learn how to code is first know your "why" and then never give up on the journey! The more you learn the easier it will get, eventually you will have lots of little coding knowledge hooks in your brain. Little things you've picked up about coding, one day you will notice something coding related will come easier to you. That's how learning to code goes 2 steps forward 1 step back, it's fun!
Don't make a ridiculous goal of making $100K 8 weeks after writing your first "hello world" script.
The key to learning how to code is really quite simple, it's not cramming or studying 16 hours a day. It's finding joy in the learning process. I still get happy when I can remove even 1 line of code and make some code I've written cleaner. I love getting something right the first time, I also like getting something right the 10th time too. Seriously people new to learning how to code, should focus on having fun during the process and less on time lines and getting everything perfect.
Keep coding peeps! :-D
Tuesday, February 3, 2015
Starting Free Code Camp!!!
Hey peeps! I told you I was going to blog every week and I am keeping my word :-D I am finally starting Free Code Camp in earnest!
I recently read a book: “Life Is So Good.” The true story of George Dawson the grandson of a slave, who finally learned to read at age 98. His story is remarkable and inspiring in so many ways. One of the great takeaways I got out of the book, was his positive frame of mind. George's dad witnessed some horrific things in the early 1900s, but what I loved was the positive quote he would tell George whenever they were experiencing hardships such as a drought on the farm:
“Son, I do believe things are getting better for us!”
I'm not comparing myself to George or his dad at all. I have never experienced hardships like they did. However I love the quote and the way George's dad viewed the world. Ever since getting out of shoeing my life has gotten better and easier in so many ways. When I was learning to code and I got discouraged I would read some Proverbs in the Bible or watch the Will Smith movie: "The Pursuit Of Happiness", to get me in a more positive frame of mind. I love holding true stories in my mind so I can think back on them whenever I feel overwhelmed or discouraged. If you've never read George Dawson's book I highly recommend it!
On another note, I have to admit I always used to be a little envious of the people who would email me and say that their parents were paying for them to go to a coding bootcamp. I knew if given the chance I would have learned way faster in a bootcamp setting, and wished I could have had that opportunity to go. What’s amazing though is now with Free Code Camp and their online chat room. Everyone now has virtually a $15K coding bootcamp simply by going to Free Code Camp for free!
Since starting Free Code Camp this week, I can’t believe how much I have learned and how awesome the program is. I didn't get stuck or need to ask anyone for help because I have a decent amount of experience with Css. Most of the beginning course challenges are using Html and Css. It's reassuring to know that I can ask for help if I need to!
If you haven’t started the course yet, DON'T delay!!! I am shocked at how much easier it is to learn to code and actually get a job after the training. This experience is what reminded me of George Dawson's dad's quote. I thought to myself about beginner's who are just starting out on the path of learning to code: "Yes, I do believe things are getting better!"
Okay, enough chatting I need to get back to studying, I just got the kiddos to finally fall asleep! I’m burning the midnight oil studying at night and on the weekends. My life right now is pretty much work, family time, code, repeat. That's recursion in a nutshell... :-)
P.S. If you are in this neck of the woods, come on by and see me give a little presentation at Arlington Ruby on February 11th!
P.S.S. I thought I'd show you my progress on Free Code Camp so far:
Sunday, January 25, 2015
Free Code Camp
Wow! I forgot how crazy it is when you start a new job and have to learn a million new things :-)
I feel like I am in a much better place now with stress levels and the new job. I have so much to share and I have really missed writing on this blog. My new goal is to write a blog post once per week.
It's amazing how learning to code options have changed in less then 3 years. I remember people saying that I couldn't get hired without a degree back then, now there are so many stories online of people who have done just that.
Today I can't even keep up with all of the free or paid high quality bootcamps that teach you how to code. On that note I wanted to share with you what I believe to be the best coding bootcamp option for people who are new to learning how to code:
FREE CODE CAMP!!!
I still get emails every week asking if they should spend $15K+ to go to a coding bootcamp. To help answer that question, I think we need to make a new distinction between 2 different types of people who are learning how to code:
GROUP 1 = "Amateur Coders"
The first group of people I will call "amateur coders" meaning they have played around with code since they were teens. They may even already have a job in the IT field but are not full blown developers. They probably grew up loving to solve logic puzzles and their middle name could be math :-)
GROUP 2 = "Blue Collar Coders"
The second group of people I will call "blue collar coders". I originally fell into this category as well. This group may have never been exposed to computers much at all. Emailing and texting is about as computer savvy as they get. For some unknown reason they finally decided that their chosen profession:
( construction, painting, retail, horseshoeing <you name it> )
is no longer what they want to do anymore. They have decided to learn to code and are striking out on the path no matter what!
Here's the deal, if you are in Group 1, you really just need a little more "spit and polish" to get hired. Make a sample coding portfolio, brush up your resume, shake some hands at a local coding meetup group. Presto! you are hired. This group of people is highly technically savvy but may not think they are good enough to actually get paid to write code for a living. If you are in Group 1 you could possibly benefit from going to an expensive coding bootcamp. Places like Hack Reactor or other similar coding bootcamps. The upfront costs may be worth it because you will come out being better polished and commanding a higher salary.
Group 2 on the other hand who is still struggling with how to open the terminal and wondering what a terminal is. You have a much longer road to go on. Group 2 probably has have never seen an "if statement" before. Remember this is the group that I started from. The good news is that you can learn to code and get hired at a company, it will just take longer. Don't believe the hype that if you pay the $15K to a bootcamp then you will magically become a developer in 3 months. If you've never written any code before in your life, it will take a long time to actually become a software developer. One of the problems I had early on was telling people that I was a beginner at coding. People started thinking I was better then I really was. I wasn't lying, I didn't realize there were 2 groups. The painful truth was I was actually a group 1 which is not even listed on the coding abilities chart :-)
Group 1 you are free to go to bootcamps if you want to and can afford too.
Group 2 don't waste your money!!! I receive email after email of people who still can't code, and can't get hired after paying thousands to attend a bootcamp. The good news is there's really no need to pay for a bootcamp anymore. Free Code Camp is a self paced online coding bootcamp that teaches you how to become a front end Javascript developer. Work at your own pace, no need to code 16 hours a day like at paid bootcamps. There is a chat room filled with lots of like minded helpful people trying to do the same thing as you.
I love Ruby and think it's easier to learn than Javascript as a beginner. One of the problems people have when applying for a Ruby on Rails job is companies assume they already know Javascript. I honestly think Ruby on Rails is awesome, but I think it is probably easier to land a front end development job first. After a year or two work your way into a Ruby on Rails role. If I had to learn to code today and try to get hired 5 - 8 months later, I would personally do the Free Code Camp.
Yes, there are many other options with learning how to code too many in fact! I've mentioned Epicodus before and I still like their program. I do think for people in the Group 1 catagroey, Epicodus ramps up the coding logic requirements too fast to do on your own. Free Code Camp seems to make a smoother transition from beginner to professional. I have not taken Free Code Camp, but I would love to and still may in the future.
Right now everything is changing so fast in the learn to code arena. People are getting frozen by analysis paralysis, stuck because of having too many choices. I say avoid the paid bootcamp bubble and learn on your own at your own pace. You can get a job 4 months from now or 2 years from now, it's up to you.
The bottom line though is that we all have many more options than ever. This is great, but don't allow all of these amazing options to confuse you or slow you down. One of the reasons I plan on blogging weekly is to help you navigate the learning to code scence. I think I can really help people learning how to code more than ever :-)
Keep coding peeps!
NOTE: I have an update review on Free Code Camp which can be found here: Updated Free Code Camp Review
Follow Me
POPULAR POSTS
-
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...
-
Some things about development are not taught in college, some things about development are not even taught on the job. Some things you are j...




