My Latest Work : SignEasy

SignEasyHere’s an update on my work lately. Just released an updated version of SignEasy on the play store. SignEasy is a mobile-only app that makes signing documents really a piece of cake. Import your document from dropbox, box, sd card, email and quickly sign them digitally with a smooth experience. I’m a user of the app as well and truly appreciate the simplicity with which you could sign the documents. There’s nothing complicated about it.

I started work on SignEasy only recently when Sunil (co-founder, SignEasy) approached me to improve their android version of the app. The app was in a decent shape, with the existing code not available in a great condition. The android version had a few performance issues too and the workflow was a little tedious. The major issue was that the signing process felt incomplete. There was no provision to sign the document on the client side. It was uploaded to the server to sign and return back the signed copy.

This was a slightly painful experience for the user. Since the user couldn’t immediately see where he signed in the document. It’d only be available after he finishes his editing and the document is returned from the server. We analyzed a few android pdf editing/rendering libraries and went with one with supported local editing and rendering ability. Integrated that quickly into our code and that was it. Now users can quickly see their signatures on the app, and don’t need to wait for server processing. We also changed a few finer things in the app and the results are available in the new update of the SignEasy app in the play store.

If you’d like to work with me on your product/idea, Please do send me a note at satya@satyanarayan.in.

Smartness is in the language.

There was an interesting discussion that I recently had with a friend. The context was around choosing a technology stack for server end of the solution. We were discussing around php, python or Java. Client-end technology does not provide many choices right now. On mobile, Android/ios have specific platforms. If you’re going hybrid, you’d go with javascript based ones. Server end is a little different. There’s a host of choices. 

Ok. Back to the discussion. So we’d need to hire developers to work on the back end. Our thought was this: If we choose a more sophisticated language, would we get better developers. Now, in the choices we had, python was the most sophisticated. Personally, I like the language and the community around it. Now, if we went with PHP or Java, it’d be relatively easy to hire developers in India especially. Also, due to sufficient supply, we could also hire at a nominal rate and not burn our pockets. Though, the quality of such folks is rather questionable. In my experience, we’ve had to interview 10-20 people or more on average to find a decent developer in PHP or Java. Especially one who could appreciate programming in general and understand different design paradigms. Typically, you come across people who’ve known to code a certain way, and base their experience around a couple of tools. They feel completely foreign when introduced to newer concepts, even though experience-wise boasting greater than 5 years or so.

Now python developers aren’t too common here and come at a relative premium. Same with Ruby, Clojure, Node or similar languages/platforms. But since the language is so sophisticated, it instills lot of good practices in developers. Also, the quality of design skill is certainly higher than a regular PHP guy, to say the least.

In the end, you need a smart developer. One who is a good problem solver, has neat design skills and likes to produce quality stuff. Our conversation came to a conclusion that we need to choose a better platform to find the right developers. Python is a choice that we made for the exact reasons.

The emphasis on a good developer because : A good developer is much more valuable than just his coding skills. There are many facets of product development, where a sound feedback or input from developer shapes the product in a great direction. Since they’re the closest to the core/internals of the product, their inputs are very valuable, and a right person at that place is the first step in that direction.

[Note: The idea is not to look down upon PHP and Java developers, or anyone for that matter. I’ve known and worked with extremely smart developers, who used these languages to express themselves. The post is in general a reflection of current status of hiring (especially in startups/smaller teams), and lack of efficient developers.]

Would love to hear your thoughts as well.. Please do share them here. 

Pitch the dream, not the job!!

Startup hiring is one of the most interesting and humane part of the whole starting up experience. Not something that companies do very well, though.

I’ve seen startup founders feel very apologetic when discussing career options with an employed person. The discussions go like “We wouldn’t be able to pay your current salary”, etc. etc.

Once you’re apologetic yourself, think of what the other guy thinks of you. I’ve been in such situations myself and can say that they’re not the most comfortable situations to be in.

Let’s change the scene a bit.

Founder pitch:

I can offer you a “life changing experience” which your current job is not capable of.

What I have to offer is the “thrill, dynamism, new identity” which your current job cannot provide.

Think of an environment “non-bureaucratic, filled with energy, enthusiasm, challenge, camaraderie”.. Think of us.

And guess what.. I’m paying you for all this.

I mean.. yeah.. why should you be apologetic about offering a lifetime opportunity..

Sell the dream.. Pitch the prospects.. not just the job.

[Shameless self-promotion]

Wanna join us at Orbis.. Send me a mail at satyan[at]orbismedia.in with details of yourself (less fluff, more code..) Thanks.

Sprint or Marathon.. What’s your model?

I’ve observed a basic difference when it comes to a sprinter and a marathon runner thats very relevant to a business ecosystem.

A sprint is a short distance run, fastest one wins. Speed is the most important attribute. Competition at its best.

When you observe a sprint, you’d typically see 10-12 athletes who’re running individually to beat the other one to the finish point. They don’t look at each other at all except after the end of the race. The key thing here is.. they don’t rely on each other much.

A marathon is however a longer run and tests your stamina, endurance and sustainable speed. It is competition, but of a different nature.

When you observe a marathon, you’d see groups running together for most of the distance. Its only at the end that people move away from the group. Running with each other helps athletes psychologically where they feel part of a group. They draw strength from each other in an implicit manner. They form a support system.

How is your business model structured?

If you’re running alone, is your business of sprint nature? if not.. see if being in right group can help you. Form a group of companies which offer similar services/products and benefit from each other without affecting the competing agreements. Share your knowledge to younger folks and encourage your fraternity to grow. It’ll only help you in the long run.

If you’re in sprinting business.. practice hard, run hard.

The UnConference of Entrepreneurs

Imagine a place full of enthusiasm, activity and positivity. Thats how it was at Chennai Tie Unconference event last saturday hosted at Thoughtworks premises. The theme was “How to scale your business” and the idea was to do it in unconference style. This model we believe results in better knowledge transfer between the seasoned ones and the rookies.

The day started with Dorai sharing few details about the event and then requesting for participants to declare their proposed sessions. To be honest, we did not expect much activity in the beginning.. but we were surprised to receive about 20 sessions right within the first 5-10 minutes. So there we had the agenda for the whole day. Great start to an unconference.

Then started the sessions.. Couple of them that I enjoyed being part of were,

1. When to become an entrepreneur..

2. Bootstrapping your startup

3. (the high point) Panel discussion on scaling your business

Lots of discussions, many useful ones.. some not so useful, but a nice event at the end. It is rather difficult to summarize the events since they were so many and so distributed that I lost track of them all. But I’ll try to share few things that we tried out and learnt from this experience.

1. The position paper experiment

This was seriously good and has given me many ideas to make such unconferences/events more interesting and useful to all participants. My experience from conferences and events have been that I’ve always found myself bored at speakers/lectures sessions and waiting for them to end so I can meet other participants or engage in networking. Now imagine if I already knew all the participants and knew the reasons they’ve brought themselves to the event, it gives me a clear idea of who to talk to and what to talk as well.

2. Three sessions in parallel

Sometimes this means, people can only go to one session and lose on other sessions. But it also means lot of people getting a chance to share their views and having a smaller audience who’ve preferred this to the other things going on. Beneficial to both the parties.

3. Panel discussion

This was the only organized session in the whole day. Terrific panel and crisp replies to questions. Extremely efficient use of time. We expected this to be the high point and it was.

Pictures and more information on individual sessions are available on facebook and twitter

Organized by Tie and Thoughtworks with the help of Dorai, Sid, Satya (myself) and host of other volunteers.

Awaiting many more in future too..

Going to office or going to work?

[tweetmeme source=”snarayan” only_single=false]

Really, where are you going?

I’ve been thinking about this for quite a while now..

I spend about 1 hour 15 minutes to reach my office from home. That makes it about 2 and 1/2 hours daily.  On a five-day week, this sums to 12.5 hours (equivalent to 1.5 days of work). So as per figures, I lose 1.5 days of work time per week for a totally non-productive thing.

Now add money into the equation, if my per-day salary is about 2k, i’m losing 12k on a monthly basis (which is 1/4th of my overall salary). Thats significant money and time. Quite significant.

Ok. Enough of numbers. So.. why do we then go to office?

I’m of a firm opinion that it is absolutely essential that we utilize this time more effectively. And, it’s not just me. I see more and more companies are realizing this and are offering a alternative plan to their employees. Some even feel that offices would be “history” in few years to come.

We need to make some major changes to our mental setup to change this..

1. Need to identify better ways to measure work.

2. Communication facilities need to improve

3. Need better planning

4. Need to be sensible about collaboration and utilize time more effectively

5. Need to get more self-organized and self-employed style.

Of course, I agree that all nature of work do not permit this. But especially in software, its absolutely perfect. Infact, there’s a whole industry which works on remote communication. It certainly can work and work well..

Let’s stop going to offices. Let’s start going to work.

My people always ask me “what to do”..

[tweetmeme source=”snarayan” only_single=false]

As an entrepreneur/manager, believe me, its not a good position to be in. You want people who can/are willing to take decisions.

The reason you hire them is because you think they are good at what they do (ideally.. better than you too.). So you need them to tell you what they want to do.

Sadly, many argue that its a very ideal state to be in.

Ok. Point taken. Back to reality.

Don’t tell them what to do and observe them.

What could happen? Will no one work? Would there be no decision at all?

Or

Would people start thinking what to do..
Would people start taking decisions and learning from their failures/successes..

Remember, the reason people ask you what to do is because they’re not confident of their decisions and are afraid of failure. Give them the cushion for failure and encourage them to take decisions.

Embrace innovation. Accept failure.