Continuation of the story started here: http: //www.habrahabr.ru/blog/startup/13187.html
Part 2. Hill.
So. We are engaged in work, we write all garbage associated with our opensource project. By the way, at the moment I'm starting to understand that not all the time required for work is needed for coding a program. How exactly I still do not know exactly. No, I certainly read Brooks, but who would believe some kind of waste paper. Well this is a fucking bourgeois. You cannot describe our Slavic soul with bourgeois books. (Idiot. This is me not about Brooks, but about myself :))
In general, one day someone knocks me on ICQ comrade and says: “There is a bourgeois thing here, one knocks and asks if I can do this kind of work. And I say nichrome I can not, but I know a connoisseur who can. I'll give him your contacts. ”So we get [b] THE FIRST BURZHUAN PROJECT [/ b].
No, do you even imagine the difference in the standard of living here and there (or in the level of payments? ...) In short, that what I would have bargained for by kissing the customer in the ass I get without problems! We receive an order worth more than 1000 euros! Pipets. I do not know where to run. Here it is our finest hour !!! Estimate, the project in which there is both PHP and C ++ and a database (a million new records per month. I know that now. Thank God that we had a friend who actually searched the database, otherwise I would make them such a database, that she died after 2 weeks. But our good friend didn’t let me do it “quickly,” but did well :) By the way, it wasn’t muscle. )
')
I will return to the newly negotiated project. I make an estimate of 2 months.
What to say. We did it for 8 months.
In general, about 100 ye per month per person. I understand that I:
- I am not able to make estimates on terms
- I can not do a damn thing at all and I have to be scrapped.
In short, depression. After a solid flash grand piano with a steam locomotive.
The next "opa" (s). No ward.
Okay, experienced depression and not so :)
In general, here comes the next stage of my development as a programmer and an independent businessman.
I [b] DO NOT MEAN TO PLAN PROJECTS [/ b]
Well. And nothing. I go to the Internet and then go to the store and buy MS Project for morons. (In principle, Excel would be enough, but in the book there were clever words like PERT that are needed if you need @ @ $ $% to get lost. Distract a little. Recently there was a case when I was bargaining for a project. The customer was an intermediary. Another outsourcing office. And I present my estimates in time. A comrade from the office asks me a question about what kind of x; and such terms. And I’ll tell him, but I would use the PERT method and understand everything. The freak shut up (I don’t drive on customers, but this one was a freak :) In short, I understand that PERT is needed for orders, probably more than $ 1_000_000 or even more, but the word fashionable. And tell me, I now counted in the fucking Excel ....)
In general, I am starting to master MS Project, draw diagrams, etc., etc. Later it will turn out that for projects up to 10_000 Excel and experience are enough. Maybe this will be enough for 100_000 ye, but I still do not know about it :)
Here, I have gained a new experience. Experience with @ # $ ^ ia projects. Not that the project was locked up and we did not do it. No, we passed the test with honor. Yes, we have not earned money, but we have not earned a bad reputation. We have handed over the project and continue cooperation with customers, already with new experience, with new prices, but we don’t look like a gang @ # $% mi. By the way, apart from the experience, this project gave us a portfolio of a bourgeois customer.
In general, this event made me re-evaluate what I am doing.
The end of part number 2
Part. 3. The three-headed snake is looking for friends.
I will return to the very beginning of our work. The team unite 3 people on equal terms. Those. decisions are made in concert with everyone. It's about political decisions, not about programmers. Those. direction of our development, some conceptual issues. On the one hand, democracy is good; nobody is offended. But on the other hand, everything is far from being so good and sooner or later one will be for, the other against, and the third will abstain. In general, a scheme in which there is no higher instance should have led at some point to conflict, and I understood this from the very beginning, but I had no choice.
I think each of the three of us considered (and considers) himself equal, but a bit more equal than the others. In general, a conflict happened, some important decision was made without agreement with me. What kind of decision I don’t remember, probably, in fact, it was not so important :) Well, in general, I made a jealousy scene with debriefing, etc. In the end, I let go, the conflict was settled and everything returned to its mainstream. The scheme of our work has not changed, the team has not broken up, but I am still convinced of the viciousness of such a scheme.
At about the same time that a conflict occurred, I understand that there is a new problem. I sometimes do not know who is working now and who is not, and in general what the fighters are doing. We also have more orders and we have to invite comrades to help. These two events make you think about working hours. Who cares how much and if at all. Begin the search for software that allows to take into account the working time, the cost of time for employees and the cost of the same time for the customer. After going through a heap of options, I stop at this
sandsurfer.sourceforge.net. After finishing with a file, the program can perform all the necessary functions well.
Now a little about how we invited the new programmers to work. The situation is approximately the following: sometimes we begin to receive orders with which we do not have time to cope, but there is still no base that would allow us to hire a fully-fledged programmer for a monthly payment. What to do? We begin to ask intelligent students in recent courses, friends, acquaintances, etc. on the subject make shabashku. People gradually responded. We gave a little work and watched who does what. In general, a bunch of people passed through us this way, most of which were eliminated, but a couple of people remained with whom they began to work constantly.
Speaking of students. There are potentially very intelligent students, they have dofiga enthusiasm, quick brains and good memory, but no experience. Working with them without close supervision leads to very funny results in writing code. Well, for example, shove an optimization block (logically a separate large entity) into a database class. And then, for some reason, call the functions of the optimizer from the BL class :) And it turns out as in that story about Basseyannaya scattered from the street: “He ran to the cashier to buy a bottle of kvass”. In general, I had to prove for a long time that it is not necessary to mix fundamentally different things in one class.
Then I learned another lesson: at the beginning of the young fighters, it is necessary to monitor very carefully, and to trust independent work only when you make sure that there are no blunders. The most correct way to carry out the design, do the stubs and ask these stubs to be filled with code.
With the advent of our new fighters comes the end of sloppiness with money. We need at least a normal account. (It’s still far from planning. We’re too dependent on Fortune :)) Fortunately, a normal accountant was close by and going once a week or two did all the postings. Those. during the week I was collecting checks, leaflets (a friend drove me 2 boxes of punched cards. convenient leaves :)) with records of receipts, spending, etc., and the accountant normally did this.
In the team, monthly reports on the activities of the team were especially popular. Positive reports. Negative reports were not a success.
At the same time, I draw a large table in Excel which would allow me to understand how much I should take from a customer if I have N founding fathers, M - employees, P% of downtime, S% of taxes, any depreciation of computers, office costs, and t .d Roughly speaking, it turns out that if there are three fathers, and we have three wage workers, a simple 30% of the time, an hour costs 7 ye, workers wages 600 yu fathers have ~ 980 ye ... But not everything is so simple ... Sometimes downtime was steeper than 30 % :)
The end of part number 3