Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 544

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 199

Deprecated: Return type of Pimple\Container::offsetExists($id) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 133

Deprecated: Return type of Pimple\Container::offsetGet($id) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 98

Deprecated: Return type of Pimple\Container::offsetSet($id, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 79

Deprecated: Return type of Pimple\Container::offsetUnset($id) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 143

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 60

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 66

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 72

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 76

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 56

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 578

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 585

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 606

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 613

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 620

Deprecated: Return type of WPCF7_FormTag::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 395

Deprecated: Return type of WPCF7_FormTag::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 387

Deprecated: Return type of WPCF7_FormTag::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 381

Deprecated: Return type of WPCF7_FormTag::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 399

Deprecated: Return type of WPCF7_Validation::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 78

Deprecated: Return type of WPCF7_Validation::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 72

Deprecated: Return type of WPCF7_Validation::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 59

Deprecated: Return type of WPCF7_Validation::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 82

Deprecated: Automatic conversion of false to array is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/modules.php on line 137

Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/script-loader.php on line 348

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 22

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 28

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp.php on line 173
Why I Am Not Front-Loading My Retirement Account In 2020 - Max Out of Pocket
Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/formatting.php on line 4975

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

Why I Am Not Front-Loading My Retirement Account In 2020


Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/jetpack/class.jetpack.php on line 4222

After going on and on about front-loading over the last year, I have decided not to front-load my retirement account in 2020. You see, I had planned on it. I even put a request into my HR department in early December to set aside about 90% of my salary for retirement starting in January 2020. But then I canceled the request.

Front-loaders Excavators on break in New Hampshire.

There is really no telling what my Human Resources department thinks of me. They probably thought I was planning on resigning from my position back in early 2019. I was maxing out my 403(b) account to the point where my paychecks were coming in at $12.00. I was in the midst of yet another Epic EMR (electronic medical record) implementation, so perhaps they figured, “yeah, he’s finally lost it”. Now a year later, I am putting in erratic requests to dramatically increase my retirement contribution amounts to 90% of my pay only to cancel it last minute with no explanation.

But after thinking long and hard about it (about 10 minutes to be exact), I decided not to front-load my retirement account in 2020. After canceling the request, I set my contribution back down to 3% of my salary to ensure I capture the employer match.

So has Max lost his edge? Not necessarily.

Personal finance is just a hobby for me. I actually like this stuff. So, considering other options for where to place my hard-earned money is fun for me.

2020 Retirement Account Contribution Limits

The IRS increased the contribution limit for employees who participate in 401(k), 403(b), most 457 plans, and the federal government’s Thrift Savings Plan from $19,000 to $19,500.

If the Max Out of Pocket crew still lands in the 22% tax bucket in 2020, maxing out this account would defer another $4,290 in taxes. I could then invest that money into the total stock market index where it would sit until I reach the traditional retirement age. My current vehicle for that is Vanguard Institutional Index Fund (VIIIX). This fund seeks to track the performance of the S&P 500 and has a rock bottom expense ratio of 0.02%.

$19,500 X 22% = $4,290 Federal Income Taxes Deferred

It seems like a pretty solid deal, but Max needs some additional time to think through this. While I figure things out, front-loading is out of the question.

Liquidity Considerations

I have been maxing out our 403(b) plans since 2013. Even before that, I had a pretty aggressive contribution percentage. Between that, my employer match, and a raging bull market, our retirement accounts have become pretty sizable. In fact, we have well over a half-million set aside for retirement already.

As good as that feels, having so much money in tax-deferred accounts has thrown our overall portfolio off balance a bit. I even mentioned it briefly over at Costa Rice Fire earlier this year. Several other bloggers had additional comments on things they wished they learned about FIRE early on. Thanks again, Caroline, for putting that together!

I initially had plans to retire extremely early and use a Roth Conversion Ladder to slowly release assets out of those accounts at a 0% tax rate. I will get into the details of that process in another post. But then, halfway through 2019 I really started enjoying work again. So now a Roth Conversion Ladder is likely out of the question, or at the very least, won’t happen for several years. Maybe I will hang it up at 40, but I might work until I am 100. There is really no telling at this point. If I do retire out of healthcare, I guarantee I will be making money somehow. After all, I have a $500,000 Standard Deduction portfolio on my side and it is hard to justify not filling that bucket up.

So now, I am considering building up our taxable brokerage account a bit more to help me create a larger pool of liquid assets. That way, if I decide to start a real business or take a sabbatical I will have plenty of money at easy access. I don’t like climbing ladders to get access to my money.

What If I Change My Mind?

Am I really willing to pay around $4,290 in federal income taxes now for the luxury of liquidity later? I’m not sure. Would that $19,500 better serve me locked away in a retirement account? Maybe. Or would I rather have access to about $15,000 now to buy real estate or start a meaningful business? I just don’t know the answer to that question.

I may change my mind later this year and decide to max out my employer-sponsored retirement account. I just need more time to think through this. If I were to front-load again, I wouldn’t be able to reverse that decision and those assets would be locked in tax-deferred accounts.

Is Max Trying To Time The Stock Market?

Unfortunately, I am not a superhero. We can’t time the market. I know that and hopefully, by now, you know that. But that doesn’t negate the fact the S&P is coming off a 30%+ gain in 2019. Is that sustainable? I don’t know. For all I know, we are heading into round two of the roaring ’20s.

But then again, we just bombed Iran. There is a looming presidential election. Australia is burning. Perhaps holding off some contributions will come in handy and I can pivot on this decision and “back-load” into lower stock valuations if things go bust later in 2020. That said, if it happens it would be luck. Time will certainly tell.

Roth 403(b) Retirement Account Option

My employer centralized our retirement account administrator last year. This opened up a new option Max has never had access to.

The Roth 403(b).

Contributions are made to these accounts on a post-tax basis but they offer tax-free growth. I will be doing some additional research on these accounts. My understanding is they behave a lot like the regular Roth IRA including access to the original contributions after 5 years. A decent chunk of my medical office building portfolio is in a Roth IRA because they throw off so many dividends. Those dividends are tax-free in that type of account.

Physician’s Realty Trust sitting in my Roth IRA account. This will spit out $400 in tax-free dividends in 2020.

I went ahead and set my 3% salary deferral to go into a Roth 403(b). This will force me to do the research. Perhaps this will be a good middle ground for the Max Out of Pocket crew.

Bottom Line

Front-loading worked well for me in 2019. With the S&P up 30%, I ended up with about $1,000 more in my account compared to the gains I would have seen if I hadn’t front-loaded. I will dig into those numbers soon.

But after maxing out my tax-deferred retirement account for 7 years, Max is considering changing things up in 2020. I am starting out the year by only putting 3% of my salary into my employer’s retirement account. For the first time, those contributions will hit a Roth 403(b) account. I will be doing some additional research on my fancy new Roth 403(b) account in the coming months.

In the meantime, I am going to cash-flow my W2 income into my brokerage account. Who knows, maybe I will accelerate my medical office building portfolio a bit. I just need to be careful keeping too many of those things in a taxable account since they throw off so many dividends. I don’t want to have an embarrassing tax situation on my hands.

Personal finance, what a weird hobby for someone to have.

Where do you keep your retirement assets?

Share

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

10 Responses

  1. Dragon Guy says:

    The last few years I front-loaded 401(k) contributions. In 2019 I did it very fast as I knew I was going to be quitting at some point. I had one week where my paycheck was actually $0. For 2020 tax year, I will have to wait until 2021 before I make any contributions because I won’t know the income we make until later in the year. That’s a new concept for me and a little weird, but I will get used to it.

    “Personal finance, what a weird hobby to have.” — I don’t think it’s weird at all. I love playing with my models to figure all this stuff out. And besides, I think we will be better for it because we understand it all!

    • Max OOP says:

      Hi Dragon Guy! Glad someone else also enjoys this stuff.

      That is awesome you got your check to $0.00. My goal was to get my check to $0.00, but my employer makes me use “big round” percentages and not exact dollar amounts. They have a rule that if you don’t leave enough to pay healthcare premiums and payroll taxes (FICA) they take your contribution to $0.00, so I didn’t want to risk that (and potentially the employer match).

      How did your employer match work? Would they give it all to you early in the year? Or did they make you contribute EVERY pay period to get the match? My previous employer wouldn’t actually do the match until February of the following year! For example, my 2019 match wouldn’t hit my account until February of 2020. I think it was somewhat of an incentive to keep people around for the full calendar year.

      Take care,

      Max

  2. I’m a fan of front-loading tax-advantaged investments. By the end of January, I will have maxed out both backdoor Roth IRAs, 50% of my HSA, and 25% of 403b & 457. By the end of February, the HSA will be funded. By the end of April, the 403b & 457 will be fully funded. I like accelerating the tax-free/deferred growth and kicking the federal withholdings on my taxes further down the calendar year. I underwithhold slightly during the year and make a large lump sum extra withholding during my December paycheck so that I have zero tax payment/refund. It’s a pretty good system.

    • Max OOP says:

      Hi Frugal Professor!

      I am jealous of your 457 account. I read up on those years ago and it seems like an awesome account with a ton of flexibility. I almost took a job on the west coast at one point because they offered that 457 account – seemed like a pretty solid benefit.

      I think your job is pretty solid, but be careful frontloading the HSA. I think if we get clipped and can’t get back on another HSA we are no longer allowed to max out the account since annual contributions are divided out by 12 months and allowed for each month we are eligible for a HDHP. I will read up on that a but to make sure.

      Happy Friday.

      Max

  3. I always maxed out our 401K when we were able to (except the year when we saved up for a home down payment, we backed down to the employer match threshold) because I want to save on taxes TODAY 🙂 We looked at it like a bill that had to be paid (like our electric bill in our 90’s).

    • Max OOP says:

      That does seem like the logical way to go. I could see changing my mind on the whole thing. Did you have access to the Roth 401K at all during your career? I may just end up maxing that out. In the meantime, I will just stick with the minimum contribution to get the match while I mull some of this over. I have a very small balance in my new ROTH 403B account : ) as of a few weeks ago!

      Max

  4. Interesting take, Max. I am definitely a fan of maxing my 401k now because I am currently in such a high tax bracket, especially here in California. However, you always have to do what works for your current situation! If you did change your mind, how quickly does your employer make those changes for you? I learned the hard way that any changes I try to make to my contributions take at least a month to take effect, which is frustrating if you’re down to the wire. Good luck this year!

    • Max OOP says:

      Hi Elise. Always nice to hear from you. I hear taxes in California are rough. I have no state taxes in my current situation, so that is another reason not to max out my 403b. In California, you have another 7% plus a reason to max out your 401k. I would probably do the same thing there.

      My employer seems to be able to change these things on a dime. So if I ultimately decide to max it out, they can turn it around within a week of me getting paid. Time will tell!

      Congrats again on paying down that loan!

      Take care,

      Max

  5. Lordosis says:

    I love the way you look at things. Great blog!

    Couple of points that might help you decide. If you are in the 22% tax bracket now while working and you plan to retire early you will almost certainly have a lower effective tax rate in retirement. So taking advantage of the tax arbitrage is likely better then not investing or taking the roth option. Liquidy becomes the issue but it sounds as if you know about roth ladders and that fixes it for the most part.

    Also those are excavators in the picture not front loaders.

    Keep up the good work!

    • Max OOP says:

      Thanks for checking in Lordosis!

      I knew someone would call me on that 🙂 – I didn’t want to duplicate the front-loader I used earlier in the year. I will set the description straight and use a fork-lift next time to make everyone is paying attention.

      Great points. As much as I daydream about early retirement, I think it is more than likely that my type-A personality will work at some capacity. So, I will lose out on some of that tax arbitrage I have been planning on for years. With Mrs. Max OOP already working part-time and keeping our combined income lower, paying 22% in taxes for the sake of liquidity seems fair. If we get bumped up into a higher bracket, I may go back on it. I also am still in that sweet spot for 0% long term capital gain harvesting so that could convince me to max it out again in 2020 depending on how our gains are looking. Time will tell!

      Max


Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/jetpack/class.jetpack.php on line 4222

Leave a Reply

Your email address will not be published. Required fields are marked *


Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/formatting.php on line 2747
%d bloggers like this: