Author: jamesmaa

0

Technical Recruiting Guide for New Grads & Junior Engineers

Note: The views and opinions expressed in this article are those of the author and do not
necessarily reflect the official policy or position of Scratch.

Other note: There are a few referral links for Hired and Triplebyte. Feel free to just go to the site if you don’t like going through referrals, but we both get free money if you end up getting a job on the platform 🙂

Your career is a big deal, no matter how you think about it. You spend about 35% of your waking hours (not including the commuting time and all the logistical stuff surrounding work) working. You’ll spend more time with your company, your boss, and your co-workers than you do with your best friend, spouse, or family. Your career is also your livelihood. Whereas some people can work leisurely hours with six-figure salaries, some people struggle with mid five-figure ones working overtime week after week. Read More

0

Ultimate Productivity Hacking Guide (Part II): Time Management

“It is not enough to be busy… The question is: What are we busy about?” – Henry David Thoreau
Time management is process of aligning your time with your priorities. The strategies discussed in this guide are to address the following questions: How do you spend your time? Does the time you spend every align with your goals? The people who benefit the most from this section are people who have diverse set of goals and workloads and consistently need to allocate their time. Conversely, people whose goals are singular (e.g. I’m going to focus on taking care of my child) and have a strong conception of direction will benefit the least from this section.

Planning Your Time

Daily Planning Every day you should set aside 15 minutes at the start of your day to plan your day. Take out a post-it. First, figure out what obligations you have for the day. Do you have classes to attend? Friends to meet? Appointments to go to? It’s worth writing the ones that aren’t part of your regular schedule down. Then, figure out what you’re going to do for the day and assign an upper bound estimate on the amount of time you think it’ll take. You can comb through through your gathering points in the “Priority Management” section to figure out what you need to and want to do. Examples could be “Read chapter 5 of Intro to Probability (1.5 hrs)” or “Respond to recruiter emails (30 mins)”. Add up all the hours of your tasks and double check to make sure it doesn’t fill up more than 70% of your daytime outside of strict obligations. Now stick this post-it somewhere visible like your laptop, your planner, or your desk. Weekly Planning At the beginning of every week you should give yourself an overview of what larger tasks or goals you have. If you have a diverse workload or a diverse set of goals you generally should write these goals in a spreadsheet. If you have math homework due every week, you should make a note on how many hours you expect it to take. I also take tasks off my project management software and throw them onto this spreadsheet. I found it useful to write down what I expect to complete by the end of the week and make sure I’m not overloading myself.

Example of my master calendar

Once you take note of your weekly goals, you need to start blocking out time on your calendar to work on these tasks. I generally have a recurring weekly schedule, and just modify events as necessary at the end of the week. Here’s the calendar I have:

Example Google Calendar

It’s quite a lot to take in, and I’m not asking you to plan every hour of your life. I’m going to break down different milestones you’ll reach as you begin to start blocking out times for goals and obligations. Take your time to reach each milestone. It took me two whole years to go from the easy milestone to overkill mode. Easy: Put only obligations on your calendar. These are appointments you have, friends you promised not to flake out on, classes you need to attend. This prevents double booking your time with your obligations. Medium: Put on time blocks to work on goals with hard deadlines. These are homeworks you need to turn in, work projects you need to complete, tasks you just have to do. Hard: Put on time block to work on goals in general. Overkill: Not for the faint of heart — put on everything else: sleep, shower, mealtimes, transportation. This will give you insight into how you want to spend your time across all verticals of life. Let’s talk through the calendar methodology. Putting time on your calendar is a great way to visualize how you’re going to spend your time. It’s also a great litmus test to check whether or not you’re being overly demanding on yourself or trying to do too much in a week. Because you’re laying it all out on a calendar, you’re not double counting any time period and overcommitting your time. Here’s what the different colors mean:
  1. Sleep (Blue)
  2. FoShoTrans (Red/Pink): FoodShowerTransportation. This is the time you spend to get ready in morning, to get from place to place, to shower, and to eat. This can also be named “Essentials”.
  3. Break (Yellow): The time you spend resting or taking a break
  4. Exercise (Turquoise): Time spent exercising or healthy living
  5. Social (Orange): Time spent with friends or engaging in a social activity
  6. Work (Purple): Time spent working
  7. OutsideEd (Brown): Education I pursue outside of my usual obligations
  8. Blogging/Journaling (Grey): When I journal, blog, or self reflect.
  9. Read (Blue)
  10. Miscellaneous (Green): Miscellaneous tasks and obligations.
