Career thoughts

Sunday, December 25, 2005

Good and Bad Procrastination

http://paulgraham.com/procrastination.html

This article continues on the same theme as Brian Tracy ( Eat the frog ) and "Don't check your email in the morning"
It emphasizes that you must work on the most important problems you could work on : Think what you are doing right now, would it be mentioned in your obituary ?? Do not pass away time working on small errands and short term tasks. Interruption is very deadly and can greatly interrupt the flow for any significant task or project

People fear two things when working on bigger projects:
1. What if this doesn't work out ? It will be such a waste of time
2. There is no reward in the short term
Paul contends that this is almost always not the case. Working on big projects always lead to intersting directions and work.

You also have to be interested in the big problem. He emphasizes the "delight" factor for working on such a project. I also think discipline is an equally important component for doing anything long-lasting.

Three important questions we should ask ourselves are:
1. What are the most important problems in your field?
2. Are you working on one of them?
3. Why not?

Do not use errands as excuses to put off big and great work. Always work on the toughest and most difficult tasks, not the flimsy ones.


Another important point : To do big tasks you need a BIG chunk of time and the right mood. Value and create BIG chunk of times for yourself, don't fritter away the time ....

Saturday, December 24, 2005

Things I need to mainly focus on :

Tasks closest to the revenue line:

1. Finish my Phd. Work on Magnolia and PhD related stuff

2. Work with Madan on the web project

3. Learning time : Where I spend time learning about new stuff:
C++ , Coding, Code complete , Software Engineering. Books: Common C++ knowledge, Code Complete
Algorithms : Sedgewick
Networking : Computer Systems book , Kurose and Ross
Do questions found online

4. Javascript / Perl-DBI to create cool websites.


Reading the book "Never check your email in the morning"

I have realized one thing : I read too many books on different topics and that is just too damn confusing in the end.
I need to just pick one book and apply it to death. Only pick up another book until you are completely satisfied with all the gain you could get out of that book. Refer and read to the book as if your life depends on it.

This book I think will greatly help my work life. It focuses on 9 different competencies. The two competencies I have read till now is:
1. Focusing on the important tasks
2. Creating more time for these tasks

The main important points which I remember to apply right now are:
Competency 4

1. Work closest to the revenue line. Do not work on the unimportant 100s of differnet tasks. Focus on the dashes ( Morse code analogy) not on the dots. That is where the maximum value comes from in life. Read this section often
Ask yourself what is the most difficult task I have to do ? Focus on that. Don't shy away from these tasks.


2. Do not multitask. Focus on only one task at a time and help yourself both quantitatively and qualitatively

3. Stretch your time by Planning. Figure out what one thing you will be relieved to achive on a single day, if things went haywire. Just ONE, not two or three. And focus on doing that task. Figure it out the night before, not on the day. Indecision is the greatest time killer and creator of confusion.
Plan and find out your most critical tasks.

Also find your concentration threshold and identify what can you accomplish for that one slot. Focus on accomplishment which can also be reported later on to the powers that be,
Don't just work on a project, identify what you are accompishing in terms of milestones ( One hour milestones )

Competency 5

1. Stay away from email.
2. Create a structure for your day.

Don't remember others.





Focus on Discipline

Discipline is a necessary quality required for achieving anything long term in life. Without that all other qualities won't last and you won't be able to acquire newer habits/qualities too.

Focus on just one habit at a time and keep on working on it until you acquire it to a satisfiable degree. Do not confuse your mind by reading too much stuff and trying to grow up in many different areas at once.

I have to focus in adding discipline to my life: Focusing only on the critical tasks and adding structure to my life.

What is the discipline I am adding to my life:

1. Focus only on the tasks which are closest to the revenue line. Focus on the difficult and the most important tasks
2. Do not check email or unnecessarily browse the web. Stay away from the web
3. Focus on only one task at a time. More than one confuses the mind.



Wednesday, December 21, 2005

Bondalpati interview questions

Personality questions

PersonalityIt is best to read some website or a book for questions like these.
1. Tell me the courses you liked and why did you like them.
2. Give an instance in your life in which you were faced with a problem and you tackled it successfully.
3. What is your ideal working environment.
4. Why do you think you are smart.
5. Questions on the projects listed on the Resume.
6. Do you want to know any thing about the company.( Try to ask some relevant and interesting question).
7. How long do you want to stay in USA and why (I guess non-citizens get this)?
8. What is your geographical preference?
9. What are your expectations from the job.

The Guerrilla Guide to Interviewing

http://www.joelonsoftware.com/articles/fog0000000073.html

First of all, the #1 cardinal criteria for getting hired at Fog Creek:
Smart, andGets Things Done.

Here's a typical plan for interviewing a programmer:

Introduction
Question about recent project candidate worked on
In this question, I'm looking for one thing: passion. They get very
excited talking about it; they tend to talk more quickly and get animated. This
shows that when they are interesting in something, they will be passionate about
it.
In fact, you can even ask them directly to give you an example from their recent
past when they took a leadership role and got something done -- overcame some
institutional inertia, for example.


Impossible Question
C Function

Some signs of a good programmer: good programmers have a habit of writing their
{ and then skipping down to the bottom of the page and writing their }s right
away, then filling in the blank later. They also tend to have some kind of a
variable naming convention, primitive though it may be... Good programmers tend
to use really short variable names for loop indices. If they name their loop
index CurrentPagePositionLoopCounter it is sure sign that they have not written
a lot of code in their life. Occasionally, you will see a C programmer write
something like if (0==strlen(x)), putting the constant on the left hand side of
the == . This is a really good sign. It means that they were stung once too many
times by confusing = and == and have forced themselves to learn a new habit to
avoid that trap.


Good programmers plan before they write code, especially when there are pointers
involved. For example, if you ask them to reverse a linked list, good candidates
will always make a little drawing on the side and draw all the pointers and
where they go. They have to. It is humanly impossible to write code to reverse a
linked list without drawing little boxes with arrows between them. Bad
programmers will start writing code right away


Are you satisfied?
Design Question
Good candidates will try to get more information out of you about the
problem. Who is the house for?
Smart candidates understand that design is a difficult series of
trade-offs.

The Challenge
Do you have any questions?