JS Dev Board
JS Dev Board


Getting Enrolled

Over the past few months, I have been teaching myself JavaScript. Unfortunately, I have more resources than time to complete them. I currently work full time and do not have the option of attending a programming boot camp. Even though I have grasped some of the aspects of JavaScript, I felt like I needed a more structured approach, similar to the structure of one of these boot camps. Obviously, with months of resources bookmarked, I had enough information to create my own self-paced, self-taught, JavaScript boot camp.


Feeling comfortable with HTML and CSS, I have included a few resources for those topics, to build on the solid foundation I currently have in those technologies. The main focus is JavaScript and as such, majority of the material will cover some aspect of JavaScript. The finished board can be seen here.


Trello Blank Board
Trello Blank Board


Boarding It Up

First thing is to create a Trello account here. Once that’s done, creating a board is simple. Click on the gray “Create new board…” card on the right. A popup will appear, asking for a title for the new board. Once the title is filled in, click on the green “Create” button to create the board in Trello. Trello redirects the page automatically to the newly created board. At first the board is empty, but lists can be created by typing a list name in the gray “Add a list…” box and clicking the green “Save” button or pressing enter.


I have created a total of six lists as follows:

  1. JavaScript
  2. Frameworks & Tools
  3. Done
  4. Up Next
  5. Working On
  6. Daily


Cards can be created under the lists on the Trello board by clicking the “Add a card…”, typing a card title and hitting enter. Cards can be moved from one list to another by dragging them to the desired location.


Cards can have checklists added to them by clicking on the desired card, clicking on “Checklist” on the righthand side, typing a checklist title and finally clicking the green “Add” button”. Items can then be added to the checklist. Once you have a checklist setup, you can later check off each item as you complete them. This is a great way to break larger tasks down into smaller pieces. If you find yourself adding too many items in a checklist, consider breaking the associated card into multiple cards as this helps with managing your study load.


Cards can also be labeled by color, in order to easily distinguish their purpose. On my board I have the following labels set with the following names:

  • Green: website
  • Yellow: book
  • Orange: podcast
  • Red: video
  • Purple: practice
  • Blue: tool


JS Dev Board Lists
JS Dev Board Lists


Lesson Lists

The first list, “JavaScript”, is the main queue of learning objectives. It includes all the types of objectives listed earlier. I personally like to list mine in order of type, such that all websites are first, then books, followed by video courses, etc. Within that, I organize the objectives further by listing them in order of what I want to complete first. This organization allows me to easily spread out where I learn from, as I don’t want to concentrate only on videos, or only read books. I want to have a well-rounded understanding of JavaScript. Splitting up the type of resources will assist with retaining what what is being learned, while providing additional perspectives on each subject.


Like the first list, “Frameworks and Tools”, the second list on my board, provides an additional learning queue. The reason for this secondary queue is to split up the primary and secondary goals. While the first list includes the core JavaScript track, this list provides additional add-ons to the course. These include AngularJS, Ember, Node and more. I have separated these due to the fact that they are not essential, and I may choose some and not all of these learning modules. For example, I may choose to learn Angular after furthering my general JS knowledge, but completely ignore Ember. Basically these are fillers and nice-to-haves, as where the first list covers things every JavaScript developer should know.


List three is the “Done” list. This is where cards are placed once they have been completed. Pretty simple right?


The “Up Next” list is the fourth in our lineup. This section includes one or two cards of different types. Example, a book and a video, or just a book card. It allows you to quickly see what the next lesson is, providing motivation to move forward without seeming daunting.


The fifth list, “Working On”, is where the action happens. This list should be limited to no more two card, each of a different type. This allows for a focused approach, as concentration is not spread around multiple items but still allows the flexibility for more than just one learning method at a time. If a learning module is difficult, it may be beneficial to work on that one objective only, as to allow yourself to focus on the task at hand.


The sixth and final list is the “Daily” list. This list includes things that should be attempted daily. Recommendations include programming related podcasts, programming koans, and other similar coding exercises.


JS Dev Board
JS Dev Board


Making It Work

Bootcamps require focus. With all the Trello cards laid out nicely on the Trello board, most of the hard work is done. Our plan has been set into place, just like in a real boot camp, allowing for greater concentration the current learning objective. The biggest issue now is sticking to this outline. Providing a set schedule each and every day is important.


Repetition is the secret to staying on task. Every day, set a time when you can focus and complete a piece of your “Working On” cards. Set a requirement, such as a specific amount of time or a certain number of checklist items completed. Mark of the items as you go along and once a card is completed, move it to the “Done” list. Every day that you are successful, check it off on your calendar. After a few successful days, you will gain confidence when seeing those checks. This gives you the drive to keep going.


If you do miss a day, don’t get discouraged. Just get back to your schedule as planned. Nobody’s perfect, so don’t be too hard on yourself. Try not to miss two days in a row though, especially when you are first starting out as two days quickly turns into weeks if you’re not careful.


Another advantage of a bootcamp is support. Support from other learners and from the mentors involved. Finding someone to answer questions or look over your code when it’s not working can seem daunting at first. The best way to find the support needed is to network with local developers. Recently I joined a local meetup for JavaScript developers called charmCityJS. Not only where the talks presented in an educational manner, but every person I spoke with was friendly and helpful. Meetups are a great way to find others interested in programming and provide an amazing support system for both new and experienced programmers.


In the post to follow, I will go over the material I have put together for my own personal, self-taught, JavaScript bootcamp. Check back soon for the complete list in my next blog post.


Published by Brandon

Software Developer and Computer Science Student

Join the Conversation

1 Comment

Leave a comment

Your email address will not be published. Required fields are marked *