At Make School you will learn to be multiple times more productive than you have ever been. This increase in productivity is a superpower that will make you successful at Make School and in your future success as a software engineer.
Being more productive has three parts:
- Staying Organized
- Removing Distractions
- Getting Things Done
An Organized Computer
It is important to have an organized computer and file structure so you can find things quickly that you want to work on or reference.
Take time now to delete extra programs and files to free up space, and organize your desktop and browser.
Create one folder in the root of your computer called
code and put all projects you ever do inside this folder. This will prevent your code being strewn all over your computer.
$ cd ~
$ mkdir dev
$ cd dev
$ mkdir new_coding_project
Google Calendar is arguably the most important tool you will use at the Product College and in your professional work. You will use it to see your classes, plan meetings with instructors and colleagues, make plans with mentors, find out about events, and much more.
- Watch the below Google Calendar Tutorial video (13 min) and be sure you can do the following competencies:
- Create events
- Invite guests to events
- Allow guests to modify events
- View another calendar
- Block off time to work
Single Source of Truth
There are countless ways to track todos, but unless you want to go insane, you need to pick just one. Each person likes something different. Some just use a note in the Apple Notes app. Other people use Todoist. Others just use a day planner or legal pad.
They key is to create a Single Source of Truth list: one source to hold all of your tasks. Otherwise, you’ll have multiple lists, double count tasks, lose track of what you put where, or scratch one thing off a list only to find it somewhere else.
To codify your types of work, productivity guru David Allen recommends categorizing your to-dos into for sections:
1. “Projects” - current work + action items
1. “Waiting On” - things you’re waiting for from other people
1. “Someday/Maybe” - dreams, possible projects
1. “Collection” - where you deposit new ideas, tasks
Pick and setup one source of truth now and move all your todos to it - (20 min)
All the software on our phones and the internet is build to make you addicted to it. News, social media, emails, slacks, texts, snaps, etc are all distractions that eat up the vital time you need to practice the craft of coding.
In order to be productive we have to remove all distractions and actively focus on coding projects. Here are some things that you should immediately begin adding to your routine.
- Silencing your phone entirely
- Turn off all notifications on your computer including slack and email.
- Follow a Maker Schedule and plan to code the first 3-4 hours of each day without checking email or slack.
- Schedule Time Blocks other times during the week where you only code.
- Download SelfControl to literally block distracting sites.
- Put away your phone while working. Studies show that a mere presence of your smartphone can decrease cognitive functioning.
- Wear earphones when working.
Getting Things Done
Getting things done means actually doing things that you plan to. Seems like this should be automatic, but it is not.
During a Time Block
While you are in a time block you do not check email or slack or the news or Facebook. Instead you check your plan or todo list.
- Make a plan - always plan what you will do step-by-step
- Work off the plan - follow the plan you made
- Update the plan - as you learn more update your plan
Not During a Time Block
When you are not in a time block, you might be checking email, slack, and otherwise puttering around. This is OK, but you also have to keep your wits about you and track what you need to do in the future. So follow these steps:
- If a task is 2 minutes - just do it
- If a task is a fixed amount of time - schedule it on your calendar
- If a task will take an indeterminate amount of time - put it on your single source of truth.
If you have feedback on this tutorial or find any mistakes, please open issues on the
GitHub Repository or comment below.