Marc's INTJ Blog

< back

How to be a successful INTJ computer programmer

Thursday July 28, 2016

TL;DR: Be very cautious about pursuing a career as a person who makes things. Programming is sometimes a better fit as an INTJ hobby. And if you’re trying to learn through academia, that’s sometimes double-hard for INTJs, who generally learn best through hands-on, real-life projects and build theory from the ground up via experience. I’ve included learning tips and relevant details below. Also be sure to read to the end, because TL;DR isn’t really a great learning paradigm, right?

How can you be super successful as an INTJ computer programmer?

Related Article: An INTJ-friendlier Introduction to Programming

The Problem

For many INTJs, the answer seems like: You can’t. And the longer you stare at online developer portfolios and see what everyone else is doing, the longer you watch your goals outstretch your worst-case deadlines, the more you talk up your goals when your friends ask about them, the more you will tend to wonder why.

Why can’t I do this? I know others who do. Those guys are idiots compared to me. They didn’t even know about framework X when we talked tech at lunch last week. Framework X is the best framework available right now.

I already know that. I’ve been building a…building a…build. Build, man. Why can’t I build anything?

I talk the talk but I procrastinate everything. Am I lazy?

I just took a super long lunch. I mean, I got the job, they like me. The boss has been asking about that big project I promised to make progress on.

But here I am on this park bench and I’d rather be doing just about anything else. This morning from 10 to 10:30 I sat in the quiet corporate bathroom on the other side of the building and read Dostoyevsky.

Who’s this guy? Don’t make eye contact. Wow he looks like…

One Solution

Hi there.

I’m future you.

You’re using your gifts right now, you know that? Sitting on this park bench, listening to your perception.

You are very gifted when it comes to perception.

Have you thought about perception as a career? Forecasting? Strategy? Research and analysis? Contingency planning?

I know, programming is none of those things.

But the way your brain works is, you may think you need to be programming, creating things by hand.

The act of programming itself may not really be where your main gifts are, though. It’s a part of you that might even be pretty weak. You might get anxious when you try to do it more than a tiny bit at a time.

In general, INTJs can be biased to think they need to be the ones to do all of the things by themselves, see? No systematization, no delegation—just you, doing it all. You get all the glory, true—but do you see how that might be a little bit too much?

And when the waves of details come up and bury you, you’re crushed. You wanted to put on a good show, and instead your hands became tied again.

Listen. First, start taking better care of yourself. When things are hard, learn to let them feel hard. Feel it! Then go home and start doing research. Attack the problem. Add in some analysis—theories of what would be good for you. Make a simple list of next steps. Put effort into that. It won’t get as hard nearly as fast as programming will. There’s no guarantee it’ll make you a billionaire, but none of the really mature, happy INTJs need that stuff anyway. (I know, I coach them. They’re amazing, but mostly they want to feel like they are solving problems and learning things.)

Eventually, you’ll build your own frameworks and rule sets for success in various areas.

And as you refine those rules and frameworks, they’ll start to work even better.

You were right to come to the park bench. And the bathroom time was well used, believe it or not! Your body knows what it needs. Don’t blame yourself. Hang in there.

[Note: This first part of the article was a compilation of my thoughts and experiences around the phenomenon of many, many INTJs being ground to bits by university-level CS programs, or by new jobs in the field. I hear from them all the time. If you are reading this and feeling deja vu, get in touch plz, love to hear your experience]

Another Solution

Let’s say you’ve come up against this problem, but you need to be programming right now. Or you’re already a programmer and want to improve.

Here are the keys I’d encourage:

  • Constant Brain Dumps
  • Ongoing Rule Refinement
  • Remaining Open to Delegation and Oversight Roles

Constant Brain Dumps

