My Start to Finish Review of the Bloc Front-End Development Bootcamp

by Charles Sipe on January 27, 2015

This post was inspired by Patrick Jones’ extensive review of TeaLeaf Academy which details Patrick’s journey of learning Ruby on Rails. If you are interested in learning about Rails, I encourage you to check out his post.

I was fortunate to have been awarded a full scholarship at Bloc through their Veterans Program which awarded about a dozen full scholarships in 2014. If you are a military veteran, I strongly encourage you to apply for this. There are several coding bootcamps that offer partial scholarships to veterans, but Bloc is one of the few that generously offers full scholarships (update: currently Bloc is offering partial veteran scholarships).

I was previously enrolled in the HTML5, CSS3 & Responsive Design for Web Development program at University of Washington but I switched to Bloc when I was awarded the scholarship. The University of Washington offers some terrific web development certificate programs including JavaScript, Ruby, Android, and iOS. You can take the programs online and the price for each 9-month certificate program is about $3,000.

It has been my goal for about a year to become a front-end web developer and I am excited to be moving toward that goal. While it is possible to learn on your own, I think that having a mentor and focused curriculum can accelerate the learning process.

Pre-Work Week 1
The pre-work consists of the HTML/CSS course and the Javascript course of Codecademy.com.

The JavaScript course with Codecademy can be challenging if you are new to the language. A lot of the obstacles result from problems with syntax. However the hints and Q&A forum help you get unstuck very quickly. I’m starting to get comfortable with the JavaScript syntax including the different types of loops (for, do while, if/else). Understanding objects is one of the more challenging concepts to grasp for me. Codecademy is a great place to start for anyone learning to code because you are getting hands on practice and having to work through problems instead of just passively consuming information.

Week 1
Once the program starts you get access to the “roadmap” which consists of short tutorials to work through (called “checkpoints”). The first couple checkpoints have taken me about 30-60 minutes each and focus on a specific topic like the command line, the development environment, or Github.

I had my first mentor meeting where I had a chance to ask any questions that I had about my mentor and about the web development field. I learned that developers need a continuous learning mindset because a popular framework today may be irrelevant in a couple years. There is demand for junior developers despite the widespread growth of bootcamps and in particular it is difficult to find good JavaScript developers. The students who have been successful in this program tend to be individuals that go far beyond the minimum requirements and seek out additional learning opportunities.

In addition to Bloc, I’m using other online tools to learn more about JavaScript and CSS such as Treehouse, Lynda, and Code School. I like Treehouse and Code School because they are very interactive and you can practice writing code. Lynda is less interactive but they have a great Android app so the videos are really easy to access whenever you have spare time. I’m also reading Modern JavaScript by Larry Ulman and Javascript & jQuery by Jon Duckett which are both excellent. I’ve also heard great things about JavaScript the Good Parts by Douglas Crockford (h/t Starthere.fm).

This is an excellent talk by Mattan Griffel on how to learn to code. In it he talks about learning from multiple sources because sometimes one teacher’s explanation may stick better. I have found this approach helpful when learning concepts that I don’t understand right away like objects in JavaScript.

I also received a neat welcome package from the Bloc team with a hand written note, Starbucks card and some Bloc swag.

bloc-welcome-package

Week 2

I’m still working on setting up the development environment including a virtual environment using Vagrant. I also set up a Heroku account and deployed the practice application. I think setting up the development environment can be challenging but I haven’t run into any issues yet. I have some prior experience with Git, Github, and using the command line from the UW HTML and CSS certificate program so that has helped.

I think one of the hard things about learning to code is seeing the light at the end of the tunnel. Sometimes the goal seems so far away but it is a matter of just improving every day. I like what Travis Neilson from DevTips says about not thinking about how long it will take but how long you are willing to be uncomfortable.

I’ve noticed that there is some backlash to coding bootcamps in the web development community as evidenced by this Reddit thread. However the negative view of bootcamp grads is not shared by everyone and reputable code schools seem to have very high employment rates.

Week 3

I’m continuing to learn a lot by going through the tutorials and completing the assignments. I was stuck for a little bit because I cloned a folder of exercise files to my Vagrant virtual machine but the folder was not showing up in my local machine. After talking to my mentor, I took some steps back and realized that I cloned the files to the root directory in the virtual machine instead of /vagrant and that was causing the issue.

This week I read through some tutorials on JavaScript basics like strings and functions. This is mostly review but it was helpful to go through the exercises. I learned about Mocha tests which allow you to test whether the JavaScript code is producing the desired output.

mocha-test

It is great feeling when the Mocha test produces all green checkmarks.

I’ve also been watching a Lynda course titled Introduction to the JavaScript Language which is helping reinforce the fundamental concepts of JavaScript.

Week 4
I’ve been working through practice exercises for arrays, objects, and loops. Now things are getting more difficult and I’ve found myself stuck multiple times. Part of my stumbling around is due to an unfamiliarity with the JavaScript syntax. You have to get the syntax exactly right to work but sometimes you don’t know what exactly right looks like because you haven’t seen it before. Fortunately the struggle is where a lot of growth is taking place and your mentor is always available to help you when you can’t get unstuck on your own.

Sometimes you will feel like this:

Week 5
I’m continuing to work on practice exercises for loops which are challenging because I don’t have a solid grasp of the syntax yet. For example, an exercise may require writing a function where you are given an object argument and you need to transform the object into something else. This requires a lot of trial and error although you can always get help from your mentor if you are completely stuck. It’s almost like playing Smurfs on ColecoVision.

One thing that seems to helps me get some of the JavaScript syntax to stick is to watch tutorials on Treehouse or Lynda about JavaScript and then write down the syntax on paper. I often come across segments of code that I don’t understand so I re-watch the tutorial until it makes sense.

A helpful feature of Bloc is the alumni group on Facebook where you can interact with other Bloc students and alumni and discuss career topics, learn about what graduates are up to, or team up for side projects. This provides a good way to connect with others since the program is online.

bloc-hacker-club

Week 6

I’m moving on to setting up the music player application which is a lot of following the steps of tutorials. This is much easier than JavaScript syntax for me and it is fun seeing my application start to take shape. I have been adding the HTML and CSS to the application and pushing those changes to Github and Heroku. I ran into an issue with getting the server to run on my local machine and my mentor helped me come up with a workaround.

bloc-jams

Learning the terminology of the front-end is a important part of learning front-end development. There are so many tools and frameworks to become familiar with. One thing that may help with learning the terminology is to listen to some front-end development podcasts. I enjoy Shop Talk and How to Hold a Pencil. I also listen to JavaScript Jabber but most of the time I don’t know what they are talking about. Starthere.fm is a good beginner focused web development podcast.

Week 7

I told my mentor that I felt pretty weak at JavaScript so he recommended that I do some more review before moving forward. This week, I have been working in Codecademy to finish the last 20% of the JavaScript course (I completed the first 80% before I started the Bloc program). I also read some JavaScript documentation at MDN (Mozilla Developer Network). I’ve been told that W3Schools is more beginner friendly but MDN is a great resource for learning the ins and outs of JavaScript.

One of my mentor’s recommendations was to contribute to open source projects on Github. So I asked if we could go over doing a pull request. A pull request allows you to submit code changes to a specific Github repository. The owner of the repository can review your pull request, respond to it, and merge the code to the master branch if they want to.

Week 8

I am currently learning a lot of jQuery while putting in the interactive elements of the music player app. jQuery is an extremely popular JavaScript library that allows you to do a lot of common interactive things in the browser with a few short lines of code instead of having to write many more lines of JavaScript.

So far, building the first application has involved following a text tutorial which walks you through each step. This is a good way to get your feet wet and to get an overview of the different aspects and tools of front end web development but you don’t have to solve any problems on your own yet. I know it will get a lot more difficult with subsequent projects.

A recent Bloc front-end graduate, Abdullah Alger, was interviewed by Course Report about his experience with Bloc. It is an excellent interview and Abdullah developed an app for his final project that allows you to record voice notes that are sent to your Evernote account.

