For every person who is miserable at their job and only does enough to not get fired, do you believe that there is another person whose performance is twice the average? In my experience, there are far more people on the low end. Of course, there are also some people who are so good that they're worth 10 average people in terms of their productivity.
It depends on how much you're willing to look for a new job. I got to the point where I was looking for a new job anyway, so there was little risk in taking a more confrontational position. I ended up with my boss wanting to fire me, but his boss not letting him. I doubt many people get fired for doing what's important to their boss's boss.
It's rare, but it happens. There are fairly smart people in charge where I work. Of course, I may be biased because they listen to me on technical issues. =)
The most important thing to me is working with people I get along with. My boss is a programmer and easy to work with. There is another director and VP I work with frequently who are business people with little technical experience. They know the part I'm not interested in (business side) and I know the part they're not interested in (technical), so we work together to meet the business needs with appropriate solutions.
This is an example of why middle management gets hit in budget cuts. It sounds like the supervisor has different priorities than senior management. If this is creating a situation where the senior management's goals are not getting implemented on time, the problem lies with the middle manager.
You can either try to help your manager learn how to do his job, or you can recognize this as an opportunity for a promotion. Very few people get fired for being responsive to the needs of their boss's boss. This can either end up making your boss look good, even against his wishes, or can emphasize that you should be working for the senior manager.
I used to have a similar problem. Our old management was only interested in making themselves look good by making promises they had no intention of keeping. They did a good job of sheltering us little people from the senior managers. If they hadn't done this, it would have taken far less time for senior management to realize how little value they added. Now the middle managers have moved on and there are no more artificial barriers to communication between me and senior management. They handle the business needs and I handle the technical needs.
I hope the terrorists implement ideas like this. Hydrogen in a plastic bag has got to be one of the wussiest "bombs" someone could make. It wouldn't take out a window, but it could singe your eyebrows.
I've never gotten any meaningful specs for any of the software projects I've worked on. The closest I've gotten is "requirements" from a vendor that is really a proposal of how they intend to use their products to fit our needs, ignoring the needs that are not met by their products.
The problem with specs is that you have one person or group trying to convey what they think is relevant to another person or group who will do the implementation. I believe it's better to help the other person or group understand the needs and give their input as well. I respond to requests for programs with questions about the actual needs of the requester. For example, one program that was needed had 5 distinct functions it needed to perform. I told the person (non-technical) that if I skipped #4, I could do it before lunch. Otherwise, it would take a couple of weeks and require endless meetings to discuss point #4. It turned out the functionality was more of a wish than a requirement.
I think it's a matter of different types of personalities. I agree that there are people who really need the specs. If you don't understand the subject matter, the specs represent the compressed version of the subject matter that is deemed relevant.
Those who do understand the subject matter at least as well as those writing the specs are better off taking the position Linus has. One should ignore the specs when they're asking for the wrong thing. Only someone who knows the subject matter and the technology is going to be able to determine that there is a better way of achieving the desired goal, regardless of what's been specified.
Both types of personalities have their places. I can write software that fits the needs of the customer, whether or not they knew what they needed when they came to me. On the other hand, I wouldn't want a pilot to share my disinclination for documentation or checklists.
You're right about specs being a contract. I think this is also why so many software projects fail. Once the specs have been signed off, there's a disincentive to provide a more useful product if it would conflict with the specs. Though, for open source projects I think the legal implications would be irrelevant. A developer could simply add a comment like "Ignored sections 3-7. Do not share author's affinity for smoking crack." In business, completing the contract is the goal. For open source, having a working program is the goal. These don't always coincide.
Windows causes billions of dollars in economic harm to our society. Viruses which spread because of security problems in Windows have caused significant economic impacts. I think it's fair to say we would have to get rid of personal computers and all software ever written for them if you want liability for software.
Backup cars belong in the garage where there is another physical barrier to theft. And if you're having a regular problem with this, I suggest not leaving the car running when you're not around.
The reason for liability for products like cars in the real world is that people can die. Bad software is inconvenient. The right to not be inconvenienced, especially as a result of your own choices, does not have as much case law backing it up.
Databases aren't common because they're the most efficient or best way to store information. They're common because you can have numerous applications written in various languages store and retrieve data from a common source. One of the problems with liability is that it's the antithesis of interoperability. Would you release software that could crash and cause you liability because the underlying database had a problem? Would you allow other people's applications to connect to your database if you could be held liable for their incompetance? There are definitely abuses of the system, but legal liability only leads to increased cost. Look at software for medical hardware. There is a severe liability that goes with that and the costs are tremendous.
I write software for internal use. I cover the majority of expected or observed cases. Even the simplest software would take forever to write if it had to handle every possible error gracefully. I don't think it's unreasonable to say that a 2 hour program written to perform its function would take a year (2000 hours) to write if everything had to always work perfectly in all cases. I think as a rough estimate, 1000 times is quite fair. Now, are you willing to pay 1000 times as much for all of your software? That's probably a low estimate of the cost of demanding the producer be liable for the software that you're using on your hardware in your environment with your requirements, none of which the software vendor reviewed.
The public has chosen to support poor software. Some software costs you a ton of money. Other software is inexpensive monetarily, but requires a significant investment of time. There is just no way to make software cost effective for the masses if every package sold had to worry about liability.
The entire universe is faulty. This mess can't have been in the original specs. Entire stars collapse and explode. The documentation is nonexistent. And you can just forget about technical support - they wouldn't even pick up if you could find the number. If something doesn't work the way you want it to, does the fault lie with the inanimate object, or the person with irrational and unrealistic expectations?
I agree that the courts (and people not taking responsibility for their own actions) are a significant contributing factor.
There are a lot of companies who develop software using the cheapest(often least experienced as well) labor and manage the development based on the release date, with reckless disregard for the features or stability of the product. People that do not understand software assume that all software is either unreliable (like their desktops) or fabulously expensive (mainframes). These people are voting with their wallet for low quality software.
The approaches most companies take in an effort to produce higher quality software do little more than pad the wallets of consultants and create volumes of documentation. Companies do all of this sillyness of their own free will right now. If there were a legal obligation for software to all be developed to the level of quality needed for use in life support systems, we'd have to throw away PC's and everything ever written for them.
I'm willing to live with software that's good enough. Then again, I use a lot of open source software, so I'm already getting more than I'm paying for.
I've been working as a programmer and/or unix sysadmin for over 15 years. My work isn't too far detached from my hobby, so that worked out pretty well for me. As much as I still have respect for the Atari as a great learning tool at the time, I wouldn't give one to my kids. They'll grow up with different Unix platforms, and maybe, if I must, Windows in a VMware session. One of the greatest resources I had as a kid was all the BBS's where I could find other people with similar interests. Now, instead of being limited to local phone calls, we can find information from all over the world. Even though I'm sure there are Atari 8 bit fanatics out there, I've grown out of it and don't need my kids to relive my childhood. I'm sure they'll have a better version. =)
I'm not surprised to hear of people dying from carbon monoxide poisoning. Knowing how things work helps avoid the obvious pitfalls. However, anyone should be able to read the instructions, especially the page that says "IF YOU DON'T KNOW THIS STUFF, YOU'RE GOING TO DIE." People who have generators just for emergencies don't think about them much, and when they do, they're under additional pressure to just make it work. That's not the recipe for unmitigated success.
People who can't relate to technology or machines have a hard time understanding how they work. The trick is recognizing where you have crossed the line between master-of-your-domain and idiot, and learning from the experience of others.
The One True Way is whatever works for you. It's a philosophy, a way of life. The problem comes from people who believe everyone must accept their way. My One True Way does not have to agree with yours. I believe in BSD. I recognize everyone's right to choose their own path, even the Plan 9 freaks. =)
In the bad old days, it was necessary to understand the hardware if you wanted to write interesting software. It may not be possible to understand everything about modern systems, but don't forget that we learned it about the old systems because we had to, not because it was always fun.
I used to know all the memory locations in the Atari 800 and how to use them to do all sorts of things. I knew 6502 assembly and a slew of other languages for the Atari. It was a good platform at the time, but I wouldn't want to go back to the hardware or even the software of yesteryear.
I don't know as much about any of the platforms I use now. However, I now have a ton of other tools available that make what I'm doing easier. I'll take a modern Unix system over an Atari 800 any day of the week. I believe I can emulate the Atari under Unix, as a testament to the progress we've made. I can also appreciate that I don't have to solve as many problems as before, because others have already done it and made their programs available.
I've been using computers for 25 years now. I think I count as a geezer. I don't think my kids will lack any of the opportunities I had. In fact, I think they'll be better off because I can give them my old hardware running Unix. They won't have to mess around with a bunch of proprietary systems before they can discover the One True Way. =)
I don't go to theatres because they're too expensive. Whenever I see a commercial for a movie that looks good, I make a mental note to buy that on DVD when it comes out. I figure for $3-6 more than a movie ticket, I'd rather have the DVD. Of course, by the time the movie eventually comes out on DVD, I've completely forgotten everything about it, including my past interest in purchasing their product.
I have the same problem with TV. I watch one show, and if it happens to be the one that doesn't suck, I want to purchase the season on DVD. However, they won't sell it to me until they've shown all of the episodes and gotten all the advertising money from commercials that they can get.
Movie piracy does not cost the companies anything. The people who are pirating movies wouldn't pay for them if they were a penny a piece. Claiming this as a loss is just creative bookkeeping (fraud) on the part of the movie companies.
The real harm is being done every day by people like me who could purchase their products, but don't. I'm a bad consumer. I should be taken out and shot for my crimes against the corporations.
It makes us feel special to believe we caused it. Sure, the planet has been around for a long time. And true, we didn't keep track of most of this stuff until recently. But are those really reasons why we shouldn't take credit for what's happening? Nature won't respect our authority if we don't show it who's boss.
It also has a lot to do with the large number of people who strongly believe that correlation == causation. I suspect this belief is held by the majority.
Though, I think this is just an excuse to argue with people. After all, if global warming was a natural climate change, there would be no one to point the finger at. Environmental groups are all about whining about perceived problems. Imagine what would happen to our society if those people actually had to DO something for a living instead of mooching off other people's fears and making up sensationalist stories.
I don't hold that against the language, but I'm sure not going to hire anyone who writes code like that. Anyone can write obfuscated code in any language if they are so inclined.
Regular expressions are a good example of something that is incredibly useful and powerful, but total gibberish to people who don't understand them. I'd hate to not have them just because some people think they're ugly.
The problem is that there are very high operating costs. You need an insane volume of air at high pressure. I have a couple of vortex tubes. They're great for air cooling in a machine shop where you already have a very large air compressor running all the time. They're a horrible idea for areas that lack energy sources.
I'll evolve you one of each. In order to make this a fair comparison, I'll need several million years and funding for this project. The ball's in your court.
If you hang up, they just go on to the next person. IIRC, they only need one sucker per 3,000-10,000 calls to for telemarketing to be profitable. If you want to have an impact, be more like a rude American. Lead them on, but don't commit to anything. If they want to confirm your name or address, tell them about your pets/children/last bowel movement, or whatever takes up time. I used to keep a headset on the kitchen phone so I could cook while wasting a ton of their time. 10-30 minutes on the phone without making a sale is going to make them look bad.
The first line of the email ESR originally received screams spam to me. In fact, the entire email sounds like spam. I wouldn't be surprised if I could find the exact same thing caught by my spam filter.
Perhaps it's a matter of principle for him, or just an opportunity to go off on a clueless headhunter. I'm not a MS fan, but I'd entertain any offers they wanted to make. MS won't change because we want them to. MS will change when people within the organization stick to their principles and show that there is another way.
I'm not surprised to see such a response from ESR. I would at least want to discuss how much M$ is willing to pay. Being paid an astronomical sum to subvert your enemy from the inside would strike me as having significant job satisfaction potential.
It really shouldn't be surprising. To non-geeks, technology is something that is accepted on blind faith because someone with greater belief told them to. Seems a lot like a religion to me.
Re:Do they have a strategy behind this?
on
Google Hires Vint Cerf
·
· Score: 5, Insightful
Smart people with a track record of good ideas will generally produce more of them. Google just wants a chance to get the ideas before anyone else. There are such positions in many large companies because good ideas with profit potential will pay many times over for all the unprofitable ideas.
For every person who is miserable at their job and only does enough to not get fired, do you believe that there is another person whose performance is twice the average? In my experience, there are far more people on the low end. Of course, there are also some people who are so good that they're worth 10 average people in terms of their productivity.
Appearance is a core function?
Everything suffers normal wear and tear. More so for things that get tossed in pockets.
Lawyers should be a party to the counter suit for such clearly frivolous lawsuits.
It depends on how much you're willing to look for a new job. I got to the point where I was looking for a new job anyway, so there was little risk in taking a more confrontational position. I ended up with my boss wanting to fire me, but his boss not letting him. I doubt many people get fired for doing what's important to their boss's boss.
It's rare, but it happens. There are fairly smart people in charge where I work. Of course, I may be biased because they listen to me on technical issues. =)
The most important thing to me is working with people I get along with. My boss is a programmer and easy to work with. There is another director and VP I work with frequently who are business people with little technical experience. They know the part I'm not interested in (business side) and I know the part they're not interested in (technical), so we work together to meet the business needs with appropriate solutions.
This is an example of why middle management gets hit in budget cuts. It sounds like the supervisor has different priorities than senior management. If this is creating a situation where the senior management's goals are not getting implemented on time, the problem lies with the middle manager.
You can either try to help your manager learn how to do his job, or you can recognize this as an opportunity for a promotion. Very few people get fired for being responsive to the needs of their boss's boss. This can either end up making your boss look good, even against his wishes, or can emphasize that you should be working for the senior manager.
I used to have a similar problem. Our old management was only interested in making themselves look good by making promises they had no intention of keeping. They did a good job of sheltering us little people from the senior managers. If they hadn't done this, it would have taken far less time for senior management to realize how little value they added. Now the middle managers have moved on and there are no more artificial barriers to communication between me and senior management. They handle the business needs and I handle the technical needs.
I hope the terrorists implement ideas like this. Hydrogen in a plastic bag has got to be one of the wussiest "bombs" someone could make. It wouldn't take out a window, but it could singe your eyebrows.
I've never gotten any meaningful specs for any of the software projects I've worked on. The closest I've gotten is "requirements" from a vendor that is really a proposal of how they intend to use their products to fit our needs, ignoring the needs that are not met by their products.
The problem with specs is that you have one person or group trying to convey what they think is relevant to another person or group who will do the implementation. I believe it's better to help the other person or group understand the needs and give their input as well. I respond to requests for programs with questions about the actual needs of the requester. For example, one program that was needed had 5 distinct functions it needed to perform. I told the person (non-technical) that if I skipped #4, I could do it before lunch. Otherwise, it would take a couple of weeks and require endless meetings to discuss point #4. It turned out the functionality was more of a wish than a requirement.
I think it's a matter of different types of personalities. I agree that there are people who really need the specs. If you don't understand the subject matter, the specs represent the compressed version of the subject matter that is deemed relevant.
Those who do understand the subject matter at least as well as those writing the specs are better off taking the position Linus has. One should ignore the specs when they're asking for the wrong thing. Only someone who knows the subject matter and the technology is going to be able to determine that there is a better way of achieving the desired goal, regardless of what's been specified.
Both types of personalities have their places. I can write software that fits the needs of the customer, whether or not they knew what they needed when they came to me. On the other hand, I wouldn't want a pilot to share my disinclination for documentation or checklists.
You're right about specs being a contract. I think this is also why so many software projects fail. Once the specs have been signed off, there's a disincentive to provide a more useful product if it would conflict with the specs. Though, for open source projects I think the legal implications would be irrelevant. A developer could simply add a comment like "Ignored sections 3-7. Do not share author's affinity for smoking crack." In business, completing the contract is the goal. For open source, having a working program is the goal. These don't always coincide.
Windows causes billions of dollars in economic harm to our society. Viruses which spread because of security problems in Windows have caused significant economic impacts. I think it's fair to say we would have to get rid of personal computers and all software ever written for them if you want liability for software.
Backup cars belong in the garage where there is another physical barrier to theft. And if you're having a regular problem with this, I suggest not leaving the car running when you're not around.
The reason for liability for products like cars in the real world is that people can die. Bad software is inconvenient. The right to not be inconvenienced, especially as a result of your own choices, does not have as much case law backing it up.
Databases aren't common because they're the most efficient or best way to store information. They're common because you can have numerous applications written in various languages store and retrieve data from a common source. One of the problems with liability is that it's the antithesis of interoperability. Would you release software that could crash and cause you liability because the underlying database had a problem? Would you allow other people's applications to connect to your database if you could be held liable for their incompetance? There are definitely abuses of the system, but legal liability only leads to increased cost. Look at software for medical hardware. There is a severe liability that goes with that and the costs are tremendous.
I write software for internal use. I cover the majority of expected or observed cases. Even the simplest software would take forever to write if it had to handle every possible error gracefully. I don't think it's unreasonable to say that a 2 hour program written to perform its function would take a year (2000 hours) to write if everything had to always work perfectly in all cases. I think as a rough estimate, 1000 times is quite fair. Now, are you willing to pay 1000 times as much for all of your software? That's probably a low estimate of the cost of demanding the producer be liable for the software that you're using on your hardware in your environment with your requirements, none of which the software vendor reviewed.
The public has chosen to support poor software. Some software costs you a ton of money. Other software is inexpensive monetarily, but requires a significant investment of time. There is just no way to make software cost effective for the masses if every package sold had to worry about liability.
The entire universe is faulty. This mess can't have been in the original specs. Entire stars collapse and explode. The documentation is nonexistent. And you can just forget about technical support - they wouldn't even pick up if you could find the number. If something doesn't work the way you want it to, does the fault lie with the inanimate object, or the person with irrational and unrealistic expectations?
I agree that the courts (and people not taking responsibility for their own actions) are a significant contributing factor.
There are a lot of companies who develop software using the cheapest(often least experienced as well) labor and manage the development based on the release date, with reckless disregard for the features or stability of the product. People that do not understand software assume that all software is either unreliable (like their desktops) or fabulously expensive (mainframes). These people are voting with their wallet for low quality software.
The approaches most companies take in an effort to produce higher quality software do little more than pad the wallets of consultants and create volumes of documentation. Companies do all of this sillyness of their own free will right now. If there were a legal obligation for software to all be developed to the level of quality needed for use in life support systems, we'd have to throw away PC's and everything ever written for them.
I'm willing to live with software that's good enough. Then again, I use a lot of open source software, so I'm already getting more than I'm paying for.
I've been working as a programmer and/or unix sysadmin for over 15 years. My work isn't too far detached from my hobby, so that worked out pretty well for me. As much as I still have respect for the Atari as a great learning tool at the time, I wouldn't give one to my kids. They'll grow up with different Unix platforms, and maybe, if I must, Windows in a VMware session. One of the greatest resources I had as a kid was all the BBS's where I could find other people with similar interests. Now, instead of being limited to local phone calls, we can find information from all over the world. Even though I'm sure there are Atari 8 bit fanatics out there, I've grown out of it and don't need my kids to relive my childhood. I'm sure they'll have a better version. =)
I'm not surprised to hear of people dying from carbon monoxide poisoning. Knowing how things work helps avoid the obvious pitfalls. However, anyone should be able to read the instructions, especially the page that says "IF YOU DON'T KNOW THIS STUFF, YOU'RE GOING TO DIE." People who have generators just for emergencies don't think about them much, and when they do, they're under additional pressure to just make it work. That's not the recipe for unmitigated success.
People who can't relate to technology or machines have a hard time understanding how they work. The trick is recognizing where you have crossed the line between master-of-your-domain and idiot, and learning from the experience of others.
The One True Way is whatever works for you. It's a philosophy, a way of life. The problem comes from people who believe everyone must accept their way. My One True Way does not have to agree with yours. I believe in BSD. I recognize everyone's right to choose their own path, even the Plan 9 freaks. =)
In the bad old days, it was necessary to understand the hardware if you wanted to write interesting software. It may not be possible to understand everything about modern systems, but don't forget that we learned it about the old systems because we had to, not because it was always fun.
I used to know all the memory locations in the Atari 800 and how to use them to do all sorts of things. I knew 6502 assembly and a slew of other languages for the Atari. It was a good platform at the time, but I wouldn't want to go back to the hardware or even the software of yesteryear.
I don't know as much about any of the platforms I use now. However, I now have a ton of other tools available that make what I'm doing easier. I'll take a modern Unix system over an Atari 800 any day of the week. I believe I can emulate the Atari under Unix, as a testament to the progress we've made. I can also appreciate that I don't have to solve as many problems as before, because others have already done it and made their programs available.
I've been using computers for 25 years now. I think I count as a geezer. I don't think my kids will lack any of the opportunities I had. In fact, I think they'll be better off because I can give them my old hardware running Unix. They won't have to mess around with a bunch of proprietary systems before they can discover the One True Way. =)
Sorry, that's my fault.
I don't go to theatres because they're too expensive. Whenever I see a commercial for a movie that looks good, I make a mental note to buy that on DVD when it comes out. I figure for $3-6 more than a movie ticket, I'd rather have the DVD. Of course, by the time the movie eventually comes out on DVD, I've completely forgotten everything about it, including my past interest in purchasing their product.
I have the same problem with TV. I watch one show, and if it happens to be the one that doesn't suck, I want to purchase the season on DVD. However, they won't sell it to me until they've shown all of the episodes and gotten all the advertising money from commercials that they can get.
Movie piracy does not cost the companies anything. The people who are pirating movies wouldn't pay for them if they were a penny a piece. Claiming this as a loss is just creative bookkeeping (fraud) on the part of the movie companies.
The real harm is being done every day by people like me who could purchase their products, but don't. I'm a bad consumer. I should be taken out and shot for my crimes against the corporations.
It makes us feel special to believe we caused it. Sure, the planet has been around for a long time. And true, we didn't keep track of most of this stuff until recently. But are those really reasons why we shouldn't take credit for what's happening? Nature won't respect our authority if we don't show it who's boss.
It also has a lot to do with the large number of people who strongly believe that correlation == causation. I suspect this belief is held by the majority.
Though, I think this is just an excuse to argue with people. After all, if global warming was a natural climate change, there would be no one to point the finger at. Environmental groups are all about whining about perceived problems. Imagine what would happen to our society if those people actually had to DO something for a living instead of mooching off other people's fears and making up sensationalist stories.
I don't hold that against the language, but I'm sure not going to hire anyone who writes code like that. Anyone can write obfuscated code in any language if they are so inclined.
Regular expressions are a good example of something that is incredibly useful and powerful, but total gibberish to people who don't understand them. I'd hate to not have them just because some people think they're ugly.
The problem is that there are very high operating costs. You need an insane volume of air at high pressure. I have a couple of vortex tubes. They're great for air cooling in a machine shop where you already have a very large air compressor running all the time. They're a horrible idea for areas that lack energy sources.
g erator would be a much more hopeful technology for the stated purposes.
I think http://en.wikipedia.org/wiki/Gas_absorption_refri
If you have the heat differential to run a sterling engine, why not just go directly to http://en.wikipedia.org/wiki/Gas_absorption_refrig erator?
I'll evolve you one of each. In order to make this a fair comparison, I'll need several million years and funding for this project. The ball's in your court.
If you hang up, they just go on to the next person. IIRC, they only need one sucker per 3,000-10,000 calls to for telemarketing to be profitable. If you want to have an impact, be more like a rude American. Lead them on, but don't commit to anything. If they want to confirm your name or address, tell them about your pets/children/last bowel movement, or whatever takes up time. I used to keep a headset on the kitchen phone so I could cook while wasting a ton of their time. 10-30 minutes on the phone without making a sale is going to make them look bad.
The first line of the email ESR originally received screams spam to me. In fact, the entire email sounds like spam. I wouldn't be surprised if I could find the exact same thing caught by my spam filter.
Perhaps it's a matter of principle for him, or just an opportunity to go off on a clueless headhunter. I'm not a MS fan, but I'd entertain any offers they wanted to make. MS won't change because we want them to. MS will change when people within the organization stick to their principles and show that there is another way.
But he could show up armed.
I'm not surprised to see such a response from ESR. I would at least want to discuss how much M$ is willing to pay. Being paid an astronomical sum to subvert your enemy from the inside would strike me as having significant job satisfaction potential.
It really shouldn't be surprising. To non-geeks, technology is something that is accepted on blind faith because someone with greater belief told them to. Seems a lot like a religion to me.
Smart people with a track record of good ideas will generally produce more of them. Google just wants a chance to get the ideas before anyone else. There are such positions in many large companies because good ideas with profit potential will pay many times over for all the unprofitable ideas.