In order to be most effective, the INTJ brain needs opportunities to dump information. You might do this in:

  • A journal (example: Jordan Mechner’s Prince of Persia and Karateka development journals)
  • A text file (example: John Carmack’s .plan files)
  • A website or web page (example: JWZ’s web pages and blog at

Personally I feel these are least effective when done for an audience. You should feel very little pressure to compose, and spend most of the time getting information and ideas out of your brain.

It’s crucial to eventually bring your writing around to the most daunting items that you need to accomplish. If you write thousands of words and avoid those things, your brain dump isn’t really a brain dump.

Once you have externalized the most stressful items, you should start to explore them, ask questions about them, prod at them. This is known as extraversion and is critical for us introverts. This kind of extraversion will help us solve problems in the exact way that avoidance won’t.

[Personally, I keep a text editor open at all times, and write down whatever comes to mind. Away from the computer I keep a pocket notebook with me.]

Ongoing Rule Refinement

You should also begin to treat your workday as a laboratory. An ongoing experiment. You can do this by:

  • Proposing new ideas that will better your work
  • Testing those ideas
  • Finding and extracting key leverage points
  • Refining the ideas into a framework that is reusable

For example, let’s say you just spent your first week at your new programming job in complete desperation: You highly dislike one of your closest coworkers, the technical documentation is a mess, and you keep getting your lunch stolen.

  • Regarding the coworker, start to propose & test ideas for making the relationship work, even if it’ll never be the best. Dive into the research.
  • Regarding the documentation, start to propose & test ideas for learning what you need to learn. Perhaps, for example, you think it’d be worth trying to write your own documentation as you go along.
  • Regarding the stolen lunches, perhaps you brainstorm a few different ideas: Letting your boss know about it, asking people online, marking your bag, keeping lunch in a cooler inside your car. The cooler turns out to be great! You discover that keeping lunch in your car reminds you to get outside and take a brisk walk during lunchtime. That is known as a leverage point. It goes a great distance toward helping you solve the problem, perhaps even surpassing the original goal. Maybe the goalposts are now moved forward a bit, into “how to have the best lunchtime” or similar.

With each point, the process is the same: Propose, test, look for leverage points, refine. You now know how to develop frameworks that give you huge amounts of leverage over your problems.

Remaining Open to Delegation and Oversight Roles

Eventually it’ll be time to detach from the same day-to-day work you’ve always done. If not completely, at least in some ways, this is going to be crucial.

For example, let’s say you continue coding, but your in-house framework is giving you headaches.

A lot of INTJs would, at that point, figure that the problem is them, and not the framework. This often turns into “let’s keep using the broken framework,” or potentially even worse, “I must quit my job.”

But it’s a good idea to keep an open mind. Perhaps you decide to gradually phase out your in-house code framework and bring in a simple, flexible third-party framework to help you out. And maybe you also contact the company that develops the third-party framework and get referrals to contractors who can help you focus on what’s most important, while they fill in the details here and there.

Keeping an open mind also means pushing a bit. It’s healthy to negotiate with the people on your team—your boss, your coworkers. You can tell them your thoughts, tell them what you don’t want to do anymore, give them potential solutions, and make sure the problem is in everyone’s lap, not just yours.


As an INTJ, your gifts, maximized, are very impressive. Objective measurement coupled with subjective framework-building should get you very far.

But don’t forget to take care of yourself—let your inner ESFP (all four letters, flipped) help determine your life development path. Don’t suppress the inner lazy guy forever. Learn to listen to your heart and be OK with “I’m just done with this.” Have fun, and make sure others know you’re having fun.

If you’re not having fun, I hope this article helped. If you are having fun, I hope you got some new ideas here.

By the way, if you want more concrete programming-learning tips, be sure to check out An INTJ-friendlier Introduction to Programming.

Filed in:

Own your procrastination with Whole Productivity, a new system → Get my free INTJ COVID-19 Guide → Explore your gifts with my INTJ Workbook → Other Publications → ...and the fake word of the hour: "Damior." Which I believe is a term used when speaking about paper towels.