Week 9

The JavaScript Jabber podcast had an excellent interview about getting started in web development with one of the instructors at DevMountain. The instructors at DevMountain highly recommend the book A Smarter Way to Learn JavaScript which is a combination of reading and online exercises. The Kindle version is just $6 so it seems like a great resource for learning JavaScript.

Tyler McGinnis from DevMountain described learning to code as struggle, failure, tears which is how I definitely feel sometimes.

This week I learned about selecting elements with jQuery and that it is a good practice to assign the selection to a variable so it is stored in memory. You could also add a method to the selection but it is not as efficient, especially if you need to do something else with jQuery to the same element.

// Update the album title
   var $albumTitle = $('.album-title');
   $albumTitle.text(album.name);

// Same
  $('.album-title').text(album.name);

See the Pen EaGLxp by Charles Sipe (@charlessipe) on CodePen.

I also learned on Stack Overflow that if you mess something up, you can revert to the last git commit with git reset –hard 0d1d7fc32…

git-reset-hard

Week 10

A quarter through the program, I feel like I have come pretty far but still have so much more to learn. There is a lot of information to take in and I’m trying to retain as much as possible. I just started learning about Angular JS which is a front-end JavaScript framework for building interactive web apps. I’ve gathered that it uses the Model View Controller pattern like Ruby on Rails and is intended for CRUD functionality (create, read, update, destroy). It is completely foreign to me so I’m trying to get used to the syntax.

Week 11

I’m continuing to learn more about the Angular JS framework and Bloc is walking me through how to convert the jQuery for the music player app to Angular instead. Angular looks like a great framework that does a lot of things that would normally require a lot of JavaScript, similar to how you can build Ruby on Rails apps without a ton of Ruby knowledge.

There are a ton of Angular resources online for learning about the framework, so I’m excited to become more knowledgable about how to use it. I just stumbled on some free web development video workshops by Microsoft including one on Angular. These workshops are several hours long and they cover a lot of useful information for beginners.

One of the difficult parts about Angular is learning how the parts fit together. For example, how a service relates to a controller. There is also a lot of terminology to become familiar with like dependency injection and two way data binding. A simple way to view dependency injection is passing the object to the function instead of creating the object inside the function. I found the Angular documentation to be very helpful in understanding the terminology.

Week 12

I’m almost finished with adding the functionality to the music player app with Angular.

You can check it out on Heroku at https://whispering-atoll-9327.herokuapp.com/.

This week I attended a Node School meetup in Seattle. Node School is a great open source workshop where mentors help attendees learn about JavaScript and Node.js. Attending meetups is important for building your network, especially when you are enrolled in an exclusively online bootcamp, since a high percentage of job openings are not posted online.

One of the neat things I’ve learned recently are directives in Angular. Directives allow you to extend the functionality of HTML using Angular.

Here is an example of an Angular directive that counts the hover time over an element (JavaScript source Stack Overflow).

myApp.directive('countHoverTime', function() {

  return {
    restrict: "A", 
    link: function(scope, element) {   
      $(element).hover(
        function() {
            $(this).data("hoverStart", (new Date()).getTime());
        }, 
        function() {
            var hoverTime = ((new Date()).getTime() - $(this).data("hoverStart")) / 1000;

            alert("You hovered for " + hoverTime +  " seconds.");
        }
      ); 
    }
  };
});

See the Pen LEKJVb by Charles Sipe (@charlessipe) on CodePen.

I haven’t been stuck very much lately but mostly that is because Bloc’s course material guides you step by step through building the Angular app. Some of the instructions are difficult to understand at first but it makes more sense the second or third time reading through a section. It also helps that I can read the course material on my mobile device whenever I have an opportunity throughout the day.

For me repetition helps me grasp new concepts so I am constantly listening to Angular tutorials on YouTube, Lynda, Microsoft Virtual Academy, or Treehouse to supplement my time studying Bloc’s material. One thing I like about Bloc is that the course material is in text format instead of videos. I personally find text content easier to absorb than video lectures, especially for complex material.

Week 13

I’ve completed the first project, the Rdio-like music player app. You can view it at: https://whispering-atoll-9327.herokuapp.com/. It still needs some polish but it is pretty functional and accomplishes the main requirements like playing songs, changing the volume, and moving to a specific point in the song.

Next, things should get really interesting since I will be working on projects without step-by-step directions.

Week 14

I’m continuing to learn more about Angular and how the different pieces fit together.

A couple resources I’ve found very helpful are Dan Wahlin’s YouTube video on AngularJS Fundamentals In 60-ish Minutes and the tutorial AngularJS for Absolute Beginners.

Gordon Zhu has an excellent YouTube tutorial on how to create a To-do list with Angular in your browser (using JSBin). For some reason it doesn’t work if you link to the latest version of Angular but I got it to work here. It also syncs with Firebase, which is a backend service that makes it easy to store data so you don’t have to code the backend of your application.

todo-list-screenshot

For the next project, I’m working on a to-do list with Angular JS that automatically removes tasks after 7 days.

Week 15

I’m making progress on the destructing task list application.

destructing-task-list

My mentor showed me how to set up the scaffolding of the application using Yeoman, which is a front-end development tool that does a lot of the setup for different types of apps (including AngularJS). I also synched my application with the Firebase backend service so that when I add a task to an array in the controller, it is simultaneously saved in the Firebase database.

firebase

Week 16

I’m continuing to work on the destructing task list application and figuring out how to implement the required features. I haven’t been hitting any major roadblocks recently which is encouraging and I hope it is not a fluke. With each feature I have been writing some code that I think might work and then constantly iterating the code until the output is what I want.

Week 17

One of the required features of the destructing task list is to self-destruct tasks that are more than 7 days old. This has been the trickiest feature to implement because you need to calculate how old a task is. My mentor recommended the JavaScript library Moment.js which seems to work well. My mentor helped me come up with code to calculate the age of a task.

alert(moment().diff(moment($scope.exampleTasks[start].timestamp, “MMM Do, hh:mmA”), “minutes”) + ” minutes”);

moment() represents the current time, .diff calculates the difference between two times, and $scope.exampleTasks[start].timestamp is the time the task was initially submitted.

momentjs

When the checkbox is clicked, the app shows an alert box with the number of minutes passed since the task was first submitted. I’m now working on a function that will loop through each task, check if 7 days has passed, and then change the task to “destructed” if 7 days has passed.

I noticed since I have a mentor meeting every Thursday, I stay pretty focused and motivated during the week. I know I need to prepare for the meeting and have questions ready so that I can make the best use of the 30 minute meeting. Also, knowing that you are held accountable to someone helps to limit procrastination.

Week 18

I have finished the first self-directed project, the self-destructing to-do list, although I need to fix one issue and get my app to work on Heroku. Since I built my app with Yeoman, I need to set up a server for the app to work on Heroku.

I was able to meet up with another front-end development Bloc student who is also in the Seattle area and it was great to chat with a fellow student going through the same experience. We compared our experience and shared useful resources which was great.

At my weekly mentor meeting, my mentor helped me figure out my issue with deploying my self-destructing to-do list to Heroku and my app is now live at: http://destructing-tasks.herokuapp.com/

You can add tasks with a priority level and any tasks you don’t mark complete within 7 minutes will automatically move to the “Self-Destructed Tasks” list on the “Task History” view.

destructing-task-list

I’ve made it half-way through the program!

half-way-mark

Week 19

I’ve started on project #3 which is a chat application that looks similar to a basic version of Slack. I used Yeoman to set up the structure of the application with AngularJS.

I saw on the Bloc Facebook group that one student got hired just two days after graduating Bloc, which is encouraging.

Week 20

I’m back from a mini-vacation and making progress on my chat application. I was struggling with creating a child array in Firebase to hold the names of the different chat rooms in my application but my mentor helped me get it set up.

firebase-child

Adding child arrays in Firebase is really useful because it allows you to have multiple arrays in your application. I currently have one array that contains the objects for each message and another array that contains values for the different chat room names.

Week 21

