Many of these questions have been asked in different guises in various meetings and interviews since 1994. I hope my answers help you know various non-technical aspects of me at an earlier stage, so that during meetings we can spend more time on technical issues related with work.
Our coursework can be broadly classified into three major areas - soil and water conservation/irrigation, farm machinery and food processing. We gained fair idea of relevant civil and mechanical engineering aspects, apart from basics in electronics and electrical engineering. Significant number of elective courses in curriculum helped students orient themselves in desired field at bachelors level itself. I had oriented myself in food processing. I did my summer training at Tractor and Farm Equipments Ltd., Madras and National Seeds Corporation, Delhi & Agra. My degree project dealt with papaya preservation.
I had wanted a job that utilised whatever I had studied during four years of degree, so I did not apply for just every company during campus placements. Moreover food processing companies also had reservations towards the degree name Agricultural Engineering. Couple of my batchmates were later deprived of their confirmed offer, with reason that management would consider Chemical Engineering students for the post as per company policies. It looked slightly weird reasoning because these guys had gone through couple of interviews at campus and company's office in Bombay before the offers.
Always the case, getting a job is easier than getting a satisfactory job. I didn't find many relevant companies in campus placements. Later I tried outside on my own and experienced that getting a right job with that degree was even more difficult than via campus placements. After many months went by like that, I started looking into other avenues that could guarantee a job, and further education in computers seemed to be quite promising. Thus I joined Pune University Computer Science Department (PUCSD) after clearing their entrance examination in 1993. Some job calls related to Agricultural Engineering came later, but it was quite late then.
In a sense it is not true. Once you do any engineering course at Indian Institute of Technology, you develop an engineer's mind to look at things, something that helped me in learning Computer Science as well. By the end of my studies at PUCSD, I could view things both as an engineer and as a scientist.
I had opted for degree project - "Implementation Of A Framework For Global Data Flow Analysis", hoping for good amount of programming experience apart from the concepts. Show turned out far below my satisfaction and I was left high and dry. Couple of other related happenings around that time further contributed in turning my interest away from compilers.
I have a penchant for doing things right and striving for perfection, if that's what you mean as academic bent? I am interested in research that can be translated into practical use as far as possible, and if PhD comes as an auxillary product, I am not allergic to it. However I am not interested in PhD for sake of getting a label and publishing some papers etc.. Also I have never been interested in making a career in academics, it is just love for me.
If job involves applying the knowledge from Computer Science into solving Agricultural Engineering and related problems in Mechanical and Civil Engineering domains, needn't specifically be in food processing, it would surely be an interesting and challenging exercise.
I had got selected for a Pune company through campus placements, but later it retracted it's offer. By that time campus placement was more or less over. Placement cell couldn't help much, as formal offer letter hadn't come from the company till that time. Since I was interested in systems work, it didn't make much sense in applying for just any company. Just getting a job didn't look a difficult issue after PUCSD education, so for remaining semester I focussed on my studies and also brooded over research and higher studies.
After completing final semester of M.Tech. I managed project basis work with Antech Microsystems. Around time one of my teachers suggested that I should join department as fellow - a contractual position for two years. This way I could be in touch with academics and work towards finding my research interests, and resources and guidance of teachers would be easily available in working on research ideas.
Antech director wanted me to continue working part-time with him even after I joined the department, but I couldn't accept it. Firstly I wanted to focus on research and secondly I didn't know then if I could accept his offer.
Before I realised I had started liking teaching. Administrative works also came as part of the gifts. And then it was long back that I was looking into adaptive and fault-tolerant OSes for research work.
Teaching process had been an exchange for me. I shared whatever I knew and learned, and learned more from students via their questions, answers and feedbacks, from their wishes to do things better, to do things beyond routine course work. Over the years computer education gained in job market over many other disciplines and effect of this was visible on this exchange process. Slowly it became one way giving and started to have a draining effect on me.
I loved teaching at the department for the love of it, but slowly it was becoming a means for earning livelihood there, and moreover I had moved quite away from research. Things lead to inner conflicts and fed dis-satisfaction further.
I used to wonder - how much, of whatever good practices I was taught at PUCSD, and whatever I taught there, is put to practice in software industry? I had got second hand answers in past that were not easy to believe. Perhaps happenings were indications to answer and motivation to see another face of life after computer education and get first hand answers to my inquiries.
I knew about MoreLinux (Codito in it's previous incarnation) from a PUCSD student who had got industrial training there, and had contacted them around beginning of 2001. Their representative contacted me in PUCSD sometimes in April later, and projected an image of the organisation that attracted me to work with them. Much later I came to know that one of senior PUCSD alumni also had referred me to them.
Work dissatisfaction was one of the main issues. I strongly felt that my technical capabilities were not getting utilised properly there and this was affecting them. Other issues stemmed out of the fact that whatever impressions I had been conveyed about the organisation in 2001, I had taken everything in ideal sense and set higher expectations from the organisation. Having developed belongingness towards the organisation stopped me from leaving many times, but at some point of time one has to look beyond these things.
I might have heard his name in some chit-chat, as it sounded familiar when he contacted me for the first time. A common contact was instrumental in bringing us together, as I learned later.
It was just a transition to working directly with UNM Systems, after mutual arrangements.
My first technical impressions of Moti Thandani (then UNM India director) made me look forward to working with him, and also generated a hope that things would be different when working directly for UNM. As I had some personal work scheduled for couple of weeks around september, I entered a short term contract initially with the understanding that I would be interested in continuing further only if I found things satisfactory. Moti's unexpected leaving disappointed more as it also influenced the work I had joined for, that resulted in work dissatisfaction over time.
If I get interesting technical work and good deal. But I would prefer newer organisations, to get a wider flavour of this world.
Matter of personal choice, possibilities of working from home, proper respect, value and ownership of my time, disciplined working, sense of more responsibility and freedom, being some of the reasons. I am not quite comfortable with lull periods as no amount of money can compensate the loss these do to one's creativity and skills.
Working in software companies for long stretches is often quite monotonous and long exposures to artificially cooled environments and sitting in chair often give many health troubles, something that has, at times made me seriously think about change of profession. A toxic job situation often takes a huge toll on health and happiness. As a freelancer one can take hassles free breaks before starting with any new assignment and either work in different field or on some research idea or go on a pilgrimage or tour the landscapes, or work with some NGO, basically just get involved with anything to rejuvenate yourself.
Though as freelancer, I am open to being associated with multiple projects and teams at the organisation, mentoring and helping with recruitments.
It is better deal for organisations outsourcing work to smaller companies, as freelancers have lower cost of operations mainly due to absence of organisational overheads. Moreover, with freelancers your expenditures are only for the assignment period. Freelancers equally respect non-disclosure agreement issues and often have more sense of responsibility towards work. Good work and environment is likely to result in them having longer relationship with you.
These days good internet connectivity and phones have converged the distances and made it possible to be anywhere in the country and still continue working, not only in field of software development but otherwise also. Additionally suitable no. of visits to your site can be planned for face to face discussions of issues and exchange of materials or for working on issues that can not be handled remotely. Other possiblities can always be worked out based on the problem at hand.
Hardware and needed material can always be shipped to/from developers. In case of development hardware it looks helpful to work at client site where set of people with relevant expertises are available to address the issues that are not part of the software being developed. However, as an alternative many companies that have people working for them from different corners of the world, create a setup at their headquarters in which developers can access the hardware over internet as if sitting next to it.
As far as design and coding of applications, OS and libraries is concerned, it can easily be handled remotely. Porting and reasonable testing can also be done remotely if good enough hardware simulators are available, that can also save considerable time and efforts for other tasks.
True, it requires a big psychological shift and overcoming one's apprehensions to take even that first step into this territory, but slowly more and more companies are exploring inovative and revolutionary practices and flexible work culture for better performance and longer work relations. In coming days I see further improvements in this direction, when the benefits start surfacing.
Possibility of avoiding artificially cooled environments at work, flatter organisational structure and lesser formalities leading to better productivity and interaction with colleagues, motivated people struggling towards achieving their dreams, opportunities of working on new ideas, openness towards innovative and revolutionary practices, being some of the reasons. Moreover I feel that my earlier experiences will be more useful to startups and struggling organisations.
If I were an actor, I would have loved doing a spectrum of roles rather than getting typecasted in fixed kind of roles. Each different role has it's own challenge, charm and gives life to acting. Is computer science (programming) too different from other arts?
I would like to continue being in touch with programming, designing and research aspects of computers related work and be an established freelance software designer and developer. Management is neither my interest nor my cup of tea. May be, I will have a small group of people working together in a different model of a company. But I would love to do something useful in life and also work in engineering and non-engineering fields other than computers.
When I had first come here in 1993, I loved this place for it's lovely weather and greenery. Things have deteriorated drastically since then. However knowledge at R.I.M.Y.I. is still a holding force.
I am honest and straightforward in my dealings and give priority to work than ego satisfactions. I am not comfortable with the idea of hiding the problem under the carpet. I normally end up falling in love with the work and it bothers me when people molest it. The perfectionist inside me aims at solid product that is profitable to organisation in long run also. For me, just lingering on is not success when you could have done far better.
Irrespective of duration of my relationship with an organisation, I end up bothering about organisation's future, growth and benefits and take up issues that I find or feel impacting productivity and quality, with relevant persons. So far I have not been able to digest the notion that I am getting my payment anyways, why should I be bothered about these issues?
One of the principle that I practice, is - "If you go back to shopkeeper because you have been returned less money or charged for more items than you actually bought, then you should also go back when you have been returned more money or charged for lesser items". A mistake is a mistake, and it needs to be corrected.
I try to share problem analysis and solution, at times quite detailed, hoping to save the time that otherwise gets spent in many email exchanges and lengthy meetings over days. I am weak at buzzwords and remembering names.
Yes! I am aware of the risks, but being honest and truthful is not a mistake. At times it makes your path difficult, but that is the test of your faith. In long run it gives you tremendous inner strength. A relationship of any kind is healthy and works out well when there are no lies, pretences and hidden motives and parties accept each other as they are.