But you show a lack of understanding of the situation most developers are in.
No offence taken, but I disagree. I've been a developer for 20 years, most of that in real-time mission critical systems. I'm now a developer when I need to be and a project, technical leader.
To keep in tune with your analogy, what if the client decides that the bathroom needs to be bigger and there needs to be a small garden in the living room and they don't like one of the pillars that's needed to support the original design.
Ooh, and they want it tomorrow and no money for a redesign of the blueprint so just 'go with the flow'.
If the original basis of estimate for the project did not include this, then it is a delta and everyone needs to understand a change after program start will cost time and money. If you are being paid by the customer, then this has to be communicated to them as a change is scope, and they have to agree to the delta cost/schedule. If this is internally funded then same thing - give the manager the impact and new estimate, and STICK TO IT.
If the manager tells you that you need to add 20% to the original design in zero time, then don't agree to it - give him the real impact. If you are good with your historical estimates he will believe you. If he doesn't then refuse the delta. (Of course if he finds someone else that can do what he asks, then you need to reevaluate your skills and/or estimating abilities).
Many times, a schedule or plan has to change despite the best efforts to do everything correctly up front. However if the manager asks the employee for the impossible AND THEY ACTUALLY TRY - thats the fault of the employee not the manager. The employee knows best as they are the domain expert. The manager will ask the impossible but it is the developer that must put a reality check on those demands.
I think you are confusing 'architecting' with 'coding'. The first step of creating a software architecture doesn't involve any code whatsoever.
I see no difference between software and any other discipline. It should be 20% up front design (architecture), 40% advanced design (preliminary and advanced prototyping) and 40% build.
Too bad. If that's the case, if you haven't done so already find yourself a new job quick. Hype is just window dressing and a pig in a dress is still a pig.
We use a modified iterative waterfall, but guidelines say design should be 20% of the total time. This also includes some prototyping of the high risk areas.
You are a person in power over a program with missing QA, poor communication, where you try to control technology instead of what gets produced, a program you yourself describe as a "colossal mess", and where you are describing those you work with as "arrogant".
Do you think there may be more problems with your program?
I'm in charge of a program where the ONLY problem was with the software lead. Mechanical, electrical, controls, etc - no issues at all. It also happens that the software line manager is friends with the moron software lead and refused to do anything despite repeated warnings that software was an impending train wreck. I was told to let him do what he wanted to do. My hands were effectively tied.
Several wasted millions of dollars later, I finally get him kicked off. Now its a matter of cleaning up the aftermath.
Yes, its sometimes hard for software developers to believe this, but sometimes the problem DOES lie with the software person.
I agree with what you say is an aspect, but you cannot just poor working conditions for bad coding. If software was properly architected from the ground up, then there wouldn't be so many bugs, and the schedule wouldn't be blown.
Where I work, the schedule is determined by the actual developers, and the features are finalized at the beginning of the program. If development stays on schedule, then management doesn't interfere (why interfere if there are no problems?). The conditions you state I'm certain exists in many companies, but they are not the case where I am.
So I'm not a programmer because I don't accept crappy buggy code? Get real. I've 20 years of real-time mission critical coding experience; I know what constitutes good code and architecture, and what is bad.
Software developers need to learn they have to ARCHITECT code. You cannot just hop in and start writing code without a plan. It would be the same as trying to build a house without blueprints, just nailing up wood at one of the corners.. It will kind of look like a house when done, but will have lots of problems. Code is the same thing.
The amount of time / effort / money I've lost over the years due to buggy and crashing computer software is staggering. And I solely blame this on incompetent software developers. I'm talking of both commercial software (I'm surprised they let some of this crap out the door - do they know what testing is?), and also my own experiences working with development teams.
I've had developers work for me that think they know everything there is to know, refuse to listen to any advice, and basically try to write software only in the way they believe it should be done, completely ignoring the needs and requirements of the system lead and the customer. Throw in to the mix some elitism and a complete lack of ability to communicate without insulting an derogatory statements, and you've got a profile of a large percentage of current software developers. I'm still working to undue to colossal mess of my last ex-software lead that I ended up kicking off the program because he fundamentally didn't know what he was doing (despite thinking he was the best developer on the planet). I've also worked with some amazingly brilliant software developers, but unfortunately they are few and far between. The sheer arrogance of some software developers is astounding.
I agree with you. My response was to Khyber who said it was bullshit to tell the credit card company that you were travelling to circumvent them declining your card. Even so, a simple phone call would clear it up.
It is a good idea for various reasons to have a backup, and not have all the money you eat and survive with locked up into a single bank.
I agree for credit, but I dont agree for general banking. I have all my money in a single bank, including car and home insurance, stock investments as well as mortgage and line or credit. I've had nothing but outstanding service from them over the last 20 years, and for my reward I currently have my home mortgage at 1.45%. Loyalty has its rewards. I do however have several credit cards from other institutions that I can draw on in an emergency.
What the hell are you talking about. Its not bullshit. They even ask you to tell them when you are going on vacation on the statements. This has always worked perfectly for me.
I call bullshit on your statement. Who the hell has ever had a $150 limit? This is unheard of unless you have a really crappy credit history. My first credit card when I was a student and no assets I had a $500 limit. If it's true, must be a Republican run bank where they try and control every aspect of your life.
Maybe if you weren't such a moronic dick you'd get farther when you ask people for something.
Judaism, Christianity and Islam all share a common root and share the old testament. There's more than a passing similarity between these.
Regardless, pagan (or judeo-christian), is meant to imply everything other than the above mentioned 'one-god' religions, its not meant to imply that Judaism and Christianity are the same. Pagan is usually used when referring to polytheistic religions.
True, but what I'm saying is just because a machine performs an action based on sensors doesn't make it intelligent. My toaster pops the toast out when the darkness of the bread from a photo voltaic cell matches the setting on the dial. This does not make it intelligent (nor a robot actually). The original poster argues they shouldn't be called robots since they are not making independent intelligent decisions.
So? Then the company is going down the tubes anyway. Go find a good company to work for.
But you show a lack of understanding of the situation most developers are in.
No offence taken, but I disagree. I've been a developer for 20 years, most of that in real-time mission critical systems. I'm now a developer when I need to be and a project, technical leader.
To keep in tune with your analogy, what if the client decides that the bathroom needs to be bigger and there needs to be a small garden in the living room and they don't like one of the pillars that's needed to support the original design. Ooh, and they want it tomorrow and no money for a redesign of the blueprint so just 'go with the flow'.
If the original basis of estimate for the project did not include this, then it is a delta and everyone needs to understand a change after program start will cost time and money. If you are being paid by the customer, then this has to be communicated to them as a change is scope, and they have to agree to the delta cost/schedule. If this is internally funded then same thing - give the manager the impact and new estimate, and STICK TO IT.
If the manager tells you that you need to add 20% to the original design in zero time, then don't agree to it - give him the real impact. If you are good with your historical estimates he will believe you. If he doesn't then refuse the delta. (Of course if he finds someone else that can do what he asks, then you need to reevaluate your skills and/or estimating abilities).
Many times, a schedule or plan has to change despite the best efforts to do everything correctly up front. However if the manager asks the employee for the impossible AND THEY ACTUALLY TRY - thats the fault of the employee not the manager. The employee knows best as they are the domain expert. The manager will ask the impossible but it is the developer that must put a reality check on those demands.
I think you are confusing 'architecting' with 'coding'. The first step of creating a software architecture doesn't involve any code whatsoever.
I see no difference between software and any other discipline. It should be 20% up front design (architecture), 40% advanced design (preliminary and advanced prototyping) and 40% build.
Too bad. If that's the case, if you haven't done so already find yourself a new job quick. Hype is just window dressing and a pig in a dress is still a pig.
There ARE good companies out there.
No, I'm often wrong, and I know enough to know when I'm wrong and will admit it to.
Why do you feel the need to attack me?
We use a modified iterative waterfall, but guidelines say design should be 20% of the total time. This also includes some prototyping of the high risk areas.
You are a person in power over a program with missing QA, poor communication, where you try to control technology instead of what gets produced, a program you yourself describe as a "colossal mess", and where you are describing those you work with as "arrogant". Do you think there may be more problems with your program?
I'm in charge of a program where the ONLY problem was with the software lead. Mechanical, electrical, controls, etc - no issues at all. It also happens that the software line manager is friends with the moron software lead and refused to do anything despite repeated warnings that software was an impending train wreck. I was told to let him do what he wanted to do. My hands were effectively tied.
Several wasted millions of dollars later, I finally get him kicked off. Now its a matter of cleaning up the aftermath.
Yes, its sometimes hard for software developers to believe this, but sometimes the problem DOES lie with the software person.
Yes, then the company/management are idiots. Quit and find a better job where the employee input is respected.
I agree with what you say is an aspect, but you cannot just poor working conditions for bad coding. If software was properly architected from the ground up, then there wouldn't be so many bugs, and the schedule wouldn't be blown.
Where I work, the schedule is determined by the actual developers, and the features are finalized at the beginning of the program. If development stays on schedule, then management doesn't interfere (why interfere if there are no problems?). The conditions you state I'm certain exists in many companies, but they are not the case where I am.
So I'm not a programmer because I don't accept crappy buggy code? Get real. I've 20 years of real-time mission critical coding experience; I know what constitutes good code and architecture, and what is bad.
Software developers need to learn they have to ARCHITECT code. You cannot just hop in and start writing code without a plan. It would be the same as trying to build a house without blueprints, just nailing up wood at one of the corners.. It will kind of look like a house when done, but will have lots of problems. Code is the same thing.
You seem awfully defensive..
The amount of time / effort / money I've lost over the years due to buggy and crashing computer software is staggering. And I solely blame this on incompetent software developers. I'm talking of both commercial software (I'm surprised they let some of this crap out the door - do they know what testing is?), and also my own experiences working with development teams.
I've had developers work for me that think they know everything there is to know, refuse to listen to any advice, and basically try to write software only in the way they believe it should be done, completely ignoring the needs and requirements of the system lead and the customer. Throw in to the mix some elitism and a complete lack of ability to communicate without insulting an derogatory statements, and you've got a profile of a large percentage of current software developers. I'm still working to undue to colossal mess of my last ex-software lead that I ended up kicking off the program because he fundamentally didn't know what he was doing (despite thinking he was the best developer on the planet). I've also worked with some amazingly brilliant software developers, but unfortunately they are few and far between. The sheer arrogance of some software developers is astounding.
They could take lessons from Bush on removal of private rights
I agree with you. My response was to Khyber who said it was bullshit to tell the credit card company that you were travelling to circumvent them declining your card. Even so, a simple phone call would clear it up.
It is a good idea for various reasons to have a backup, and not have all the money you eat and survive with locked up into a single bank.
I agree for credit, but I dont agree for general banking. I have all my money in a single bank, including car and home insurance, stock investments as well as mortgage and line or credit. I've had nothing but outstanding service from them over the last 20 years, and for my reward I currently have my home mortgage at 1.45%. Loyalty has its rewards. I do however have several credit cards from other institutions that I can draw on in an emergency.
What the hell are you talking about. Its not bullshit. They even ask you to tell them when you are going on vacation on the statements. This has always worked perfectly for me.
I call bullshit on your statement. Who the hell has ever had a $150 limit? This is unheard of unless you have a really crappy credit history. My first credit card when I was a student and no assets I had a $500 limit. If it's true, must be a Republican run bank where they try and control every aspect of your life.
Maybe if you weren't such a moronic dick you'd get farther when you ask people for something.
It's the Republicans fault the iPhone doesn't work in NYC. It's also their fault for the current economic mess, and the war in Afghanistan and Iraq.
And its the Republicans fault that you can't tell when someone is pointing out the idiocy of someone else's anti-semitic posting.
What are you talking about? Santa doesn't hate Linux!
What really frosted me was having my credit card suspended halfway across the country because of the gas stops.
That's a security measure. If you call before your trip and tell them what you are doing, then it wont get suspended.
No, that would be the *other* South Korea
Actually it's because of all the Republicans.
Thanks for bringing the crazy to the discussion.
I agree. The issue is less that Santa hates Linux, and more that Linux has crappy browser support.
Judaism, Christianity and Islam all share a common root and share the old testament. There's more than a passing similarity between these.
Regardless, pagan (or judeo-christian), is meant to imply everything other than the above mentioned 'one-god' religions, its not meant to imply that Judaism and Christianity are the same. Pagan is usually used when referring to polytheistic religions.
True, but what I'm saying is just because a machine performs an action based on sensors doesn't make it intelligent. My toaster pops the toast out when the darkness of the bread from a photo voltaic cell matches the setting on the dial. This does not make it intelligent (nor a robot actually). The original poster argues they shouldn't be called robots since they are not making independent intelligent decisions.
If that were the case, then there would not be any such thing as a 'robot'. They currently *all* are dumb machines.
The definition of a robot is a mechanical device controlled by software. There is no implied intelligence or independent decision making.