How To Create Your Own Coding “Bootcamp”

Coding bootcamps and courses are extraordinary investments of one’s time and money; understandably, not everybody can attend one. For this reason, some people choose to learn how to code from home at their own pace. I think that’s an incredibly wise move. Even though I completed the first part of DevBootcamp’s full-stack program (I had to leave halfway due to health issues) and then subsequently finished Thinkful’s Front-End Development course, I 100% believe you can learn this stuff by yourself without the hefty price tag.

While it’s hard to completely replicate the type of environment a bootcamp or a course offers, there are many ways to mimic it by yourself. Looking back, I realized these were some of the most useful parts of the bootcamp experience for me: one-on-one mentorship/tutoring, community, and a structured curriculum. I wish I’d known then there are ways to have all that without the financial baggage! Thankfully, I do now and am using the following resources to learn even more by myself for now. Here are a few ways to experience all three factors yourself either completely for free, or at a relatively very low cost:

A) Mentorship:

Screen Shot 2017-08-22 at 9.15.47 PM

I think arguably the reason many attend courses or bootcamps is for the one-on-one assistance. As a beginner, it can be incredibly overwhelming when you’ve been stuck on a tutorial for hours. It’s important to try to figure it out by yourself, but there comes a time when it just becomes counterproductive. Or let’s say you do “fix” it, but then later on your entire code breaks — and you realize it’s because you didn’t really fix the problem properly in the first place! I get it, I’ve been there — heck, I’m still there! Mentors/teachers can “rescue” you when you’re stuck and help you understand the bigger picture you’re not grasping, teaching you best practices along the way. They can also be great for code reviews, spotting troublesome areas before they become bad habits.

So how do you get one-on-one “tutoring” when you’re trying to learn at home by yourself? Here are a few websites that actually connect you directly to teachers/developers who, for a fee, can help when you need them. Use all of them:

1. CodeMentor: Fees range all over the place, from $10/15 minutes to $30/15 minutes, many offering immediate help through an online session via the likes of Google Hangouts. That’s chump change when compared to a $10,000+ bootcamp tuition. They also offer offline assistance for small projects. That could be useful for a code review, for example. Also, just a side note: check out their blog posts. They’re pretty engaging reads and oftentimes very useful.

2. Wyzant: Fees here also vary from $20/hour to $70/hour. You can schedule a one-on-one online session or meet in-person, but I don’t think you’ll get immediate help so-to-speak. This is still a really great option for tutoring and code reviews.

3. Craigslist: At one point, I posted an ad for a tutor here. I didn’t end up needing one at the time, but I got some incredible responses from experienced developers (one was a teacher at HackReactor) for very reasonable rates! You can negotiate the price and how often you meet with them personally. Definitely worth a shot.

B) Structured Curriculum:

Screen Shot 2017-08-24 at 1.29.26 PM.png

There a ton of online resources out there you can use to guide and structure your learning. It would probably take me a couple of days to list out each one, so here are just a few:

  1. FreeCodeCamp: They offer a curriculum like Thinkful’s with similar projects for free. At the end, you contribute towards a non-profit, giving you real-world experience while giving back. I’ve often used it and will continue to in the future.
  2. Codeacademy: This is a very popular free resource I have found helpful and used to complement my learning while at Thinkful and DevBootcamp.
  3. Treehouse: I haven’t actually used this one yet, and you do pay a fee, but I have heard some incredible things. I definitely plan on using it very soon.
  4. Sites like Udemy offer some courses. Again, I haven’t tried these (well, not to learn web development) but I’ve looked through a few and they seem pretty solid. I have also heard good things about some of them, although not all. Make sure you do some online research on the teacher or specific course before you take one.

C) Network/Community:

Screen Shot 2017-08-24 at 1.22.58 PM.png

Something I loved about DevBootcamp was the emphasis on pairing with others while working on challenges. But that’s kind of hard to do when, you know, it’s just you and a screen. It can also be isolating learning by yourself and hard to network. Although I am still doing some research on this one, I have found a few ways around this so far:

1. Social Media Groups: Free Code Camp actually has quite a few Facebook pages for various cities worldwide. They can be pretty big too. Members post about events, ask/answer questions, and share hilarious cat memes. I would definitely join one, even if you don’t use Free Code Camp much.

