Category Archives: Thoughts

Are You Becoming What You Do Not Admire?

 

I was reflecting today on the movie “3 Idiots”, arguably the greatest movie hit in India (the Idiots are called so because they do not fit convention, not because they are dull or lazy).

We see one Idiot who grows up over the course of the movie to develop a spine, to get courage and confidence to do the right thing, to be honest and truthful no matter what the stakes. Continue reading Are You Becoming What You Do Not Admire?

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Smart Work vs Hard Work – A New Perspective?

 

Smart Work vs Hard Work. Which is better, which should be valued?

This question haunts every workplace, and successfully confuses everyone. There are camps and devotees of either side, and convenient converts depending on situation!

It is actually quite simple, if we see some facets clearly. Continue reading Smart Work vs Hard Work – A New Perspective?

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

3 Trends in Software Developer Roles – And One to Avoid!

 

Three roles have been evolving in software development over past few years.

1. Devigner

The devigner is a person who packs a pretty punch. She is a graphic designer, UI designer, UX developer, server developer and database developer all rolled into one. Continue reading 3 Trends in Software Developer Roles – And One to Avoid!

Spread the love
  • 2
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
    2
    Shares

Can Weekends Begin on Fridays?

 

Weekends start on Saturdays. What if they could start on Fridays? What?!? Are you out of your mind?

Hmm.

Carlos Slim set the dialog rolling for fewer workdays recently. He advocated 3 11-hour workdays a week. Larry Page has referred to a 4-day week. Debate has continued, with views ranging from impracticality to glee. The more I think about it, the more I believe it is worth trying.

What if we actually do it while the world debates about it?

Allow me to share some thoughts – benefits, problems, constraints, and possibility.

Benefits
Contiguous time off from work helps our minds to relax, and our fires to recharge. It means time for hobbies and interests. Learning for techaholics. Research for thinkers. Tinkering for doers. Open-source contribution or personal projects for workaholics. Ideas for would-be entrepreneurs. Community and social work for do-gooders. Parties for party animals! Travel for travel-lovers. Family and kids time. Romance for couples. Sports for sport lovers. Home travel for those from other cities. A mix of all of the above for most of us!

Better life. Broader outlook. Broader minds. Better work.

Problems

On days you work, your work of 11-12 hours blocks out the rest of life. Those days can be more tiring. Work can suffer. An organization with longer weekends may be mistaken to be lazy, under-ambitious, and neglectful of work.

Constraints

With many benefits, fewer work days seem attractive. But there are constraints we have to consider.

Commitment
Every organization commits something to its customers/clients. At Mindfire, we commit 160 hours of work a month, 40 hours a week. Anything less and we have to suffer – when the organization earns less, everyone earns less. Work is the economic activity which generates wealth for all. Income is carved from eternity with our time. When income suffers, everyone suffers. That cannot be allowed to happen.

Non-work activities at work
In flexible workplaces, most of us have some non-work activities at work, perhaps about 10% of the time. In other words, 40 hours of work need about 44 hours at work.

Possibilities!

Now let us consider the possibilities.

3 x 11
3 days of 11 hours each is 33 hours a week, so that is infeasible.

4 x 11
4 days of 11 hours each can mean 40 work hours, which is feasible. However, getting clients to agree to one day off every week, even when other days are used to make up – is tough. Anything which harms work, will harm those who work.

4 x 10 + 4
Practically doable, similar benefits: 4 10-hour days followed by 4 hours on Friday!

This would mean 9am-7pm or 11am-9pm or whatever, Monday through Thursday, and 9am-1pm or 11am-3pm or whatever on Friday. Work ends and the weekend begins with lunch on Friday! Yay!

Interesting? Interested?

This could be a giant step for work, a small leap towards Work 2.0.

What do you think?

 

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

A Short History of Desktop Operating Systems

 

At the beginning of this millennium, the PC/OS wars had practically ended. You used Windows everywhere. Only some companies like Mindfire, which worked on Apple Mac development, had any use for platform diversity. Everybody bought Wintel – because you had to. Software was made for Windows only in most cases, so being on anything else meant being unable to run most things you needed.

