Monday, May 20, 2013

How to Get Rich.

A week ago, I was a college student who had absolutely no idea how money worked.  Then, I read this fantastic book called I Will Teach You to Be Rich. Now I'm very slightly less oblivious! Read that book after you read my summary.

If you're a completely oblivious college student or recent grad who has no idea how to manage your finances, here is a very basic overview of what to do.  This is basically a summary of that book.

0. Don’t stress about the details

Most people don’t do anything about their finances because they get wrapped up in little details and big words.  If you want to be rich, just get the big picture things right.  Automate your accounts to invest money for you.  Invest for the long term, and don’t care about little stock fluctuations.  Or, to be computer sciencey, micro-optimization is the root of all evil.

1.  Get a credit card.

If you already have a credit card, call your bank and make sure it’s a no annual fees card. I got the Visa Rewards card from Chase.  I chose this card because the interest rate wasn’t terrible, the rewards were good for me (Amazon credit), no annual fees, etc.

2. Establish good credit.

  • Check your credit report for free on
  • Pay your bills in full on time
  • Find a card with 0 annual fees
  • Set up your accounts to auto-pay your credit card in full so you don’t forget
    • Easy to set up on the bank website
  • Don’t miss any payments (VERY VERY BAD)
  • Don’t pay the minimum (the interest rates will kill you)
  • Don’t get a card with annual fees!  
  • Don’t close credit cards.  The longer you have them open, the higher your score
  • Don’t come anywhere near maxing out a credit card (your score is higher if you only spend a small percentage of your limit), but do spend SOMETHING so you have something to pay off every month
Good credit is important.  It gets you cheaper car insurance, loans, mortgage stuff

2.5 Set up a checking account with a big bank

Make sure you get one with no fees.  I have Citibank (my debit was set up like 5 years ago).  You could set one up with an online bank, but this might be too much inconvenience.  

3. Set up an online savings account.

The point of a savings account is specific savings goals, such as:
- 3-months salary for emergencies
- Gifts
- Saving up for a car

There are basically two types of savings accounts: online and offline.  

The offline ones are at big banks, and they have truly horrible interest rates on your money (like .01% at the moment).  They also will charge you fees and require you to have a minimum amount.  Don’t get this.

Online bank accounts are WAY better, with interest rates closer to 1% (100x higher!).  Good online bank accounts will have no fees and no required minimum.  Additionally, online bank accounts make it really easy to save up for specific things.  With Capital One 360, for example, you can create sub-accounts in your savings account for specific things.  For example, you could have a “Car fund” and a “Rainy day fund” account to make your goals clear.  You should connect your savings account to your checking account, and use your checking account to automatically transfer money over when you get a paycheck (amounts shown later).  The only downside to online banks is that it can take a few days to transfer your money from that account.  However, with a savings account, you shouldn’t really be taking money out in a rush, so it’s not a problem.

I signed up for a Capital One 360 Savings Account, because it had a decent interest rate (.75%), no fees, and no required minimums.  That account has been around for a long time, seems trustworthy, and got positive reviews everywhere I looked.  It was easy to set up.

4. Contribute to your 401k

401k is a retirement plan that's hosted by your employer.  The reason it’s so great is because you don’t have to pay taxes on the money you put in there until you take it out.  It lowers the amount of taxes you have to pay.  Also, many employers will match your 401k contribution up to a certain amount, so it’s basically free money.  Take full advantage of the 401k your employer has, especially if they match.  Go for the most aggressive/high-risk portfolio your company offers if there’s a choice.  Contribute as much as your employer will match.  Unfortunately, you can’t take money out of this plan until you’re 59 or 60, but that’s the point.  Well, technically you can take out money earlier, but you’ll pay HUGE penalties on it so don’t do that unless in really urgent situations.

5. Set up an IRA account (preferably Roth)

The Roth IRA is another retirement plan, very similar to the 401k.  The difference is that your employer has nothing to do with the Roth IRA.

Roth IRA is a better account than a plain old IRA, but if you’re making over a certain amount (~114,000), you’re not eligible for a Roth IRA.    With the Roth IRA, you pay taxes on the money now, but don’t have to pay taxes when you withdraw the money.  To set up your IRA account, you’ll need to go through a firm like  The only downside to Vanguard is you need $3000 to get your account open.  I don’t have that at the moment, but I plan to make that one of my first savings goals once I start working.   

6. Budget

Well, you have all these awesome accounts now, but how much should you put in each one?  

The following table is Ramit’s general guideline of how much money to allocate each month.  

The following percents are for your take-home pay (after taxes: the amount you actually have). 
Say you have a 100k salary, 65k post taxes, 65/12 = 5400 a month

Ramit’s suggestion (percent)
Ramit’s suggestion (cash/monthly), assumes 5400/mo
after taxes
Fixed Costs (rent, utilities, debt, gas, car repairs etc.)
$2700 - $3240
Investments (401k, IRA)
Savings (vacations, gifts, house down payment, unexpected expenses)
$270 - $540
Guilt-free spending money (dining, drinking, movies, clothes, museums)
$1080 - $1890

Open up an account at Mint to help you track your accounts. 

7. How to invest (your IRA accounts, etc.)

With the money you put in your IRA accounts, you’ll need to invest it somewhere.  You don’t want it to just sit there.  Invest it in a “lifecycle fund”, like this.  A lifecycle fund is basically the easiest possible thing you can invest in.  You just put your money there, and it allocates itself to the appropriate things.  A lifecycle fund decides where to put your money based on your age.  For example, if you’re a young 25 year old whippersnapper, it will put most of your money in high risk stocks (~90%) and the remainder in more secure bonds (~10%).  As you age, it will shift that balance more towards bonds and less towards stocks.  

