Thursday, July 31, 2008

Pune IT engineers need rain to work ....need good mud too..

It is Thursday today.. lights usually go off, but we have battery backups to last us the day so not really anything out of the blue for us. I walk into office I see one of our ex-employees sitting at one of our workstations. It is strange to see her in our office during work hours.

Is everything OK ? I enquire ?... Yes Boss .. she says .. we were given the day off as we do not have lights & we were asked to go home.

So let me get this straight .. over 100 engineers of this specific company being asked to stop work today as there is no power, no battery back up power and no diesel to run the backup gensets either. On further query I find out to my surprise that several divisions of several other IT companies have also shut down today, resulting in 1000s of man hours of loss of work due to no diesel in their gensets... whats up with these IT companies ??? Huh ?? !! hello ?? is this happening in the IT super hub of Pune ? Large Buildings ... huge jobs, great salaries.. exponential growth, ISO / CMM certifications and ......... no lights, no fuel ..no work.. go home with full pay...... is this some sort of joke ??!! We are supposed to be an IT super - power ..

Aha !!, I think to myself, I thought agriculture depended on rains.. but it looks we need rains for our IT engineers too... ! ... and why do they need the rain ? .. well there is a shortage of diesel, apparently caused due to the excessive use of backup generators by our IT companies & malls...& why is there this excessive use of backup gensets ? .. well, there have been no lights.. & why have there been no lights..well, there have been no rains.

Hence conclusion IT engineers need rain to work ....& our emails to our clients will go something like this...

Dear So & So.
This is with regards to the work we are hoping to do for you tommorrow. As soon as we get into office tommorrow, we will look out of window, check the chances of rain and of course our value added services division will include a rain dance for free..should it happen to rain, we will complete your work..
Thanking you ....
CC. NASSCOM

Monday, July 28, 2008

I had to lay off some of my most loyal staff...

Well, our company is under going some serious corporate level restructuring and focus re-evaluation. In some cases this has involved cutting down of staff.

In this process, the most difficult part of the job (and it never gets easier) is giving staff their notice and asking them to leave. This becomes even more gut wrenching when it involves staff who have been loyal, good to the company and a great asset to the focus which unfortunately does not have any relevance now.

Yes, this is business and I have to make decisions so that it continues to run but times like this just do not seem to be fair for these employees.. they have been good for the company and they are being asked to leave for no fault of theirs. It is the company and the management who are responsible finally. Sure this is the "nature of business" but is it right to do this under the guise of "This is business and it is all about bottom line". ?

Just because they don't contribute to the bottom line currently, are they to be cast off as redundant.? We wouldn't have dared to lay them off when they were contributing to the bottom line earlier but we do it just the same today as such is "the nature of business". But is that correct or am I just getting emotional unnecessarily. ?

I know we have taken care of them as they have taken care of us. They have worked for us and we have paid them for the effort but we all know it is not as simple as that. As the years go by , you tend to treat them more as friends than as employees, you tend to bank on them more, you tend to take their advice more often, you involve them more and make them feel more than just employees and then suddenly one day you decide its time to "lay them off" as such is the "nature of business". I wonder "Is that right , it that correct ? "

People often say that you don't come to office to make friends or enemies , to trust people or not to trust people. You come to office to get your work done and go home leaving it all behind in the evening. Surely its not simple as that if you are with a organization for a couple of years. You make friends, your loyalty increases for the company, you not only work for the money but also for the company. You might even take on more work and extra duties with the belief that the company requires it and yet due to the demands of the so called "bottom line" and "corporate re-structuring" one day suddenly you are to be laid of. Is that correct ?

I am not saying that when I employed people , I guaranteed them employment for a life - time. They all know what they were getting into. They all signed a agreement which clearly stated that they would be given "1 months notice" in case of termination and sure I have given extra re numeration to several of them when I asked them to leave so that they can find another job without too much financial strain but my question still remains the same...

"I did what I had to do for the company bottom line and such is the nature of business but was it correct to do so ?"

Wednesday, June 04, 2008

The privalege not to make payments on time...

It has been about 15 years in the business of software development for me and yet I am still not able to fathom this basic question..

Why do most clients have the privilege not to pay in time while supplier/vendors are expected to deliver on time. ??

