Nov 20

A friend of mine owns a large textile manufacturing company in Indonesia; more than two years ago he decides to develop an ERP system with a big IT company in Jakarta (let’s call it the Supplier from now on). The cost was US$90k, and was to finish in a year.

Now, two and a half years later, the code is buggy. It has undergone a total revamp from VB to PHP. And the worst thing is, the software is still not finished.

My friend told me why.
The first project manager (PM) assigned for my friend used VB.
He resigned from the Supplier to pursue a career elsewhere.
So the Supplier assigns another PM, who decides to do everything again using PHP.
That second PM also didnt last long; he was enticed away by another employer in Singapore.
After that second PM, there is basically no PM for my friend.
The Supplier just put three PHP programmers in the factory fixing bugs and making smart excuses.

What happen if these three programmers also resign / quit from the Supplier?
My friend (the client) will be as stressful as the Supplier. My friend can go to legal way, but that’s probably too much hassle and too much time and energy has been invested in these 2+ years.

What I want to discuss here is the very negative effect of employee turnover, both to the client and to the company who employs him, especially in people-intensive business like us. Luckily we have managed turnovers pretty well. We are far from experts on HR (that’s why we’re hiring an HR executive early next year), but let me share some things that may be useful…

1) Simple things like always try to hire a good, loyal person, and enter a stronger binding contract, and always try to give the best (sincerely) to him. Motivate and keep employees happy.

2) Always lookout for degrading employee motivation, or for signs of dissatisfaction. This is especially important for employees who is the only one who knows the ins and outs of a project. Be always paranoid; ask yourself a question, what if this person or that person leaves our company tomorrow?

3) Once you identify these employees, you can solve their problems. For example, increase salary or give bonuses. Or give holidays to refresh. Or try to set a timetable for rotating him out of the current project that bores him.

4) For IT projects, use a framework that favors convention, like Ruby on Rails. It enables other engineers to jump into the project more easily. We should also inject another engineer to the project if possible, so that there is no knowledge lost. All the knowledge that the problematic employee knows must also be known by this other engineer.

5) If there is no knowledge lost and no project goes awry, turnovers is actually not that bad. In fact, turnovers is sometimes a good thing; to weed out those who are not performing well, not motivated, and not loyal. Turnovers is also good to refresh a company with new spirits and insights.

Sep 26

Is there an SaaS knowledge management system out there?

More and more we need some kind of a knowledge management system (KMS) in our company.

For example:

- A developer knows about something that others dont. How can we make sure this knowledge doesnt disappear when the employee suddenly quits?
Right now it’s pretty simple. I make sure the developer who handles a Flex project works in a team with another developer.
Or the developer who handles a Merb project, also works in a team with another developer.
This is still manageable with a 30-engineer company. But what if when we grow bigger? We need KMS!

- A developer doesnt know something that others do. How can we make sure he knows he just needs to ask instead of research, and whom to ask?
This is very important so that productivity is not lost, and convention is preserved.
With a KMS, this is gonna be more streamlined

But, it looks like there isnt (that I know of) a web-based knowledge management system out there (?)
So I guess we’ll just build a simple one our own.
Who knows we may open it up and let it become a free/paid web-based app :)

Btw, I cant seem to find a good online HR SaaS either!

Jul 26

We have been approached by potential clients who ask, “How much for this project?”, or, “How long would this take?”

The problem is, some do not even have specs nor wireframes…

As a developer, what you should do?

First. You can ask clients to draw page sketches and some specs, otherwise you cant quote any fees.
Although this is a very reasonable and responsible approach, this can potentially drive clients away.
Irresponsible developers who can generate estimates based on a 100-word specs, or as simple spec as ‘a clone of site X’, is most probably, well, irresponsible; but they could be more attractive to clients who are shopping for developers

Two. You can be a consultant and together with the client, milk your ideas, and help draw page sketches and write some simple specs. Although this is very noble, this is most probably not good for you.
You have spent lots of time, and you may not get the deal after all.
You should write an NDA before giving up your ideas. After all, you dont want to draw specs, not getting the business, and have that specs sent to a cheaper developer :)

Three. Just like number Two, but charge the client for your consultation. I’m not sure yet if clients are open to this though.

Four. Find clients who already know what they want. In general they are the more serious & more solid budget-wise after all.

What do I suggest out of these four?

In general I suggest number (4). But if it’s not possible, the answer is ‘it depends’.
You should have a mechanism to know what type of client the person is.
Does he represent an established company with solid budget?
Is he a startup with an idea? If he is, does he have the necessary funding?

Note that albeit we want to help as many clients as possible, we have to be concerned about client’s budget. Most of the time, relationship goes messy because the client doesnt have anymore funding…

All in all, I suggest number (2), especially if you have the time and resources. Number (3) sounds an overkill; unless you can give a very good consultation.

Number (1) is good too, since if the client is serious and interested in you, he’ll draw some specs and get back to you. If he doesnt get back, follow up!

OK now with page sketches and specs, you can now answer “how much” and “how long” :)
Still an estimation though. Suggest for Agile Development, the client is probably interested…

Jul 22

We are recently contacted by a prospective client, saying:

I know that there are many developers which charge “$X/hour” or “$Y/project” but I am more interested in working with an ethical firm like yours

I’m flattered. In fact, we’re very glad to hear that, although when writing blogs or site contents, we are just being ourselves.

But that must be the impression prospective clients are getting. I remember getting this kind of response from another person too. It feels good!

Jul 5

I’m getting busier in both my professional and personal life; this is personal info but… I’m getting married at the end of the year!

Luckily, as the business has been running for more than two years now, we have more cash to hire great people; More importantly however, we have grown great people from within.

And thus we’re assigning managerial positions to these people. People who are not only good with programming, but has self initiatives and whose English communication skill is good

And we also have a resource development manager who takes care of developing newly hired engineeers.

I’m very excited. Looks like we can grow to more than thirty engineers by mid next year!

We’re planning to hire 24 engineers next year actually, in three batches of eight in January, May, and September. We’re gonna hire that many people because there must be employee turnarounds, and we’re also planning to create specialized teams like Facebook apps teams, Drupal and Wordpress teams, etc.

May 23

Many times in the past several months, we have to turn down new prospective clients because we dont have enough resources. And after we do have the resources available, most of those clients have found someone else.

This is bad. And it is all because our company fails to attract enough talented people.

After much thought and soul searching, I realize that what we’re running is really actually a people business, more so than an IT business. Our company needs to be able to attract, grow, and retain the best talents.

So I started reading Workforce Wakeup Call, 30 Reasons Employees Hate Their Manager, How to Motivate Every Employee, etc. And I’m inspired. I implemented lots of HR strategies that have proven to motivate the employees, and to attract new great talents.

Yes, attract new people, even in this bad world economic weather! In fact, we’re in the process of hiring many more people than we need.

It’s a GREAT investment; even better than investing money in a bullish stock market!
And we never have to turn down new clients anymore!

Apr 26

Everytime I read books / magazines, I am inspired and motivated. I think that’s what books for anyway. I should’ve written a blog for each book I read, but that wouldnt be appropriate to write in this Ruby on Rails outsourcing blog. I have a personal blog but most posts are written in Indonesian.

But I feel compelled to write what I got by reading the book I just bought: Built to Last (I know, it’s a 1990s book, I’m so late huh!)

Basically it says that every great companies have core ideologies and visions, which got me into thinking, what is Kiranatama’s core ideologies? Why does it exist in the first place? Why do we work? Every great company sets ambitious goals, what’s ours?

There must be reasons beyond money and profits…

So here you go. After days of soul searching, here is our Core Values, with ascending importance:
* Honesty and Integrity
* Strong desire to always learn
* Passion to educate and improve the employees, the customers, and the community

The third one is the most important, and that is also our core purpose of existence. We work because we want to improve the lives of other people. Employees receive bigger and bigger salary and nicer facilities; Clients see their businesses grow; that’s what we want.

I have not even told the employees about these ideologies and purposes (of course I will soon). From now on only those share the same values will be hired. And those who do not will be ejected like a virus!

I will also write this in the ‘Company’ section of our website. But I’m gonna wait as we’re redesigning the pages of Kiranatama.com. Next week the new designs should be up.

Mar 29

When I was still in school I read one of Kiyosaki’s most popular books, Rich Dad Poor Dad.

Immediately I do not like the book because it persuades people to NOT work hard, but to get ‘Passive Income’.

But still I was influenced, not only by the book, but also by my friends who believe in the book; “You must become an investor, and let your business become a money generating machine without you actually work too much.”

As my Ruby on Rails outsourcing business grows,  so too the time needed for me for management. I was beginning to work at least 11 hours a day (starting from around 4 am), from Monday to Saturday. Most of my day is spent on managing people.

I am the boss, why should I work at all? Why not I hire professionals and let them do the work for me?

The answer is simple. Because I like my business, and just like many other entrepreneurs, I am an entrepreneur who actually LOVES working. And I’ve learned to enjoy managing people. And I’ve learned that it is FINE to do all the low level work. I’m still a small entrepreneur anyway. Be hardworking, dont follow Kiyosaki!

Mar 15

I’ve been depending upon an HTMLer to do the our HTML work.

Although he is good, it becomes apparent that we’re being too dependent, and the business just cant scale that way.

I believe everyone at Kiranatama should be empowered. I believe every engineers should be able to write Rails, write unit tests, do QA, deployment, caching, and also write HTML and CSS.

And so Kiranatama decides to train every engineers on HTML and CSS. Materials will come from Bulletproof Web Design.

This way, business can scale, and the skillset of our engineers improve.

Mar 1

I’m too busy. My biggest client has taken too much time out of me, and thus I have less and less time and energy to expand this RoR outsourcing business.

I used to do all the stuffs, from recruiting, training, project-managing, to refactoring code.

See, the problem is that there are several potential clients wanting engineers. We can give them engineers but without enough training, project-managing, and refactoring (QA), I’m just so worried we cant give the quality and productivity we strive for.

We are polishing our company everyday. We built our ‘How-to-Manage-for-Productivity’ doc, proper training procedure, and Ruby on Rails best practices and quality standard document. And, I’ve distributed the roles of training, QAing, etc to people in my company, and thus I’m hoping we can accept new clients in a faster rate!

« Previous Entries