I totally agree, parent is living in a fantasy world. Rules 1 and 2 are dead on; even though the results never work out, those 2 rules get repeated project, after project, after project.
I always read posts that suggest that the engineers/developers are the ones that refuse to follow proper development procedures (requirements, design,..., documentation, etc), however I spend most my time fighting to implement them, with little success. Just trying to get requirements is like pulling teeth, and I've actually been told "If you #$#@ing need to know what we want before you build it, then we are going to have a problem." Then trying convince people that a project actually needs a Designer/Architect is very difficult, rather than just letting the programmers (4 new guys that just got out of high school) start right away. Don't get me started on documentation.
I've been technical lead and a manager before so I know why many managers do this; fear and weakness. It takes a strong backbone to take your medicine at the beginning of a project by insisting on proper procedures, change management, and schedule; it is far easier to present project fantasy to your superiors and blame the developers later when the project fails. Unfortunately we have managers, who only manage their own risk, rather than leaders, coaches, and mentors.
"... where is the "very little bugs to begin with at a reasonable price" stuff?..."
Linux.
Cars change ever so slightly, because bugs in cars kill people. If software were like cars, there would be a new version of an application every 10 years, and it would have 3 minor improvements and some cosmetic changes. A word processor would come out next year with bold text, 4 years later, italics.
Also, most software runs on general purpose computers, which the software vendor has no control over. This makes it much harder. OS X has an easier time, because Apple controls the hardware, but you pay extra for that (most people would rather buy a $399 Dell). Plenty of software is virtually bug free, such as the software that runs your DVD player, but the hardware is completely controlled, the software is very simple in features, and they add new features, very, very slowly.
I'm working on a large application right now for a client, it serves 1600 people and is important to the company. We have many known bugs but the most of them don't stop a user from using the system, but some will cause the application to crash. I always let the client know about all the known bugs and the level of reliability of the product. It is them that decides when the application is rolled out, not me. I guarantee that it will be rolled out with all these bugs and more, and in a months time the users will be complaining about them. But we wont' fix them then, we will be working on new features that will add more bugs. And when we say that the product isn't ready, they will say roll it out anyways. I don't blame them, because their users may complain about bugs, but the simply won't wait or pay for the bugs to be fixed.
I disagree completely (about liability, not calling yourself an engineer after learning VB at DeVry). Most software is non-critical, and the software that is critical (flight control systems) are developed with security and reliability in mind; except for the few well know software disasters as you've mentioned. This kind of critical software is also very, very expensive, and is limited to the features that the engineers can guarantee to work.
It's all very simple, customers do not want secure or reliable software. The refuse to pay more for it, they refuse to wait for it to be built, they refuse to give up features for it. We can all debate this and that in regards to bugs and security, but until someone is willing to pay for it, it really is just idle chatter.
I'm not sure if it would kill OSS, but what it will do is force commercial software to have exponentially less features, so that the few features it does have are approved, thoroughly, by the lawyers. The cost of developing software will skyrocket.
Take your favorite software you work with every day. Remove 80 - 90% of the features. Make it cost 10 times as much, or more. Sit back and enjoy your secure bug free software (as if there is even such a thing).
For you people who think software liability makes sense for non-critical applications, you get the software you deserve.
I was going to write something very much like this, so I'll just agree.
Programming is very difficult beyond the very basics, and most people who do it for a living are able to do it, because they love it. Any less and eventually they will quit.
I think the job of someone teaching entry level programming is to get the students excited about what they can do with programming, and to introduce them to the basics with as little distractions as possible. Writing without an IDE, compiling, etc. are very important topics, but I think they should taught a little later when the students decide that they like programming enough to take a higher level class.
That being said, once you get into those higher level classes, students should be able to write code in Notepad/pico/vi/TextWrangler, and compile it using the command line,and debug it without a debugger; knowing the basics is very important, even if you mostly use an IDE in the future.
I was network engineer for many years, then I became programmer, which I've been doing for many more years. At work I use a PC, but at home it's all Macs. And now that my Macbook Pro runs Windows so d@mn well, my next work computer will probably be a mac also.
Why? Simple: Mac = *nix (which I love on servers) + great windows manager
That's my reason, period. For things which I don't want to fuss with (music, digital photos, updates, etc) OS X is simple and I don't have to worry about it. For things that I do want to fuss with I have BSD, XWindows, and everything else you find on your linux distro. Best of both worlds, although at a higher price and being locked into one hardware company.
Over the years I tried and tried to replace Windows with a good Linux desktop distro. There was always something that was lacking. Then I found OS X.
I think you will find more and more technical people moving over to OS X, at least *nix ones. Now I have to admit that also enjoy design work, so I really appreciate beautiful things, wether that being perfectly simple elegant code or the PowerBook, so perhaps you should ignore everything I said above.
>Click on a MP3 file in your browser. Does the file open in your default MP3 player (eg iTunes)? No, you get a blank browser window with a crappy QuickTime progress bar in it. [Yes, it can be turned off, but it's an ass default.]
How is this stealing filetypes (in Windows I understand this)? I understand that you don't like the default behavior of Quicktime handling audio and video in Safari, that is your opinion. I, personally think it is a good default for most users.
> Have you? You haven't demonstrated any particular OS X knowlege, just knee-jerk Appleism.
Knee-Jerk Appleism? I was responding the the first parent about how Quicktime was as slow and unstable on OS X as it is on Windows, which is just plain wrong. Apple did a poor job with Quicktime and iTunes on Windows IMO. But they did a good job with them in OS X. As my original post said, this is common when porting applications, rather then redesigning them to work within the target OS's standards.
I have a feeling that anytime anyone likes anything to do with an Apple product you attribute this with "knee-jerk Appleism". I like how you ignored all my other complaints about Quicktime.
Keep up the good fight, I'm sure you'll bring down Netscape 4 any day now.
Quicktime in OS X is very fast, stable, and doesn't take forever to open. It opens instantly on my MacBook Pro, and on my older PPC Mac Mini, it takes like a second; which all makes sense because Quicktime is integrated into the OS, unlike in Windows where it is glued on top.
Yes requiring PRO to go to fullscreen is lame; however that isn't a technical problem it is a management problem; them trying to squeeze 29 bucks out of people to watch a video fullscreen; very lame. PRO is a good deal if you are buying it for the real "PRO" features, but fullscreen isn't one of them.
I think VLC would argue with you that Quicktime is the only decent video player on OS X.
"crappy browser plugin that steals filetypes", what are you talking about? Steals filetypes from what on OS X exactly? Have you actually used OS X?
I have to agree, Quicktime and iTunes on Windows sucks. However Quicktime and iTunes on OS X is great. It is a classic example of how porting software generally sucks, rather than redesigning it for the OS. Just as Windows Media Player on OS X sucks bad, thankfully they stopped making it.
It's too bad that many people's only exposure to Apple software is running these ports on Windows. From that perspective I can see why many feel the way they do about Apple's quality. However, if you use a Mac for a week or so, I'm sure your opinion will change.
Even Firefox which is decent on the Mac isn't' that great because it doesn't do things the same way as the OS. That's why I prefer Safari on Mac, where I love Firefox on Windows.
Off topic slightly, but many people say that since Macs can run Windows now, no-one will port over Windows applications; I say great. OS X doesn't need Windows ports, for most applications they have great OS X designed apps that do the same thing. However there are few applications that are missing, but a lot less than the average Windows user would think I'd imagine.
You are correct, 60% thicker, I transposed that, the Dell is 161% of the Apple's thickness.
However, you aren't getting my point, you pay a lot more for size reduction and design (not appearance, but design). The Dell you picked isn't a good comparison; I can compare that Dell to a 13lb desktop replacement laptop with a full AMD 64 chip in it and claim the Dell is so slow and expensive; but that would be kind of silly.
I too own a BMW, because I don't mind paying extra for good design and service. However if you compare the parts of the BMW to the parts in a high quality Honda or Lexus, the BMW is overpriced for the parts you get. However, people buy a BMW or a Mac because of the design, overall product, and service, not because of the part list. Most people, like you it seems, simply compare part lists; which is totally fine and thus why most cars and computers are Hondas and Dells; and why we will all be working for Wal*Mart soon. That is why a Mac is like a BMW, it's a good comparison.
Just to clarify: the MacBook Pro does come with a VGA connector, the S-Video port is a $15 cable. ExpressCard > PCMCIA. Changing the HD isn't hard, it doesn't have a nice HD slot, but it's 1" thick, there isn't exactly space. 3 USB, 1 Firewire 400, and 1 Firewire 800 ports.
Macs are more expensive, no doubt, but they are not twice as much; that is ridiculous.
In the next Apple thread, I'm sure someone will claim a Dell is 1/10th the cost of a Mac.
I believe all the "Apple zealots" are complaining about is the gross exagerations someone makes (in every single Apple thread) that you can "get the same machine at half the price". Apple charges a premium for their hardware, exactly as BMW does; no argument. Wether you think it is worth it or not is another issue. Half as much is $1,400, not $2,100 (75% as much) to $2,900.
How thick and heavy is that Dell that is 75% to 103% cheaper than the MacBook Pro? (hint: 161% thicker)
I love when someone does this: comes up with a silly overly long list for one side of the argument, then provides a unrealistically short list for the other side of the argument. You don't have to exaggerate to make your point. I've taken the liberty to fix your second list:
debian/ubuntu systems: 1) Google all over the Internet to find solution for your problem 2) Wade through the pages of flamewars on which competing software is better (VI or Emacs, only god knows for sure) 3) Call grandson to see how to enter "app-get install Vimacs" 4) type "apt-get install Vimacs" 5) Call grandson to ask where the icon is to run Vimacs 6) Be confused as to what grandson is talking about, still wonder where the icon is, all the rest of the applications have one?
Now lets add the Mac way of doing it, just for giggles shall we: 1) Go to Version tracker, and find the app you want, or read about in MacWorld magazine (yes they review small apps as well as Word), or go to Apple store (yes small apps can actually get shelf space in a retail store, try that in CompUsa) 2) Download (tiny file usually) the app from Version tracker, or from the Author's website 3) Finder window pops up, with nice little graphic showing you to drag it to your applications folder. Or if you are a "power user" you can install it to any folder you like. To the user it is one file, and usually it will run from anywhere 4) Double click on the icon to run it.
What else can we do with an OSX app: 1) Want to move the entire application to another computer (this even works with M$ Office), simply copy the file over 2) Want to move it to another folder, go for it. 3) Want to reinstall your OS, go ahead, just copy all your apps back, there is no "Install" needed. "Install", wtf? 4) Want to "uninstall", heh... uninstall... silly Windows people, just delete it. 5) Want to run it from a CD, thumb drive, over the network, no problem 'mon 6) Want to run 10 different versions of the same app (this is great for many reasons), no worries, just change their name or copy them in different folders
I sum up the 3 ways of dealing with installs this way:
Windows - "Go to window 1, fill out this form in triplicate, proceed to next 15 windows, move along, move along, next user please"
*nix - "How do you install XYZ, oh, it's so easy, just start with the quadratic equation, you do know the quadratic equation don't you?"
Mac - "Look at the pretty picture, move it here...aaah... don't you like pretty pictures"
I think you misunderstand why often an estimate often can't be given. It isn't just because the engineer, or whomever, doesn't want to give it or is lazy. Many people who request estimates simply refuse to do 10 minutes of work to get even the most basic of requirements, and then expect you to give an estimate with 25 seconds of thought and be somewhat accurate. There really are only two responses to this all too common practice. One is to insist that you cannot give an estimate without at least a few details or two give an extremely inaccurate estimate that can't possible provide any benefit to any manager. Both responses provide no use to project management or upper management, yet waste everyone's time. And people like you would replace the engineer in this situation; do you think the next engineer will be able to perform any better in the same situation?
Here is quick example anyone can understand. You ask a contractor to build you a house. Then you ask him how long it will take and how much it will cost. He asks you for the architectural drawings, but you don't have them. He then says he can do a ballpark estimate based on his previous experience. So he asks you how big the house will be, how many floors, how many garages, will there be granite for counter tops or Formica, where is the house going to be located, etc. etc? To all these questions he gets the same response from you, the response is "I don't know". Do you really think he could possible even come close to an estimate without any information whatsoever, much less what he should have which are blueprints? Is it the contractor who isn't doing his job here or you?
Now, things like software development or 10x more complicated, as houses tend be very similar and rarely do contractors have to invent anything new or use materials that they've never used before (both common in software development). Yet "managers" will expect estimates in software development while giving you even less information than they would a building contractor.
As for your salary example, that is perfect example. You state that they make a commitment based on their projected estimates of how the business will perform. It sounds like they are able to tell you your salary based on solid data, which I imagine was obtained during a decent amount of work. All we ask is you let us do the same.
I agree. It's real simple, programming and other technical jobs that require design and creativity are talent/experience jobs. And if the interviewer is really interested in getting a particular job done, rather than an HR department drone that is interesting in not getting in trouble, they will find the person with the most experience/talent that they can afford. An experienced programmer can do in 6 hours what a CS Degree holder with no experience can do in 3 weeks. When I interview people this fact is on my mind, as the programmer being interviewed will be paid a sizable amount of money per hour.
When people ask me how to become a programmer, I give them the same answer if they had asked about becoming a writer or artist; the answer is to program (write or create art respectively). Program, program, and program some more. Don't show me a piece of paper from a college or a list of references which I can't verify are real; show me what you've programmed, tell me about it, have passion about it.
I've interviewed many people and it is really hard to determine who will be good and who will not. Because of this, I usually tell a candidate that we are ready to hire that they will be given a chance. They will be given tasks; if they perform well they will not be fired; if they perform poorly they WILL be fired, and quickly. The proof is in the pudding - period - end of story.
Personally I have a great deal of experience in software development (old timer). I don't interview for jobs. If I need a job, I call any number of managers/project managers/co-workers on any number of past projects and let them know I'm available. This is because I make good pudding, and I do it real fast
I totally agree, parent is living in a fantasy world. Rules 1 and 2 are dead on; even though the results never work out, those 2 rules get repeated project, after project, after project.
..., documentation, etc), however I spend most my time fighting to implement them, with little success. Just trying to get requirements is like pulling teeth, and I've actually been told "If you #$#@ing need to know what we want before you build it, then we are going to have a problem." Then trying convince people that a project actually needs a Designer/Architect is very difficult, rather than just letting the programmers (4 new guys that just got out of high school) start right away. Don't get me started on documentation.
I always read posts that suggest that the engineers/developers are the ones that refuse to follow proper development procedures (requirements, design,
I've been technical lead and a manager before so I know why many managers do this; fear and weakness. It takes a strong backbone to take your medicine at the beginning of a project by insisting on proper procedures, change management, and schedule; it is far easier to present project fantasy to your superiors and blame the developers later when the project fails. Unfortunately we have managers, who only manage their own risk, rather than leaders, coaches, and mentors.
"... where is the "very little bugs to begin with at a reasonable price" stuff? ..."
Linux.
Cars change ever so slightly, because bugs in cars kill people. If software were like cars, there would be a new version of an application every 10 years, and it would have 3 minor improvements and some cosmetic changes. A word processor would come out next year with bold text, 4 years later, italics.
Also, most software runs on general purpose computers, which the software vendor has no control over. This makes it much harder. OS X has an easier time, because Apple controls the hardware, but you pay extra for that (most people would rather buy a $399 Dell). Plenty of software is virtually bug free, such as the software that runs your DVD player, but the hardware is completely controlled, the software is very simple in features, and they add new features, very, very slowly.
I'm working on a large application right now for a client, it serves 1600 people and is important to the company. We have many known bugs but the most of them don't stop a user from using the system, but some will cause the application to crash. I always let the client know about all the known bugs and the level of reliability of the product. It is them that decides when the application is rolled out, not me. I guarantee that it will be rolled out with all these bugs and more, and in a months time the users will be complaining about them. But we wont' fix them then, we will be working on new features that will add more bugs. And when we say that the product isn't ready, they will say roll it out anyways. I don't blame them, because their users may complain about bugs, but the simply won't wait or pay for the bugs to be fixed.
I disagree completely (about liability, not calling yourself an engineer after learning VB at DeVry). Most software is non-critical, and the software that is critical (flight control systems) are developed with security and reliability in mind; except for the few well know software disasters as you've mentioned. This kind of critical software is also very, very expensive, and is limited to the features that the engineers can guarantee to work.
It's all very simple, customers do not want secure or reliable software. The refuse to pay more for it, they refuse to wait for it to be built, they refuse to give up features for it. We can all debate this and that in regards to bugs and security, but until someone is willing to pay for it, it really is just idle chatter.
I'm not sure if it would kill OSS, but what it will do is force commercial software to have exponentially less features, so that the few features it does have are approved, thoroughly, by the lawyers. The cost of developing software will skyrocket.
Take your favorite software you work with every day. Remove 80 - 90% of the features. Make it cost 10 times as much, or more. Sit back and enjoy your secure bug free software (as if there is even such a thing).
For you people who think software liability makes sense for non-critical applications, you get the software you deserve.
I was going to write something very much like this, so I'll just agree.
Programming is very difficult beyond the very basics, and most people who do it for a living are able to do it, because they love it. Any less and eventually they will quit.
I think the job of someone teaching entry level programming is to get the students excited about what they can do with programming, and to introduce them to the basics with as little distractions as possible. Writing without an IDE, compiling, etc. are very important topics, but I think they should taught a little later when the students decide that they like programming enough to take a higher level class.
That being said, once you get into those higher level classes, students should be able to write code in Notepad/pico/vi/TextWrangler, and compile it using the command line,and debug it without a debugger; knowing the basics is very important, even if you mostly use an IDE in the future.
I was network engineer for many years, then I became programmer, which I've been doing for many more years. At work I use a PC, but at home it's all Macs. And now that my Macbook Pro runs Windows so d@mn well, my next work computer will probably be a mac also.
Why? Simple: Mac = *nix (which I love on servers) + great windows manager
That's my reason, period. For things which I don't want to fuss with (music, digital photos, updates, etc) OS X is simple and I don't have to worry about it. For things that I do want to fuss with I have BSD, XWindows, and everything else you find on your linux distro. Best of both worlds, although at a higher price and being locked into one hardware company.
Over the years I tried and tried to replace Windows with a good Linux desktop distro. There was always something that was lacking. Then I found OS X.
I think you will find more and more technical people moving over to OS X, at least *nix ones. Now I have to admit that also enjoy design work, so I really appreciate beautiful things, wether that being perfectly simple elegant code or the PowerBook, so perhaps you should ignore everything I said above.
>Click on a MP3 file in your browser. Does the file open in your default MP3 player (eg iTunes)? No, you get a blank browser window with a crappy QuickTime progress bar in it. [Yes, it can be turned off, but it's an ass default.]
How is this stealing filetypes (in Windows I understand this)? I understand that you don't like the default behavior of Quicktime handling audio and video in Safari, that is your opinion. I, personally think it is a good default for most users.
> Have you? You haven't demonstrated any particular OS X knowlege, just knee-jerk Appleism.
Knee-Jerk Appleism? I was responding the the first parent about how Quicktime was as slow and unstable on OS X as it is on Windows, which is just plain wrong. Apple did a poor job with Quicktime and iTunes on Windows IMO. But they did a good job with them in OS X. As my original post said, this is common when porting applications, rather then redesigning them to work within the target OS's standards.
I have a feeling that anytime anyone likes anything to do with an Apple product you attribute this with "knee-jerk Appleism". I like how you ignored all my other complaints about Quicktime.
Keep up the good fight, I'm sure you'll bring down Netscape 4 any day now.
Quicktime in OS X is very fast, stable, and doesn't take forever to open. It opens instantly on my MacBook Pro, and on my older PPC Mac Mini, it takes like a second; which all makes sense because Quicktime is integrated into the OS, unlike in Windows where it is glued on top.
Yes requiring PRO to go to fullscreen is lame; however that isn't a technical problem it is a management problem; them trying to squeeze 29 bucks out of people to watch a video fullscreen; very lame. PRO is a good deal if you are buying it for the real "PRO" features, but fullscreen isn't one of them.
I think VLC would argue with you that Quicktime is the only decent video player on OS X.
"crappy browser plugin that steals filetypes", what are you talking about? Steals filetypes from what on OS X exactly? Have you actually used OS X?
I have to agree, Quicktime and iTunes on Windows sucks. However Quicktime and iTunes on OS X is great. It is a classic example of how porting software generally sucks, rather than redesigning it for the OS. Just as Windows Media Player on OS X sucks bad, thankfully they stopped making it.
It's too bad that many people's only exposure to Apple software is running these ports on Windows. From that perspective I can see why many feel the way they do about Apple's quality. However, if you use a Mac for a week or so, I'm sure your opinion will change.
Even Firefox which is decent on the Mac isn't' that great because it doesn't do things the same way as the OS. That's why I prefer Safari on Mac, where I love Firefox on Windows.
Off topic slightly, but many people say that since Macs can run Windows now, no-one will port over Windows applications; I say great. OS X doesn't need Windows ports, for most applications they have great OS X designed apps that do the same thing. However there are few applications that are missing, but a lot less than the average Windows user would think I'd imagine.
You are correct, 60% thicker, I transposed that, the Dell is 161% of the Apple's thickness.
However, you aren't getting my point, you pay a lot more for size reduction and design (not appearance, but design). The Dell you picked isn't a good comparison; I can compare that Dell to a 13lb desktop replacement laptop with a full AMD 64 chip in it and claim the Dell is so slow and expensive; but that would be kind of silly.
I too own a BMW, because I don't mind paying extra for good design and service. However if you compare the parts of the BMW to the parts in a high quality Honda or Lexus, the BMW is overpriced for the parts you get. However, people buy a BMW or a Mac because of the design, overall product, and service, not because of the part list. Most people, like you it seems, simply compare part lists; which is totally fine and thus why most cars and computers are Hondas and Dells; and why we will all be working for Wal*Mart soon. That is why a Mac is like a BMW, it's a good comparison.
Just to clarify: the MacBook Pro does come with a VGA connector, the S-Video port is a $15 cable. ExpressCard > PCMCIA. Changing the HD isn't hard, it doesn't have a nice HD slot, but it's 1" thick, there isn't exactly space. 3 USB, 1 Firewire 400, and 1 Firewire 800 ports.
Macs are more expensive, no doubt, but they are not twice as much; that is ridiculous.
In the next Apple thread, I'm sure someone will claim a Dell is 1/10th the cost of a Mac.
I believe all the "Apple zealots" are complaining about is the gross exagerations someone makes (in every single Apple thread) that you can "get the same machine at half the price". Apple charges a premium for their hardware, exactly as BMW does; no argument. Wether you think it is worth it or not is another issue. Half as much is $1,400, not $2,100 (75% as much) to $2,900.
How thick and heavy is that Dell that is 75% to 103% cheaper than the MacBook Pro? (hint: 161% thicker)
I love when someone does this: comes up with a silly overly long list for one side of the argument, then provides a unrealistically short list for the other side of the argument. You don't have to exaggerate to make your point. I've taken the liberty to fix your second list:
...aaah... don't you like pretty pictures"
debian/ubuntu systems:
1) Google all over the Internet to find solution for your problem
2) Wade through the pages of flamewars on which competing software is better (VI or Emacs, only god knows for sure)
3) Call grandson to see how to enter "app-get install Vimacs"
4) type "apt-get install Vimacs"
5) Call grandson to ask where the icon is to run Vimacs
6) Be confused as to what grandson is talking about, still wonder where the icon is, all the rest of the applications have one?
Now lets add the Mac way of doing it, just for giggles shall we:
1) Go to Version tracker, and find the app you want, or read about in MacWorld magazine (yes they review small apps as well as Word), or go to Apple store (yes small apps can actually get shelf space in a retail store, try that in CompUsa)
2) Download (tiny file usually) the app from Version tracker, or from the Author's website
3) Finder window pops up, with nice little graphic showing you to drag it to your applications folder. Or if you are a "power user" you can install it to any folder you like. To the user it is one file, and usually it will run from anywhere
4) Double click on the icon to run it.
What else can we do with an OSX app:
1) Want to move the entire application to another computer (this even works with M$ Office), simply copy the file over
2) Want to move it to another folder, go for it.
3) Want to reinstall your OS, go ahead, just copy all your apps back, there is no "Install" needed. "Install", wtf?
4) Want to "uninstall", heh... uninstall... silly Windows people, just delete it.
5) Want to run it from a CD, thumb drive, over the network, no problem 'mon
6) Want to run 10 different versions of the same app (this is great for many reasons), no worries, just change their name or copy them in different folders
I sum up the 3 ways of dealing with installs this way:
Windows - "Go to window 1, fill out this form in triplicate, proceed to next 15 windows, move along, move along, next user please"
*nix - "How do you install XYZ, oh, it's so easy, just start with the quadratic equation, you do know the quadratic equation don't you?"
Mac - "Look at the pretty picture, move it here
I think you misunderstand why often an estimate often can't be given. It isn't just because the engineer, or whomever, doesn't want to give it or is lazy. Many people who request estimates simply refuse to do 10 minutes of work to get even the most basic of requirements, and then expect you to give an estimate with 25 seconds of thought and be somewhat accurate. There really are only two responses to this all too common practice. One is to insist that you cannot give an estimate without at least a few details or two give an extremely inaccurate estimate that can't possible provide any benefit to any manager. Both responses provide no use to project management or upper management, yet waste everyone's time. And people like you would replace the engineer in this situation; do you think the next engineer will be able to perform any better in the same situation?
Here is quick example anyone can understand. You ask a contractor to build you a house. Then you ask him how long it will take and how much it will cost. He asks you for the architectural drawings, but you don't have them. He then says he can do a ballpark estimate based on his previous experience. So he asks you how big the house will be, how many floors, how many garages, will there be granite for counter tops or Formica, where is the house going to be located, etc. etc? To all these questions he gets the same response from you, the response is "I don't know". Do you really think he could possible even come close to an estimate without any information whatsoever, much less what he should have which are blueprints? Is it the contractor who isn't doing his job here or you?
Now, things like software development or 10x more complicated, as houses tend be very similar and rarely do contractors have to invent anything new or use materials that they've never used before (both common in software development). Yet "managers" will expect estimates in software development while giving you even less information than they would a building contractor.
As for your salary example, that is perfect example. You state that they make a commitment based on their projected estimates of how the business will perform. It sounds like they are able to tell you your salary based on solid data, which I imagine was obtained during a decent amount of work. All we ask is you let us do the same.
I agree. It's real simple, programming and other technical jobs that require design and creativity are talent/experience jobs. And if the interviewer is really interested in getting a particular job done, rather than an HR department drone that is interesting in not getting in trouble, they will find the person with the most experience/talent that they can afford. An experienced programmer can do in 6 hours what a CS Degree holder with no experience can do in 3 weeks. When I interview people this fact is on my mind, as the programmer being interviewed will be paid a sizable amount of money per hour.
When people ask me how to become a programmer, I give them the same answer if they had asked about becoming a writer or artist; the answer is to program (write or create art respectively). Program, program, and program some more. Don't show me a piece of paper from a college or a list of references which I can't verify are real; show me what you've programmed, tell me about it, have passion about it.
I've interviewed many people and it is really hard to determine who will be good and who will not. Because of this, I usually tell a candidate that we are ready to hire that they will be given a chance. They will be given tasks; if they perform well they will not be fired; if they perform poorly they WILL be fired, and quickly. The proof is in the pudding - period - end of story.
Personally I have a great deal of experience in software development (old timer). I don't interview for jobs. If I need a job, I call any number of managers/project managers/co-workers on any number of past projects and let them know I'm available. This is because I make good pudding, and I do it real fast