Now those in business will always say you must to a client audit and ensure that you do work only for clients who pay on time..ask for a 100% advance... C'mon give me a break, I am sure all of us have clients who still don't pay on time and we continue to service them in fear of loosing business.

Of course the excuses they give for not paying on time is even better like

"I made the payment but I don't know why the bank has not processed it"
"I will make the payment within 24 hours"
"My Accountant is out of station and the payment could not be processed"
"It will sent by the beginning of next week"

One of my best ones being 'silence' and no correspondence from the client at all, suddenly out of the blue his email has gone kaput or he is out of town. Oh, of course the much used excuse in recent times.. "I have not been paid so I cant pay you ..." ...... hey who gives a sh#@# whether you have been paid or not , we need to be paid, we also have a business to run.

As the grey hair increase on my head I look at these clients with disdain and a certain amount of disgust but have enough of a sense of humour to laugh at their pathetic excuses. They just use the vendors / suppliers money either to increase their cash flow or fund their so called business initiative. It is the vendor / supplier who should take credit for running his business. These "late payment as a strategy" clients just have no shame.. yes I know this is business but business is based on 'respect for money and who it is owed to & owned by'.

Of course to be fair we have also had clients who hired us for our programming services and have paid on time every time but they have been to few & far between. God Bless them :-). They ensure some credibility of this industry.

Compared to the state of payments for our programming services, I love it when customers buy our software product USB CopyNotify! instead, they have to pay in FULL for it before they can use the full version. What a feeling it is..being paid up front , on time for good work done. It makes all the effort worth it.

Sunday, June 01, 2008

We are reducing the size of the company & consolidating.

The software scenario in India is fast changing and some of it has not been good for the small offshore software development services companies like ours. Rising salaries, retention problems, massive competition, clients not paying on time, some clients not paying at all have just some of the reasons that forced me to realize that we just cant survive this way and the end in our current state was near.

Also one of my biggest mistakes was not to specialize in a domain hence not adding premium to my services and not having any differentiation from the 1000s of other software companies doing the same thing. All we offered were programming services in environments such as vc++, c, c++, .NET etc irrespective of domain. We should have been offering specialized services in banking, insurance, embedded systems, some specific domain, some niche offering.. Anyway hindsight is always 20/20 and nothing can change the past.

We have reduced the size of our team, continued our programming services only to a selected few clientele and have also decided to concentrate on the development and marketing of our end point security solution USB CopyNotify!. I think our only chance of survival is to offering programming services only in a particular niche areas as well as taking care only of our long term loyal clients, trouble shooting consultancy and to forge ahead into software product development. We have tons of experience in product development but all this while it was for somebody else now we are doing it for ourselves.

After 15 years of having our focus only on offshore programming services based on programming environment, this is a very radical change for us but this is the only way to go otherwise it is curtains for us.

Tuesday, March 25, 2008

and then she touched my feet ....

For those who are not acquainted with Indian traditions & customs, the action of touching someone's feet is considered as a mark of respect for an elder. It also could be a mark of respect as shown by a student to a teacher in appreciation for the impartment of knowledge.

A couple of days ago, I had a software engineer resigning from her post in our company for better prospects. She was a good engineer and I was confident she would do well in her new job. Just before she left , I spoke to her and I gave my new pence of advice of what she was good at and what she needs to work on. It had been a good association but it was time to part ways. She then came upto me and touched my feet and said "thank you for everything".

This simple action came as a jolt out of the blue for me. This is the second time this has happened to me , the first being one of my senior engineers giving me this respect. Both times I have not known how to react and both times I am reminded of the immensity of the responsibility that we as employers/bosses/managers carry on our shoulders. This is the responsibility of not only ensuring that our people work well and get their projects done on time, within budget and of the quality required but also ensuring the growth of these youngsters both as a good engineers and more importantly as a good people. Once they step into our offices it becomes our responsibility also to mentor them, to groom them and work on building their self confidence.

When they step out of CygNET, they step out as better people and better engineers and that if nothing else I do believe this has been something I have always been able to achieve. They have learnt to respect their abilities, their work, their team mates and their clients. My engineers have always stepped out of CygNET as self confident and technically good engineers and more importantly I hope as better human beings.

Lately, our company has not been doing well at all for a variety of reasons and all sorts of thoughts crosses one mind when in a situation of adversity. You tend to question the level success of running a business and whether all the effort has been worth it.