Then, several unexpected things happened.

First, Operating Systems. The OS landscape changed. Apple made a spectacular comeback, and working on a Macbook was cool again. Mac OS X flew high. And Ubuntu rose from the ashes of Unix and Linux fragmentation, unifying them and making a friendly Linux.

Second, the Internet. The web became dominant platform for app delivery. Functional software that looked grey and dull, was suddenly all over the colorful web. Chrome and Javascript/AJAX hastened user experience on browsers that rivaled native desktop software.

Third, Design. Or, the ascent of design. Apple led the charge, and the world of tech grew to appreciate design for what it was – the yin for its yang. And those dull grey apps died a quiet death.

Fourth, Consumers. Technology exploded from enterprise/business to the consumer setting. Revenue started skewing towards consumers – although that died an early death due to our next point.

Finally, Devices. In came the world of smartphones and tablets, which changed the meaning of computers. And led to the creation of cloud. And desktop platforms became just one out of many access points for the cloud. Which leads to the Internet of Things. Coming next.

 

All the above made desktop platforms a choice, since the world of computing was no longer restricted to the PC and OS you used. Today, consumers buy Mac systems and techies buy Ubuntu systems, without needing to think what they will not be able to do. Because they can do everything.

At Mindfire, we celebrate this victory of choice with a commitment to platform diversity. Mindfire is investing in Ubuntu and Macbook laptops, aiming to have at least 15% of our people on Macbooks, and 15% on Ubuntu.

Why is diversity important?

A rainbow is interesting only because it has all those colors.

 

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Thoughtful Programming Can Save Days. But Do You Have Time For It?

 

Today I will share an experience in the effects of inflexible software, actually caused by hard work!

We use a SaaS service for our payroll process. Last month, we needed to add a salary component for selected people. We decided that instead of adding it as the pre-defined “Bonus” component, we would name it “KMBonus”.

All good till now. The payroll system allows addition of custom components. Then you download a blank Excel file and upload it back after inserting figures.

We downloaded the template which had a column for KMBonus, along with columns for every other component. This sheet was filled for KMBonus and uploaded back. It failed. No error message, nothing – the page just refreshed silently.

What was wrong? Was it a problem with file format? File size? Number formats? Did columns or sheets or anything get rearranged by mistake? This took a couple hours. When nothing worked, a support issue was filed. It was a weekend.

On Monday, support tried to understand what was wrong. After few hours, and with the file being analyzed, support figured out what was wrong – the uploaded file couldn’t have empty cells/columns while being uploaded back! So, although you wanted to update only KMBonus column, you had to either insert zero into every other cell everywhere, or delete all other columns.

First I was upset – that a simple error message, or documentation on expected file format, would have helped avoid this. Then I realized something else.

Entire payroll for hundreds of people got stuck for a couple days, because the programmer had worked hard – but harder than necessary.

Think about code structure. It would have taken more work, more effort, to put in all this validation – “Check all cells have numbers, ensure none are blank!” Sure, requirements may not have covered this case, so as a programmer I am free to do anything. But if I am free, do I do things after thinking about it – being thoughtful about work? Do I do things for the user – being thoughtful about users? Or do I do things that are just technically correct? Instead of tightening by validation, a simple conceptual foundation would have reduced the programmers’ work and rendered flexibility to user!

Imagine if the conceptual foundation had been: any blank cell means nothing is to be done. If something has a number, update component to that number. Simple.

So when you get a sheet with many cells blank, entire columns blank, ignore the blank ones. And process only the ones with numbers. Did I say simple?

Think of code. This is actually less work, is conceptually clear, and means much more to user! Smart work versus hard work. Saves days of effort for the programmer. And, in our example, a difference of days in payroll processing!

Thoughtful programming is based on common sense. Thoughtful programming reduces work. Thoughtful programming can save the day. Days.

 

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Thank God It’s Friday – Mindfire Style!

 