I’ve also noticed some inexpensive programs offered through Udemy/Treehouse have their own social media groups or Slack channels. Definitely take advantage of those, or maybe even make one yourself. Thinkful didn’t have one so I created two private Facebook groups for students and alumni. It took a like a couple of minutes and was super easy.

2. MeetUps: Many cities offer events where you can meet and work with other developers. Great way to connect with people in-person.

3. Obviously, I have to include Stack Overflow, the site for developers. Great place to ask questions and learn while answering them.

Like I said, you can’t 100 percent replicate the bootcamp environment; the career assistance (Thinkful’s Full-Stack offers 100% tuition if you don’t get a job!), for one thing, is hard to mimic as is the immersive, demanding environment. But if you can’t attend one, you’re not totally missing out and can definitely create your own “bootcamp” of sorts that is very similar.

Good luck with the coding!

(By the way, even if you’ve already attended a bootcamp/course, definitely check out a few of the above links! I am using them all to learn even more. I’ll keep adding to this list over the next few days as I’m also using this post for my own reference.)

Advertisements

Setting Up My WordPress.org Website

screen-shot-2017-08-25-at-7-21-33-pm-e1503714213941.png
Photo Credit: ThemeForest

I’ve just set-up the WordPress.org website for my online magazine and I’m ecstatic. While of course there’s no content uploaded yet, it’s one thing to dream about something and quite another to actually see it start to come to fruition! At the moment, I prefer to keep details of the project quiet, but I will certainly divulge more later.

For now, though, I wanted to discuss the technical aspects of actually setting up the site. There are a couple of things I noticed that, for a beginner, might be confusing at first. That worried me a bit. I believe the hardest part in anything is simply starting. Setting up your website, it’s easy to give up at the first hurdle and experience overwhelming existential angst (“why isn’t my theme uploading on WordPress.com!? What am I doing with my life!? Who am I!? Why am I!? Where’s the chocolate!? ARGH!”).

iStock-505671312-750x716
Photo Credit: IStock/VasjaKoman via The Memo

After you’ve finally worked up the nerve to start your own project, whatever it may be, that would certainly be a shame.

That’s why I wanted to write this post. I really think after you have something set up that you can just see, everything else becomes so much easier. So here are a couple of notes I made on the very first few steps that I believe could turn into obstacles along the way:

1. WordPress.com vs WordPress.org

Screen Shot 2017-08-25 at 7.11.47 PM

These are two different websites founded by the same guy, but just with different names. Yes, I agree, they could have probably alleviated a lot of headaches by differentiating the two more clearly, but what are you going to do? It’s important for you to understand this before you purchase any themes or even a host. This knowledge will help you determine: 1) where to buy your theme and 2) if you even need a host.

Right now, I am writing on the free WordPress.com site that WordPress hosts because I am cheap like that. On WordPress.org, however, you’re self-hosted which gives you a lot more control over your website. For example, you can install Google Analytics, which is one of the many reasons businesses use it.

