Tuesday, December 11, 2007

Why Indians don't contribute

Let me rephrase the title again - Why Indians (in india) don't contribute to FOSS (as much)

Foss.in which concluded last week was overall an amazing experience. A lot of great hackers from all around the world had come in and it was quite a privilege to listen to all of them.

Sun was big at the show. Java (open JDK) was there but there were quite a few FOSS projects like apache (Tomcat & the like), JBoss projects and others significant ones were missing.

The main focus this year was to show people how to contribute and help people to get over the fear. I met Dr.Deviprasad, one of the best teachers I have seen, this weekend and we had a two hour long discussion on this topic of why there are not many indian contributors to the open source.

Indians are attributed to having a lot of spirituality, which I dont think is completely true and they believe in daana (charity) and dharma. In this perspective, we should be contributing more. On the contrary, the number of indians that you see contributing is far less when compared to the number of people using FOSS. I have heard that its about 1% even in other countries, but I believe that its not even that in India.

One primary reason could be that we underestimate ourselves. We think that our work is not worthy of contribution. We are not ready to believe or stand behind the quality of our own work. Another aspect to this, in general, indians don't view quality as very important. "Adjust madkoli" attitude wont fly elsewhere.

Another reason could be that we don't value freedom as much. Freedom is an expression of the heart and cannot be expressed in words. It has to be experienced and I don't think that we have enough people who have in India. If you don't value freedom, there is no question of FOSS as well.

The thought of sharing something with others is not seen anymore in cities of India. That culture is fast eroding and that can be seen in sharing code as well. To us today, money is quite important and any effort should lead to money. I am in no way saying money is bad, but to think money as the primary goal is going a little too far. We can see that even in the fresh graduates coming out of college. With two to three offers ranging from 3-6 lakhs, they have already lost their path, and that too a year before they actually graduate.

I would love to change this. I would love to see atleast 10% of us contributing to FOSS, but how?

Monday, September 24, 2007

Dream BIG!

Matthew Kelly in her manifesto says -
For the most part, it is not our work that engages us, nor the money and things that our work brings into our lives... it is our dreams. Highly engaged employees have a dream and they are working toward their dream.
...
Nothing animates the human person like the pursuit of a dream. If you want to breathe passion and enthusiasm into any situation, relationship, or team, place a dream at the center of it. Dreams inspire people, and we don’t do anything until we are inspired.
...
Consider these twelve areas. Physical. emotional. Intellectual. Spiritual. Psychological. Material. Professional. Financial. Creative. Adventure. Legacy. Character.

Jot down your dreams in each of these areas, and carry that list with you in the coming days and weeks.

So dream on... and save the future!

About Us

Quite a few people have posed this question as to what exactly does Indygo do? So this is my view of who we are -

Indygo is a company which builds products, more often than not, from scratch, and more often than not, for other startups who are pressed for time, quality and money. Some of these products that we build would also be our own. We are at the drawing boards of one product currently. However, we do not want to be associated with a single product, since we want to build and deliver a lot more. I know some of you might say that this will lead to blurred vision. I say, what we need to see is the immediate road ahead and guidelines to drive, not a set plan. I feel that a plan on that scale (i.e. the future of the company) puts too much focus on the future and less on the present. As Mahant Shetti says - "Having vision in such a case is impossible; 'the visionary' can set directions, but we can not depend on him/her to plan for the unknown future, especially with the rate of change in our industry."

Indygo is a journey, not a goal. And we are in it for the long haul. Not for one product lifecyle. Indygo is as much about people as the products we build. We are here for developers who love to do what they do best. Develop. Grow products that are world class. And by investing in them, we invest in the products that get built, and by that we invest in Indygo.

Now if you ask me what our current expertise is? I would say, building applications for the web.

Friday, September 21, 2007

Indygo is looking for a "Lead Developer"

And for the first time we have posted a job listing. You can find it on the Joel's job website.

The listing follows -

Lead Developer

at Indygo

Bangalore, India

The ideal match for this job would be a person
- with atleast a couple of years of experience leading teams of developers and atleast six years in the industry
- who believes in agile methodologies
- who loves to work in a startup environment
- who can feel the customer's pain in a problem
- who has crafted technology based solutions from the scratch
- been through the whole product life cycle from start to end more than once
- with experience in building applications using web technologies
- with proficiency in Java and its related technologies

Interested?

Please send us an email (which can act as a covering letter) with your resume attached to jobs at indygosoft.com

Update:
Unfortunately, telecommuting is not an option for this particular job. We are looking for somebody who can, not only work on Indygo's projects, but also build a team, mentor them and keep them together. So being with the team is an important necessity and the team would be based in Bangalore.

Monday, September 17, 2007

Risk Everything