At Mindfire, we recently had a proposal to have one day of the week as “Work From Home” (WFH) for everyone.

A day working at home would allow a day’s escape from the commute. It would enable flexibility in planning personal stuff, including spending time with family.

The ideal day was Friday. Practically, it would mean Fridays blending seamlessly into the weekend, and undiluted weekends. People with family few hours away could travel overnight on Thursday, work from home on Fridays, and have two full days at home. And it would make Fridays a little more fun and a little more free!

Awesome! Doable? Hmm.

We shared the idea with people at our Bangalore center, to gauge response and interest. It quickly became obvious that people loved it! Given Bangalore’s epic traffic and commute problems, it was not surprising that most people preferred to avoid the roads.

Of course, there are some problems. Some people may have connectivity issues and actually prefer to work in office. Some people may have hardware or device-dependent work which cannot be taken home. Some work may need bandwidth which is not available at home. And certain work (such as Hiring) simply has to be done at office.

But there are enabling factors. First is our 100% laptop environment, which allows both mobility and reduces power-cut issues due to battery backup. Second is availability of cheap and reliable Internet connections. Third is the Mindfire culture – of being outcome-oriented instead of needing to see people sitting at their desks.

There is the gnawing problem of unfairness for people who cannot enjoy Friday WFH because their work cannot be done from home. Will they enjoy the joy of others? Or will they hate a facility they are excluded from?

It is a balanced risk. People understand if they have work issues at home, they need to rush to office. People also understand that freedom and flexibility come with responsibility. And that good things come hard, but go easy!

To test the waters, we are rolling this out at our Bangalore center from August 22, Friday.

This is a trial, an experiment in Work 2.0. If there are problems with work, it will have to be discontinued. If it works, it will be rolled out at our Bhubaneswar and Delhi centers as well. Helping positive ideas succeed enables us to do more, to move forward, while failing takes us a step backward.

 

Will it work? I will update what we find out! Life is discovery.

 

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Pre-paid Salary: The Shocking Result of Our Poll

Few days back I wrote about salary traditionally being paid after work is done (end of month), and how it could possibly be paid in advance of the month as pre-paid salary.

After that, we ran a poll with 600+ people inside Mindfire. This was not an academic poll – it was an actual serious offer to change salary to be on pre-paid basis. The result was pretty much certain – people would obviously always want salary as soon as possible, and before the month – before work is done – is sweeter than honey. Obvious, right? Right?

Wrong!

The results are an absolute surprise.

About 70% people voted. Of those, 60% people voted for salary at end of month – same as today! 7% voted for salary in middle of the month, and 33% voted for salary before the month begins. If you regard the 30% absentees as voting in favor of status quo, it is a straight majority for post-paid salary, at 72%!

I have no idea why people do not want salary before work is done. Maybe it is self-respect. Maybe it is maturity. Maybe it is to be in sync with rest of the world. Maybe they trust Mindfire and salary is not an issue. Maybe people see no reason to do it, and no benefit of doing it. Maybe there is no need for (earlier) money.

One thing I do know: thankfully we didn’t just start pre-paid salary without asking people for their choice. It was dead simple “obvious” and “certain” that people would like it, so we could have just rolled it out in the comfortable assumption that people would appreciate it. But asking people allowed us to get true pulse. And now we know better – people don’t want it. And there ends this adventure!

Lesson learnt: it is dangerous to assume, even on seemingly “obvious” things. The world is full of surprises!

 

PS: It would be interesting to run similar polls in different organizations, and check what patterns emerge. If you happen to run it in your team, do let me know how things go!

 

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Why is Salary paid after Work is done?

Since my first job a couple decades ago, I have always been intrigued by a tradition in the world of work. It is so embedded in our minds and expectations that we don’t question it.

Salary for a month is always paid at end of that month. Sounds simple, right? But my question is: why?!? Why is salary paid after work is done? Let us look at this from various points of view.

 

Unknown Amount
In case of electricity, water, phones – you have to pay based on consumption. These have to be paid after the month, because it is not known how much you will consume during the month. Makes absolute sense. But salary for the most part is known and predictable – correct?

