Take the 2-minute tour ×
Personal Productivity Stack Exchange is a question and answer site for people wanting to improve their personal productivity. It's 100% free, no registration required.

I am 4yrs experience software engineer. When a new requirement comes or when I move to another project, I take a long time to understand the process/flow. So become helpless to work on any development independently. However I balance this gape by putting my technical knowledge, and logic. So people rarely notice my inability. But I feel embarrass in myself.

How can I overcome on slow understanding?

Moreover, I can think better on common topics. For example; I have to make a project for a hotel. I can think many good aspects to be considered in development. In other words, I would like to say, I am fine in analysis common/general things/aspects.

share|improve this question

4 Answers 4

up vote 4 down vote accepted
  1. Experience: you must have noticed in you project/office that other colleagues who are more experience understand things quickly. Because they already have experienced many systems. Your observation/understanding will also improve with the time.

  2. In depth Knowledge: If you are having depth knowledge of technology being used in your project then you ca actively participate and understand team discussion. It'll also keep your interest alive.

  3. Hastiness : In most of the projects, a requirement document is prepared by senior and it is discussed before starting actual development. Better you read it completely/properly. Understand each term. You may also make your understanding notes and diagram for better learning. [As @mazhar said]

  4. Positive thinking: Don't think you are weak. If you realy forgot something, just say "Sorry I am not able to recall this term/requirement. Could you please pardon me?" or something like this.

share|improve this answer
How can I overcome on slow understanding?

These types of problems according to me almost always are related to inner piece and calmness and improving that will improve the things at hand. Deficiency of knowledge and less experience in the thing are also the natural causes. You can't do anything about less experience but the lack of knowledge thing is very much in your hand.

1) I will answer it keeping in mind how i do it. I am a hasty person always in a hurry, but when i have inner peace which over the years i have developed, everything fall in place. My concentration increases and i become more efficient.

2) Also sometimes unreasonably underestimating yourself also lead to the same problem. If done all the time brain become so use to this feeling that when the thing meant to be done in which you are underestimating yourself, automatically it doesn't work. so it is very important to wipe out this feeling completely.

3) Also for inner peace you need to take one thing at a time.

4) Very important to take full and complete interest in the thing at hand. not taking interest automatically lead to slow understanding. Many successfull people do it and they are very good at it.

5) Imagining yourself next time grasping things more quickly and positively while talking to someone or doing something may improve the things.

6) Also all work and no play will keep your mind less effective. take time to have fun and exercise regularly.

share|improve this answer

There are two ways to learn: by discovery or aided discovery. Discovery means that you learn it by yourself. You experiment, observe, note down the results and learn again. This is the slowest way of learning, but always available.

Aided discovery is learning via books, teachers, leaders who show you how something is done. A lot of people can inactively listen to a teacher and gain information. Information isn't really learning, unless you have understanding. Information is a step towards understanding, which is a step towards discovery and learning.

To truly learn something, you must always be actively trying to discover something.

An easy, foolproof way to do this is imitation. Find someone who knows a lot more about the field you're interested in. In software engineering, this may be books, it may a colleague (even the new guy), it may also be open source.

You start by imitating a master without understanding. I find that slow learners are often the ones who resist this phase. You have to be humble and accept that you don't know anything. As you repeat/imitate something, you'll start to observe why it is done that way.

There are also a lot of minor things that you don't realize you have to think about. If it's a physical task (e.g. handicraft, musical instruments, cooking), you'll develop a kinesthetic sense of things, like where the frets are, or the proper chopping speed. For things like programming, this is like learning syntax. For project management or safety, it might be reading people's intentions and personalities. People who are experts will do these things intuitively, but not be able to pass it down as well. The fastest way to learn these things is repetition.

After observation, you should start questioning why things are done in a certain way. Quite often, the answer is "because that's how people taught it to me". This is perfectly fine. This are the things that we can change later. Or you might do further research and later discover the true meaning behind it. What you want to learn at this phase are the things that should always be done and repeated, so you don't have to think about them.

When you're learning something new, you're faced with information overload.

Let's take the example of someone who has never seen a computer before and wants to use the Internet. He is afraid of even turning on the computer, worried that he might destroy something. He will not know what a F4 button or PrtSc button is and will fumble around for the Internet button. If this person started off with an expectation to be an Internet expert.. if he tried to figure out all the buttons on the keyboard before turning on the computer, he'd get nowhere (and still forget what the buttons do).

Eventually, once you can repeat the same basics a few times, you move into the phase of experimentation. You start changing little variables because you know how they function. Maybe instead of black pepper in a recipe, you try it without pepper, or with white pepper (especially when you know what white pepper tastes like). Instead of Internet Explorer, you take a risk on the funny sounding Firefox.

This is where you apply your expertise from other fields into your task. A common mistake is to try to apply expertise without knowing the basics. You set yourself back because of the assumptions you make.

After a lot of experimentation (around 10 years or so), you'll have experimented on every possible thing there is to do. That's when you achieve mastery.

Mastery means you know how every single component in the machine works together. You'll have viewed it from many different angles and know how they all work. You can program almost everything without knowledge of machine language or compilers, but you'll never achieve mastery.. which is why degrees are regarded so highly even though they're not necessary.

I doubt this is your goal as of yet, so as a learn quick scheme, I'd simply focus on finding good teachers and getting them to aid your discovery of the topic.

share|improve this answer

Try to understand the overall objective of a requirement before trying to understand the specifics of the requirement.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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