Random Rules

Be who you are.  Do what you love.  Employ people you like.

Recruitments

Recruitment  is most often the most frustrating of the things that I am supposed to handle. Anyone and everyone who can write mysql_fetch_array() thinks that they are better than Rasmus, it is an entirely different matter that the response is always “Rasmus who?” from these delightfully disillusioned geniuses when you really ask about him.

Once again it is reaffirmed that my old strategy of taking *intelligent* freshers and training them to think the way it works for us is the best…

Other than that life goes on – lot of things are being worked out on the construction front – most important being the electrical layout, with roughly 15 tonnes of AC cooling supposed to be put in I rapidly learnt all there is to about calculating electricity bill. Being finicky about construction quality I learnt about how the waterproofing is done for RCC slabs and the likes. All of this is much more than I had anticipated, specially considering that the designated experts of the contractor and architect are supposed to look after the QA – but then for everyone it is “just a job”. For me? it is my money which is at stake!!! At times like these how I wish that all I had was “just a job”

On second thoughts – naaaahhh!

Monsoon magic

Finally the monsoon has firmly set over the region. Cooling things down to the twenties… Half of 2006 has also passed and been a good year till now.

I am still overwhelmed with work but I took some time out last week to try making a real life project with cakePHP – https://cakephp.org as the framework and PHPEclipse from https://easyeclipse.org as the IDE, for want of something better I decided upon creating a Photoblog after the first couple of hours I found myself liking the code so much that I registered a project at cakeforge called cheeseCake (yes pun intended). After about 10 hours of programming a lot of which was spent in trying to search the cake documentation (the weakest point of the project) the results are at https://cakeforge.org/projects/cheesecake/ – I intend to keep this an SVN only project for as long as I can 😉

On business front a kind of Joel Spolsky Vs. Paul Graham dilemma seems to be the crux, however since I am already seeing “why this boom is different” kind of articles appearing I would say that we are definitely approaching a flat period if not the end of the boom. Does not take a post graduate degree in business management to know what to do in such situations…

Set it free!

The most satisfying moment for the week past was when we set free the Shikra chick which we had been looking after for past several weeks. I am happy that we could manage to teach it how to kill and then how to hunt, yes they have the instinct but it needs to be honed. Swati has a detailed diary of the care taking it needed and there are also a few pictures. the poor thing was mortally scared of the camera so we did not click much.

On work front we have now have a programmer whose full time responsibility would be “Open source development and management”. Apart from working on Coppermine NG, she essentially will see to it that the other programmers are kept busy with Open Source work when they are not involved in commercial work. Earlier one of the senior programmer would do this job when they were free but since past couple of months they have been too busy with commercial development to look into it.

With Aasim’s summer vacation still continuing I have not got enough time on his computer to post process the pictures from the May end trip…

Birds, flying and more

Oriental pratincole

The week just zoomed past….

Throughout the week we were sifting through resumes, We are currently running at full capacity and it is always a bad idea to do this for long – there has to be some redundancy. Yes, project overlapping is there but I want to have at least 30% spare man hours. Besides this we are also working on ways for faster project transfer than what is currently in place, this just means further standardization of coding practices and more extensive Unit Tests for the Models. Also spare hours means that the programmers contribute more to Open Projects. I am very pleased with how Koppermine – The KDE client for Coppermine Picture Gallery is turning out.

Swati and Aasim hopped over to Delhi for the weekend, Aasim wanted to hook-up with Kabir and Swati was meeting some of her old old friends.

Yesterday I indulged myself with a day full of bird watching along with a few more birder friends. First we visited this amazing place right in the heart of the city which we recently discovered. It has a huge heronery of Black Crown Night Herons and Cormorants with 100+ nest. Noticed a very interesting thing, the chicks of Black Crown Night Herons are out of the nest even before they can fly and scamper around on the branches begging from any adult which cares to feed. Some of them even manage to get down to the ground and forage!!

We then proceeded to the nearby Wena Lake where the wader breeding is in full swing. Got a ‘photo lifer’ – Oriental Praticole! it is a very beautiful and relatively unafraid bird. Oh! by the way – I use the word photo-lifer to describe a bird which I have captured on camera for the first time. Another interesting image captured was of a Club Tail dragonfly eating another dragonfly.

Last week also saw the commencement of the first Nagpur-Bangkok flight which will be a great time saver for us, wasting nearly 2 days at Mumbai was a pain. Also, it looks like the Nagpur Flying Club will soon start, if not that then the Gondia Flying School will definitely start – I intend to get my Private Pilot License as soon as they start.

Happy New Year!!!

Huh!?

Just as we were about modestly done with celebrating a good ending to the previous financial year (for the uninformed 31st March is the date) I wake up to this truly *Maniac Monday*

Fortunately, for you my readers most of the problems fall either under some NDA clause or will hurt friends – so I won’t write about them, instead I will just pat myself on my back for having shifted the problems from the *no reasonable solution* list to the more satisfying *solvable* list. Ah! the joys of been a suited geek, well I still wear jeans just that my job profile is now more that of a suited geek 😉

Back to the happy part – I would publicly like to thank one person who 8 years ago made me angry enough to look beyond my little town.

Thank you Mr. Prakash Agrawal!

Thanks for not letting us get the very first website order that we had so laboriously pitched for… Thanks for taking time out and making it a point to be there when we were about to get the advance amount and so eloquently making a case against us. Thanks for making us realise that technical expertise and marketing are not related in anyway. Oh! Mr. Agrawal I am so sorry that your venture into the world of web folded shortly after it started.

Now folks – do not think that we are ungrateful – Swati did meet Mr. Agrawal a some time ago and he was kind enough to assume the older patron role and ask “How we were?” She had dutifully replied “Aap ki dua hai Agrawal Ji