Even something like rest or break time should be planned in. Break should let you rest and give you energy. If an activity like playing videos games doesn’t make you feel better after having done it, it doesn’t count as a restorative break (more on this later). Every morning you’re going to go through all the tasks on your to-do list and make sure they have corresponding events on your calendar. If a task takes <5 mins long, it’s better to do it right now and not have to bounce mental reminders in your head. If your task takes from 5 – 15 minutes, then group them together under an event called “Personal Errands”. These tend to more shallow and mindless, and I would put the event at some time which you are not at your peak energy level, like in the evenings. Everything else goes on your calendar as individual blocks/events. If they aren’t on your calendar, you’re not being intentional about how you’re going to spend your time. If you don’t have space on your calendar, then you’re asking too much of yourself, and should review the “Priority Management” section of the guide. Why it Works A calendaring system reduces the cognitive load with planning. If I didn’t have my calendaring and task tracking software, I would have to keep all the information in my head. “What should I be doing right now?” “Should I study or work on interviewing?” “Do I have the time to go to Jay’s party or would that ruin my morning run the next day.” Those are the dialogues that happen in my head ALL THE TIME  if I don’t set aside 30 minutes each week to just lay out all my time visually. Those thoughts are extremely draining, and when you have to overcome the issue of “what should I do?” before starting to work, you’re going be more likely to make poor decisions (I’m looking at you, Facebook, Instagram, Reddit). Putting everything on a calendar (as opposed to say, a planner) also forces you to specifically allocate time towards your goals, values, and obligations so you don’t double count your hours spent. Time is your most finite resource, so it makes sense to set aside time to figure out how you’re going to spend it wisely, rather than haphazardly deciding on the whim. When you follow the system, you end up consolidating a lot of gathering points and merge it into one place. Instead of checking 20 places to figure out what you need to do, you just check 1. A calendaring system can be used to consolidate gathering points, like gleaning emails to throw to-do’s on your calendar or to copy homework due dates from your classroom website. “What if you go off track?” Going off track of your schedule is not a crime. It’s more important to notice that you’ve gone off track than to judge that you’ve gone off track. Judging your behavior at this point only brings about negative emotions, but the noticing helps collect useful information to help us understand how we can do better next time. I think of my calendar less as a behavior enforcer, and more as a ledger of intentions. Without it, I simply wouldn’t know what to do with my life, and I’ll probably meander aimlessly with a constant fear of forgetting something important. I actually change my schedule frequently, maybe 3 – 5 times a day, to account for any possible changes. Sometimes it’s a disruption, or a task that took too long. Other times it’s a riveting conversation with a friend that went over an allotted time. I don’t see deviations of my schedule as transgressions. As I like to say, it’s easier to change plans than to make them, so plan first and change if needed. Planning my day forces me to be more mindful about how I spend my time, which doesn’t leave a lot of room for mindless activities.

Planning Tips

