Personal Productivity Stack Exchange is a question and answer site for people wanting to improve their personal productivity. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Before the question itself, let me introduce some examples.

  1. The colleague of mine introduces me the scheme of the project we will work in. The project is a programming one, so it includes such elements like database, our site, our client's site, our vendor's server and quite a lot of interaction between them all. He draws it on a board. Some time later I find myself to stop being able to comprehend this scheme, literally, stop being able to see it. Who operates with whom? When? Why?

  2. The colleague of mine tell me about the internal reasons of software bug that he found. He describes what a process A is doing, how it interacts with other infrastructure system, how it interacts with parallel process B doing a bit other thing, ant then at certain period of time under certain circumstances the bug shows up. Good God, the guy sitting next to me and listening this as well grabs the whole thing as if he sees it right behind him, as if he can touch all the interacting systems and see what it results into. As if this story is a picture and he've been looking at it for ages being able to understand all the process's internal details.

Well, I've got some more stories, but the point is the same. Sometimes I feel myself like a blindman being shown the picture instead of being told a story. I.e., I feel that I should imagine what a person is talking about to fully understand it but I fail.

So, is it abstract thinking fail, or am I just dumb? :) Or are they synonyms? If I'm not the basket case, how can I improve my skills?

Some information about me: I studied in language school with advanced English and Spanish studying, loved painting. Then entered the technical university on engineering department. Can't say I enjoyed it, but I graduated. On the last 2 years of studying was keen on programming -- that's what I'm doing for living until now.

share|improve this question

closed as too broad by Dennis S., Raystafarian, Grant Palin, THelper, Rory Alsop May 2 '14 at 10:14

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

This is pretty broad as currently written. Can you edit to focus more on a question that can be answered with something concrete? – Dennis S. Apr 30 '14 at 15:47

What is your question? I will answer under the assumption that it is along the lines of "How can I understand as well as my colleagues?"

There's always 2 sides to understanding:

  • the way information is delivered
  • the way information is interpreted

On one side, your colleagues might not be great at delivering explanations, but since you can only control the way you interpret the information, we'll talk about that.

Different people absorb information in different ways and at different speeds. It's important to explore and find out how you learn best. If there's someone saying something I don't understand I ask them to break it down. This achieves 2 things:

  1. Prevents them from going into further detail and confusing you
  2. You get some insight as to how they deliver the information

After doing this a couple of times, you will gradually get accustomed to the way they deliver information and will more easily absorb it the first time around. Personally, I keep a notepad beside me during all technical discussions so I can write down everything I don't understand so that I don't forget to ask and I can review it afterwards.

Hope this helps!

share|improve this answer

As qdev says in his answer "Different people absorb information in different ways and at different speeds".
One reason for this is that understanding/comprehending/processing and storing information is very much related to what you already know: our memory is highly associative, so we 'connect' new information into stuff we already know. Gradually this leads to more knowledge and understanding: when related information comes in next time, you have more internal hooks to connect to. There are more things you already know that don't require energy to process, and you can use that energy to process the 'next' new information.

Also, when presented with too much new information, it is common to 'blank out'. You decide that you no longer are able to follow the conversation and you give up. I say 'decide' because although this may appear to happen subconsciously, you can catch yourself and bring it into conscious behavior, followed by action, e.g.:

  • Say something like "Wait a moment, I don't quite get this, can you explain again?"
    or "If I understand you correctly, ...."
  • Immediately after the session go over your notes again and recapitulate what was said.

There is no shame in asking for clarification. We often don't do that - determined by cultural behavior, or opinions about self. But you'll be surprised about other people's assessment when you show that you want to understand (by asking questions): this is afterwards seen as smart 'behavior'.

Whether you are 'exceptional' in not understanding cannot be determined from one sample. You may have less 'hooks' based on experience, age etc. ;-)
My bottom line suggestion is: just ask for clarification.

share|improve this answer

Recognise Your (Present) Limitations

... but don't dispair.

It is possible that people have different levels of talent regarding their abstract thinking ability, and you may (or may not) have to accept that you'll never reach the levels of your colleagues. However, that really doesn't matter.

The important thing in the long run to make the best of the talent that we do have. For example, I'm no Van Gough, but I can paint a lot better now than when I was 3 years old. Moreover, my scribbled diagrams have been valuable to others as an aid to communication. In other words, my skills don't have to be exemplary to be useful.

At the same time, value the fact that you bring skills to your work that your workmates may not have. Personally, I find that my memory is poor compared to some of my team, which means that I have to slow down and look things up more frequently. On the other hand, I'm an excellent abstract thinker, analyst and problem solver. The benefit of teamwork is that we each bring something to the party.

BTW: One thing I note about your question - you give two examples of a problem, and then try to generalise it. Perhaps you're not as bad at this as you think...

Record Your Thinking

You said:

The colleague of mine introduces me the scheme of the project... he draws it on a board... some time later I find myself to stop being able to comprehend this scheme, literally, stop being able to see it.

In this case, it might have been helpful if you had a copy of what was on the board, or of what your co-worker said.

So, why not capture things like this in the future?

  • Take photographs
  • Draw sketches
  • Make notes
  • Record conversations as mp3s (with the participants permission, of course).

Think Specifics

Sometimes it is easier to see a problem if you have a concrete example rather than an abstract understanding of it. For example, it is easier to answer "What is 2 + 2" than to answer "What are the rules for adding integers".

So, when someone is explaining an abstract problem, try to come up with examples.

Draw Diagrams

It can be a lot easier to visualise more abstract problems from drawings than from words. This is a skill that takes time to learn: practice with things you do understand, or with parts of systems that are clearer to you.

Make Switching Levels a Habit

I often loose sight of the "bigger picture" when I'm working on specific details of a project. To compensate, I try to ensure that I pull back at the end of a piece of work and see how that fits into the grand scheme of things. The more I do this, the better I get at it.

Build (Visual) Mental Models

Physicist Richard Feynman tells a story in about this in his book, “Surely You’re Joking, Mr. Feynman!” (the story is called “A Different Box of Tools”). He recalls how he “gave a lot of trouble” to mathematics students during his time at Princeton be telling them that their subject was “trivial”. He would get the mathematicians to explain a complex and strange scenario to him, and then make a statement about that scenario. Feynman would immediately tell the mathematicians whether their statement was true or false. He achieved this apparently impossible feat of mental gymnastics by building a mental picture of the problem in his head… involving hairy green billiard balls or whatever… and then base his answer on whether or not the statement was true of his model.

Vary Perspective

In the programming world, a problem can often be explained from different perspectives. For example, from a business perspective, at the module level, at a statement level, at the level of 0s and 1s. Testers, programmers, analysts, managers etc. will all see the problem from a different perspective. Practice explaining things (to yourself, if needs be) from these different perspectives. In doing so, your abstraction level will increase, too.


Don't worry if you need to ask more questions than other people - ask them anyway. If your job requires that you understand things at an abstract level, make efforts to do so even if it highlights your apparent lack of skill in this area. By doing so, you'll improve your skill and will probably help others along the way.

A powerful technique is to reflect back what you do understand, and ask people to correct any misunderstandings that you have.

Of course, you need to be sensitive about this - don't badger people if you don't need to, but do keep digging when you do. Nobody should mind if you're working to improve yourself because that'll be good for the team, too.

share|improve this answer

Abstract thinking is hard and I don't think it can be learned. Hint was that you are smart enough to graduate but did not enjoyed the kind of solving puzzles you are required as software developer. Maybe you need to find a position which requires less of abstract thinking. You said you are good at painting and languages. So maybe graphic design of web pages or technical writing would be better fit for how your brain works. Or possibly project management. Hard to tell, only you know what fits into your brain. My brain certainly cannot paint :-)

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.