Getting stuck is the hardest thing about learning computer programming.
While working my way through Free Code Camp, I was stuck on the Random Quote Generator project. It’s part of their intermediate front end development certification.
Luckily, I had been applying to Hack Reactor and was conditionally accepted as soon as I completed the Pre-course Accept (PCA) program. While working through the PCA program with a big group of Hack Reactor people, we had the same project as Free Code Camp. We were to build a random quote generator.
Heres the thing… the quotes are really funny. How could this be more useful?
It’s pretty clear that the random quotes were crafted by people who started the schools. The folks who came up with the first Hack Reactor curriculum.
So I wrote a short click to tweet algorithm and generated the quotes so they were easily shared on twitter. Now, anyone who wants to spam the founders of hack reactor with random quotes can do it with ease.
This is just for fun of course. A little mischievous fun on the internets. Despite the fact that I didn’t end up attending Hack Reactor, my experience learning with them for the PCA portion of the bootcamp was excellent.
I was dismissed from App Academy for failing all my exams on the 28th of November 2016. Ugh…
I am writing to inform you that due to your performance on the retake assessment it is our obligation to dismiss you from the course.
– App Academy
I tried as hard as I could to get good and pass the tests, but it wasn’t good enough.
After two retakes on the first two tests, I could never get the correct results on more than 85% of the specifications. Without exception, I found myself at the bottom of the class.
It really hurts, but I feel like it’s actually for the best. After the fourth examination, I wrote an email to my pod leader and let her know that I was leaving the building to save them the headache of asking me to leave. The last two weeks of my life had been spent in that classroom from 8:30 A.M. to 6:30 P.M.
For the next four hours I walked around San Francisco as my mood fluctuated between devastated defeat to excitement for a new chapter. It kept going back and forth. Now a few days later, I’m comfortable with it all. Here’s what I learned.
Things I Learned:
A LOT about Programming
App Academy (and Hack Reactor*) are excellent schools. They boil down the learning process and teach a lot of very challenging concepts quickly. Even though I’m happy I’m no longer attending a bootcamp, I wouldn’t tell anyone not to do them. They are great. I just wasn’t the right fit.
Office Life is Not for Me
My body started deteriorating in the first two weeks. Since being dismissed, five days have passed and I’ve gone to CrossFit three times. I’m back to feeling strong and healthy. The first day back, I was in very sad condition.
Since being dismissed I’ve spent the day outside, I’ve gone to movies in the middle of the day and I’ve taken sales calls whenever I wanted to. It was great to have this freedom locked up for a pair of weeks so I could reconnect with the value of freedom.
My Current Position is Great
So my friends and I run a podcast production company where we are very free to do work we care about while traveling the world and never stepping foot in an office.
Spending two weeks in an office learning very dense material helped me to realize that I loved the position we have built for ourselves at Freedom Podcasting. Before the class, I had a magical view of working in a tall sky-scraping building with people that are highly sought after. After two weeks in App Academy, I’m happy to not be in an office anymore.
Programming Skills are Hard to Learn
On my last day at a/A we learned SQL in a day. It’s impressive that a/A has such an intense learning curve, but I feel like I’m happy to slow down a little bit and learn these skills at a deeper level.
Gender Neutral Bathrooms?
I’m not a big fan of gender neutral bathrooms or announcing our gender pronouns as a new way of communication.
I’m skeptical about organizations where social/political initiatives are institutionally forcing people to speak in a specific way. There was a great podcast with Jordan Peterson where he discusses the dangers of this movement.
I’m really sad I failed out. But I’m going to spend my time going to programming conferences, learning different technologies, lifting weights and growing Freedom Podcasting.
App Academy is an excellent program. It was just too intense for me at this point in my life.
Thank you for the run a/A -> Keep up the great work.
“In order to understand recursion, you must first understand recursion.” – Source Unknown
SPOILER ALERT: If you’re an App Academy student, the answers are listed in this blog post so don’t read any further if you want to develop answers on your own.
How it Clicked For Me
The key to understanding recursion is to get the base case.
To find the base case, define the easiest result.
Then think about the second easiest result.
As soon as you can get the first, second and third value, you have the solution for infinity.
It’s important to focus on the simplest case because when learning recursion, your mind can wander in the possibilities.
In the subsets example one can find a lot of strange patters when looking at all the subsets. Things like:
Could we work on this based on array length?
Is there a pattern in the order?
Perhaps we could shuffle the arrays and ask if they are in the range?
These sorts of thoughts can go for infinity. I think this is what recursion is seen as such a challenging thing. There is a lot of room for thinkers to develop ideas that get more and more complex as the program gets longer.
In the end, recursion will win.
Let’s start with the easiest implementation to understand, factorial.
For most of 2016, I was working hard to learn the needed coding skills to pass the technical interviews. My goal was to get accepted to the top programming bootcamps in San Francisco.
In July of 2016, I applied to MakerSquare, Hack Reactor and App Academy.
I was accepted into Hack Reactor and App Academy, both of which are considered very challenging schools to get into.
After a lot of deliberation I chose to be a part of the November, 2016 cohort at App Academy.
At the time of writing this, I have 2 months until the start of the cohort so I want to spend the time teaching others how I think about the technical challenges and provide material to speed the skill acquisition of future aspiring programmers.
There are a lot of tools to get hung up on. If you follow along with the video course, you can skip that.
In this course we will use Node and a simple text editor. Both are easy installs.
Programmers are crazy about their tools and that is a good thing. We’re learning the basics so we don’t need the fancy stuff. Fancy tools will actually hurt you during your coding interview because they become a crutch.
During many interviews, you won’t be able to run your code or write in an editor that gives you hints on syntax. We’re doing this spartan style so you have the core ability to pass the technical interview no matter what tools they ask you to program in.
One day in July, I decided I had studied enough. It was time to apply to my top coding bootcamps. After a handful of technical interviews, I had two acceptance letters from my two top-choice schools. It was a very nice feeling.
The hard part was deciding between Hack Reactor and App Academy. Both are great schools. In the end, it was App Academy’s tuition model, and the fact that I had already organized housing in the bay area for the App Academy cohort. If I were to do Hack Reactor, I would be forced to find a place to live in San Francisco for two months before my other housing would available.
It would cost me about $10,000 USD more upfront to go to Hack Reactor than App Academy. That was a deciding factor.
Both schools have excellent reputations. It’s an honor to be accepted to their programs. I did work really hard at it before hand.
Before Starting Coding Bootcamp
I’ll be headed to App Academy on November 14th, 2016. Here is what I plan to accomplish before then.
The most surprising thing to me is how deep the rabbit hole goes. Each day I’m encountering new programs like vim, nano, git and more. I’m constantly stuck on blank black screens Googleing how to quit and save the file I made with almost no edits to it. It’s like crawling across the desert and repeatedly finding that you’re stuck behind a wall.
The list of material is pretty massive so I’ve just been heads down working my tail off with every second I have.