A few thoughts - Monday, June 30, 2014
Posted: Mon Jun 30, 2014 4:56 pm
A few thoughts for lunch today:
The bitcoin developers are petty
It strikes me as extremely poor behavior that the bitcoin developers may be refusing to work with each other because of personal disagreements. We've got a system here that could change everything about the world, and people could be refusing to work on the core protocol because they can't get along with other developers. That is like like children on a playground, deciding not to play with each other because someone made some gossip about someone else or looked at someone the wrong way. The only difference is that these people are salaried.
At my last job, I spent months working with a group where the people had little respect for me and several other team members. During meetings, the local managers muted the phone and spent the time making fun of the people on the other end of the line. They hid information from the other managers and worried more about appearances, rather than what they actually did.
I hated getting up for work every day. Yet I still rolled out of bed, showed up to work, and did my job, because that's what you do. I didn't quit over the differences I had with these people or say that I would only work on part of the project. I have little sympathy for people who expect work to be easy and everyone to get along perfectly with them. Of course, these accusations can be false. But if what is coming out is true, then these developers need to suck it up and do their jobs.
Tracking who is doing what
One way to get a clearer picture of bitcoin development would be for someone to write a weekly report describing what has been accomplished during the previous week, who did what, and publishing it to /r/bitcoin. That would prevent surprises and expose problems before they get out of hand. Transparency is the enemy of incompetence and people who seek to pursue personal agendas.
Hearn's proposal will be a failure
The most important topic to talk about today, in my opinion, is what /u/mike_hearn is doing to encourage developers to work on the bitcoin protocol. Regardless of whether you agree with Hearn's proposal, he is at least trying to do something about the development freeze that bitcoin is experiencing.
Hearn proposes to create Lighthouse (http://coinbrief.net/bitcoin-lighthouse/), an application that allows people to fund specific improvements to the bitcoin protocol. Unfortunately, I do not see his application improving development in any significant way. There is a flaw to his idea that isnot addressed by his implementation.
The flaw is the idea that he believes you can pay software developers to work on specific features in a piecemeal fashion. There seems to be a widespread consensus that you can just throw money at a problem and that it will go away. That's true, but it requires a lot more money than any Kickstarter app would be able to raise, and it also assumes that developers are differentiated by salary.
To address the issue of salary differentiation first, those who hire people recognize that salary in developers is not correlated with ability. I know people in my office who produce software that has 3 times less bugs than the other developers, and they make the same as the others. (Note that I do not equate good software development with number of features, but rather a reduced number of bugs.) You can't look at a company's roster and pick out the best developers in order of salary, because that's not how it works. Given that, if you raise money in a Kickstarter fashion, you don't know whether your 100 bitcoins are going to pay a poor-quality developer or a superstar developer. And since these Kickstarter-like applications can only judge project success by whether the project is complete or not, there is no way to determine whether to release the bitcoins based upon number of bugs. Therefore, the first issue with Hearn's proposal is that paying people is not going to result in a better product than unpaid work, because quality of code is unrelated to salary.
Now let's address the issue of paying people to "quit jobs," as Hearn suggests people should do. Quitting a job is a major risk. He glosses over that as if anyone will just quit and it's no big deal. Given that I have a job that can last for many years, I personally would only quit if the new job offered a similar length of work or if the salary was so much higher that it compensates for the increased risk. Health insurance is expensive (although the Affordable Care Act has opened possibilities, at least), and there is no 403(b) plan with freelancing work. Furthermore, bitcoin development for kickstarter projects is not a long-term commitment, and there is no guarantee of future work, so I personally would not accept such work unless I was paid 150% of current salary. The seemingly insane cost is my price for the risk of being unable to find a new job and being forced to uproot and accept a lower quality of life in a large city. If I quit a job to work on Hearn's bitcoin projects, I would also have to start at the bottom of a new company and start working my way up again, losing weeks of vacation time, 401(k) matching, and so on.
Finally, Hearn forgets that it takes so long to come up to speed on a project, that it is grossly inefficient to have people relearning code. Having one full-time developer is better than having 5 part-time developers who each have to spend 6 months before they can become efficient at their jobs. In the first 3 months, those developers can get little done, and in the next 3, they will actually cause issues by not understanding the code.
In short, Hearn's proposal is well-meaning, but it is doomed to failure. It is blind to the economics of software development and does not consider that temporary contracts are not attractive to full-time employees, who are likely to be the most qualified people. The correct solution to this problem is to put an end to the interpersonal problems at the Bitcoin Foundation, and, if necessary, to raise more money to hire long-term full-time developers there.
Theory of buying coins at inflated prices
Some users in /r/bitcoin are proposing that a good way of creating publicity and making money with bitcoin would be to purposely purchase the auctioned coins at a very high price. The idea is that a bidder would submit a high bid, and then after confirmation of acceptance, buy lots of coins on the open market, thus explaining Friday's sudden rise.
There are holes in this theory. For one, if the auction's highest bid is some very high figure like $1000, there is no reason that bitcoins suddenly become worth that much. Some sellers will still decide they are happy to be out with less. Second, this idea again requires some sort of collusion with other bidders, because the person perpetuating the scheme is losing money to raise the price for everyone. It would make more sense in every case for an individual to simply assume that someone else is going to bid high, which allows him to make more money by buying at the current price.
Other
The bitcoin developers are petty
It strikes me as extremely poor behavior that the bitcoin developers may be refusing to work with each other because of personal disagreements. We've got a system here that could change everything about the world, and people could be refusing to work on the core protocol because they can't get along with other developers. That is like like children on a playground, deciding not to play with each other because someone made some gossip about someone else or looked at someone the wrong way. The only difference is that these people are salaried.
At my last job, I spent months working with a group where the people had little respect for me and several other team members. During meetings, the local managers muted the phone and spent the time making fun of the people on the other end of the line. They hid information from the other managers and worried more about appearances, rather than what they actually did.
I hated getting up for work every day. Yet I still rolled out of bed, showed up to work, and did my job, because that's what you do. I didn't quit over the differences I had with these people or say that I would only work on part of the project. I have little sympathy for people who expect work to be easy and everyone to get along perfectly with them. Of course, these accusations can be false. But if what is coming out is true, then these developers need to suck it up and do their jobs.
Tracking who is doing what
One way to get a clearer picture of bitcoin development would be for someone to write a weekly report describing what has been accomplished during the previous week, who did what, and publishing it to /r/bitcoin. That would prevent surprises and expose problems before they get out of hand. Transparency is the enemy of incompetence and people who seek to pursue personal agendas.
Hearn's proposal will be a failure
The most important topic to talk about today, in my opinion, is what /u/mike_hearn is doing to encourage developers to work on the bitcoin protocol. Regardless of whether you agree with Hearn's proposal, he is at least trying to do something about the development freeze that bitcoin is experiencing.
Hearn proposes to create Lighthouse (http://coinbrief.net/bitcoin-lighthouse/), an application that allows people to fund specific improvements to the bitcoin protocol. Unfortunately, I do not see his application improving development in any significant way. There is a flaw to his idea that isnot addressed by his implementation.
The flaw is the idea that he believes you can pay software developers to work on specific features in a piecemeal fashion. There seems to be a widespread consensus that you can just throw money at a problem and that it will go away. That's true, but it requires a lot more money than any Kickstarter app would be able to raise, and it also assumes that developers are differentiated by salary.
To address the issue of salary differentiation first, those who hire people recognize that salary in developers is not correlated with ability. I know people in my office who produce software that has 3 times less bugs than the other developers, and they make the same as the others. (Note that I do not equate good software development with number of features, but rather a reduced number of bugs.) You can't look at a company's roster and pick out the best developers in order of salary, because that's not how it works. Given that, if you raise money in a Kickstarter fashion, you don't know whether your 100 bitcoins are going to pay a poor-quality developer or a superstar developer. And since these Kickstarter-like applications can only judge project success by whether the project is complete or not, there is no way to determine whether to release the bitcoins based upon number of bugs. Therefore, the first issue with Hearn's proposal is that paying people is not going to result in a better product than unpaid work, because quality of code is unrelated to salary.
Now let's address the issue of paying people to "quit jobs," as Hearn suggests people should do. Quitting a job is a major risk. He glosses over that as if anyone will just quit and it's no big deal. Given that I have a job that can last for many years, I personally would only quit if the new job offered a similar length of work or if the salary was so much higher that it compensates for the increased risk. Health insurance is expensive (although the Affordable Care Act has opened possibilities, at least), and there is no 403(b) plan with freelancing work. Furthermore, bitcoin development for kickstarter projects is not a long-term commitment, and there is no guarantee of future work, so I personally would not accept such work unless I was paid 150% of current salary. The seemingly insane cost is my price for the risk of being unable to find a new job and being forced to uproot and accept a lower quality of life in a large city. If I quit a job to work on Hearn's bitcoin projects, I would also have to start at the bottom of a new company and start working my way up again, losing weeks of vacation time, 401(k) matching, and so on.
Finally, Hearn forgets that it takes so long to come up to speed on a project, that it is grossly inefficient to have people relearning code. Having one full-time developer is better than having 5 part-time developers who each have to spend 6 months before they can become efficient at their jobs. In the first 3 months, those developers can get little done, and in the next 3, they will actually cause issues by not understanding the code.
In short, Hearn's proposal is well-meaning, but it is doomed to failure. It is blind to the economics of software development and does not consider that temporary contracts are not attractive to full-time employees, who are likely to be the most qualified people. The correct solution to this problem is to put an end to the interpersonal problems at the Bitcoin Foundation, and, if necessary, to raise more money to hire long-term full-time developers there.
Theory of buying coins at inflated prices
Some users in /r/bitcoin are proposing that a good way of creating publicity and making money with bitcoin would be to purposely purchase the auctioned coins at a very high price. The idea is that a bidder would submit a high bid, and then after confirmation of acceptance, buy lots of coins on the open market, thus explaining Friday's sudden rise.
There are holes in this theory. For one, if the auction's highest bid is some very high figure like $1000, there is no reason that bitcoins suddenly become worth that much. Some sellers will still decide they are happy to be out with less. Second, this idea again requires some sort of collusion with other bidders, because the person perpetuating the scheme is losing money to raise the price for everyone. It would make more sense in every case for an individual to simply assume that someone else is going to bid high, which allows him to make more money by buying at the current price.
Other
- Days until July 24: 24