I dunno why he would invest. I've used Red Hat for years and thought it was fantastic until recently. I recently moved to Fedora Core 3 and it's an unmitigated piece of crap. (Well, in perspective to previous RedHat versions) Many pieces of the software do not work properly. (Try doing a getent passwd --service=ldap someday, it just hangs) Maybe the Enterprise Editions (or whatever they are calling it) are much better but Fedora is junk. I can't recommend it to anyone these days.
Well part of the reason is CS graduates are telling kids not to go for the major. That's pure crap to be telling people that the number of jobs in the IT industry are going to keep going up. Yeah, they're going up and they're going overseas. I can't in good faith tell some kid to waste the next 4 years of his life in a major and when he gets out there will be either no job for him or a crappy one. I've been out of work over a year now. Mid-30's, 15 years of experience and *I* can't find work? What hope is for them coming out with NO experience? That's why there are fewer CS majors.
There are three forms of documentation. The first describes what the product does, the second describes how it does it from an abstract point of view and the third describes how it does it from a concrete point of view.
The first is the requirements document. This document should be readable (and read) by everyone from your CEO/President down to your Secretary (oh sorry "assistant" as secretary isn't used anymore). It states that you have A and you want it to do/be B. The way to get to point A from point B is by developing and using the Widget. Any modifications to this document after the coding process has begun requires signoff by the coding project lead (not just the technical manager) and anyone else you may desire to be involved.
If your product managers (not project - product) attempt to put anything about HOW you the widget to work kill them. They are not software developers. Often times they are trying to "help" you because they know of other projects that are in the pipeline. Again, kill them. Those projects may never see the light of day yet would cost you X amount of development time to put the hooks in for it.
The second is the technical specification document. This document is seen by the developers primarly. Anyone else would just look at it and be confused as they well should be. This is an abstract view of the Widget in its development form. Objects are described in this document and how they inter relate with the other Objects (and/or data). However, no code is included in this document. Even pseudo-code is a no-no in most instances. However, there are exceptions to this rule. Your lead architects and technical project managers create this document. Everyone on the technical side should read it but the coding team are the only ones required to read it. The coding team gives an estimate on how long the project will take. (Hopefully this estimate can be peer reviewed by another team).
Again this all should be done before ANY code has been written (existing code is of course an exception).
At this point, code is written and documentation is peppered thoroughout the code. With Java or.NET you can put comments in the code that you can then use to create documentation. This is ideal. Any other kind of documentation about the code itself is useless as it will rarely be used if ever. Again, there are possible exceptions such as Class Diagrams. If you do peer reviews of code before check ins then the peer reviewer should also review the documentation in the code. If you do not do peer reviews then the a portion day after release (or whenever you do a post mortem) should be dedicated to code documentation review.
New developers on a project should read the requirements document. No exceptions. The second document is actually optional and used for reference. And of course, the third is available for reference and will be used the most (by developers).
The only time I've ever had my signature checked is when I was in a Strip Club in Las Vegas. Here I am, hammered out of my head and they want me to sign the damn receipt perfectly. And what was really sad is that I was a well known regular to the place. Idiots.
The only time the credit card companies care is when YOU are using YOUR card to make BIG purchases. I was on vacation in Aruba when my credit card mysteriously stopped working. I called the credit card company (ever make a call from Aruba? It's $30 if your quick) and they had stopped my card from being validated because big purchases were being made using it.
Cancelled the card when I got back but they're all the same way. They only care when it's *their* money. Never when it's yours.
Thoalex
You are correct. When I was in management I had to do that. An absolutely appaling requirement of the goverments. Making a manager who has a perfectly good employee, put out an advertisement for a job that really doesn't exist. Then you have to wade through reams of resumes (some of which are very good) and look for a reason not to hire someone. Absolutely ridiciulous.
I am in the exact same boat. 15 years of experience but I can't get hired to save my life (which is becoming the problem). What's amazing me is some of these employers are wanting you to have experience in Java AND.NET AND C++ AND C# AND (the list can go on). I was always considered the "Maverick" until for the last few years I became Management. But, even that doesn't help. I don't care what these surveys are saying, there aren't as many jobs out there as they are trying to lead you to believe. There are job *postings* but there aren't jobs.
He just can't get a job...
I dunno why he would invest. I've used Red Hat for years and thought it was fantastic until recently. I recently moved to Fedora Core 3 and it's an unmitigated piece of crap. (Well, in perspective to previous RedHat versions) Many pieces of the software do not work properly. (Try doing a getent passwd --service=ldap someday, it just hangs) Maybe the Enterprise Editions (or whatever they are calling it) are much better but Fedora is junk. I can't recommend it to anyone these days.
Well part of the reason is CS graduates are telling kids not to go for the major. That's pure crap to be telling people that the number of jobs in the IT industry are going to keep going up. Yeah, they're going up and they're going overseas. I can't in good faith tell some kid to waste the next 4 years of his life in a major and when he gets out there will be either no job for him or a crappy one. I've been out of work over a year now. Mid-30's, 15 years of experience and *I* can't find work? What hope is for them coming out with NO experience? That's why there are fewer CS majors.
There are three forms of documentation. The first describes what the product does, the second describes how it does it from an abstract point of view and the third describes how it does it from a concrete point of view. The first is the requirements document. This document should be readable (and read) by everyone from your CEO/President down to your Secretary (oh sorry "assistant" as secretary isn't used anymore). It states that you have A and you want it to do/be B. The way to get to point A from point B is by developing and using the Widget. Any modifications to this document after the coding process has begun requires signoff by the coding project lead (not just the technical manager) and anyone else you may desire to be involved. If your product managers (not project - product) attempt to put anything about HOW you the widget to work kill them. They are not software developers. Often times they are trying to "help" you because they know of other projects that are in the pipeline. Again, kill them. Those projects may never see the light of day yet would cost you X amount of development time to put the hooks in for it. The second is the technical specification document. This document is seen by the developers primarly. Anyone else would just look at it and be confused as they well should be. This is an abstract view of the Widget in its development form. Objects are described in this document and how they inter relate with the other Objects (and/or data). However, no code is included in this document. Even pseudo-code is a no-no in most instances. However, there are exceptions to this rule. Your lead architects and technical project managers create this document. Everyone on the technical side should read it but the coding team are the only ones required to read it. The coding team gives an estimate on how long the project will take. (Hopefully this estimate can be peer reviewed by another team). Again this all should be done before ANY code has been written (existing code is of course an exception). At this point, code is written and documentation is peppered thoroughout the code. With Java or .NET you can put comments in the code that you can then use to create documentation. This is ideal. Any other kind of documentation about the code itself is useless as it will rarely be used if ever. Again, there are possible exceptions such as Class Diagrams. If you do peer reviews of code before check ins then the peer reviewer should also review the documentation in the code. If you do not do peer reviews then the a portion day after release (or whenever you do a post mortem) should be dedicated to code documentation review.
New developers on a project should read the requirements document. No exceptions. The second document is actually optional and used for reference. And of course, the third is available for reference and will be used the most (by developers).
The only time I've ever had my signature checked is when I was in a Strip Club in Las Vegas. Here I am, hammered out of my head and they want me to sign the damn receipt perfectly. And what was really sad is that I was a well known regular to the place. Idiots. The only time the credit card companies care is when YOU are using YOUR card to make BIG purchases. I was on vacation in Aruba when my credit card mysteriously stopped working. I called the credit card company (ever make a call from Aruba? It's $30 if your quick) and they had stopped my card from being validated because big purchases were being made using it. Cancelled the card when I got back but they're all the same way. They only care when it's *their* money. Never when it's yours. Thoalex
You are correct. When I was in management I had to do that. An absolutely appaling requirement of the goverments. Making a manager who has a perfectly good employee, put out an advertisement for a job that really doesn't exist. Then you have to wade through reams of resumes (some of which are very good) and look for a reason not to hire someone. Absolutely ridiciulous.
I am in the exact same boat. 15 years of experience but I can't get hired to save my life (which is becoming the problem). What's amazing me is some of these employers are wanting you to have experience in Java AND .NET AND C++ AND C# AND (the list can go on). I was always considered the "Maverick" until for the last few years I became Management. But, even that doesn't help. I don't care what these surveys are saying, there aren't as many jobs out there as they are trying to lead you to believe. There are job *postings* but there aren't jobs.