Now, if you’re just blogging for friends and family, it might be easier to use WordPress.com. You’ll get everything you need without the price tag, unless you purchase one of WordPress.com’s themes or a domain — even that, it might work out cheaper. (What does it mean to buy a domain and why would I want to do that? Good question! Buying a domain basically means getting rid of the “wordpress” in your URL. So instead of sheenavasani.wordpress.com, this blog would be sheenavasani.com if Sheena wasn't so stingy.)

2. Research And Find A Host First, Then Install WordPress.Org

If you choose to use WordPress.org, you cannot use it unless you buy a plan through a host like Bluehost or GoDaddy, and then install the WordPress.org software. On Bluehost, this is as easy as literally clicking “Install WordPress”, although it can be a little more tricky with other hosts. You may need to download directly from the WordPress.org website and follow their instructions.

There are a ton of posts out there comparing hosts. (Whoop, I rhymed!) Here are just a few:

  1. PC Magazine
  2. Who Is Hosting This?
  3. Website Setup

3. Choosing A Theme:

On both WordPress websites, you can choose free or premium themes. Here’s the thing though: if you’ve bought a theme from a third-party, you cannot install it on your WordPress.com website. You will only be allowed to upload that theme after you’ve downloaded the WordPress.org software.

What this means is that, after you buy a theme, all you need to do is click on “Themes” (I know, I know, if I had a penny every time I wrote the word “theme”…) in your WordPress.org administrative website. At the very top, you will read something like “Upload” which is where you will  upload your theme’s files. Make sure you install the right ones! On ThemeForest, a very reputable third-party, that means to upload “Installable WordPress file only”.

Screen Shot 2017-08-25 at 7.04.49 PM

Like with hosts, there are a lot of great pieces out there about themes. I bought the “Voice Theme” from ThemeForest, which I love. I learned about it while reading an article over at ColorLib.com.

So there you go! I’m sure there are a lot more things I could write, and if I think of them, I’ll be sure to update this post. In the meantime, good luck with your endeavors!

Javascript And Ruby

Screen Shot 2017-08-25 at 4.22.05 PM

Ruby On Rails was the first programming language I was exposed to, and looking back, I am glad it was. I think it helped that it heavily uses English in a way that a newbie can understand, so it made learning to code less intimidating. However, it also means when it was time to learn my second language, Javascript, I recall staring dumbfounded at the screen thinking one thing only: “WHAT THE F*** KIND OF AN ALIEN LANGUAGE IS THIS!?!?!”

Thankfully, my relationship with Javascript improved when I tinkered about with my first Javascript challenge: reversing a string. Before working on the program, I sat down and compared Ruby syntax with Javascript to make a note of the similarities and differences. That was a life-saver! Here is the first batch of just some observations I made back then that really helped me break Javascript into something I could more easily grasp:

1. Variables: 

Javascript’s variables are just slightly longer than Ruby. In addition to the variable and the value, you also have to include”var” and a semi-colon (in fact, make sure you end every line in your program with a semi-colon) like so:

Ruby: 

best_pet = "cats"

Javascript:

var best_pet = "cats";

2. Debugging/Printing Variables and Interpolation:

Ruby: In Ruby, it’s all about good old”puts”. Also, to insert the variable in a string, we use interpolation:

puts "my cat is the #{best_pet}"

Javascript: In Javascript, we use console.log. After you declare a variable in Javascript, do not refer to that same variable with a var. Just refer to the name. Also, just an fyi: please be very careful not to include the variable in the preceding string! It’s a very easy typo to make, and one that has caused me tremendous existential angst in later programs:

console.log("my cat is the" + best_pet);

3. If/Else Statements:

Ruby: We’ve got the usual if/else/elsif conditional flow:

learning_to_code = true
human_being = true

if learning_to_code && human_being
   puts "You are awesome!"
elsif learning_to_code && !human_being 
   puts "Wha.....!!?"
end 

Javascript: Similar, but with an “else if” and some of the other syntactic differences pointed out already:

var learning_to_code = true;
var human_being = true;

if (learning_to_code && human_being) {console.log("You are awesome!");
}
else if (learning_to_code && !human_being) {console.log("Wha....!!?");
}

4. Functions/Methods:

Ruby: Javascript functions are Ruby’s methods:

def cat(name) 
 puts "Hello" + name.to_s
end

Javascript: And, of course, Ruby’s methods are Javascript’s functions:

function cat(name) {
return " Hello " + name
}

5. For Loops: 

I think loops look much less complicated in Ruby than in Javascript. Here’s what I mean:

Ruby:

"Meow".chars.each do |letter|
   puts letter
 end

Javascript:

var string = "Meow!";
for (var i = 0; i < string.length; i++) { 
   console.log(string[i]);
}

Web Development Samples

This page is currently under construction! In the meantime, here are two of just a couple of projects I’ve worked on:

1) Find Your State’s Best Medicaid Health Professionals:

19511613_10159122519230160_728831409903206951_n
This is a healthcare app I created from scratch to help low income individuals easily locate the best medical professionals. I used HTML/CSS, Javascript, JQuery, and AJAX:

2) ClearCase: 

Screen Shot 2017-08-27 at 12.17.25 PM


This is a website I created for a business whose clients includes the likes of Morgan Stanley and Yale Business School. I used HTML/CSS and various graphic design programs. I will soon add Javascript: http://clearca.se/


More to come soon