Well thinking of these 2 your engineers , I do believe I have achieved a certain degree of success. During their tenure at CygNET , I have been able to touch their lives , I have been able to make them grow both professionally & technically and in return I have been awarded the respect that they would reserve for one own family only. This doesnt happen to everyone.

I think that is a achievement in itself.

Monday, March 10, 2008

Energy Conservation in a small office is not as difficult as it seems....

According to me it has only been recently that issues such as energy conservation, effects of global warming, saving the earth etc. are really been taken more seriously by the small business office. Better late than never I would say.

We are all to blame for this as we all felt that as small business owners there was not much we could do and very conveniently left this responsibility to our governments hoping their agreements and efforts of decreasing the release of green house gases by the industrialized & developing nations as well as stopping the deforestation in South America would be some of things that would really solve the problem.

But if given a thought seriously all of us could really contribute to saving the earth and conserving energy in our own little way.

How do we conserve energy in a small office ?

1. Switch off Lights, Fans & Air Conditioners when not in use
More often that not, we leave electrical equipment such as lights, fans and ACs on even when there is no - one in the room/cabin. It could be that all have gone for lunch or for a meeting so if there is a room that is empty and and not in use it really makes no sense to leave the lights, fans or ACs of that room on. Not only would you be conserving energy but also reducing your electricity bill.

2. Those 24 X 7 Lights in the toilets and washrooms.
This is one place where I have always noticed that the lights are always on. Why do you need a light on in the toilet and the wash room when not in use ?

3. Printers , Printers & Printers
Switch on the printers only when you need to take print outs. It will give you some exercise too if it is not next to your desk. No need to leave it on the whole day.

4. Switch off computers when not in use.
I have seen so many employees so often leave their computers on when they leave for the day or perhaps when they go for lunch / tea. Switch off the inactive computer or put it into hibernate as this would definitely help in the conservation of energy.

I had noticed this so often in my office that I decided to add Save Energy Alert feature in our data protection software, USB CopyNotify!. As soon as it detects a computer has been on and not being used for over 15 minutes , it sends me a notification of it. I then look into the matter and ensure that the computer has not been left on unnecessarily.

5. Use Energy Saving Bulbs.
I have now replaced most of my bulbs in office with energy saving bulbs and have noticed a notable reduction in my electricity bills. Might be slightly expensive to replace them all together but you could do it over a period of time and you can see for yourself that it does help. Electricity bills being less means less energy consumed means more energy conserved.

6. Lifts and Elevators are such a waste of energy

If your office is located on the 1st, 2nd, 3rd or 4th floor/storey of a building, use the stairs and avoid using the lift/elevator. Not only is the exercise good for your health but a LOT of evergy is saved bu not using the lift/elevator

These are 6 simple yet effective steps that would help conserver energy.

Perhaps the difficult part is to be disciplined and consistent about it but if you consider the fact that is our Earth at stake it will be well worth the effort. We have only one Earth so lets do everything to save it.

Sunday, January 27, 2008

This work is useless and I will not pay for it. !

I have had this statement thrown at me several times during my tenure as Managing Director of CygNET. It still never ceases to amaze me of how shameless people can be when they don’t want to pay for something and the flimsy excuses that they come up with to justify the same.

Not that we have had a flawless run of projects in the history of CygNET, its just that we have been ALWAYS paid finally for genuinely problematic projects while this line "This work is useless and I will not pay for it. !" always seems to come for perfectly implemented projects.

On postmortem of these "useless" projects, it always turns out that the client just does not want to pay and will pick on anything to justify the non payment. No matter what you put in front of the client in terms of justifications such as deadlines were being met, requirements & quality standards were being met, the client seems to just wake one day and decides not to pay. Most often they seem to even get away with it.

How can one do that ? Yes business is fluid and situations might be ever changing but you have to pay for the work done so far and respect its utility even if it does not serve your purpose any more. More importantly you do not run down its creators as a lot of time and honest
effort has been put into it.

We were hit by this recently. We were sent a spec sheet of a project by a supposed reputed company based in the UK and we were asked to estimate for it. On first glance of it, I knew it was a rather large project and hence requested dedicated time to study and estimate it. We estimated the study time, got it approved by the client and began the work.