Trust
In real estate, you pay rent before a month begins. It may seem like the owner is trusting you with his house, so they expect pre-paid rent in exchange of that trust. In reality, it may just mean that the owner doesn’t trust you. In case of organizations and people working in those organizations, sure the organization is trusting you with its work. But aren’t people trusting the organization with their skills/energy/time? What if the organization shuts down, or willfully defaults on paying salary of people? Did that one month of work go waste? Should the organization have a larger heart in trusting people, or should people be required to trust the organization?

Risk
Sometimes, organizations delay or do not pay salary stating that customers have not paid yet. True, possible, and sad. But should business risk be transferred on to people working with the organization? Unless I am an owner, why should customer and business risk be forcibly transferred on to me? How does it matter to my effort-salary expectation, if customers have not paid?

Economics
A month’s fixed-deposit gets you about 6% annual interest, or 0.5% monthly. By paying salary at end of month, an organization gains 0.5% of the month’s salary. On a salary of Rs 40,000 a month, we are talking about Rs 200, which doesn’t sound big. But look at it two other ways. One, take 500 people, and we are looking at Rs 100,000 as the financial benefit, which doesn’t sound low any more. Second, from a person’s individual perspective, Rs 200 has tangible value. So the question is: should the organization be enjoying this economic benefit, known as the “time value of money”? Or should people be enjoying it?

Power
In business, power play dictates timing of payment. At one end, large companies put smaller vendors on net-30, net-60 days payment as a signal of power. At other end, suppliers insist on advance payment when they know their stuff is selling like hot cakes and demand is greater than supply. It is a power game. In today’s world of work, especially in industries that are people-heavy such as IT/software companies, do organizations have more power or do people? All such organizations profess a philosophy of “people first” – shouldn’t they put their money where their mouth is?

Need
Organizations need money for ongoing operations. This is known as “working capital”. Well, do people not need money for ongoing lives? Who needs it earlier, who needs it more? Who has the wherewithal to raise required finances easier? By paying for work at end of month, an organization successfully delays its need for finances (for salary) by a month, easing its working capital requirements. But whose need should have higher priority?

History, and Everyone
The human mind is trained by history. We do not question practices when “that’s how things always have been” and “that’s how everyone else does it”. We know in our gut that if there were only one way to do a thing, the Kamasutra would never have been written. And we know in our gut that if things were always done how everyone else does it, Apple and Steve Jobs would have never thought different. But both these things afford a sense of comfort, of familiarity, like an old warm blanket on a cold wintry night. Isn’t it safer to just stick around, than to stick out? Why question and rock the boat?

 

Conclusion
Someone asked George Mallory – “Why do you want to climb Mt Everest”? And he replied – “Because it’s there”. Some things don’t have rationale, you do them because you WANT to do them.

Similarly, some other things don’t have rationale, you do them because you CAN do them. I will leave you with this depressing conclusion: there is no logic or rationale. Organizations pay salary after work has been done simply because – Because they can!

Opinion
Personally, I believe that if a person is contributing his or her time and energy and effort to a greater group (the organization), the person has more at stake than the organization. And if you see my thought process on each point above, I am obviously in favor of salary being paid before work is done.

 

What do you think? Is it time to change this practice, to establish a new order? Is it time for salary to be pre-paid?

 

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

The whole is greater than the sum of its parts

This truism is applicable to all, whether it is an individual or a company. The various facets which confluence to make an entity great render to it a unique flavor, one that cannot be copied completely. The innovative practices at Mindfire Solutions contribute towards its uniqueness and differentiate it from its peers in the software industry. Here’s how.

My last blog was on the 2 minute innovation where I told you how Mindfire Solutions follows a unique project status communication practice which makes use of rich media to communicate the day’s progress to the client. In this blog you will get to know yet another innovative best practice followed at Mindfire Solutions. Ever heard of the term collective intelligence? No? Well, simply put, it means 2 is better than 1. Only, in our case 700 is better than 1. This is an approach aimed at solving individual queries by the combined knowledge of an organization.

