Shortcut for chapter specific information

Wednesday, November 30, 2011

I decided to leave. The status of reading CLRS

Gist:
1, I decided to leave my last company.   No matter how my boss explained, I think it is B.S. to stay.
2, Still taking the class but I decided to drop it as I want to take a break.
3, The last few lessons on hash and graphs are very interesting.   Keywords I learned: hash table, chaining, dijkstra algorithm as well as Prim's algorithm.   The last two turned out to be rahter easy to understand.

33_P

Wednesday, November 16, 2011

Hashing, linked list

I should keep my very good habit of reading a topic from CLRS after a class.  My target this time would be hashing and linked list.

After difficult talk ......

I decided to leave.   Why did I decide so late?

I will still go to class in famous extension school but now it's no longer as important......

Wednesday, November 2, 2011

Difficult talk

Today I went to talk with a senior manager of my company.  I thought about this chat for around a month before I go to talk with him.  There are a lot of things I learnt during the talk.

What did we talk about? Essentially I hope to give an official grief of what I am doing at work.  As a low-level employee, a lot of need of being innovative and being aggressive was not taken cared of.    When you work in a big company though, these are tough talks.   You don't want to throw all your raw emotions on other people but you still want to get your frustration and grief through.   In fact, if you believe in someone you can talk with, then it is highly possible that someone can give you a positive feedback.

But human is strange, they are not exactly machine which you can query random things, each has emotion, each has ticks.   You don't just go there when you wake up and try to convince somebody or something.   You take your time, find your spot and try to get your message through.   It is a very tough skill to learn.

Some people are not meant to talk to in a daily basis.   When you come up with something, they will contend you until you succumb to their reasoning.  This kind of "natural debater", if they are insightful or knowledgeable, is worthwhile to chat with them in a well-timed intervals.  At you learn something during the process.  On the other hand, if they are just being contentious for contentious sake, you might want to avoid them and more often you want to confront them with well-crafted arguments.   The purpose, to be honest, is to shut them up.  You don't want them to affect your daily life.   In fact, more than often, you have better things to do.

There are people you want to drop by their office more regularly.   Those are people you want to induce a conversation.  They tend to say whenever they have something to say.   Think whenever they have something to think.   Those are people you want to ask their advises or suggestions.

These are all considerations you want to think through before you talk with a senior-level manager.  Some don't worth your time to talk to them at all.  Others it's completely fine to talk with them, you just need to prepare what you want to say.  The bottom line is you need to communicate, that's a tough thing to do.  You need to follow the convention, the culture, the personality of your boss and most importantly yourself on how to give a cogent argument.

That's what I did.  This is also the first thing I learnt, you don't want to be very reactive on your emotion.  You want to sit down, think it through before you packaged it and let other people know.

Then I learn the second thing, which is how you take care of complains like that.  The senior manager didn't really explicit taught me anything to day.   But he said something like this, "Problem X is essentially a problem which everyone is facing" and I am very convinced by his arguments.  It boils down to the objective reality of the workplace - you either say you are not happy about your workplace.  i.e. you prefer to quit completely.  Or you accept the reality and stay.   That's very reasonable trade-off he presented to me.

Now I also asked the typical question for career, "How can I do better?", "How can I do something else 5 years later?" , "How can I make myself better fit into the dynamics of the group?"  These are very reasonable questions.  If you said something like "How can I get promoted?" or "How can I get more credit?", you are coming from the self-angle.  No one likes to listen to this kind of talk because no one like to work with someone who is selfish.

It is interesting how my manager answered.  On one hand, I believe what he tries to do is to affirm something what I know already.  i.e. Doing my business takes a long time to get promoted.   The technical path I am taking is highly competitive and not easy to be the best.  You need to be the best of the best to attain respect on certain things you say.  Many live in the world of whether "they agree" on something but that doesn't bring a person far enough.   You need to always have some technical support on your argument.  If you are fast and smart, these arguments come to your head earlier.

In a technical debate, you want to be faster and deeper to win an argument,  to be faster and deeper, you have to routinely build context of what you know on the topics.  Eventually, you also need to think creatively to come up with a thought that no one has thought about.     Thinking is a tough skill, because most of the time people don't tell you what they think.  The best way you can do is to mimic what they think and try to simulate their thinking.    You can repeat what they said, but it's more important to understand why and where they come from.  Or else, you will come from seemingly random ideas.  Creativity and Randomness of thought is always closed-calls.

That's why going technical is a deep discipline and it is difficult to master them in couple of years.  Some thinkers are hard to mimic.   The reason : they might be good at thinking, but they don't really know how they come up with their thought.

In any case, I am very convinced that it will take many years before I am considered to be good in the technical aspect.   Now, this is a very useful piece of information by itself.  If it takes so much time, it is then important to either 1) work harder, 2) admit failure and move on to something else.

Now, on the other hand, my senior manager also said that there are aspects of things I can work on.   I told him that I am reading CLRS and I told him that it improves my efficiency.   He said that's good.  Then he went on and say learning data structure will likely give me a better aspect of getting my work done faster.  It certainly doesn't make me have better idea in my field.   It also doesn't give me better chance to get promoted or do anything important.  Then he named couple of things I should work on - the code base, a knowledge in my field, data structure as well as analytic skill on data.

Indeed, those are important skills. Now, think about the beauty of the talk.  It resolved a human crisis: The "future"-type of question, whenever you ask, signified a younger member in your team are shaken about the future of the group.  It also means that there are some events in the group which make members to be unsure.   If you are good at management, those are things which you should take care.  

Let me continued, not only it resolved a crisis, it also come up with something positive such that I can work on.  How tough is that to learn the 4 aspects of things I just mentioned?  In fact, if you are bright, it will only take you a year or so.   But during the time, the group is still running smoothly.  What else is better.

So the chat was a win-win.  I don't get all the things I want but I see a path.  I also see something positive to work on.  It takes my manager sometime, but he got a closure which at least sometime I will not go to bug him the "future"-question.   Then he also resolve a human problem in the group.  Very smart.

Now, the third thing I thought about is why did I get a win-win in this case?  Well, because I have been prepared and I have a good will .  In general, this is where you start a conversation in the first place, you prepared and think through other people's perspective before you go on talking.    This is third thing I learned.  

At the end, do I agree with what my manager said? Not really but I think he handles it well. Difficult talk is, a skill, but a definite must have in your life.
33_P