The progress was regularly reported and prototypes / documentation of the same were also regularly delivered. There was regular communication and the client knew exactly what was happening. Not once thru out 90% of the estimated time was anything wrong even indicated.

Suddenly towards the end of this study period even before the deadline date, the project was cancelled and the line "This work is useless and I will not pay for it. !" cropped its ugly head up.
Here we go again.

The client had seen the work so far and even approved of it but hey there was no convincing him, he just was not going to pay. He even went to the extent of insulting our capabilities and integrity in an effort to justify why he should not pay.

Why did this happen ?

When the project was initiated, they were under the impression that it was a small, quick and inexpensive project. On near completion of the study, they realized that it was a much larger project than anticipated and hence decided to shelve it due to anticipated costs. In the process of shelving they unilaterally decided to further save costs by not paying us for the study as well. As far as they were concerned the study was now useless as the project has been discontinued.

So what do they do..."This work is useless and I will not pay for it. !"

Again I repeat, how can one do this ? When you claim to be a business professional, you should be a professional in all scenarios including the ones that are difficult for you. You will never be able to grow your business with this habit and what is more, you should have the courage to stand up and give the real reason. Not only are you not paying for hard & honest work done for you, you further decide to insult the people that have done the work so as to back up your false claims. This is unacceptable.

Your actions not only cause undue financial strains on people that don’t deserve it but your actions have demoralized them too.... it is just not done.

Sunday, December 02, 2007

Common Sense Steps for Data Security in office.

Its been a while since I have added to my blog, its been on my mind for a while so this Sunday morning took some time off, made some coffe and added this entry.

We have recently launched USB CopyNotify, a network security software for the Small Business Segment and this in turn has got me in touch with several business owners and IT administrators who are very concerned about theft of confidential data from their networks.

There has been a lot of exchange of ideas, strategies, recommendations of software to be used but in all this I am suprised that we in general tend to forgot to implement some basic common sense procedures in office which in itself would minimize confidential data from the network being taken out of office.

I am no top notch , certified security consultant but I do know that following these simple steps would help in minising the leak of confidential data from your office

1. Educate, Educate, Educate

Your staff / employees should be educated about confidentiality of data and its importance. They should be told that this data belongs to the office or its clients and should not be used un appropriately. They should be made to understand that data is associated with a value and it is property of the company or its clients. They should be taught the professional ethics behind it too. They should also be reminded of the Non Disclosure Agreements they have signed with the your company in which it clearly indicates that unauthorized copying of data could lead to serious consequences.

You will be suprised that if you drill this into the staff regularly, a correct attitude about corporate data and its usage get automatically inculcated in a majority of the employees and often education could become one of the most effective means of securing your data.

2. Backup and delete data that is not currently required.

This happens in every office, a task/assignment/project is completed, the data is backed up but several times a copy of this data still remains on the computers. After archiving it, delete this data. The less data you have, the less you have to worry about people stealing it.

3. Avoid personal belongings being brought into the work area.

This might sound a little draconian but employees should not be allowed to bring in their hand bags, haversacks, pouches into the work area. They should leave it outside. This will at least minimize the risk of them bringing & using external devices such as CDS, DVDs and USB devices such as External Hard Drives/Flash Drives/iPODS/Digital Cameras to copy data that they are not supposed to.

Of course today, USB Flash Drives unfortunately are so small they can be put in the pocket or as a key chain and no-one would know. Other than strip searching the employee (which is not always possible as a routine policy) you wont be able to detect these devices brought into office.

In fact this was one of the reasons I use USB CopyNotify! myself in office. It alerts me of USB Device usage on the network.

4. Use Login Names and Passwords

Very often , we tend to ignore the importance of the User Name and Password that is asked for during start up of the Operating System. Either it is not set or all computers have the same user name / password or everybody knows everyone else's password (it is public domain).

Take this security feature seriously and educate your employees to use it in the appropriate manner. Only you and the user of that machine should know the login name and password. This will at least reduce the risk of other people sitting on the machine and accessing the data inappropriately.

5. Internet Access

Ok, this is a tricky one as Internet access in several offices in available on all machines in the office for the purpose of email, research, uploads & downloads etc. Perhaps web based email should be restricted and only email access only via the office intranet should be allowed ie there is only a single point of entry/exit for email from/to the outside world. This would at least allow you to monitor what data & the amount of data being uploaded out of office via email.