We all know that the true value of an organization can be closely gauged from what lies between their employees’ ears. And Mindfire Solutions not only encourages its employees to broaden their horizons but also gives them the scope to make the best use of it by fostering a culture of sharing. As time passed, number of projects increased and Mindfire’s numbers and ranks swelled, realization dawned that although the collective knowledge of the organization was increasing linearly the individual knowledge was more or less limited to his own area of expertise. Owing to a demanding work scenario and paucity of time there was hardly any scope to learn more at an individual level. In an organization where knowledge is treated as the most important asset, productivity would get a quantum boost if there was some way in which the information about the knowledge and skills of an individual can be shared with another individual in need.

And then a unique knowledge management practice was developed in Mindfire Labs and christened as Fluid Expertise. Based on his need, a Mindfirean can use this system to search on the particular topic and then get the content results as well as the list of colleagues who can help. The database for this project consists of the user profiles of all the employees (which include their expertise, blog links, seminars conducted, articles, projects, team space etc.) as well as the articles, tips, case studies etc. contributed by them and available on the website. The search results will be displayed to the user in his browser in a 2 part sectioned format. While the upper half contains the people search results (in this case Mindfire’s in-house subject matter experts), the lower half contains the results from a Google customized search. The user can then choose to proceed according to his wish, i.e. contact the expert on a communication window or click on the pages as suggested by Google.

How the system works?

The system either crawls through the website or parses text/html, word documents and PDFs and considers the content for further processing. Again in order to match the query against the document the text in the document is indexed. The match can be done against the URL, title or the description/content of the page and when the user clicks on the URL the content will be displayed.   As is expected, a lot of inputs are required to find out the top ten subject matter experts on a particular topic. And because we have too many inputs it becomes imperative to decide which among these inputs are primary and which ones are secondary. The primary inputs help in choosing the top 10 people and thereafter, the primary and secondary inputs both are used to rank them. The secondary inputs don’t have a role to play until the top helpful persons have been selected. The decision as to what could constitute the primary and secondary factors are left to the system owner’s discretion.

Following are some of the factors that contribute greatly in people search listing:

1. Content:

Content has to be the most important factor to judge the level of an individual’s expertise. With the help of an open source indexing engine and a compatible server which helps add easy interfaces to add/update/query documents and pump more data, an expert’s contribution is closely gauged in his area of expertise.

2. Number of User clicks:

For a specific search the system will track which links has been clicked by which user and which expert has been contacted by which user. This knowledge will be useful for predicting the result for the user thereby providing personalized search experience.

3. Peer Endorsement:

In this case the system will take time to learn from user input and suggest right people and direct the user to the expert. To address this, there will be an offline input mechanism where employees should be able to specify who is an expert in which area. This will also form a part of the database.

4. User Feedback:

While designing the system we realized that there should be an offline data collection mechanism to know whether contacting a person helped, in short a feedback is sought. Initially the system gives a default people rank to everybody. After collecting inputs from various users the people rank increases or decreases accordingly.

5. Interconnections:

This factor varies from person to person. As the name suggests, these variables play a role to decide how easy it is for A to connect with B. This is determined based on the fact whether the 2 users belong to same team, same project, same center, same team space etc.

6. Previous search:

To get this data the system should be able to store old searches by users and match the current search against old search and find relevant experts to solve the query.

In order to get near accurate rankings of the resident experts at Mindfire Solutions these parameters are constantly monitored and at times subjected to minor changes to give an appropriate listing. And in this way we make use of information readily available to not only solve client issues but also increase our knowledge base on a particular topic by learning it from the guru himself.

These systems and processes at Mindfire Solutions make it robust inside out. And when a customer engages with Mindfire Solutions, although he would interact with a small team, he would definitely feel the depth of knowledge in his work which is largely due to the collective intelligence behind it. That is what contributes to making Mindfire Solutions an enviable organization to work with and work for. Who wouldn’t?

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •