Monday, December 31, 2012

Professional Generousity


Jim ("Cope") Coplien

Charity
The voluntary, uncompensated gifts of time, talent, and treasures that professionals offer to their colleagues are among the more wonderful social norms among engineers. Or course, it’s not only engineers who do this, and maybe other professions are much better at it than we are. However, I feel in my heart that we do our share.
And, in fact, I would guess that the present audience here, that reflects a high IEEE affiliation, is better than most. Gifting has become a tradition at some of the pattern conferences around the world. There’s something about the sense of identity and purpose conveyed by a professional group, be it a club or a swarm, that switches on the giving gene.
On a practical level it’s hard to find the time to turn the great ideas that society has given you into the gift of a journal article or of a short talk at your local professional chapter of the Klystron Generator Society. Fear plays a role here, as we know our professional time has value—value that our jobs traditionally convert into money that puts food on the table for those we love. And that’s a real practicality. But to cling to that perspective alone is unbalanced and short-sighted. Going beyond the job perspective to the career perspective looks beyond this month’s budget to the long-term good of not only your family, but the profession, and humanity as a whole.
A potential paradox lurks here. One can argue that, in the end, there is no altruism. One can clearly benefit from public appearances, and when I give my time to the local Ruby programming group or to the opening of a nerd cafĂ© in my greater neighborhood, I am aware that I also gain publicity. This sometimes gives me pause to reflect. It’s both important, and difficult, to keep one’s motivations clear. Codes of professional ethics and dialog with your colleagues can shed light on this issue and perhaps modulate your feelings. Understand why you do what you do.
That said, it is crucial to realize that giving does not have to be a zero-sum game. In fact, it is this balance between giving and receiving that can offset the survival fear rooted in the relationships between one’s talents and one’s survival. If everyone wins in the long term by the giving of your time or talent, that’s better than a gift of sacrifice. Sacrifice and grief are sometimes useful tools in righting an untoward situation, as one finds with hansei in Japanese culture. But the notion that gift has value without someone having to suffer is a trap of Western culture that we can trace back to Aristotle, and which has been amplified in the predominate belief system mores of the Western hemisphere. A gift should be cause for celebration, both for the giver and the receiver.
On the other side, be a gracious recipient if you receive a gift. It’s more blessed to give than to receive, but it’s also blessed to receive graciously. Jerry Weinberg says that gratitude is the most powerful of human emotions. It can be difficult for you to receive a gift if its offering makes you feel beholding to the giver. That causes you to put the giver in a negative light: to view them as manipulative. Get over it. It’s likely that feeling isn’t as much about your benefactor as about you, and about how you feel the world works. That’s food for thought.
It’s about priorities. Put some gifting on your backlog, and tap into the joy of giving.
Gifting is a beautiful practice that transcends cultures, and that transcends work and home. Get into the gift of giving year-round.

Tuesday, February 28, 2012

Remarkable Employees - Inc.com


From Inc.com ... how should we be ... remarkable!


1. They ignore job descriptions. The smaller the company, the more important it is that employees can think on their feet, adapt quickly to shifting priorities, and do whatever it takes, regardless of role or position, to get things done.
When a key customer's project is in jeopardy, remarkable employees know without being told there's a problem and jump in without being asked—even if it's not their job.
2. They’re eccentric... The best employees are often a little different: quirky, sometimes irreverent, even delighted to be unusual. They seem slightly odd, but in a really good way. Unusual personalities shake things up, make work more fun, and transform a plain-vanilla group into a team with flair and flavor.
People who aren't afraid to be different naturally stretch boundaries and challenge the status quo, and they often come up with the best ideas.
3. But they know when to dial it back. An unusual personality is a lot of fun... until it isn't. When a major challenge pops up or a situation gets stressful, the best employees stop expressing their individuality and fit seamlessly into the team.
Remarkable employees know when to play and when to be serious; when to be irreverent and when to conform; and when to challenge and when to back off. It’s a tough balance to strike, but a rare few can walk that fine line with ease.
4. They publicly praise... Praise from a boss feels good. Praise from a peer feels awesome, especially when you look up to that person.
Remarkable employees recognize the contributions of others, especially in group settings where the impact of their words is even greater.
5. And they privately complain. We all want employees to bring issues forward, but some problems are better handled in private. Great employees often get more latitude to bring up controversial subjects in a group setting because their performance allows greater freedom.
Remarkable employees come to you before or after a meeting to discuss a sensitive issue, knowing that bringing it up in a group setting could set off a firestorm.
6. They speak when others won’t. Some employees are hesitant to speak up in meetings. Some are even hesitant to speak up privately.
An employee once asked me a question about potential layoffs. After the meeting I said to him, “Why did you ask about that? You already know what's going on.” He said, “I do, but a lot of other people don't, and they're afraid to ask. I thought it would help if they heard the answer from you.”
Remarkable employees have an innate feel for the issues and concerns of those around them, and step up to ask questions or raise important issues when others hesitate.
7. They like to prove others wrong. Self-motivation often springs from a desire to show that doubters are wrong. The kid without a college degree or the woman who was told she didn't have leadership potential often possess a burning desire to prove other people wrong.
Education, intelligence, talent, and skill are important, but drive is critical. Remarkable employees are driven by something deeper and more personal than just the desire to do a good job.
8. They’re always fiddling. Some people are rarely satisfied (I mean that in a good way) and are constantly tinkering with something: Reworking a timeline, adjusting a process, tweaking a workflow.
Great employees follow processes. Remarkable employees find ways to make those processes even better, not only because they are expected to… but because they just can't help it.