Another simple way of finding out whether the web is used for Internet Research or for uploading data is by monitoring the amount of data transfer is taking place on the machine. I get this report every morning. When I see an increase of data transfer or an unnecessary amount of data transfer on a computer, it gives me a automatic indication that the Internet access is not only being used for browsing but only for upload/download of large files. This itself gives me an idea that the Internet is being used to transfer data out of the office.

So as you can see all the above steps are simple, cost effective and very easy to implement and would help in the increase of data security of your network.

Monday, June 11, 2007

What goes around, comes around !.

Recently I read an article in the business section of our newspaper and began smiling which is unusual when I read this particular section.

There was an article on how one of the largest software services company in India was now going make *certain additions* to the contract which they make their engineers sign the day they join. These additions in short prohibited the engineers to join any company on whose projects they might work during their employment with this COMPANY and also prohibited them from joining certain companies that this COMPANY defined as competitors. This was one of the efforts made by the company to stem employees jumping jobs. Other larger software firms are believed to be following the same.

Ok so this is a REAL BAD SIGN as even one of the largest software firms in India has not been able to control its attrition rate even though it doles out the some of the most expensive employee retention & benefit schemes in India.

My smile was due to the fact, that it was some these very same large companies that have caused this employee retention problem and employees jumping jobs. In their quest of employing 1000s of engineers to match their expansion plans, they broke all possible ethical rules of engagement. From encouraging engineers to leave their current companies without giving notice periods to remunerating them for the breaking contracts with previous employers.

Of course one would say all is fair and it is the survival of the fittest. Little did they realize, the devastation they left in their wake with their recruitment drives. Smaller companies missed deadlines, lost clients and even had to shut down as they had just lost entire teams to these large companies.

No, I am not trying to say that you cannot target employees from other companies. I just feel all should adhere to certain basic ethical rules of engagement, the simplest being insist that the engineers must fulfill/honor their previous contract & commitments and then move to the new job.

I still recall going to a NASSCOM meeting where this very issue of was being discussed and I remember very distinctively that several small and medium scale companies were trying to get these large scale companies to understand that employee retention FOR ALL is based largely on big companies not poaching or snatching employees from smaller companies without certain rules of engagement and representatives of these large companies didnt even think it was worth a discussion. It was survival of the fittest as far as they were concerned.

Well now they in turn are facing the same problem, their operations now getting affected due to problem they were a cause of years ago.

They seem to have forgotten "What goes around. Comes around!”

Sunday, April 01, 2007

Long Live the shareware utility !!

It has been years since we have been servicing shareware authors with our software programming expertise. I believe it is called OPD "Outsourced Product Development", the new buzz word in the IT services market but hey I didnt even know it was called that !

But getting back to the point, all that time during our various associations with shareware authors I always envied a shareware author for having the vision , guts and persistence to come up with an unique idea, ensure it becomes a reality (with a little bit of our help :-)) and then offer it to the world via the medium of the internet. Thier products are small software utilities with simple concepts behind them that are really really helpful to general computer users. So a user can go to one of these shareware download sites, download an evaluation copy, if they like it , they pay for it via the internet and the whole process was complete. Neat, Slick and Simple .....

Who can deny that a shareware product defines ingenituity and brilliance of its author. In the world of outsourced IT programming services, huge software product corporations, billions of dollors of production, R&D , marketing and sales, I have always found the very existence of the small/tiny shareware utility and its author very very REFRESHING.

Here is an individual or a very tiny group of individuals, with a very limited budget equipped with just an idea and a dream to offer it as shareware. No large development teams, no large QA teams, a neglible or non exisitant marketing budget but yet an idea, a utility that if you get your hands on, it becomes a very integral part of your computer operations. Simple and yet extremely effective and it is *exactly* what the user wants.

This to me is what software development is really about and this is to me gives the birth of "KILLER PRODUCT", a product that is accessible to everyone, affordble to everyone and does what it promises.

I am not a anti BIG COMPANY/CORPORATION activist and but who can deny the fact that billions of dollors , a huge team and massive marketing in general will not give that KILLER SOFTWARE PRODUCT !! You need an idea and a passion to deliver it.

Long live the shareware utility and the its author !

PS>