I’ve been stuck on trying to show only messages from the selected chat room but I finally found a way to make it work using a custom comparator suggested on Stack Overflow. I was trying to use a custom filter but it just wasn’t working. Now I have most of the functionality working in my chat room except for allowing the user to choose a username.

angular-chat-rooms

View my code on Github: https://github.com/charlessipe/angular-chat

I’m contributing to a list of Javascript resources by Bloc alumni Abdullah Alger. You can view the list at: https://github.com/AbdullahAlger/javascript-resources

I’m considering enrolling in the Udacity Nanodegree for Front-End Development after Bloc. At $200/month it seems like an inexpensive way to gain more experience and build more projects for my portfolio. The course lectures are also available for free on their YouTube channel.

udacity

I was able to deploy my chat application to Heroku at: http://angularjs-chat.herokuapp.com/

To deploy an Angular app generated by Yeoman to Heroku requires a couple extra steps such as using Grunt Build to create a dist folder for the app. The article Deploying a Yeoman/Angular app to Heroku provides good instructions however it forgot to mention that you need to remove dist from the gitignore file so that you can push the git commit to Heroku.

Week 22

I feel really good about my progress. I have over 12 weeks left in the program and just my capstone project left so hopefully I can build a great final project.

I’ve started to plan my capstone project, Top Programming Blogs. It is intended to be a mix of Reddit and Product Hunt for blogs. I had the problem of not being able to find a well-organized list of good programming blogs so I’m aiming to solve that problem. I also want the app to show the latest article title from each blog so users can quickly scan about 50 programming blogs for something of interest. Users will be able to vote the best blogs to the top.

I’m feeling a lot more self-sufficient than I did in the first couple months. I can figure out a lot of issues on my own through trial and error or searching through Stack Overflow. My brain seems to be catching on to a lot of patterns in JavaScript so solutions are arriving much quicker now. I still seek help from my mentor when I feel really stuck but my confidence is growing and the self-doubt is diminishing.

Week 23

I’m making some good progress on my top programming blogs voting app. I added the ability to login with Facebook OAuth and then vote once per blog. When the logged in user votes for a blog, their Facebook uid is pushed to the “votes” array within the “blogs” object. The “votes” array contains the Facebook uid of each user that has voted for that blog.

facebook-uid

I’m getting somewhat stuck on accessing some Restful APIs from Angular. I was able to do a JSONP call to the Mozscape API to get some data back that shows up in the console but I haven’t been able to store the data into a variable.

top-programming

Week 24
I was reminded of this great quote this week from the late Randy Pausch:
“The brick walls are there for a reason. The brick walls are not there to keep us out. The brick walls are there to give us a chance to show how badly we want something. Because the brick walls are there to stop the people who don’t want it badly enough. They’re there to stop the other people.”

I’m hitting some road blocks this week in getting my Restful API calls to work properly and feeling like this:

But it is okay because I know it is part of the process of growing as a developer and I am learning a lot even when I’m stuck.

Week 25

I’m making some good progress and have added the feature to show the latest article for each blog. The app also displays the user’s name if they are logged in with Facebook OAuth by accessing the displayName property of the Facebook OAuth object.

added-latest-article

I learned that I actually already met the graduation requirements by completing the Bloc Jams application and two technical projects. You have the option of improving your first two projects or working on additional projects if you have time left.

Week 26
I took a short break since my wife just had a baby on Wednesday and am now back to coding my final project.

charles-baby

Bloc’s flexibility makes it possible to keep learning even during major life events. They also offer the option to freeze the program if needed. It is tough learning to code with a newborn, so I’m really grateful that I can adjust my pace as needed.

I’m trying to nail down the Restful API requests to Twitter in order to automatically show the number of followers for each blogger’s Twitter account. I know that GET users/show can return the “followers_count” data. Twitter’s new API requires authentication for each request and I’m trying to work that out. After what seems like looking at endless Stackoverflow questions that were somewhat relevant but didn’t help, I’m glad I can get some clarification from my mentor.

