The Curious Case of Campa Cola Compound

All of Mumbai is going to be on tenterhooks tomorrow, April 29, 2013. For those of you who are not aware, I am talking about the demolition planned for the buildings set up on the Campa Cola compound. The current situation does bring up some questions for which there are no clear answers.

First, a bit of history about this case, taken from a news clipping.In 1955, BMC leased the land to Pure Drinks Ltd. for establishing a factory. In 1980, it sought permission from the civic body to develop a large portion of the land for residential purposes, and signed an agreement with three builders to construct the seven buildings. Out of the seven, two are towers with 17 and 20 floors respectively, while three buildings have six floors each and two have seven floors.

According to BMC, the builders were permitted to construct only five floors and all the floors above that are illegal. The apex court, in its order on February 2013, permitted the BMC to demolish the unauthorised floors.

The demolition is scheduled for begin at 11:00 AM tomorrow (Monday) and BMC and our government wants to use this as an example of show that they will not tolerate any illegal construction beyond the stipulated rules and permissions given.

The argument to demolish unauthorized construction is correct. There can be no excuse to go ahead and justify it. However, having said that, it does bring to light certain points which I am not sure why they are not being addressed:

1. The BMC has collected Property Tax for all the floors or for just five floors, that they claim were permitted. If they have been happily collecting the amount since the last 30+ years, then while they are correct to demolish the extra floors, let us make it a point to also return back the Property Tax with interest to the residents. That is the only fair barter that can happen. You took something that you were not legally allowed to, so better return it back.

2. Anyone living in India and in a megapolis like Mumbai knows that unauthorized construction is not a new thing. However, let us just focus on this case. The residents have been residing here for more than 30 years, paying taxes and are we saying that demolition is the only way out. What about penalties and then regularizing it in some way? They are anyways not going to raze all the floors, the buildings are still going to stand where they are? So why can’t some solution other than demolition be found over here?

There are many other points that could be raked up. I might be unaware but it surely is confusing if the residents have not been able to enlist the services of good lawyers who can present their case with the above two points in mind, especially the first one? Not a day passes by where individuals have been able to enlist services of top lawyers and get cases in their favour, despite the odds. In this case, given the number of years that have passed, given that taxes have been collected and the fact there has to be some humanitarian angle considered for all this, it comes as a surprise that there cannot be a lawyer in this great country who can effectively argue this case.

Please let me know if I am misinformed and do not know all the details. I would love to know them.

Update: The BMC did give the residents a few more days of relief and the demolition is now planned for May 2. The Residents too tried a final attempt with the High Court, but it refused to intervene into a judgement that has been passed by the Supreme Court. I find the situation quite sad especially when the Supreme Court had a great opportunity to also punish the BMC and its officials for having collected the taxes, transfer fees for all these years. What kind of justice is this ?

Update – May 2: The court has given a further break to the residents of about 4-6 months, during which time they have to find alternate accommodation.

Please Help Me Help You

Over the last 2 years, I have been lucky with work with/teach hundreds of students who I reckon will be the next torch bearers of this exciting but young industry. There has never been a better time to be a developer and I hope that they all succeed in their onward journey.

This blog post is not about that but a recurring theme that I hope they can address while they are right at the onset of joining this industry rather than realizing painfully later on. This is not to say that experienced professionals in the software industry do not suffer from it, but I rather prefer to work with people whom I can mould to be better representatives of this art. Yes, you guessed it right … it is about communication. You could have predicted it, right?

However, I wish to stress here on a narrower point especially when you are requesting support. One of the things I promise to every single student of mine is that I shall do my best to respond to your query post my training / teaching on the topics that are relevant to what I teach and do claim a certain amount of experience.

My preferred communication medium is email, especially when it comes to addressing a specific problem that is being forwarded to me. I make it very clear that I am ready to help you but only if you can help me. And by that help, I mean you have to be very specific and give as much detail as you can, so that I can even attempt to address the issue.

When I mean specific, you need to at least give the following details:

  • What is your environment
  • What are the tools you are using, versions
  • Describe the problem
  • What is the piece of code giving you the problem ? Provide support material in the form of code files, project files. Maybe even throw in some screenshots and video (Never underestimate the power of using video as a medium to show code that is not working)
  • Attach Exception Logs, Stack Trace.

This might not be a complete list, but you get the drift of what I am trying to say here. In essence, having all this information gives me a better chance to recreate the problem that you might be facing and frankly will at times make me really want to help you because I am seeing the effort you are putting in to describe and put forward the problem in as much detail as you can.

And trust me, what I am saying here should be a part of effective technical communication.

Enough of a sermon, here enjoy this clip from the hit movie Jerry Maguire, where Tom Cruise uses the term “Help Me Help You!”

A Call To All Students – Get On CloudSpokes Now !

Last week, I spent 2 days with the students of BITS Pilani, Goa and I am still energized by my interaction with them. The kind of stuff that they are able to learn and demonstrate is happening in “Internet time”, so to speak. For those of them who wanted to take the plunge into software development as a career, I started thinking what I could put down to get them building solid skills.

In this blog post, I want to talk about CloudSpokes and how it can possibly make all you students not just better programmers but teach you so many other things, if you want to be ready for the Software Industry when you graduate.

cloudspokes

An introduction to CloudSpokes is due first. I take the liberty of taking the definition from their website itself : “An independent crowdsourcing development community and marketplace that matches companies who need cloud development work with a worldwide community of cloud experts. The focus for CloudSpokes is solely on using public cloud platforms to build and deliver enterprise-class solutions.”

The words highlighted in bold are key ones. First up is that all the work is around public cloud platforms, ones that are available to all of us either for free (to try out) and then with a “pay as you use” policy. Key platforms from Google, Amazon, SalesForce, Heroku, CloudFoundry and others come in this category. Crowdsourcing over here can be loosely termed as telling all the developers (Cloudspokers) that here is a problem and let me know who comes up with the best possible solution within the given time frame. It is a marketplace because organizations come to Cloudspokes with what they want to build and Cloudspokes puts them up as “challenges” or “contests” which you can do. And best of all, no one cares where you live. Years back I remember the “Got Milk?” advertisements. I am pretty sure it can be substituted now with “Got Cloud Skills?”.

In short, you look at the various challenges. Pick any of them up. Deliver a solution as per the requirements and then hope to win. Don’t know how to proceed, ask a question in the challenge Q&A and you get enough pointers on references to get you started. A laptop, an Internet connection and a will to learn… those are the magic ingredients needed to qualify for CloudSpokes.

And here is why I think you need to take this seriously. The points below are the ones that I feel will get you ready to work as a software programmer in most places, even before you have graduated. And who knows, by participating in the challenges for months, it will trigger ideas in you that should be enough for you to even consider exploring on your own. The possibilities are endless.

So here we go:

Learn New Skills

A career in programming is unique in many respects. The only constant in this career is learning new stuff on a daily basis. The languages, frameworks, components that we know today are the ones which are replaced by newer (if not better) versions. If you have been reading articles around necessary skills needed by a programmer today, one word in all those articles will stand out. And the word is polyglot. The word has its roots in ancient Greece (well, what doesn’t ! ) and it means ‘many tongues’. An official definition of the word says “Speaking, writing, written in, or composed of several languages.” This is precisely what you need to be in order to succeed. Do not get into the debate of which language / framework is better. The creators (may their tribe increase!) of these frameworks saw a problem not addressed by their current set of tools and went about setting it right. So pick up new languages and frameworks. Each of them have gems that will broaden your skills and ability to address unique situations as you program more systems. The first language or two that you pick up will always be at the back of your mind as you spend years in the industry but do not limit yourself to that.

What has this got to do with CloudSpokes? Well, the challenges at CloudSpokes are across the spectrum. Client / Server languages, various frameworks … you have it all. Learn them, try the challenges. That is the best way to learn these.

Competition

Competition is important for all of us. Without that, we will not push the limits of our capabilities. CloudSpokes has some terrific contestants and by pitting yourself against the most committed of developers (who all want to learn and win) will harden you for the battles that come ahead in your programming journey. I have taken part in a handful of these contests and when I see the videos of folks who beat me, I had to put my hand up and say “Man ! This submission by XYZ rocks.” And I don’t even want to remind you of the major boost to your confidence, when you win a challenge. You are being judged by seasoned pros and getting that confirmation from them will do your confidence wonders. Trust me on that one. You have nothing to lose really. Any submission you make means an attempt made, an effort put in and submission uploaded. Those are signs of a winner to me.

Time Management

Software projects are fun to work on. We are in a fairly nascent industry and a favorite remark heaped on software projects is that they are usually late. The reasons for that are many : incomplete/changing requirements, resource issues, lack of skills … the list goes on and on. So one of the things that you need to get used while working in this industry is delivering under time pressure. There will always be less time on your hands, no matter what you do.

Each of the CloudSpokes challenges has a time deadline in which you are told to submit your solution. By deadline, it meets that you will be given 5 days or 10 days or whatever, by which to submit your solution. If you want to complete the challenge and do a great job, then you will have to do it within the time stipulated, no other ways about it. Over time, you will know your capacity and how to break up your work into smaller tasks so that you are within the deadline. Time waits for no man and definitely not for software deadlines. So getting under time pressure here at this stage of your life to complete a technical assignment will stand you in good stead moving forward.

Earn money

CloudSpokes rewards the winners for their efforts. Each challenge has multiple winners, who win some prize money or the other.  The prize money is important because you can use it in ways to become better. How about putting some of that back to take an online course for learning a new technology? You have tons of Online universities now that offer technology courses. You could buy a new laptop or if you were me, you can bootstrap a training and small consulting firm. Look at the top 3 prize money winners on the CloudSpokes home page, that is no mean achievement. It is serious money. People have bootstrapped successful companies with that kind of cash. Think about it !

Meet Developers

When you take part in CloudSpokes contests, you will come across Developers in the challenge. Common interests bring all of us together to CloudSpokes, so why not know more about each other. Search them up on the Internet, follow them on Twitter. Open up conversations with them, it can lead to things that you could never imagine. Some of my interactions with fellow participants have been extremely positive. Interact with the CloudSpokes managers too. Extremely friendly and very knowledgeable. They have such a wealth of knowledge that just interacting with them introduces you to some new thing or the other in our fast paced developer ecosystem. And which could save you hours of research.

Community Participation

Programmers are often called introverts but I have seen many of us open up considerably when technology is being discussed. The Open Source movement has been a game changer for all of us. It is all about the community. You must participate. You must download and use stuff. You must give back, in whichever small way. Maybe via a bug fix, a documentation page, even a project but learn to give back. We learn more and faster by sharing and supporting.

At CloudSpokes, you could help out in many ways. If you feel requirements are not clear, tell them that. If participants ask questions about clarifications and you happen to know the answers, go ahead and share those points. If you win a few contests in a particular area, you could even be a judge on them. The more you participate, the more you will become better at playing a leading role in the community. And like any great community, changes happen bit by bit, every day by everyone and over a period of time, something wonderful is born out of that. So participate.

By the way, if you still feel that you are a really “quiet” person and are not cut out for this community stuff, maybe joining the Quiet Revolution might help?

Documentation

This is an area that is detested by most programmers that I have encountered. The funny part is that they are usually the first to complain when they read a badly written user help page. Documentation is a critical skill to have and if there is a component, framework or application that you have spent hours of your life on, give it some love and make sure that you describe and write about it in a manner that makes people want to use it. Remember, we live in an Internet age where people have shorter attention spans and won’t give you a second chance. It is brutal out there. So when it comes to documentation, we have enough successful examples out there to learn from. Keep in mind stuff like “Quick Start” that will cater to anyone who wants to get going with your software in the shortest possible time.

When you submit your entry to any CloudSpokes contest, you need to provide instructions on how to setup, compile, run, etc your code. The judges have limited time and they have other great entries to judge too. So one way to shine out is to give detailed documentation to make their task easier. In other words, by submitting multiple entries and analyzing the documentation that you sent across, you will know inside of you what you should have done to make it better. Listen to that voice and keep working on it.

In a recent survey conducted by ProgrammableWeb, the leading directory of public APIs, developers (like you and me) were unanimous that providing good documentation is among the most important features that they consider while evaluating any product. Don’t believe me .. please don’t. Instead, ask yourself honestly and you will never again ignore writing good documentation.

Presentation Skills

Closing out a sale is as much about presentation as it is about the real stuff. And by presentation, I do not mean creating empty slides that don’t have anything behind to support it. I am talking about video here, which is fast becoming the way people describe anything. Complete user guides are getting replaced with instructive videos. Learn using this medium, it can be powerful. If you feel that you are not cut off for writing thousands of words, remember the old adage that “A picture is worth a thousand words”. Maybe a video is worth  a million.

When you submit your entry to CloudSpokes, one of the optional things to submit is a video. Do yourself one little favor: make that mandatory, not optional as far as you are concerned. Create a video, hear your own voice (it can sound funny at times!) , learn video recording tools, edit it as needed and before you realize you will have a powerful way to describe anything.

Ready to Hire Profile

It is 2013 now and your Microsoft Word resume is not going to cut it anymore. Every company wants to hire the best possible programmers and they tune their hiring process to find candidates who could best fit into their current openings. Do not be under any false impression, that they will hire you because you can be woken up from your sleep at 4AM and you can still write a complicated recursive function. That could be just one criteria. Some of the previous points like support work, presentation skills, community stuff could very well turn the tide in your favor. In spite of their best efforts, organizations have a tough time hiring the right resources. The best developers are courted, they are not hired. And you must do your bit to be in the former category.

Here is what I want to say. Your resume in 2013 has to be a “Browser Search”. That’s all you need to do and you will find that the companies will search you and get to you. But for that, you have to put in the efforts , build your skills, win some challenges, write some blog posts, post your projects on Github, earn some good karma on StackOverflow and so on.

You must have an online profile. Don’t have a domain name? Get One. Don’t have a web site / blog ? Get One. Start Blogging. Don’t know what to blog? Write about what you did today. Or hop over to Stack Overflow and answer some questions, if that is your style. There are various ways in which you can leave behind your online traces. Just make a start, the rest as they say will take care of itself.

Conclusion

I am sure there are other high level points but this should be enough to inspire you to get started today. Time is short and trust me when I say that 5 years later when you do a rewind, this simple decision of yours to be ready to learn new things in 2013 should be among the stand-out decisions that you took. I do not have the gambling instinct, but I would still bet on it.

Thanks for taking your valuable time to read this. All the Best. You folks are the future superstars and I am lucky enough to share what I feel would be in your best interests.

P.S: While my article is a call to current undergraduate students, it applies equally well to anyone interested in a programming career, experienced or even otherwise.

Coursera makes a great move

The growth in online education over the last year has been of interest to me. I really want the initiative to succeed by all means because I strongly believe that if someone is interested in good educational material from good sources, then the barrier should be reduced and Internet can play a great role in enabling that.

But one needs to be pragmatic also. In my blog post 6 months back, I had highlighted some challenges in the model that I was seeing out there. The key problems in my opinion were acceptance by organisations for the certificates that the online courses would give out, online identity and bandwidth.

It was interesting to see Coursera, one of the leading online education site address this recently. They plan to give out a certificate for a fee, in addition to validation of the candidate. On top of that, there is also talk of a potential business model to match candidates who took the course with prospective employers. You can check out the announcement here: http://blog.coursera.org/post/37200369286/coursera-and-your-career.

One of the biggest challenges that organizations face today is getting candidates with the right skills. The problem is acute and with people flocking to the IT industry, it is a time consuming, costly and many a times unsuccessful process. I believe these steps taken by Coursera could go a long way to in addressing this. It will not come as a surprise to see more Online education sites take a similar approach, maybe they already have in their way.

The next challenge in my opinion is to educate organizations that places like Coursera could be tapped for the right people.

 

Online Education : The Challenges Ahead

Online Education sites have become very popular. As someone who credits a large part of his success to the knowledge imparted by others via various means like formal degree, websites, books, etc – it seems to be just right that web based education is taking off in a big way, since the quest for knowledge never ends.

I guess Khan Academy was the tipping point in the whole online education space. Since the beginning of this year, I have come across multiple online sites like Codeacademy, Code School, Coursera and many more. I cannot even remember the number of sites that have been popping up every now and then, which offer courses written by professionals or from some of the top universities in the world.

At first glance, it seems very attractive and I am sure that these sites have their legion of followers who are actively taking courses. What I find attractive is that to anyone who is interested, these sites give you courses that you could take based on your interest or current priority. For e.g. if I am looking at learning a specific technology and have just a weekend or so, I might most likely do that on Code School, if they have the course since the material is ready, relevant and complete in the form of lessons. On the other hand, if I want to do a course that is spread across months, has some assignments to submit and gives me a feel of actually doing a college like course, there are options available at other sites.

All is good then in the online education world. But there is a constant nagging thought that concerns me about these sites. It is not a problem per se with what the sites are doing but more about how they can take this whole movement to the next level. And here I mean by how does one get the masses involved into this whole movement. There are some solid marketing campaigns being done where they say that they want the whole world to code, etc. But I have spent enough years in the industry to read that, smile and move on. We definitely do not want the whole world to code but we definitely want that more industry professionals itself use these tools as a form of constant learning.

They are already doing that now but in very small numbers. Based on some discussions that I have had with people, here are some general level comments about what might need to still happen:

  • The Certificate problem: Everyone loves certifications, no matter how much one argues against them. Each of these sites do give a certificate of some sort on completion. But what value does it hold today? To explain the problem better, most folks are looking for better job opportunities and they are willing to invest time and money in stuff that can help them do that. If employers are willing to consider the certificates given by these online educational universities, the tide could change. Without any acknowledgement of that sort, it will only end up mostly with people who are interested in knowledge and doing it for the sheer joy of learning. In essence what I am trying to say here is that we need to understand what it will take for employers in the future to accept these certificates or degrees being given.
  • Online Identity: This is a challenging problem. Assuming that the first problem that I defined above i.e. of certificates being accepted gets solved, how does one verify that it was indeed the same person who actually completed the course and so on. Given that this is not a unique problem because it exists in the real physical world also. But organizations have come up with background checks, etc – so I don’t know how this would apply to online degrees.
  • Ranking Systems: It would be great to have a umbrella organization under which all these online course vendors/universities are affiliated too and an ecosystem emerges that can help consumers identify similar courses across all the vendors, ratings and so on. Maybe even a ranking system could evolve that could limit the number of folks joining a particular course at a particular university. Just a thought.
  • Quality: The top universities pride themselves on their quality and a large part of their success is also due to the way they filter who gets through a sometimes tough but necessary entrance qualification test/criteria. The way the current online education vendors are modeled, they don’t seem to particular worry about this aspect. The important part in their strategy is to grow and that means numbers. And if we talk about sheer numbers, it will mean that generally anyone with a machine and connection is a potential signup candidate. I could be wrong but the point I am making is to see if there are ways that the quality of folks taking it is upped in some way or the other.
  • Bandwidth: This is an issue in many parts of the world. There are pockets that are enjoying super speeds but when we average things out, it does not give a pretty picture and there are miles to go. But this is a problem that is going to continuously keep getting less relevant as time goes by, since Bandwidth investments are going up, people will have more spending power and the internet plan costs also move south.

These are just some initial thoughts. I am not working at any of the firms that provide these courses so I do not have the big picture neither the inside knowledge of what plans they have to tackle these issues. I am sure they do and I would love to hear from them or from anyone.

I look forward to your comments.

What I Learnt About Management from Adam DuVander

I have been writing for ProgrammableWeb for slightly over 2 years now and it has been one of the best experiences of my professional career. My primary point of contact has been Adam DuVander, Executive Editor @ ProgrammableWeb. While I might have contributed a number of articles to ProgrammableWeb, Adam has been instrumental in many ways than one to help me succeed. Right from sourcing topics to write about, editing my content, giving it beautiful headlines and many more such activities, Adam has taught me a lot of things.

When I look at the activities and the manner in which Adam has helped me execute my task for contributing articles, several management techniques come to play and central to them has been the way they have got executed. I hope that the practical examples that I provide help highlight what I have learn about Management from Adam DuVander.