Seeing all the wonderful work some of my clients have authored all these years, I have decided (with a little prodding from my directors to take a risk ) my company should also attempt to make a shareware product ( http://www.cyspl.com/files/products.html ) , if for nothing else but as an exercise to try to expose me & my company to what computing skills & customer relationships should really be about.

Friday, December 08, 2006

Your job is so small and yet you expect quality of service !!

A couple of weeks ago we ordered some modular furniture. Their initially pitch to me was with great enthusiam thinking we are a multi-national company who were intending to buy 100s of tables. As it slowly dawned on them this was not going to be a big order for them (we only wanted 3 tables) thier whole attitude suddenly changed.

Even tough we had been given a commitment as well as an inital advance, there seemed to some kind of reluctance of execution. We had to go after them for everthing, from the finalization of the proposal, the quotation and delivery dates...we felt we were being done a *favour* by them of selling us *just* 2-3 tables.

They finally actually even went to extent of telling us that our order was too small for them. They took own time to deliver the tables. We even rejected one of them due to poor quality and asked for a replacement. The replacement never came on the grounds that we were too finicky about the finish and they gave us back the money for the desk we had rejected.

So not only were we told that our job was *too small* for them but also that we were being outrageous for demanding quality equivalent to the price we were paying.

To me this is *biggest* mistake we in business make.... letting go of business or not give enough attention to business because we happen to be doing well & we dont need these small orders .

Business is Business and there is no question of big or small. If you are getting paid for the job as per your expectations and you have made a commitment to do it, there is NO excuse for not doing it nor giving it all the attention & quality required.

There might be an arguement there are times when orders and thier execution are not practical for your scale of operations but lest we forget it was us who got the order, it was us who quoted for it and it was us who knew the size of the order initially... if we knew it was too small then we should have never taken it in the first place.

Do not insult a prospective client with our definations of *big* & *small*. It is a task to be done which for the client is important and which they are ready to pay fairly for it so we have no right to reject the order as if it is thier fault it does not fit into your scale / present situation of operations.

Maybe at one point of time these orders were something we survived on and grew on and I am sure at that point of time they were consider life saving, path breaking orders so we should always keep this in mind. Our scale of operations and thier practical implications might have changed, not the nature of the task and not its value. It is bad business in the long run as I personally feel an attitude that says "oh this order is too small for me ...." is the beginning of the end of an enterprise.

You might say that it is a matter of symantices and how you word it but all of us know business is how you feel about things and about "gut feeling" and if you start feeling that you are above certain types of order not because it is impractical to do so but you are doing so well that you dont need smaller orders then you are asking for trouble....

Monday, October 09, 2006

Dont become just a computer engineer...

I have been in the field of computers now for over 15 years yet unknown to a lot of people I am not formally trained in the field of computers. I hold a Bachelor's Degree in CIVIL ENGINEERING with a specialization in Computer Aided Design as well as a Diploma in Computer Aided Engineering from AutoDESK.

Anyway for some reason people do believe I should know a lot of about the industry and come with thier children seeking advice (at thier own peril :-)) of whether their sons/daughters should do Computer Engineering. Everyone is doing Computer Engineering , there are huge opportunities for Computer Engineers and these engineers are getting great salaries. Much to thier suprise and dismay I am totally against anyone just becoming a computer engineer or doing computer engineering as one's primary graduation degree. I know I am in the business of software which largely depends on computer engineers etc. etc. but reality is slightly different.

The boom we are currently having in India with IT is very very favourable for Computer Engineers bypassing all other fields by huge margins. But how long this is going to last is something that needs to be considered. Also what needs to be considered is the kind of work we are doing. In most cases we just implementors for work that has already been spec'd and designed by others. We must realize just coding is the easiest part of everything and can be done by anybody as all you need to do is to follow instructions. Tommorrow if your company found someone else to do the implementation at a cheaper rate they would not hesitate to use that person instead of you as you are not really important or critical to them, you are just an implementor and now there is a cheaper implementor so there goes your job. You are not offering any further value to your employer. It is the person who wrote the instructions that implementors follow that the company will try to keep and retain as they are not easy to come by.