The story by Ursula Schwuttke that precedes these points is even more gripping, and the analogy awesome.
Boldness is risking everything, meaning that which you cannot affford to lose, to pursue a dream.
Inventiveness is finding the will to be creative when necessity demands it– not when it comes to you.
Motivation is finding the spirit to hang together when resources are depleted and plans run awry.
Honor is maintaining a sense of fair play and not asking for more than you need–even when it would be excusable.
Leadership Real leadership is demonstrated when one at the 'helm' finds the confidence not to waver, even when the confidence of the team has wavered.
Luck On a day when it really counted, they had some of it. But it dawns on me that luck is just the product of all these other qualities.

Monday, August 27, 2007

Internship

Re-reading an essay, "The Power of Marginal" by Paul Graham and he says it all quite well (what else do you expect).

"just try hacking something together."
Hacking something together means deciding what to do as you're doing it, not a subordinate executing the vision of his boss. It implies the result won't be pretty, because it will be made quickly out of inadequate materials. It may work, but it won't be the sort of thing the eminent would want to put their name on. Something hacked together means something that barely solves the problem, or maybe doesn't solve the problem at all, but another you discovered en route. But that's ok, because the main value of that initial version is not the thing itself, but what it leads to.
We said the same exact words to two interns this summer. They had about three months to spare and we wanted to experiment to see how internships will fare at Indygo. So this year we opened the floor up, asked students to apply and selected couple of real bright ones. The goal was to define a problem, and build a workable prototype that solves it within three months.

What we learnt was quite refreshing.
  1. The interns were very resourceful and attacked the problem quite well. They didnot have much experience prior to this in anything remotely similar, but could successfully complete what they had taken up.
  2. Never underestimate the power of enthusiasm and the willingness to try.
  3. Mentoring of interns (students) is different from mentoring developers. One has to take a more detailed hands-on approach.
  4. Estimation is quite a difficult game in projects which depend heavily on R&D however experienced you are. This shouldn't be mentioned here since its almost redundant. We relearned this.
  5. Don't expect production ready stuff. Its just a prototype.
If I have missed some points, please add it as comments.

Wednesday, March 28, 2007

Javascript overtakes C#

According to TIOBE index, the popularity and usage of Javascript surpasses C# language. I guess this is majorly because of the use of AJAX and Web 2.0 buzz. The original link can be found on the TIOBE site.

Tuesday, March 13, 2007

OpenAlchemy

Atul Chitnis announced on his blog that -
The OpenAlchemy Project is the opensourced version of Alchemy - the user interface used on the Amida Simputer. Everytime I have shown the Simputer to people abroad, the first thing people have commented on was the interface, and have asked if it was possible to make the code available.
...
If you are interested in contributing to the project (especially if you are a student), go over to http://openalchemy.org, join the mailing list (you will find some familiar people there already), read through the archives, find out what needs doing - and go for it!

Thursday, March 08, 2007

Shorten your workday!

Julie Morgenstern writes [via Emergic] about different ways to improve usage of time. Best one of them is to "shorten your workday".

[Update:] Dumb little man points us to Zen habits with some more hacks. The best one I liked was Productivity Hack #9: Wake up early. Definitely the one for me.

Wednesday, February 28, 2007

Jolt awards

http://www.joltawards.com/2007/

The nominees are -

Books (Practical/General Developer Interest)

Agile Software Development: The Cooperative Game (Addison-Wesley) by Alistair Cockburn
Catastrophe Disentanglement (Addison-Wesley) by E. M. Bennatan
Eric Sink on the Business of Software (Apress) by Eric Sink
Practices of an Agile Developer (Pragmatic Bookshelf) by Venkat Subramaniam and Andy Hunt
Software Creativity 2.0 (DeveloperDotStar) by Robert L. Glass
Software Estimation: Demystifying the Black Art (Microsoft Press) by Steve McConnell
Weinberg on Writing: The Fieldstone Method (Dorset House) by Gerald M. Weinberg

Books (Technical)

Code Quality (Addison-Wesley) by Diomidis Spinellis
How to Break Web Software (Addison-Wesley) by M. Andrews, J. Whittaker
Java Concurrency in Practice (Addison-Wesley) by Brian Goetz et al
Rails Recipes (Pragmatic Bookshelf) by Chad Fowler
Refactoring Databases (Addison-Wesley) by Scott W. Ambler and P. J. Sadalage
Head First Object-Oriented Analysis and Design (O'Reilly) by B. McLaughlin, G. Pollice and D. West
Ruby Cookbook (O'Reilly) by Lucas Carlson and Leonard Richardson
CSS: The Missing Manual (O'Reilly) by David Sawyer McFarland
I should get my hands on atleast some of these.

Sunday, February 11, 2007

Bad dress sense

I get quite an earful for my dress sense. Now I dont have to feel bad about it, since I have an authority like Paul Graham backing it up! :)
the less energy people expend on performance, the more they expend on appearances to compensate.

Suits, for example. Suits do not help people to think better. I bet most executives at big companies do their best thinking when they wake up on Sunday morning and go downstairs in their bathrobe to make a cup of coffee. That's when you have ideas. Just imagine what a company would be like if people could think that well at work.

Thursday, February 01, 2007

Advice to freshers

I have been interviewing a lot of freshers for internship at my company. The more I talked to these people the more I felt that the lads are being misled. So this is an effort of trying to put a list of things that freshers might want to keep in their mind. Actually this list will hold good for the inexperienced as well. Most of this is locale specific, Bangalore, India to be more specific.

1. If you are not in the field of computers already, then there are a certain set of basics that you might want to learn first. OK, we, comp.science graduates spend about four years learning it. So even though you think that you can become a developer by taking a course in Java at one of the centers in Amirpet or NIIT within couple of months, there are certain things you ought to know and understand. Basics are important, rather most important. Its not just enough knowing a language. I agree that you dont have to know how the engine of a car actually works in order to drive a car, but you should atleast know how and when to use the brake or the clutch.

2. Programming is like painting. This is not just my view. So what would you do if you want to learn painting? You paint. The first one might come out quite different from what you expected, but as you keep on practicising it, without worrying about throwing away your work (actually this is important), you will surely reach a point where you can create something that you had in your head. Now having something worthwhile or beautiful in your head is altogether different ball game.

3. On the same analogy, there are painters who just paint walls. And there is Da Vinci. And there is a whole range in between. At some point, there is genetics I guess which will give an unfair advantage to the very few. We had only one Da Vinci, but thats something you cannot help. What you can help to climb up the ladder is to associate yourself with the best and improve your skills by helping the master do his/her job better. OK I dont want to sound like a the head master in your school who is using a cane, but what we lack in our profession is the apprenticeship. Our trade needs it more than any other form of engineering discipline. So go find a good master or guru or mentor. These dont have to always be only people. They can be groups (esp. open source projects) too.

4. The mindset that most freshers have with respect to programming is that they can read the manual of a programming language say Java, know the syntax of the language and they are masters of Java all of a sudden. All they are is at the max half compilers who cannot convert the source into bytecode. I am not declining the importance of keeping the syntax in the head. All I am saying is that reading the manual of how to use a screw driver is not the same as knowing to use a screw driver. And programming is a hundred times more complex than this task. Like the great Morpheus says - "Walking the path is different from knowing the path"

5. Find the area that you might love to work in. Actually this is easier said than done. This is something that you want to explore while you are in school. For that matter, this should be the reason why people should go to school. Trying your hand in a masters course might also help. Its also not necessary to declare it to the world and stick with an area forever. You might simultaneously work in multiple areas like one in your office and one at home. Sounds like a dumb suggestion, but people ignore the most obvious things. Whatever happens dont let go until you find what you love. Now is the time when you have a lot of energy and enthusiasm to explore. So dont let it go waste.

6. Prestige kills creativity. It hampers learning. "It causes you to work not on what you like, but what you'd like to like." - Paul Graham.

7. This field is like research to a large extent. If you are not ready for lifelong learning better not get into this mess. Ofcourse five to ten years from now you will be a project manager or in some management position. For that you dont have to become a developer, you could always get in through an MBA or something of such sort. Dont become a developer half-heartedly and screw it up for the rest of us.

I hope this will give atleast some direction to you. If you have more thoughts or criticisms please feel free to express them.

Founders at work

In Jessica Livingston's own words -
"Founders at work is a collection of interviews with founders of famous technology companies about what happened in the very earliest days."
This is a book by Jessica Livingston who is a founding partner at Y-Combinator. A must read for geeks who want to someday start on their own. Some of the interviews are online. Found this through Joel's post.

Wednesday, January 24, 2007

How to be creative

A Manifesto by Hugh MacLeod. The full version can be found at changethis.com.

3. Put the hours in.
1. Ignore everybody.
8. Companies that squelch creativity can no longer compete with companies that champion creativity.
11. Don't try to stand out from the crowd; avoid crowds altogether.
13. Never compare your inside with somebody else's outside
17. Merit can be bought, passion cant.
18. Avoid the watercooler gang.

“The first rule of business,” he said, chuckling at my naiveté, “is never sell something you love. Otherwise, you may as well be selling your children.”

"The more you need the money, the more people will tell you what to do. The less control you will have. The more bullshit you will have to swallow. The less joy it will bring. Know this and plan accordingly."

Tuesday, January 23, 2007

Awful waste

I recently heard - "Only 50% of the yearly crop is usable." That's an awful waste of brain power and time. And of this, the cream gets into one of the big companies where mostly they are either on bench or maintain code that was written before they were born. So where are the ideas? They die. Prestige and money are the killers of creativity.

A lot of problems in the talent pool can be attributed to the education institutions and lack of quality in the process. Recently the CEO of Infosys said this quite nicely in "India Poised" program of Times Now. He says something to the order of "there is huge demand for resources in almost all sectors and there is a huge youth population available, but the bridge that connects the two islands is education. This is in a pretty bad shape and needs immediate repair." I hope that this situation will improve and we will make it better for ourselves without which, standing in the global market will only be a dream.