Monday, February 13, 2012

Zen coding ... what to do when compiling


Thanks to : http://www.componentowl.com/blog/2012/02/zen-coder-vs-distraction-junkie/


What to do while compiling?

What you do when waiting for some computer operation to execute can determine if you are a zen coder, or distraction junkie coder.
The main idea here is to:
  1. Not lose focus, and
  2. Take a micro break.
Not losing focus is not that hard – all you have to do is to switch your brain off, or keep thinking about your code. However, switching off is better. It’s a micro-meditation, and it also serves our goal of taking a micro-break.
Why meditation? Well, your brain is crunching code all day, so why not give it a rest? Plus it’s scientifically proven that meditation leads to permanent increase in levels happiness. Just imagine the long term benefits of this seemingly trivial habit of meditating for 30-60 seconds couple of times per day.
Now, what to do on your micro-break? Do any of the following, combine as you wish. You can also do them all, in this order, depending (or not) on how long is the operation taking.
  1. Get up
  2. Look into distance
  3. Put your hands behind your head and lean back on your chair
  4. Stretch your legs, then raise your hands as high as possible
  5. Close your eyes
  6. Gently massage your eyes
  7. Slowly turn your head to the right, left, up and down as far as possible
  8. Close your eyes and breathe
  9. Go get a glass of water (Be careful not to get distracted by your co-workers on your way.)
You can do also anything else that engages primarily your body and not mind – isometrics exercise, juggling, sword-fighting ;-).
And by the way – if your boss gives you hard time about any of this, then refer him to this article. It is far better for you to quickly rejuvenate yourself and maintain focus than to appear working and get distracted, lose focus and become tired sooner.
Stretching can be very beneficial. My physiotherapist discovered a lot of tension in my shoulders on my last visit. She told me that it’s there probably because I have my hands bent all the time when siting at the computer, so the muscles shorten and work uneconomically. The best thing I can do? Lift and move my hands, try to reach as high as possible. That’s now one of the things I do when compiling or waiting for a computer operation to execute.
You’ve probably heard that it is a good idea to stretch and take a short break regularly when working on the computer. The problem is the implementation – even if you set a timer, what if you are in a middle of a difficult problem when it goes off? It’s just seems impossible to implement. However, if you take the micro-break while compiling, it works great and you can even make a habit out of it, so it gets “automated”! The compilation now becomes your reminder to stretch. Incredibly powerful stuff.

The things you shouldn’t do when compiling

I really want to hammer my point home, so just to make things absolutely clear, here is a list of what you should NOT do when compiling. Think of it this way: These things will not just ruin your focus, but you will deprive your mind and body of the micro-break.
  1. Check your RSS
  2. Check news (any news)
  3. Check email
  4. Check social media (Facebook, twitter, G+, LinkedIn, reddit – you name it)
  5. Watch videos
Doing the following 2 things is better than all of the above, but it is still not optimal:
  1. Chat with a co-worker
  2. Read a physical book

Wednesday, January 18, 2012


National Semiconductor uses the 8D Problem Solving Process to identify, correct and eliminate the recurrence of quality problems.

8D is a problem-solving methodology for product and process improvement. It is structured into eight disciplines, emphasizing team synergy. The team as whole is better and smarter than the quality sum of the individuals. Each discipline is supported by a checklist of assessment questions, such as "what is wrong with what", "what, when, where, how much".

The Eight Disciplines
 
1. Use Team Approach
Establish a small group of people with the knowledge, time, authority and skill to solve the problem and implement corrective actions. The group must select a team leader.
2. Describe the Problem
Describe the problem in measurable terms. Specify the internal or external customer problem by describing it in specific terms.
3. Implement and Verify Short-Term Corrective Actions
Define and implement those intermediate actions that will protect the customer from the problem until permanent corrective action is implemented. Verify with data the effectiveness of these actions.
4. Define and Verify Root Causes
Identify all potential causes which could explain why the problem occurred. Test each potential cause against the problem description and data. Identify alternative corrective actions to eliminate root cause.
5. Verify Corrective Actions
Confirm that the selected corrective actions will resolve the problem for the customer and will not cause undesirable side effects. Define other actions, if necessary, based on potential severity of problem.
6. Implement Permanent Corrective Actions
Define and implement the permanent corrective actions needed. Choose on-going controls to insure the root cause is eliminated. Once in production, monitor the long-term effects and implement additional controls as necessary.
7. Prevent Recurrence
Modify specifications, update training, review work flow, improve practices and procedures to prevent recurrence of this and all similar problems.
8. Congratulate Your Team
Recognize the collective efforts of your team. Publicize your achievement. Share your knowledge and learning.

8D Problem Solving Process Flowchart

4 Day Week ? How to justify ...

The Case for a Four-Day Work Week