I’m starting to feel confident enough to start applying for jobs now. I will also be ramping up the networking efforts and preparing for interviews. I’ve got 10 weeks to go so I’m planning to push myself with the finish line in sight.

Week 27
My mentor suggested I install a Node library by Desmond Morris that makes it easier to make authenticated requests to Twitter’s API.

He helped me add the following code in my /server/routes.js file to make the GET request to the Twitter servers:

get-followers-count

I was finally able to get data back from the Twitter API. The only problem is that the data is in the backend and I need to figure out how to get it to the frontend.

I attended the Tacoma Javascript meetup this past week which was focused on discussing Angular. I learned some new things like how to set up a quick local http server with one line of code in the Terminal: “python -m SimpleHTTPServer 8001” and met some local software engineers. The meetup presenter mentioned Introduction to Angular.js in 50 Examples on YouTube which is a very informative presentation on Angular.

Week 28

I have made a lot of progress this week and have been able to work out of a few jams on my own. I used the Node Twitter library to get follower count data from the Twitter API on each blog’s twitter name and then I was able to pass the data from Node to Angular and save the data in the Firebase backend. I also found the Mozscape Node library which made it pretty easy to make API requests to the Mozscape API. I was able to connect the API request to Angular and also save the data to Firebase for each blog on my list. Next I created a function to calculate a “BlogScore” for each blog based on the number of votes, external links, Mozrank, Page Authority, and Twitter followers. I used the orderby filter for ng-repeat to order the blogs in my table by descending BlogScore. I then updated my addVote function so that the vote would be added to the correct blog after the table is re-ordered.

Here is what I have so far:

top-programming-blogs-v2

Week 29

I was having trouble deploying my app to Heroku so my mentor helped me get my app live at http://www.topprogrammingblogs.com/. It was originally hosted on Heroku until I created a CName record in GoDaddy and set up the custom domain in Heroku.

top-programming-launch

I added the apps URL into Firebase’s dashboard and changed the Facebook app settings to be available for the general public.

oauth-redirect

I also added a function to randomly change the full-width background image with images from Unsplash.com which provides free high resolution photos.

Week 30

I showed my app to some developers at Operation Code’s Slack community and got some great feedback on ways to improve the user experience.

I was also invited to an in-person interview for a front-end web developer position in Seattle! I am excited for the opportunity and have already started discussing interview preparation with my mentor.

Week 31
This week I had my first interview for a front-end web developer on Tuesday and spent a lot of time researching the company. I was nervous for the interview but it went great and I received positive feedback on my preparation.

I have also started the job preparation phase of Bloc which includes several additional checkpoints like the telephone interview and in-person interview. The curriculum provides helpful information for seeking employment and there are some practice interviews with your mentor to work on your interviewing skills. Technical interviews typically involve a problem-solving component where the interviewer may ask you challenging questions to see how you react. I’m also researching common front-end interview questions and found a helpful list of questions on Github at https://github.com/h5bp/Front-end-Developer-Interview-Questions.

I joined a group project with some other Bloc students and we met on Skype to discuss ideas for the project. A group project is not required but it can provide great experience with working with other developers on a project. You can also collaborate with other students on projects after graduation by connecting via the private Facebook group for students.

Week 32

It turned out that I didn’t get offered the job so I am continuing with Bloc’s job preparation phase and have a mock interview with my mentor on Thursday. I am preparing by reviewing important JavaScript concepts and this long list of front-end developer interview questions.

The mock interview went well although I was really stressed because I didn’t want to look bad. I was able to answer most of the questions and learned several new interview questions like how I would search for bugs and how I overcame a difficult problem.

Conclusion

I finished the program ahead of the 36 week timeframe and am continuing to work on my skills in preparation for employment or freelance work. I am very happy with the program and feel like I learned a tremendous amount and have become a much better developer over the past 32 weeks. I think it is definitely worth the cost of the program. I didn’t have to pay for the program but I probably would have learned even more if I did pay for it because I wouldn’t want my money to go to waste.

I was expecting the program to be more focused on CSS and HTML, but it was actually heavily focused on JavaScript and the Angular framework which I think is great. I did not know much JavaScript before the program and am now comfortable writing JavaScript code which allows me to build almost any web app I can think of. I still have a lot to learn to become a competent front-end web developer but I am a lot closer than I was six months ago.

Frequently Asked Questions
Here are some questions that I have been asked about the program.

Were you working while going through the Bloc program?
Yes, at one point I was working about 10 hours a week on an SEO project as a contractor while also taking care of my two-year old daughter. You can choose different course lengths based on how much time you have available. I had about 10-20 hours available per week to work on Bloc so I chose the longer time frame of 36 weeks.

Prior to Bloc, did you have any prior experience in programming?
Yes, I tried a lot of self-learning resources like Lynda, Treehouse, books, and Codecademy. These are great, but it can accelerate your progress to have regular meetings with a mentor who can help you get unstuck and point you in the right direction.

Did you find that the training from Bloc was sufficient to get a job in the field?.
I think the Bloc front-end program provides a solid foundation but you should continue to build on the basic skills by practicing JavaScript and building additional projects. It is possible to get an entry-level position right after this program but you have to really hustle (e.g. attend a lot of events, meet a lot of people, etc.) My view is that the junior web development job market is very competitive so you have to work really hard to get your first job.

I keep seeing job postings that ask for lots of additional requirements not covered in the Bloc program: Ajax, JSON, PHP, CMS, React, Node.
The requirements that are listed on many job postings are generally a wish list and the employer is often looking for only a few important things. I actually used Node, AJAX, and JSON in my final project so you can get experience in additional technologies if you ask your mentor.

Do you have to complete all the pre-work prior to starting the program?
You don’t have to but it certainly helps. I didn’t finish the Codecademy Javascript tutorial when I started but I completed it a few weeks after I started because I wanted to understand JavaScript better before starting the project phase.

Update: I have been working on improving my Bloc final project. I changed the domain to RankedBlogs.com and it now ranks blogs in multiple categories.

ranked-blogs

Update March 30, 2016: I am currently enrolled in Seattle University’s web development certificate program which is being funded 100% with the GI Bill. I am blogging about my experience at Seattle University here: http://www.charlessipe.com/web-development-certificate-review/

My Mentor
My mentor was Jason LaChapelle who works as a software engineer at Groupon. He was super helpful in helping me debug my JavaScript applications and getting unstuck. He was very responsive most of the time despite working a full-time job.

If you have any questions about Bloc or learning front-end development, feel free to contact me at csipe84(at)gmail.com.

{ 4 comments… read them below or add one }

Stewart April 15, 2015 at 6:32 pm

I enjoyed reading about your experience so far and I’m curious how subsequent weeks have gone for you. You should be pretty far along by now? I hope you’ll update again soon :)

I also hadn’t heard of “A Smarter Way to Learn JavaScript”, which got incredible reviews, so I picked up a copy. Thanks for that!

Matt May 5, 2015 at 9:41 am

I would really like to hear more about your journey.

Uma August 20, 2015 at 11:26 am

Thankful for your write up! I am test automation engineer now. I was a front-end web developer in a startup company with very little web development concepts. It was struggle to get everyday job done as I never took a proper course. But I loved my job. I discovered my passion is web development. I want to take a good course to learn the fundamentals well before I start to look for a job again as front end developer.

I took partially took full stack course with Udacity, but I found that not all the concepts where covered by them. So before wasting money on more of such courses, I started looking for a good boot camp. All the detailed information you have provided helps me.

Thanks!
Uma

Roger Corbett January 20, 2016 at 3:47 pm

Hi Charles,

Thank you very much for your very informative and exhaustive account of your experiences with Bloc. I appreciate how much time and effort you put into it. I’m glad to have a good idea of the curriculum, and particularly grateful for your pointers to good resources. We all know how much time is wasted on searching for the right advice.

That said, I would really like to know how you feel about their efforts to help you in job search and preparedness. Also of course, how are you doing in your chosen career?

Congrats on your new little one.

Many thanks,

Roger.

Leave a Comment

Previous post:

Next post: