We are super excited that you want to join DecodeMTL. We have created this prep course to help you prepare for your technical interview.
You should expect to spend 40 - 60 hours to get through all of the material.
At the first sign of confusion, you should take a step back and re-read what has confused you. Search Google, MDN or Stack Overflow for answers to your questions.
Part 1: Getting Started
In this part, we are going to get the tools necessary to start the prep work.
Do your work
Google Chrome will be used as the main development browser during the course. Its integrated set of debugging tools makes developers’ lives easier. Chrome’s rendering engine is used by multiple browsers, giving you a good idea of what your pages would look like in many different settings.
Git and GitHub will be a constant part of our workflow. While Git will enable us to keep track of the history of code that we write and manage variations in our code, GitHub will enable us to share and collaborate the code we write.
For this section, you are only tasked with signing up for a GitHub account. The last section of the prep material deals with your introduction to Git and GitHub.
This is a good place to mention that your GitHub username and profile have the same visibility as your profiles on facebook, twitter or LinkedIn. GitHub is the network of code in the same manner that LinkedIn is the network of professionals.
Employers will look at your GitHub profile for signs of your experience and interest. At this point, make sure to create a profile that represents you. Later on, we will fill your GitHub with various projects that will demonstrate the knowledge you have learned through DecodeMTL.
The same way we edit our spreadsheets in Open Office or Excel, web pages and web applications need their own editor. Cloud9 is an IDE — Integrated Development Environment — in the cloud. This is just technical mumbo-jumbo. It’s a text editor on steroids, and already has installed most of the tools we will need during the bootcamp. Everything you do in Cloud9 is saved online, so you are able to start coding from any computer that has internet access. You don’t even need to install anything on your machine.
Make sure to use the “Sign in with GitHub” option when signing up to Cloud9. This will link your GitHub account to your Cloud9 account, allowing for an easier workflow between your code editor and source code repository.
When you create a new workspace in Cloud9, you are actually creating a virtual, linux-based computer. In the next section, we will learn how to control this computer using the Command Line.
Before moving on, make sure that you have the following:
- A GitHub account
- A Cloud9 account
Part 2: Command Line
You are probably used to interacting with your computer through a mouse. A lot of the things you do on your computer use the mouse:
- Opening an application by double-clicking on it
- Moving a file to another directory by dragging and dropping it
- Saving a file by clicking File > Save
- Looking inside a directory by double-clicking on it
- Deleting a file by right-clicking on it and then clicking on Remove or Delete.
But as a power-user, we often learn some keyboard shortcuts to make our life easier. For example, you should be familiar with
Cmd+C) to copy some text, or perhaps
Cmd+Del on a Mac to delete a file.
It turns out that all computer systems have a command line interface in addition to the graphical user interface we have become so accustomed to. Some systems that you will be dealing with as web developers do not even have a GUI.
For these reasons, you should be familiar enough with the CLI to perform some basic tasks. In order to gain familiarity with the CLI, go through the following readings and tutorials.
Do your work
Before moving on, make sure you can at least answer the following questions:
- How do I figure out which directory I’m currently in?
- How do I list files sorted by the date they were last modified?
- How do I find out how much disk space a directory is using?
Do your work
Read this to get a general overview of programming. As you get your hands dirty with code, it’s always a good idea to remind yourself of the end-goal.
Before moving on to the next section, try to answer the following questions:
- Describe the activity of programming in your own words, using a few sentences.
- Write a piece of jQuery code that uses the browser’s
alertfunction to open a popup when the user clicks on any
buttonthat has the class “
Part 4: HTML & CSS
HTML and CSS are an integral part of web development. While HTML is used to give meaning to content, CSS is used to style that content.
Do your work
Read the full reference at your own pace. Keep a link to it in case you need to remind yourself of something you read :)
This will supplement the knowledge that you earned by reading the beginner guide to HTML and CSS.
Only complete level 1 of this course. If you wish to complete the other levels, you are most welcome to do so on your free time :)
Go through levels 1 and 2 only. This will give you a good understanding of the tools we use on a daily basis to help us find bugs in our web pages.
If you don't already have one, create a simple HTML and CSS personal webpage that showcases what you have learned in this section.
Part 5: Git & GitHub
Source code management is an integral part of writing software. Throughout the history of a piece of software, be it a web site, web application or other, changes will happen. Often, features that are not ready for prime-time will have to be developed in parallel. And in most cases, software will be worked on by multiple developers.
Git is a tool that empowers developers to accomplish these features without having to worry about the state of the project. If you’ve ever written a Word document, you may have found yourself creating a copy at some point, in order to try something else. Among other things, Git gives you the ability to branch off and create new features while keeping the working version of your software clean. It also lets you go back in time to a previous working version and examine it, without ever losing your work.
GitHub is like a “social network around Git”. It is a platform that lets you publish your Git-managed projects online for others to see and collaborate on. Your GitHub profile is the equivalent of your LinkedIn profile for technical employers. In it, anyone can see what projects you have shared and contributed to. This is why it is important to document your adventures in web development by publishing as much of your work as possible to GitHub.
Do your work
Complete this Git tutorial provided for free by the nice people at GitHub. Git is a program that you have to install on your system. Fortunately in our case, since we are doing all our work inside the Cloud 9 IDE, Git is already installed for us. Cloud 9 has even already configured our Git installation to tag all the work we do with our name and e-mail address.
If you are feeling adventurous, you can try this Git tutorial on your own computer. However, it would be sufficient to use a Cloud9 workspace. If you remember, Cloud9 workspaces are actually virtual computers running the Linux operating system. Git is pre-installed as part of your Cloud9 development environment.
Make sure that you can answer most if not all of the following questions. Some of them will be part of your technical interview:
- Describe what is Git in your own words, using a few sentences.
- Describe what is GitHub in your own words, using a few sentences.
- Do you need an internet connection to use Git?
- Do you need an internet connection to use GitHub?
- What is the difference between
- What is the difference between
- Publish the webpage you created in section 4 to Github pages. Hint, read this: https://pages.github.com/.
You are done :)
Pat yourself on the back. If you’ve successfully completed all the sections above, you should now have a pretty solid introduction to many of the tools and languages used in web development.
The next step is to complete your technical interview. If you have not yet scheduled it, you should contact us.
Most people tend to over prepare for their technical interview. Generally, if you have gone through all of the material, you should be fine. If you fail your interview the first time, you can always study more and try again.
Here is what you will be tested on:
- You have a GitHub and Cloud9 account.
- You are OK with the basics of HTML and CSS. To show it, you have a small web page that you created and uploaded on GitHub Pages.
- You are OK with the basics of the Mac or Linux command line. You can move from directory to directory, list files, see which directory you're in, and operate the basics of Git (add, commit, push) from the command line.
If you have any questions, don’t hesitate to e-mail [email protected].