Potpourri of tips I’ve had working with a schedule for 7 years:

  • Avoid doing any mentally straining work for more than 1 – 2 hour chunks at a time and more than 5 – 6 hours a day. Despite my best efforts, I can probably focus for at most 3 hours before needing some kind of break.
  • Do the hardest things first: Willpower tends to decline as your day progresses. Some tasks become extremely difficult as you reach the akrasia zone of 2 – 4 hours before their bedtime. Because of that, I try to schedule the most cognitively or energy demanding things in the morning and menial tasks before bed.
  • Try to fit your habits in the morning: Especially post-graduation, most of your social time will occur in the evening. It’s hard to uphold a workout routine if you’re friends with people who make plans on the day of. One way to avoid this pitfall of making hard choices between your habits and your friends is to move your habitual stuff to the morning, where people have less of a chance to interfere or interrupt your schedule.
  • Find ways to double up your time: You can save some time by doing two things at once. For example, reading a book during your commute saves you from spending all your time commuting. Eating a meal with friends can fulfill your social and dietary needs. Just be careful not to mix two cognitively demanding tasks, and not to give up break time in order to squeeze in more activities.
  • Set plans are about 1.25-2x the cost of normal times: Any set plans that cannot be moved (like any appointments, obligations, or engagements) should be treated as costing about 1.5 to 2 times the amount of the time they take. For example, if I wake up earlier than expected for a 9am coffee with a friend, I’m wouldn’t be able to adjust my schedule nor squeeze in something other activity before my engagement. Concrete plans cannot be moved and I find that the flexibility of the schedule I lose is approximately 50 – 100% of the time of the obligation. This means that I generally treat concrete plans as costing more and try to do more things that are flexible, like running by myself over joining an intramural sports league.
  • Identify high variability factors that can throw off your schedule: My biggest hidden variable is sleep. My sleep duration varies quite highly, and I have to adjust my schedule accordingly. I try to avoid concrete plans in the morning to avoid my sleep from clashing with my other plans.
  • Read More

    1

    Ultimate Productivity Hacking Guide V2 (Part I): Intro & Priority Management

    Note: I can’t believe it’s been 5 years since I first wrote my productivity hacking guide. I was a freshman at Berkeley when I published that article. Now I work full-time and still juggling various aspects of my life. A lot of productivity methodology has changed, and yet a lot has stayed the same. I’m rewriting this guide from scratch, and organizing the information in a more referential manner. That way, people can reference material that’s relevant to them and ignore everything else. I’m also releasing this guide in 5 parts, as not to overwhelm people too quickly. Read More

    0

    Thoughts on Downtime

    Lately I’ve been needing more downtime. Downtime for me are activities that are low stimulation activities. Downtime include stretching, spacing out, closing my eyes (whether or not falling asleep), going on walks, and doing household chores. Downtime (for me) does not include playing video games, watching television, or browsing Reddit. As little as 15 minutes of downtime correlates strongly with an increase in my subjective well being.

    The concept of downtime is a relatively new concept to me. I originally had a strong attitude against downtime. I didn’t believe in deep rest, and felt like doing hard work was sustainable. After going through 2 burnouts in my life (once in college and another during work), I’m willing to soften my claim now. Read More

    2

    Keyboard Customizations

    Something that you spend a lot of time doing benefits from even the smallest marginal efficiency. Sleep is a good example. Investing in good quality sleep pays multiple folds when you spend more a third of your time sleeping. Similarly, when your full time job involves sitting in front of a computer and typing, then you’re likely to experience death by a thousand cuts when you perform the same manual tasks over and over again. I’ve developed some useful keyboard customizations that I’m briefly going to introduce. I use laptops from the macOS ecosystem, so I apologize for those PC and Linux fans who are unable to follow along. Read More

    0

    Works on Commodity Hardware

    There are design patterns, algorithms, or techniques that are highly dependent on the agents that execute those patterns. The recent boom in neural nets in artificial intelligence was only enabled by the rise of fast GPU’s that run the back propagation algorithms. Sophisticated breakthroughs in sports have been enabled by more performant athletes who can execute complex strategies. Without some requirements on the executors, none of these things would work.

    There is a design pattern that is highly agnostic to the executors, yet produce meaningful or effective results. This is particularly interesting to me because by working well DESPITE the dependencies, it gives more robustness to the design pattern itself. Read More

    0

    Lessons From Improv

    2017 was a rough social year for me. I was having a hard time connecting with new people I met and making new friends. I attended a lot of social gatherings over the weekends with the mindset of talking and interacting with people in more fun and meaningful ways, but I always fell flat of what I set out to accomplish.

    Social skills are hard to come by because if you’re bad at socializing, you’ll be conditioned to not like socializing. Not enjoying socializing in turn makes you worse at socializing, and you have a vicious cycle. I felt trapped in this vicious cycle since my self-conscious attitude towards my social skills would pop out in a middle of a conversation while I socially implode mid sentence. Read More

    0

    The Death of Semantics

    Words decay as soon as they are invented. That’s because words and language are a distributed protocol to tie semantics (meanings) to representation (words). With so many people trying to communicate with each other, the distribution of these protocol are subject to chinese whispers and decay. This essay traces how words might change for the worse.

    Stage 1: Neologism

    The birth of words begins when there is a semantic (meaning) without a representation (word), so people invent a new word to “point” at the semantics. “Google” was a favorite modern word officially added into the English dictionary in 2006. It was a new verb that was used to describe the searching of information on the internet because no previous word existed to describe what the word “google” described. Words are saved because no one ever has to say “Why don’t you search it on the internet?” ever again. We say “Why don’t you google it?”. All is good. Read More

    0

    My Favorite Book on Friendships is a Book About Polyamory

    I recently read a book called “More Than Two: A Practical Guide to Ethical Polyamory” by Franklin Veaux and Eve Ricket. I didn’t know about polyamory before, and always lumped “poly” people with the rest of the sexually deviant groups of society. Because polyamory is a relatively new concept for most of the monogamous world, the authors spend a great deal of time outlining a guide for navigating in the world of polyamory. The upside of being so detailed in helping neophytes navigate complex relationships involving more than two people is that I learned a lot about relationships in general. “More Than Two” is probably my favorite book for navigating my friendships. Read More

    0

    Set Strategy

    Set is not a board game that leaves much room for luck. When an experience Set player plays with you, you’re almost certainly going to be destroyed.

    Back in college, I had a friend who was really into this game. She would always invite me to play with her in our free time and I would get crushed every time. One day, I got sick of getting beaten, so I decided to intensely train and study Set for a week. After a week, I played a rematch with her, and won.

    This guide presents some strategies for the game that I discovered. After guiding you through these incremental strategies, I will evaluate how much of an improvement each strategy makes the game. Read More