Now picture the scenario where you were implementing a software in the mechanical field and you were also a mechanical engineer. Dont you think you would be adding more value to yourself as not only did you know computer programming but you also knew everything about mechanical design and processes hence being involved not only in its implementation but also in requirement definations, design & analysis and hence becomes one of the people who writes the master instructions that implementors follow.

Another example could be you are a part of a team that does banking software, your value would truly be increased if you had some formal education in the field of banking too.You need additional qualifications over and above just being a computer engineer otherwise you are running out of time if you are happy just being a coder.

Chose a domain, get formal education in that domain as well as be a computer engineer, that is the way to go...

Saturday, September 23, 2006

Why software engineers in smaller companies are better .....

Its been a long time since I wrote for my blog, its been a hectic couple of weeks but finally got the time to add to my ramblings on the software development sector.

Everytime we recruit/interview a software engineer from a larger company, many a time I see a very distinct difference between that particular individual and the software engineers of my company in relation to thier technical acumen and general programming skills. My engineers are way ahead in thier knowledge and capabilities. Now if I recruit/interview an individual from a software company that is approximately the size of my company or smaller this difference is negligible.

Why is this ?!

- A software programmer coming from a larger company is supposed to be exposed to skills, expertise and infrastracture that usually small software companies can only dream about.

- They work under senior architects/programmers/design analysists who are supposed to be very very experienced and these "experienced" people whose salaries we would never be able to afford.

-A software programmer coming from larger company is supposed to be exposed to best practises and guides such as ISO & CMM which makes one more productive.

- A software programmer coming from larger company is supposed to have worked on more sophisticated and large projects.

Yet they seem to be lacking ....!

First I thought that only the bottom of the barrel were actually leaving the big company and trying to join us but as we went along this was not the case either.

Delving into this strange issue (atleast according to me) the answer was simple and apparent once you really thought about it.

A small software company is extremely productive in size and responsibility in order to cut costs yet increase its quality.

Keeping this in mind a software engineer in a small company usually is exposed and takes a active roll in all aspects of the SDLC. The software engineer is involved right from collecting the requirements from the client, assisting the senior engineer in designing the system, the actual implemention of the system as well as assisting in the testing & quality assurance of the system. Many a time this engineer is also involved in the actual deployment of the live system. This gives the software engineer of a small company a very crucial macro exposure to the entire SDLC process hence having a very realistic view of what is involved in getting a system up and running.


In a large company, a software engineer is assigned to a particular slot in the SDLC as his responsibility profile and will remain only in that slot. So if the individual is involved only in implementation, he/she will have experience & exposure ONLY in implementation, they have no idea of who the client is, what the client really wanted, was the design correct nor what were the results of QA and deployment.

The above forcing the software engineer to have a extremely myopic view of the system.

The next major issue is the sense of ownership, pride and responsibility to give good work to a client. A software engineer in a small company usually gets in touch with the client in some form or the other and a relationship is created between them giving rise to a sense to responsilbilty to the client, mutual respect and the human tendency to perform well in order to gain accolades for a good job done. The client automatically becomes "HIS/HER" client and not only the client of the company. Hence increase quality & responsibility tremendously.

This does not happen in a large software company. The software engineer who is in the slot of implementation does not have a clue who the client actually is (maybe just a company name), what the whole product is really about nor where it is going to be used. For this individual it is another programming module for some product that is to be completed as soon as possible.

In a small software company the adaptation to new/appropriate technologies for a project is based on the need of the project and the software engineer has to adapt himself/herself to the demands of the projects increasing his versatlity as a software programmer. The flexibility of a small software company allows for change/upgrades/adaptation in a very simple manner. Also it might not be able to afford to hire another software engineer just because a portion is in another technology that the current engineer does not know. He/she will be expected to upgrade/adapt and deliver.

In a large company change in technology for the project involves more than just what the project demands, it also depends on the policy of the company of technology changes, cost to company etc. In most cases also when there is change of technology the same software engineer is not used and another engineer who has the required skill sets is used while the original software engineer has to remain in th technology realm that his/she was employed for hence stumping his / her growth towards achieving a certain degree of versatality which is crucial for a software programmer. I am not saying that he/she should know all languages but the capability to adapt to the demands of the project is a crucail element in the capabilites of a good sooftware engineer.

Maybe that is how a large software company runs and I do agree that it does bring out great products so they must be doing something right but what about the capabilites of the individual software engineer in the long run. ?