Here are the list of items (in no particular order):

  • Availability : Adam is always available whenever I have sent him an email. The email could be a point I was trying to make, a question, asking for help or just about what he thought about something unrelated at times. Every single time, I have received a reply from him. The reply is short, to the point and helps me move forward. If Adam is unavailable for a certain period i.e. vacation or conference trip, on most occasions I am aware of that and can plan my tasks accordingly.
  • Quality: Any manager will quickly lose respect if he/she is not able to guide the folks working under them. I am not an expert writer and have a tough time with giving good titles to my posts. At times, it is about having the right mix of images/text and links to make the article better. Adam has always given those inputs, done the corrections at times and in my book, he is the master of “giving titles to your posts”. The point I am trying to make is that Adam is a hands-on editor, who cares for quality, can produce quality stuff and can jump in to give the extra stuff that your work needs to stand up well.
  • Opportunities: It is often said that a leader is only as good as the team he/she leads. If the team does more stuff and does it well, it is bound to end up being good for everyone. Writing can sometimes be a boring task and often you want to probably look at different areas or styles to keep the interest going. Adam on various occasions sort of preempts this and there will usually be an email or a message that asks if I could do something more i.e. write more. It is not about doing a job anymore but about discovering what more we can possibly do or could we do something in a different way that could help us write more. Adam has always provided those opportunities and has also been receptive if I have asked about doing a particular article or not ?
  • The Feedback Loop:Any management book that you read reminds you that receiving feedback on how you are doing is important? What you do with that is another whole issue in itself. But how often have we found that we usually do not get feedback on a constant basis from our managers. Adam has on many occasions given feedback on a particular article. The feedback could be just a comment about the article being good, etc but at times also about what could be changed or what should be considered the next time around.
  • Flexibility: There have been various instances where I have not been regular in writing. On other occasions, it has been due to some event or a holiday,etc that interferes with my writing schedule. On most occasions, I have asked to be excused from writing for a particular week or due to my planned break. Adam has been extremely flexible and has allowed me to do so. My sense is that Adam has got control over the tasks that his team has to deliver and is accounting for some lapses from his writers in the form of breaks. In essence, working with a manager who is flexible when there are reasonable requests from people who are working with him is crucial. Adam has not just demonstrated being flexible but also extremely patient with requests of this nature.
  • Diversity: We live in an age where the team comprises of people who are living in different countries, time zones, cultural differences and much more. A good manager has to deal with diversity in this age. Adam has been able to work the time zones and get work done by people in spite of the fact that he has probably never met the person. An example is me. We have never met (hopefully we will someday) but it is very reassuring that when the goals and interests are clear to all, a good manager is able to cross all those hurdles, code named as “diversity” and help us all deliver.
  • Multiple Hats:Close on the heels of the above point, a good manager has to wear multiple hats. I am not an editor of any online or print magazine but I can only imagine the different roles that Adam has to play. Work with writers, schedule articles, work with PR agencies, Product companies, visit conferences, speak at conferences, administrative issues, payment issues and more. Only Adam knows how many other tasks he does to keep the ball rolling in his role but the point here is that you have to play multiple roles and have to deal with people. I will not be surprised if my statement that “you have to be a people’s person” to succeed as a manager is spot on. Adam is proof of that.
  • Micro Management: A manager has to focus on the high level objectives and full trust that the team he has with him, knows how to do their respective tasks. In other words, if the manager tries to micro-manage too much in such a scenario, then things are likely to derail. Adam has full trust in his writers and gives them enough confidence that they can deliver. He also assigns the task of co-ordination to different people as needed so that he does not become the bottleneck. Over time, it becomes clear to all the team members what they are supposed to do and he can concentrate on his high level goal of delivering a good number of quality articles that cover the exciting API industry.

I hope some of the practical examples I have given here help drive home some important Management techniques and how they work in the real world. A big thank you to John Musser, founder @ ProgrammableWeb for giving me the opportunity in the first place and to Adam DuVander for such great mentorship over the last couple of years.

 

On Monkeys, Coders and API Hackathons

A recent post by Ryan Carson titled “I’m tired of the opportunists and their hackathons” has generated lot of comments. The post seems to project API Hackathons in a bad light and almost exploitative in nature. I leave it up to the reader to go through Ryan Carson’s post and he does bring up some important points but they seem more sensational in nature.

For those who are not aware of what API Hackathons are, I will try to break it down. Lets first look at the word “API”. An API (and here I am talking about it being publicly available) is some core functionality that a company exposes for its partners and the developer community to interact with from within their applications. A simple example is that of Twitter, which exposes an API to send a tweet from any application. A Hackathon is a gathering organized by one or more API providers, who would like their API to get used by interested developers in 24-48 hour sessions.

Some points from my side:

1) No developer has been forced to attend these Hackathons and each one is attending them on their own to satisfy whatever their need might be from the Hackathon. It could be the prize money offered, networking, learning about APIs in general, just spending time. In other words, who are we to judge someone and say that X is a zombie and is so infatuated with the programming bug that these Hackathons are a drug to X.

2) What is wrong in companies offering money to try out their APIs, to build a prototype or whatever. Another way to look at it is that the companies are not bothered about what products are built with their APIs during the hackathon, they are simply throwing money to win some eyeballs. Isnt that advertising ? And what is wrong with that ? Do you expect any developer (unless you are popular service) to simply start using your API without allocating $$$ in your budget towards building the developer community? Hackathons are just one of the mechanism IMO, to build your developer community, get some feedback from them and so on.

3) Hackathons are probably just the first step in the journey. API providers can approach the winners or interesting ideas that did not win and then encourage their development (by putting resources of course - time, people and money on the table) and take it forward.

4) There are instances when investors have been scouting around these events and independently opening up a channel with the developers if there is something of interest.

5) It does not help to state that developers are idiots and they continue to slog and work for long hours with low wages. At no point in time now or in the future, can we determine what is the right kind of compensation for the effort put in? Software development is not a mechanical task with fixed raw materials and that goes from Step 1 – Step 2 … Step 10. It is very difficult to come up with precise pricing that is agreeable to all. At the end of the day, as a software developer it is very encouraging to know that you will have a constant stream of work (and pay), provided you are willing to adjust, take some risks, keep learning new things, have a healthy network and have a good online presence.

In summary, it is the same ecosystem of give and take that we are seeing in action. And Hackathons are no different. In fact, I would encourage anyone who has never been to one to go out there, put your mind and effort to it in those 1-2 days and see for yourself, a side of yours that you never knew existed.

 

Tablet vs Tablet

   

This happened for real and I am not making it up.

I went to recharge my mobile phone yesterday evening. To do that, I went to  a small electronic shop that also sells mobile phones, repairs mobile phones and does mobile recharge for prepaid customers like me. While the person helping me out was punching the mobile recharge amount on the phone, one fellow came in a hurry and simply said (I will use Hindi here):

Man : Tablet hain kya?  (English : Do you have a Tablet?)

Man at Shop Counter : Kya ? (English: What ? )

Man : Karbon Tablet hain kya? (English : Do you have the Karbon Tablet?)

Man at Shop Counter: Sorry. Baajoo ke Medical shop mein tablet milenga. (English : Sorry, you will get that in the medical shop next door)

I kept quiet about it but was amused for sure. The future is going to be very interesting…

 

 

Android Apps From My Students : Light Me Up by Ajit Mahajani

I am pleased to announce that Ajit Mahajani, one of the participants from my 2-Day Android Workshop has just published his first application in the Google Play (formerly known as Android Marketplace) Store.

The application titled Light Me Up is a strategy game where you have  light up all the tiles on the board. The tiles toggle their light every time you tap on it and the catch is that it also toggles the vertical and horizontal row.

    

The game is slick looking, lets you choose your grid, colors and also saves high scores.

Great stuff Ajit ! May you release many such applications on the Play Store. Ajit is also blogging about his experiences writing Android applications and is sharing some great tips on Android programming. Take a look at his blog.

If you have attended my workshop and have published an Android application, please let me know. And of course, if you want to take your first steps to writing Android applications, come and attend my 2-Day Android workshop.

Why Kingfisher Airlines should not be bailed out?

Kingfisher Airlines has been in the news lately for defaulting on its payments. Most experts say that it is likely that they will fold up. There are reports that Kingfisher has asked for favorable terms from the government in terms of rules, taxes and whatever else to get out of this situation. What this possibly means is a Government bailout.

I am not expert in these matters however the concept of a “bailout” does not go down too well with me, especially when you want to play by the rules and let the market forces decide what happens. On Twitter today, I got hold of an excellent article titled “Nassim Taleb’s Big Idea: Transforming Debt into Equity” written by John Aziz. The article contained a section that struck me as the answer that I would give on why Kingfisher or for that matter, no one should be bailed out.

I quote the section from the article:

“If bad companies can succeed just as easily as well-run ones, then the market mechanism is rendered meaningless. Why innovate and create when instead you can run on government largesse? Why seek efficiency when inefficiency gets you cash just as easily? Furthermore, this government largesse starves new businesses of opportunities and cash. Every dollar taxed to pay for bailouts is a dollar that could have instead been invested in a startup. And every juggernaut that is saved is a hole in the marketplace that could instead have been filled by a new and better company.”

Enough said.