1) Save Like Nobody Owes You Anything. Passive income starts with savings. Without a healthy amount of savings, nothing works. Your overall “Money Strength” will be an F- if you do not build a financial nut. In our current low interest rate environment, you must save even more than before. It’s important to also realize that the savings I am referring to is AFTER-tax savings. You need to save money after contributing to your 401k and IRAs since you can’t touch pre-tax retirement accounts without a penalty until 59.5. Ideally everyone should max out their pre-tax retirement funds first, but if you don’t have enough funds and want to retire earlier then a decision to have more accessible post tax money will still work.

If you’re considering real estate for your portfolio, let me give you some advice: Don’t jump in without a ton of research. It’s not as easy as they make it look on shows like Flip or Flop. There’s a lot that goes into becoming a successful landlord or flipping houses for a profit. Plus, a lot can go wrong and your mistakes can eat up your profits quickly.


I just graduated college in May and was fortunate enough to secure an entry level consulting position that pays 55k/yr (a little less than ~35k after 401K, other benefits, and the lovely taxes that government bestows upon us). I started from “scratch” with my finances and have ~$2.3k in an online savings account. Since starting work a couple of weeks ago, I’ve had an aggressive savings plan (saving around ~40-50% of my monthly income). However, I’m going to become even more aggressive and live off 1 paycheck a month (and save the other paycheck) like you have suggested in many of your blog posts.
Hi, it’s probably been brought up before, but the statement “you can’t touch pre-tax retirement accounts without a penalty until 59.5” is incorrect. You can touch the traditional 401k accounts with a SEPP (substantially equal payment plan), and not pay the 10 percent penalty. You can also touch a Roth without the 10 penalty using the same strategy, although I understand you will pay taxes so you lose the Roth’s advantage. When I found this out, I stopped contributing to Roths because I wanted to retire early. Who knows if they will even live to age 59.5? So many people don’t!
Thanks for the info…I kind of figured it is really not that expensive to live if you are not an extravagant person. I could definitely figure out how to funnel expenses through a part time business…I think I keep thinking along the lines that I’m going to be paying the same tax rate after retirement, but reality is you could get pretty lean and mean if one focused on it. On a scale of 1-10 with 10 being utter panic mode, how worried are you about your “pile” lasting through a 50 year retirement now that you are a couple years into it?
What’s also really important to realize here is that when I took the exam I was teaching people to study for, I didn’t get a perfect score. In fact, I didn’t even get close to a perfect score. I passed. But I also knew a lot about this exam—way more than somebody who was just getting started diving into studying for it. And it was because of that, because I was just a few steps ahead of them, that they trusted me to help them with that information. To support this, I provided a lot of great free value to help them along the way. I engaged in conversations and interacted in comments sections and on forums. Most of all, I just really cared about those people, because I struggled big-time with that exam myself.
It was easier recouping the lost $60,000 in rental-property income than I expected. For so long, my primary mindset for passive income was rental income. Having $815,000 less mortgage debt but still generating roughly the same amount of passive income with a much larger cash balance feels great. Further, my passive-income portfolio got even more passive, which is good as a stay-at-home dad to a newborn.

Nobody gets early FI investing in bonds, CD’s, or even stocks unless they make a huge income or are extremely frugal or a combination of both. Paper assets just don’t provide enough returns. Business income can be great but it is typically not as semi-passive as I would like and there is a relatively high failure rate. That is if you can monetize an ideal to begin with. RE investing needs to be higher ranked IMO as a way that the “average guy” can become FI.

!function(n,t){function r(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function i(e){return void 0===e}if(n){var o={},s=n.TraceKit,a=[].slice,u="?";o.noConflict=function(){return n.TraceKit=s,o},o.wrap=function(e){function n(){try{return e.apply(this,arguments)}catch(e){throw o.report(e),e}}return n},o.report=function(){function e(e){u(),h.push(e)}function t(e){for(var n=h.length-1;n>=0;--n)h[n]===e&&h.splice(n,1)}function i(e,n){var t=null;if(!n||o.collectWindowErrors){for(var i in h)if(r(h,i))try{h[i].apply(null,[e].concat(a.call(arguments,2)))}catch(e){t=e}if(t)throw t}}function s(e,n,t,r,s){var a=null;if(w)o.computeStackTrace.augmentStackTraceWithInitialElement(w,n,t,e),l();else if(s)a=o.computeStackTrace(s),i(a,!0);else{var u={url:n,line:t,column:r};u.func=o.computeStackTrace.guessFunctionName(u.url,u.line),u.context=o.computeStackTrace.gatherContext(u.url,u.line),a={mode:"onerror",message:e,stack:[u]},i(a,!0)}return!!f&&f.apply(this,arguments)}function u(){!0!==d&&(f=n.onerror,n.onerror=s,d=!0)}function l(){var e=w,n=p;p=null,w=null,m=null,i.apply(null,[e,!1].concat(n))}function c(e){if(w){if(m===e)return;l()}var t=o.computeStackTrace(e);throw w=t,m=e,p=a.call(arguments,1),n.setTimeout(function(){m===e&&l()},t.incomplete?2e3:0),e}var f,d,h=[],p=null,m=null,w=null;return c.subscribe=e,c.unsubscribe=t,c}(),o.computeStackTrace=function(){function e(e){if(!o.remoteFetching)return"";try{var t=function(){try{return new n.XMLHttpRequest}catch(e){return new n.ActiveXObject("Microsoft.XMLHTTP")}},r=t();return r.open("GET",e,!1),r.send(""),r.responseText}catch(e){return""}}function t(t){if("string"!=typeof t)return[];if(!r(j,t)){var i="",o="";try{o=n.document.domain}catch(e){}var s=/(.*)\:\/\/([^:\/]+)([:\d]*)\/{0,1}([\s\S]*)/.exec(t);s&&s[2]===o&&(i=e(t)),j[t]=i?i.split("\n"):[]}return j[t]}function s(e,n){var r,o=/function ([^(]*)\(([^)]*)\)/,s=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,a="",l=10,c=t(e);if(!c.length)return u;for(var f=0;f0?s:null}function l(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function c(e){return l(e).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function f(e,n){for(var r,i,o=0,s=n.length;or&&(i=s.exec(o[r]))?i.index:null}function h(e){if(!i(n&&n.document)){for(var t,r,o,s,a=[n.location.href],u=n.document.getElementsByTagName("script"),d=""+e,h=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,p=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,m=0;m]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,o=n.split("\n"),u=[],l=0;l=0&&(v.line=g+x.substring(0,j).split("\n").length)}}}else if(o=d.exec(i[y])){var _=n.location.href.replace(/#.*$/,""),T=new RegExp(c(i[y+1])),E=f(T,[_]);v={url:_,func:"",args:[],line:E?E.line:o[1],column:null}}if(v){v.func||(v.func=s(v.url,v.line));var k=a(v.url,v.line),A=k?k[Math.floor(k.length/2)]:null;k&&A.replace(/^\s*/,"")===i[y+1].replace(/^\s*/,"")?v.context=k:v.context=[i[y+1]],h.push(v)}}return h.length?{mode:"multiline",name:e.name,message:i[0],stack:h}:null}function y(e,n,t,r){var i={url:n,line:t};if(i.url&&i.line){e.incomplete=!1,i.func||(i.func=s(i.url,i.line)),i.context||(i.context=a(i.url,i.line));var o=/ '([^']+)' /.exec(r);if(o&&(i.column=d(o[1],i.url,i.line)),e.stack.length>0&&e.stack[0].url===i.url){if(e.stack[0].line===i.line)return!1;if(!e.stack[0].line&&e.stack[0].func===i.func)return e.stack[0].line=i.line,e.stack[0].context=i.context,!1}return e.stack.unshift(i),e.partial=!0,!0}return e.incomplete=!0,!1}function v(e,n){for(var t,r,i,a=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,l=[],c={},f=!1,p=v.caller;p&&!f;p=p.caller)if(p!==g&&p!==o.report){if(r={url:null,func:u,args:[],line:null,column:null},p.name?r.func=p.name:(t=a.exec(p.toString()))&&(r.func=t[1]),"undefined"==typeof r.func)try{r.func=t.input.substring(0,t.input.indexOf("{"))}catch(e){}if(i=h(p)){r.url=i.url,r.line=i.line,r.func===u&&(r.func=s(r.url,r.line));var m=/ '([^']+)' /.exec(e.message||e.description);m&&(r.column=d(m[1],i.url,i.line))}c[""+p]?f=!0:c[""+p]=!0,l.push(r)}n&&l.splice(0,n);var w={mode:"callers",name:e.name,message:e.message,stack:l};return y(w,e.sourceURL||e.fileName,e.line||e.lineNumber,e.message||e.description),w}function g(e,n){var t=null;n=null==n?0:+n;try{if(t=m(e))return t}catch(e){if(x)throw e}try{if(t=p(e))return t}catch(e){if(x)throw e}try{if(t=w(e))return t}catch(e){if(x)throw e}try{if(t=v(e,n+1))return t}catch(e){if(x)throw e}return{mode:"failed"}}function b(e){e=1+(null==e?0:+e);try{throw new Error}catch(n){return g(n,e+1)}}var x=!1,j={};return g.augmentStackTraceWithInitialElement=y,g.guessFunctionName=s,g.gatherContext=a,g.ofCaller=b,g.getSource=t,g}(),o.extendToAsynchronousCallbacks=function(){var e=function(e){var t=n[e];n[e]=function(){var e=a.call(arguments),n=e[0];return"function"==typeof n&&(e[0]=o.wrap(n)),t.apply?t.apply(this,e):t(e[0],e[1])}};e("setTimeout"),e("setInterval")},o.remoteFetching||(o.remoteFetching=!0),o.collectWindowErrors||(o.collectWindowErrors=!0),(!o.linesOfContext||o.linesOfContext<1)&&(o.linesOfContext=11),void 0!==e&&e.exports&&n.module!==e?e.exports=o:"function"==typeof define&&define.amd?define("TraceKit",[],o):n.TraceKit=o}}("undefined"!=typeof window?window:global)},"./webpack-loaders/expose-loader/index.js?require!./shared/require-global.js":function(e,n,t){(function(n){e.exports=n.require=t("./shared/require-global.js")}).call(n,t("../../../lib/node_modules/webpack/buildin/global.js"))}});
×