Wednesday, June 04, 2008

Mentoring FAQs

Hello all this is a summary of the discussion I had with DR regarding “mentoring” scheme. I have compiled the discussion as FAQ.

Note: To know more about Mentoring please check out: this url

  • What should be the approach towards the technical problem solving of freshers?
    • Typically mentor should not be the problem solver for a freshers because freshers can anyways achieve this using google J. In some ways, mentor is to help fresher find better solution quickly. Moving the fresher aside and writing the code yourself on his desktop is not a very effective way of teaching. Neither is it sustainable. Mentor should tell the freshers the proper approach towards the problems solving so that freshers should be able to solve the similar problems next time.
    • Mentor should guide the freshers to use proper documentation while solving the problems. Trial-and-error approach is discouraged when it delays things and brings about sub-optimal solution. E.g. Use of Java Docs, Specs, Man pages are preferred over google contents and forums.
    • In general, it is a good idea to let the fresher commit mistakes. But this has to be time boxed. We cannot let freshers make mistakes which will affect business. But some mistakes need to be allowed and budgeted for as these are necessary parts for anyone to gain confidence.

  • How to tackle freshers who make same mistakes very often even told 100 times?
    • Very first thing that mentor needs to do is to find out the root cause: why the person is making mistakes. There could be two reasons for two altogether different types of freshers.
      • One who make same mistakes because of their laziness but they have the capability of understanding / recognizing the problem and their solution.
        • To make the first type of freshers mature mentor will have to talk with them in person about their laziness and nature of “taking things granted”. But mentor should make sure that he/she conveys the message in proper way to freshers because keeping voice loud / becoming frustrated / showing anger never helps.
        • E.g. Mentor can tell the fresher that making same - same mistakes again and again just because of his negligence will create trouble for him. Rather being careful will only him to save his time; help him in his grades and hence eventually in his performance appraisals; he will face few bugs in his implementation and will get a change to be shifted to new project/module and will get exciting work and opportunities. In short, always make sure that you are vocal about “what is in it for the fresher” to deliver better solution. If he sees value in it, he will do it.
      • Other who make same mistakes because of their inability to do “pattern-match” for the problem and its solution. This is basically skills and capability issue. People have different capabilities and some freshers just may not have the necessary analytical power, knowledge, or skills to tackle the issues resulting in repeated mistakes.
        • In this case as the fresher is not able to perform well will eventually get simpler work and will be shifted to non-critical tasks.
        • Only thing that we need to ensure is that every one works to the best of her potential. People’s potential will differ. So some will work better at the backend while others will be better off handling front-end etc. Mentor needs to be sensitive to this and should guide the fresher accordingly.

  • How to spend effective and fruitful time with freshers?
    • If the mentor is directly working with that fresher (e.g. same module/project) then his/her interaction with him will be good. But in cases where mentor is in different project/module then mentor needs to setup meetings (typically 3 times in a week (alternate day) of duration 60 mins) with freshers.
    • First few meetings will run for 60 or more mins but quickly – typically after first 2 or 3 weeks, the meetings can be of reduced duration and frequency. This is to ensure that fresher gets lot of attention when she starts – when the anxiety level is high. And later he gets more freedom – as she become more confident and experienced.
    • As the mentor is not working in same module / project mentor will not have the idea about what the freshers are doing. In such cases mentor should ask freshers about the work they did in last 2/3 days; the work they are going to do in next 2/3 days; how they implemented some feature; how they fixed some issue etc etc. Thus mentor can discuss the technical stuff in detail and can figure out whether the person is doing it properly or whether he needs some correction.

  • If mentor is mentoring freshers who are working with different project manager / lead then it might happen that for a given problem mentor will have a different (or better) solution than that of the existing project manager / lead. How to handle such situation because in such cases it’s possible that the fresher will get sandwiched?
    • In such a cases mentor should provide the proper solution no doubt. But should ask the fresher to talk about this approach with the existing project manager / lead and convince him for the solution. After all the delivery responsibility is with the current PM and mentor should not adversely affect that part!
    • It might happen that due to the communication gap or fresher’s limited understanding or some other reason the solution provided by mentor could be unsuitable. In such cases mentor should talk with the existing project manager / lead to reveal such communication gap. But ultimately fresher should implement what his PM tells him to though he must also learn correct things. Such communication gap should be communicated with mentor also otherwise mentor will lose insight for those particular projects / features.


  • Is the mentor supposed to assign work / task to freshers?
    • No. This is the project managers / leads responsibility. Mentor is there to guide the freshers on their technical / analytical growth and to communicate their issues / aspirations to proper person on proper time.


  • How to deal with issues and aspirations of freshers?
    • Mentor should immediately communicate issues of freshers to project manager which he thinks he can handle. E.g. I stay far away so it’s not possible for me to stay late in office. I can come early in office and can finish my work. In some critical cases if I have to wait late in office please make sure that someone will drop me to home etc etc. There is a possibility that due to direct line of command, fresher may hesitate to share such information with her PM. Mentor should facilitate such communication and make fresher more comfortable.
    • Same is applicable with aspirations. E.g. I want to work on better module where I can contribute more. Why don’t we use xyz technology / tool / library rather than this? etc etc.
    • In your project if you are using some old technology (E.g. postgres instead of oracle) which can be easily and sensibly replaced by something new. And if there is no reason that why you are using that particular old technology then you are free to migrate to newer one. However, the decision must be taken by the PM. Mentor has a responsibility to facilitate the fresher’s feelings and to ensure that she gets an answer from the PM.
    • In your project if you are using some third party libraries which can be easily developed in house; you can write a small (one page) requirement specification for the same and sent that to project manager stating its criticality and importance. Such in-house library / component development will create “new and exciting work” for freshers as well as for mentorsJ. Such development should be executed just as another project in organization by the manager otherwise it will loose its criticality.


  • There are mentors of various levels of experience ranging from 1 year to 5 years. Any comments?
    • True. There are various advantages of this approach.
      • Young mentors will get sense of responsibility and will now start improving on their communication / leading / technical skills because now they not only have to face their bosses but also to the freshers ;-)
      • Senior people will also not lose the common touch ;-)
      • Also we have an advantage here that we have given freedom to freshers to choose their mentor. So this adds one more responsibility over mentor’s shoulders.
      • The whole point is to expose freshers to various different points of views. We want to stress the fact that it is “okay” to have different opinion and different approach. What is more important is to be able to respect different opinions and develop skills to decide which (approach / style) works best for which circumstances.


  • Can mentor think independently?
    • Why mentor? Everyone should think independently! The more diverse people the fresher will deal with the more he/she will learn.


  • Whether mentor is supposed to evaluate the freshers?
    • No. This is project managers / leads responsibility.
    • Mentor should understand the strengths and weakness of freshers and should guide him/her accordingly.


  • Last question! How to manage your boss while doing all this?
    • Simple! By communicating with your boss’s boss – when things go wrong! :-) Everyone has to learn. Your boss and boss’s boss as well. Best way to make it happen is to talk, talk, talk! When you talk with your boss’s boss, either you would get some more insight in to why your boss is working in a particular manner. Or your boss will get some feedback about how she should work. Either ways, both you and your boss will form more trusting and comfortable relationship. Your boss’s boss will be facilitator in such a case!

About DR:

DR is our SVP Engineering. Apart from usual technical and managerial work in IT industry, DR is also involved in many social activities. He is a trustee of an NGO named Sanvedana. To know more about Sanvedana and participate in its great charity works please visit http://www.sanvedana.org/.

So looking forward to meet you guys at Sanvedana to take its mission ahead by one small step.

Thursday, May 01, 2008

Continuous Integration: Improving Software Quality and Reducing Risk

In November 2007 I attended a conference on Java Technology in Hinjewadi, Pune.
To know more about the conference visit:
Well, there I had attended the presentation on Continuous Integration from Paulo Caroli who is from ThoughtWorks. I was very impressed by the methodology he discussed with us. Then I decided to give it a try in my current project at Aftek. I will write later on my practical experiance about CI. But let me tell you in order to make my team aware of what CI exactly is I had given a small presentation. I though I would be a great idea to share that here on this space.

So here I go ... (and of course yes your suggestions / comments / critics are always welcome)




Tuesday, April 22, 2008

Wah kya 'family' hai !

One of our regular activity: starting mail trail ... on any topic! ... yes literary on any topic ;-)
I thought posting one of the mail trails here ... just for leisure reading !
Worth mentioning: Read Mithun's reply ... a cool one :-)
(BTW start reading from the bottom...)


Arra baap.. Kidhare.. Full bho..apan tar.. Nai nai.. Khara ki kaay..

Regards,

Suyash

_______________________________________________________________________

-----Original Message-----

From: Rahul.Magar@ubs.com [mailto:Rahul.Magar@ubs.com]

Sent: Wednesday, April 16, 2008 12:25 PM

To: preetamp@aftek.com; rayagondab@fdsinfotech.com; Suyash_Sonawane@infosys.com

Subject: RE: Wah kya 'family' hai !

Bekkar Bhai!

Heartly Congratulations!!!

APACHE mein party banati hain.

What say Suya and Mithun.

_______________________________________________________________________

-----Original Message-----

From: Preetam Palwe [mailto:preetamp@aftek.com]

Sent: Wednesday, April 16, 2008 12:21 PM

To: 'Rayagonda B. Birajdar'; 'Suyash Pradeep Sonawane'; Magar, Rahul

Subject: RE: Wah kya 'family' hai !

The time has come to say that ....

Yes there is a Hema ... Smita is her name ... Lets welcome her to 'Satte Pe Satta' family!

She is an EnTC Engg from VIT (2006), born and brought up in Pune, currently she is working as instructor in CMS institute Shivajinagar.

On 30th, we are getting engaged and in July getting married. ;-)

_______________________________________________________________________

-----Original Message-----

From: Rayagonda B. Birajdar [mailto:rayagondab@fdsinfotech.com]

Sent: Tuesday, April 15, 2008 12:38 PM

To: Preetam Palwe; Suyash Pradeep Sonawane; Rahul.Magar@ubs.com

Subject: RE: Wah kya 'family' hai !

Yeah sure !

But don't forget to mention a credit to me for this.

A certain 'Preetam' (music composer. Not you!) is making headlines for plagiarism.

(I hope) you wouldn't want to be another of the kind, would you?

; )

Thanks,

Regards,

Rayagonda B. Birajdar..

_______________________________________________________________________

-----Original Message-----

From: Preetam Palwe [mailto:preetamp@aftek.com]

Sent: Tuesday, April 15, 2008 12:26 PM

To: Rayagonda B. Birajdar; 'Suyash Pradeep Sonawane'; Rahul.Magar@ubs.com

Subject: RE: Wah kya 'family' hai !

What a write up ... Worth adding on my blog ... :-)

_______________________________________________________________________

-----Original Message-----

From: Rayagonda B. Birajdar [mailto:rayagondab@fdsinfotech.com]

Sent: Tuesday, April 15, 2008 11:23 AM

To: Suyash Pradeep Sonawane; preetam palwe; Rahul.Magar@ubs.com

Subject: Wah kya 'family' hai !

Why not?

Imagine this - IDEA guy enters our flat on a weekend. To his amusement he sees - everything in the flat is messed up. Food lying uncovered, cockroaches making a feast of the leftovers, Tea, milk is spilt everwhere.

Dabbas (tiffins) in every room.

And if he (IDEA guy) visits our place in the morning, he stands a very good chance of witnessing a swim suit model posing for an invisible camera.

(no

points for guessing who this is !). and everybody in the 'family' is just busy in trivia, caring a little for the cleanliness and tidiness in the house.

We look so obviously like a 'family' - Bhai, Suya, me, Palya, Monty, Tiger and Waghya. (seven different shades of 'nange pana')

If he still finds it hard to believe, we'll ask him to watch 'Satte Pe Satta' and come back.

But wait, something is missing.

You guessed it right. Hema Malini is missing.

Preetam Bhai, Hema ka kya scene hai ?

Hema ki setting ho jaye to fir aane do IDEA waale ko, Airtel wale ko, Vodafone waale ko, 'Satte Pe Satta' family is very much ready.

Thanks,

Regards,

Rayagonda B. Birajdar..

_______________________________________________________________________

-----Original Message-----

From: Suyash Pradeep Sonawane [mailto:Suyash_Sonawane@infosys.com]

Sent: Tuesday, April 15, 2008 10:37 AM

To: Preetam Palwe; Rayagonda B. Birajdar; Rahul Sopan Magar; Mahantesh Khairate; Prafulla Kumar Chandrakant Palwe

Subject: RE: IDEA postpaid

We are a family. All are brothers though it doesn't look like. We'll also say we don't live on cot basis as cots are either kept on terrace or used for keeping luggage. And our kulkarni is so overwhelmed that his own family members are staying in his flat and paying good rent too.

Regards,

Suyash

_______________________________________________________________________

-----Original Message-----

From: Preetam Palwe [mailto:preetamp@aftek.com]

Sent: Tuesday, April 15, 2008 10:19 AM

To: Suyash Pradeep Sonawane; Rayagonda B. Birajdar; Rahul Sopan Magar; Mahantesh Khairate; Prafulla Kumar Chandrakant Palwe

Subject: IDEA postpaid

If someone from idea comes for enquiry at our apartment please tell him/her that we are a FAMILY and though the apartment is rented the apartment belongs to our UNCLE.

Please say: We don't live on COT-BASIS!

Thanks

Sunday, April 20, 2008

Zop (marathi) means Sleep !

झोप ! means sleep !
Worth mentioning before I go ahead with the post: Just to write "zop" in marathi ... it took almost 10 mins ! Why? on this blogger I cant write in marathi though I can in hindi ... so to find marathi "za" ... I went to PL Deshopandes site ... and after a bit of smart work I made it ;-)
well ... why this subject? and how come I am finding "time" to write ... and that to 2 posts in a day!

Simple ... the answer to both these questions is: Life ;-)
What to write on झोप ? This thought slightly reminded me that its 10:45 pm Sunday night, and tomorrow I need to go to driving class and then to office .. Its monday man!
well ... झोप is very funny thing; because of her झोप only; I am writing on झोप ;-)
झोप is very biased: when there are exams झोप comes and when there are football matches झोप never comes ;-)
(For this post: please forgive my english as I know I am stretching a lot!)

For some people झोप unavoidable; when झोप comes; irrespective of where they are and what they are doing ... they just go to sleep with झोप on their face!
some people (like me) can avoid झोप depending up on the circumstances. I typically avoid झोप if i have to do some NON-IMPORTANT thing otherwise I surrender! But generally we hostelite people are निशाचर means nocturnal animals like ज़ुरल (this is the problem u face if you try to write "z"!) means cockroach!
From cockroach I just reminded that, We need to do paste control in out flat: D-9, Vrundawan !

okay coming back to cockroach .... no no ... coming back to ज़ुरल ... come on ...
coming back to झोप ... there i am ! (yes मला झोप येत आहे!)
झोप timings vary depending up the seasons. In monsoon and winter generally people go to झोप early and also they wake up late. Whereas in summer people go to bed late and wake up early!
For some software professionals like me above rule anyways does not apply! I feel very bad when I say this :-(

One more thing: A hostelite who used to wake up early at home before he go to some other place for studying will start waking up late.... Now when this guy/gal join a s/w company and after that go to his / her native place ... his / her mom/dad will never ask him/her to wake up early. reason : अरे हमारा बेटा / बेटी बहोत कष्ट कराती हैं ;-)
बर आता लई बोर जाले आहे ... so stopping ...
in another words ... लई झोप आली आहे ;-)

bye and good night :-)

Life is calling .... Life has called up ... Talking with Life ... ! ;-)

Those who know me well can anyways figure out what the blog title is all about ! ;-)
So what should Iwrite here? I was thinking (as usual .... I just keep on thinking but hardly do anything :-( !) of writing a real cool stuff here ... but insted of waiting .... Istarted off this time ... thanks to Life ... she kept me waiting till she come online ;-)

I am still thinking ... what shall I write here? Insted of think and write ... this time I am just writing .... At this time I am in Sify net cafe .... Ashish is also online ... as usual we are talking about Life and All ;-)
लम्बी खामोशी ..... अब क्या लिखु ? ... अरे कीधर हैं वो ?

:)
and she is online .... so bye all ! ! ! :-))

Tuesday, March 11, 2008

Mentoring

I remember when I was had just started my professional career with after completing my graduation from PICT; we all batch mates used to meet (a get-together) and used to discuss the interesting industry stuff. Those days many people used to discuss: hey my mentor is xyz and he is really cool, my mentor advised me to read this and don’t read that, my mentor is very fundu and even sometimes I was chatting on yahoo and suddenly my mentor came. Bla bla …

My obvious reaction was what is mentor rather who is mentor and what is mentoring? Unfortunately I have not assigned any mentor till I became mentor ;-)

And then one fine day I got a mentor: DR our SVP Engineering! And then I started knowing about mentoring philosophy. :-)


What I am planning here is to share some of my mentoring experiences. The mentoring that I do to my mentees and the mentoring I receive from my mentor.

Well, let me tell you what mentoring means. To write on this topic I will again take help from the discussion that I had with DR on this topic and his mails on this topic.


Mentoring typically starts with a fresher as he/she joins the organization. A mentor is associated with such fresher since his first day in organization. This association lasts for typical 2/3 quarters. During this tenure following goals are typically achieved

  • To track the output of fresher from the perspective of quality, productivity and efficiency. Such output is observed and improved by fresher by spending time with mentor. E.g. code quality can be improved by getting code reviewed from mentor.

  • To mould the thinking process of fresher in regards to what is the difference between college and corporate. What are changed priorities. Why take initiative and responsibility is important. In short mentor is to educate the fresher about the Dos and Don’ts

  • To keep the track of aspirations of fresher and to see whether these are being addressed or not. E.g. Aspirations could be as small as to participate in design meeting or starting a hobby project or even to write a research paper! In short mentor is the first stop for fresher for all such expectations a fresher may have.

  • Essentially mentor has to make the freshers productive as quickly as he can.

  • On the other hand this relationship has to be mutually beneficial. Freshers will get quick and sensible guidance. Mentors will get first hand experience on how to handle teams, aspirations, how to delegate, how to get best work done from people etc etc. In short for mentors it’s a great managerial education.

Though mentoring talks more about the relationship between fresher and his senior (2/3 batches senior); mentoring can actually happen at any level. I mean in my case it’s a 6 years experienced person is a mentee of a 20 years experienced mentor! ;-)

One last thing as the mentoring progresses please don’t forget to get the bi-weekly feedback from your mentees. So Happy Mentoring … ;-)


One more important thing I would like to share with you about my mentor is: Apart from usual technical and managerial work in IT industry, DR is also involved in many social activities. He is a trustee of an NGO named Sanvedana. To know more about Sanvedana and participate in its great charity works please visit http://www.sanvedana.org/.


So looking forward to meet you guys at Sanvedana to take its mission ahead by one small step.

Thursday, February 28, 2008

Model Driven Architecture (MDA)

MDA: A very close word to me! During 2003 / 2004 I remember I had used this word million times for several reasons: one of the main reason was to impress others ;-)

I came across this topic when I was working with Component Plus Pvt Ltd in Pune. (Sorry I cant put Component Plus url here as this organization had stopped its working and all other activities)
There I got a chance to give a closer look to MDA. The product named AppWeaver really impressed this fresher!

Later I started working with Aftek Ltd and during some technology presentations I decided to present on MDA. One reason to chose MDA was to read and understand the philosophy again after 4 years from a senior developers perspective :-)

The same presentation I have attached here just for educational purpose! Feel free to comment on the same :-)

BTW MDA stands for Model Driven Architecture and is a software architecture philosophy currently managed by OMG people.

Here is the ppt ...


Saturday, January 26, 2008

RTSJ: Real Time Specification for Java (JSR-1)

Finally I am uploading my presentation on above topic!
Well almost an year and half ago , when DR (my mentor and our SVP Engineering) asked me to read and talk on JSR-1: Real Time Specification for Java (RTSJ), I prepared this presentation. I remember Sunil Desai our SVP Technology Solutions was very keen on embedded Java . That's the reason he suggested DR to explorer more on this topic. And then came me.

Well enough with the history, let me tell you one more thing: Though this presentation is year old why today I am uploading it here / posting it here?
I was basically surprised to know that Googles Blogger (this blogging site / tool) does not allow me to upload presentations / ppts. Because of this reason only I was delaying the posting of my various ppts here! ;-)
Then today I came across a cool website: SlideShare! And my work done!

Notes:
1. My presentation on RTSJ is purely theoretical and I does not have any professional experience in this area. ;-) Though your comments / suggestions / critics are always welcome.

2. I have mentioned DR my mentor and our SVP Engineering. His name is Mr. Dhananjay Kulkarni but he is commonly known as DR. Other than usual technical and management work in IT industry he is also involved in many social activities. He is a Trustee of an NGO named Sanvedana. If you are interested in Sanvedana please visit website http://www.sanvedana.org/ DR can be reached at dhananjayk@sanvedana.org

Here is the the presentation ...