The myopic disgruntled employee

Every SME at some time or the other has this species on its payroll – His pet peeve is “Company sux my blood!”

Typical profile of this type of employee is that he is young, just out of college, intelligent, this probably is his first or second job and his parents in most of the cases were/are working in some (semi)government office. I don’t know how the last point co-relates but thats an observation.

Notably it does not matter what his salary is… his view of economics in a SME is frustratingly simple – the percentage of total project fee that I am getting as a salary is very small.

He coolly ignores that fact that whatever he is doing was largely learnt by him at the company’s expense and that skill is going to last with him for a life time. The realization of related costs involved running an outfit are non-existent for him and the fact that when there is no commercial work he still gets his salary does not matter.

Now that I have programmers who have been working with me for years, dealing with such types is thankfully mostly automatic they either become wise fast and correct their perspective or leave in a huff. This usually takes about 6 to 8 weeks – I don’t even want to start calculating the cost to company for the hours spent by several people on that idiot… It is just not worth my time. But, yes if you are just starting up and have very very small team these types are something to be wary of… they can be vicious enough to try and destroy their work before they leave. I learn’t to start using CVS precisely because of this.

Creating a second line of command!

A few (well only 2) people asked as to how I managed to create a second line of command in such a short span. Umm… I have not really documented the process and there is no magic formula which will work… besides I am an awful manager. I am sure a lot of management gurus out there must have got this honed down to a fine art but none the less here is what we did.

Some background first – None of my current project managers knew PHP when they came to SANIsoft which was a good thing because I got to teach them PHP exactly the way I wrote it – complete with all my finesse, flaws and work flow quirks. So in many ways, in the end, they were my coder clones – that made my job easier – I knew how they worked.

One fine day I just switched the daily reporting method. The top three (based on experience) now got daily reports from three newbie/trainee/junior programmers each. These reports were summarized and then sent to me. Over the next few days they learnt that what was written had to be verified and not taken on face value, I nudged them into realising that if they kept tabs on what was happening throughout the day instead of trying to gather things at the end of the day it would be simpler for them.

What took me by surprise was they had to told to be more forgiving towards mistakes of the juniors and the difference between what was good enough and perfect and when to opt for either (roughly views, controllers – good enough. models – perfect). Then came judging – who could be trusted with what level of code… this last part is still on going and perhaps will go on forever – I need to evolve this into a kind of employee gradation process.

Since all of the above was happening on live projects – I had to, for some time, work bit more with minding the minded and the minders ensuring that the clients did not suffer in anyway. In the end it has been a hugely successful exercises for everyone involved.

Well thats about it.

Rendered redundant

Redundant – adj 1: more than needed, desired, or required;

Am once again looking at ways to make myself redundant at SANIsoft.

About 18 months ago we realised a need to have a second line of command in the programming team, the work was just too much for me to keep up with first hand – I needed some filtering and summarizing of the day’s events. about 12 months ago we achieved that and I am very happy to say that my project managers are doing a great job, there are occasional fires which I have to overlook so that they are handled correctly smoothly but more importantly the work flow has been smoothened to a point where such incidences are greatly reduced.

So what will I do? The image adjacent is a rendered view of our new home cum office – the construction was started sometime last week after Swati literally shook the entire bank machinery from the country head to the lowest level executive here to get the loan amount sanctioned. The ETA for completion has been put to about 12 months. As far as SANIsoft goes the new facility will allow us to double our capacity. As myself and Swati sat on a stone at the new plot and reminisced how we had started nearly 8 years back with one computer and myself as the lone coder targeting an annual income of Rs60,000/- (we did much better) to present 12 coders and …. we felt a sense of pride similar to what a parent feel on seeing their children grow, however we have been warned that we should now view the complete business in a more detached manner.

As a new home the place offers larger living space and there is a huge pond on the South-West – the result – a lot of birds and our bedroom is going to be over looking the pond. In fact this guy was the latest visitor.

The new location is at N 21.15180 and E 79.01074

This is 5.3kms as the crow flies and 7.1kms by road from our current home, placing it just outside the city limit – in fact the road which runs in front of the new plot divides the city from the outskirts!

In more recent happenings – yesterday myself and Raju did a tour of all the nearby lakes looking for any signs of illness / death in the birds, thankfully everything seems to be fine for now.

The afternoon saw an awesome shoot where for the first time I tried bright yellow as the theme colour, yellow backdrop and floor, matching yellow drape for the model and lots of gold jewellery… Skepticism prevailed all around till the preview of first few shots but I ultimately got more displayable pictures than in any shoot before.

And yes – Happy birthday to an *Old man* ;)

OK! we are not a Sweat Shop

Got some flack for calling SANIsoft a sweat shop…

Two of my biggest clients pointed out that calling SANIsoft a sweat shop would not please their investors (heh! I did not know that you people read my personal journal)

They went on to point that you cannot call a SME which creates PHP apps optimised to take 10,000,000+ hits a day, designed to work seamlessly on clusters, designed to be easily plug-able, designed to be secure, a sweat shop. Sweat shops do not have clients who are partners with *the* biggest web companies in the world (Wow! we do all that? damn, we are not getting paid enough!)

Sweat shop also connotes that the employees are treated at just one rung above slaves. Oh well! my programmers are slaves, slaves to program what they choose to – they cannot do anything else when they are at SANIsoft – when on bench they are forced to work on Open Source projects, forced to participate in mailing lists and forced to answer mails for problems they can solve. Yeah! they are all paid once a month on the last day without fail and then given performance bonus whenever Swati can afford (5 times till now in this financial year). They are free to freelance if they have time after they are released for the day – so that way the working conditions are a shade better than a sweat shop.

There – I have set the record straight, done PR for my company on my personal journal and pleased everyone – All smile please =))