I’m totally fine with just having a lifecycle fund.  I don’t really want to have control over this stuff, because I don’t want the hassle.  However, if you want to
really control the details of your investments, you should look into index funds/mutual funds instead.  Mutual funds are basically a collection of stocks that were chosen by someone.  Index funds are the same thing but were chosen by a computer.  Go for index funds rather than mutual funds because they have way less fees and often have better returns.  However, if you go this route, you’ll need to consciously diversify your portfolio to make sure you don’t have too much money in any one category.  I didn’t read much about this stuff because I’m planning to take the easy way out and use a lifecycle fund.

8. Automate everything

Set everything up online so that all amounts are transferred automatically and you don’t even have to think about it.  Have your paycheck auto-deposit into your checking account, and then have that checking account automatically pay off your credit cards and transfer money to your savings account and investments.  You can do this all online.

Monday, November 28, 2011

How to Get Your Dream Software Internship (Pt. 1)

After landing my dream internship at Microsoft, I figured I'd take some time to sit down and share my advice.

This advice is targeted at college students looking to get a software related summer internship (programmer, tester, program manager, etc.).  However, you may find that most of this advice applies equally well to graduating students looking for full time work.  NO! DONT USE THIS ADVICE FOR THAT! I'm kidding, you can use this advice for that.  It's totally cool.

Ok here we go.

I'm going to divide the process of getting an internship into three bite-sized pieces:
  1. Building your resumé
  2. Getting an interview
  3. Nailing the interview(s)
This article focuses on the "Building your resumé" part of the process.  If you guessed this much because of my clever use of bold, then kudos to you.  You will be successful in your job search.

Before getting into the actual implementation details of how to write your resumé, it's important to understand the point of it.  A resumé is your chance to sell yourself quickly.  The goal of your resumé is to make yourself look as good as possible.  Your resumé is NOT the place to tell your life story, ramble, or provide meaningless lists.

Say you spent a summer folding clothes at Pac Sun.  How should you represent that experience?  Let's take a look at two ideas.

Idea 1:
Pac Sun, Los Angeles, CA

  • Operated the cash register
  • Customer service
  • Folded clothes
  • Mopped the floor
Idea 2:
Pac Sun, Log Angeles, CA
  • Developed strong communication skills through customer service
  • Worked on a team to clean and operate the store

Idea 1 certainly takes up more space on a resumé, but what does it tell companies about you? That you know how to fold clothes?  Operate a cash register?  Listing responsibilities in this manner does nothing to sell you.  Don't use the attitude of "I'll list my experiences and let companies draw their own conclusions!"  The only thing the company will conclude is that you don't know how to sell yourself and are a poor communicator.

Idea 2, on the other hand, takes up less space but cuts right to the point.  This job helped you develop strong communication and teamwork skills.  Google does not care that you figured out how to work a cash register, but you better believe they care about your ability to communicate and work on a team.  Idea 2 is better because it sells your experiences rather than just list them.

This idea of selling yourself applies to the entire resumé.  Figure out your strengths and make them standout.  For example, if you have a great GPA but no software related work experience, you should write your resumé in a way that emphasizes your GPA and potential.  If you have a crappy GPA but have made contributions to some open source projects, the first section on your resumé should certainly be "Open Source Projects" and not "College".  Always keep in mind the people reading your resumé are probably going to focus on it for about 10 seconds before making a decision.

Now that you understand the point of your resumé, let's talk about some details.

Grammar or spelling errors are completely intolerable.  Before sending your resumé out into the wild, you need to have some friends peer edit it for errors.   Choose the best writers you know to edit your resumé.  Promise your friends that you will in no way be offended by harsh criticism.  Don't be offended by harsh criticism.

What should your resumé look like?  Don't write it from scratch.  Use a resumé template in Microsoft Word or find some good ones online.  I wouldn't suggest making your own format, but if you have a good eye for design then I won't stop you.

How to list the frameworks/languages you know?  This depends on the position you're applying for.  At Microsoft, where I was applying for a Program Manager internship, the specific technologies weren't the key part of my resumé. Thus, I listed them towards the end and didn't place too much focus on them.  For programming internships, it may be a better idea to list the technologies closer to the beginning.  You should include the amount of experience and your skill level in any technologies you mention.  You don't want to get quizzed on something you have on your resumé that you hardly have any experience with.  Which brings me to my next point....
        Anything you put on your resumé is valid room for interview questions.  Don't lie!

Key things companies want to see in college students' resumés:
  • Good GPA
  • Good college
  • Relevant work experience (don't just list responsibilities!)
  • Contributions to open source projects
  • Experience in relevant technologies 
  • Passion for software 
  • Leadership
  • Strong communication skills
  • Experience working on a team
Try to make your resume showcase as many of these things as possible.  Likewise, de-emphasize whatever you're lacking.  If your GPA is bad, consider putting academics far down on your resumé below the good stuff.  If you haven't contributed to any open source projects, then obviously don't have an "Open Source Projects" section.

Finally, have some smart friends review your resumé.  Tell them to look at it from the perspective of an employer.  How well does it sell your experience?  Is there anything on your resumé that seems pointless and does nothing to sell you?  Are there any spelling errors?  Be open to criticism.

For more advice, I'd highly recommend reading Programming Interviews Exposed.  It has a great section on resumés which is far more extensive than what I've written here.

I'll definitely be replying to any questions left in the comments, so comment away!  Until part 2....