Ambitions Bared, Be Prepared
Quite a few visual and functional changes have occurred in the past week. If you remember, this page didn’t do much except show my blog post. Going to my homepage was even worse, since all it contained was “Welcome to my new website” and a few social media links. Also, you couldn’t navigate to my blog posts from my homepage.
Now, it’s all much prettier. My blog posts are archived right on the homepage. The page is divided up into Header, Body, and Footer. The Footer has all of my social media links as well as a way to email me.
All this has been possible through my (slightly) deeper understanding of Jekyll. I didn’t really design any of this, I simply read through every guide to Jekyll that I could find and let the program do what it’s supposed to do. You see, when you activate Jekyll in your website’s source folder, It comes with a built in template and theme. The CSS is already written, the layouts are already created. All that is needed is to plug in my personal information and push it to GitHub. Jekyll works its magic by turning my markdown file into a blog post in HTML. It uses the CSS files to make sure the font is the right color and size and in the right location, provides the Header and Footer, and voila! Website. I didn’t have to do anything else.
I take that back. I did design the layout of the social icons in the Footer, but really I just found the CSS code for what was there in the template and rewrote it to better suit my needs. Where once there were 2 columns, now there are 8! Of course, once Dev BootCamp starts, this entire site will see lots and lots of changes, but except for adding a weekly blog, I think I’ll leave it alone for now.
Speaking of the social icons, Some may go away or change. The obvious ones will stay, namely Mail, LinkedIn, and GitHub. I’m told Twitter is a huge asset for developers, so that’s in. That leaves Facebook, which I only reactivated last month, and Google Plus, which I activated for the very first time last week. These icons stay because they’ll both be vitally important during Dev BootCamp. The last two, Pinterest and iCloud, are a bit of personalization on my part. I wouldn’t call myself a heavy Pinterest user, but I created a board called Coding/Programming which has housed all of the programming-related links that I’ve found in the past few months. Some of them are just fun (change the blinking speed of your cursor!) while some have been extremely useful to me as I fall deeper down the rabbit hole. There are language cheat sheets, guides to what programming language to learn and how to get started, suggestions for the best text editor, the list goes on. Check it out. I add to it as often as I can. Lastly, the iCloud icon links to my shared Photo Stream of my son and (soon to be born) daughter. We’re constantly posting photos of him being cute or ridiculous or messy, etc. I like looking at it. Maybe you will, too.
I mentioned earlier that I read everything I could find on Jekyll. I should clarify that a bit. I mean that I literally read every single bit of information I could find on Jekyll. All of it. In Google, I searched for “Jekyll,” “Idiot’s Guide to Jekyll,” “Dummy’s Guide…,” “Beginner’s Guide…,” etc. From those searches, I found the links that made the most sense, read them and followed along, then systematically went through links from those sites to other guides. That certainly doesn’t mean that I know all that there is to know about Jekyll, but I have a much better understanding of it than I did last week. And doing that much searching, reading, and practicing is how I’m going to prepare for Dev BootCamp.
Which brings us to the real topic of this post. It only took 6 non-sequitur paragraphs, but let’s talk about how to prepare for Dev BootCamp. Man, there are so many places to look for that answer. Google brings up links to DBC alumni blogs, DBC internal FAQ pages, a Quora answer, a Yahoo! answer, and a few other similar pages. My only issue with what all of these sites said is that none of them contained explicit directions on exactly how to prepare. I’m a Concrete learner, and though I’ll be writing more about what that entails much later, it basically means that I thrive on structure and a solid set of instructions. I’m not a practicing Catholic, but if 5 “Hail Mary’s” and 2 “Our Father’s” == sin forgiveness, that’s a set of instructions I can follow. But what was the answer to preparing for Dev BootCamp?
I decided to ask Facebook. After being accepted into DBC, I was invited to join a help group. Current, past, and future students can post just about any kind of question relating to the program, or to programming. Most questions are about the usefulness of a certain application, whether a particular service is worth the investment, or suggestions for fixing some buggy code. I asked the recent graduates and current boots what they did to prepare (or wish they had done). The answers came rolling in. And it was beautiful.
6 mentions of HTML/CSS, 6 of Ruby, 8 of Javascript, 4 of GitHub, and several other suggestions, including repeated endorsements of particular books (POODR being the most popular). Oddly enough, some folks said they wished they’d read more, while others said to focus more on coding than reading. Neither suggestion was wrong, since each person has their own learning style that suits them. Either way, most of these suggestions came with particular directions and resources on how to go about learning these topics, which made all of the information even better. I now had a foundation to build my learning.
I took everything from the Facebook post, from the previous Google search, from DBC’s website, from all the DBC alumni blogs I could find, and from my own previous learning and made a nice big pile. If you could see the number of browser windows I have open right now, you’d either be impressed, concerned, frightened, or overwhelmed. I even have it all grouped by topic, from Javascript to Command Line to Sublime text editor to Design elements to understanding SQL. And on and on and on. Over 130 websites. And that’s not even every useful guide out there, it’s just what’s been suggested to me. There’s so much information and there’s no way I’ll get through it all, but man, it makes me happy to know that so much exists to help me make sense of this new world.
I mentioned my previous learning. It isn’t much, but I’ve had the opportunity to learn a few tricks through some great sites out there. Without further ado, Here are some that get my stamp of approval:
Code Academy is completely free. Definitely a great place to start. They go through all of the fundamentals and teach you to build something from the ground up. I’ve already gone through their tracks for HTML/CSS, Javascript, and Ruby.
Treehouse is not free, but good lord is there a lot of information. If the coding language exists, it’ll likely have a tutorial on Treehouse. My only issue is that it’s mostly videos that you follow along with. I’d rather be given the instructions, then given a task or project to figure out by myself. Still extremely useful for getting a better understanding. Provides very deep instruction, which is why I’m still in the middle of the Ruby track. I’ll definitely be going back here to get a better handle on Javascript.
Learn Code the Hard Way is kind of fun. It’s a book on a webpage, so you’re following along and running the tests yourself. I like that it teaches you not only how to code, but how to find the answer to a particular problem. Several tutorials exist, including Ruby, Javascript, SQL, and others.
For games to sharpen your coding mind, I definitely recommend Coderbyte and Project Euler. Each allows you to choose your own programming language and find the answer to a particular set of problems. You can then share your answer with the community and learn how to improve your code based on the submissions of others.
As for books, you can’t ask for better Ruby beginner books than Chris Pine’s ‘Learn to Program’ and Why’s ‘Poignant Guide to Ruby,’ the latter definitely being a much more surreal take on learning.
These tools will not make you a pro. In fact, they’ll barely make you a beginner. I’ve been trying to teach myself for the past few months using these materials and countless more and I wouldn’t even be classified as a novice. Thankfully, that’s where Dev BootCamp comes in. They would have no interest in me if I were already a professional coder. They want me to be a beginner. Like an actual bootcamp, all I need to bring is myself and my willingness to be broken down, then molded into a world class programmer.
But I’ll be damned if I’m going to let myself go into this with both eyes closed. For the next 6 weeks, I will be devouring as much as I can from all of the information that I’ve culled.
My name is Edwin, and I’m not a developer. But I’m going to be.