"Ability to write bug-free code as a matter of course"
-
Something like the above statement is one I see occasionally in job ads. Since no-one can meet this requirement why is it sometimes asked for? Wouldn't they do better to ask for reliable and robust code? At least that conveys the impression of high standards without implying perfection. Kevin
-
Something like the above statement is one I see occasionally in job ads. Since no-one can meet this requirement why is it sometimes asked for? Wouldn't they do better to ask for reliable and robust code? At least that conveys the impression of high standards without implying perfection. Kevin
My cheap $0.02: this kind of job requirement gets filed togather with those currently asking for 10 years experience with .NET. Yet, it seems to me that there is a Very Interesting debate going on in our industry regarding high quality standard (and, maybe, we are talking about actual quality rather than CMM, ISO9000 and other such technologies). In particular, I've enjoyed the editorials from the last 2 or 3 CUJ, where the point was made that, maybe, software engineers are not allowed to implement all the quality they would like to by short-cutting and budget-fixated project managers... Frank
-
My cheap $0.02: this kind of job requirement gets filed togather with those currently asking for 10 years experience with .NET. Yet, it seems to me that there is a Very Interesting debate going on in our industry regarding high quality standard (and, maybe, we are talking about actual quality rather than CMM, ISO9000 and other such technologies). In particular, I've enjoyed the editorials from the last 2 or 3 CUJ, where the point was made that, maybe, software engineers are not allowed to implement all the quality they would like to by short-cutting and budget-fixated project managers... Frank
Frank Olorin Rizzi wrote: short-cutting and budget-fixated project managers Now who would those pointy haired people be ;P;)
-
Frank Olorin Rizzi wrote: short-cutting and budget-fixated project managers Now who would those pointy haired people be ;P;)
Mark Nischalke wrote: Now who would those pointy haired people be ...I am green enough to be able and afford to say "Forgive them because they don't know what they are doing". Frank
-
Something like the above statement is one I see occasionally in job ads. Since no-one can meet this requirement why is it sometimes asked for? Wouldn't they do better to ask for reliable and robust code? At least that conveys the impression of high standards without implying perfection. Kevin
Kevin McFarlane wrote: Something like the above statement is one I see occasionally in job ads. Since no-one can meet this requirement why is it sometimes asked for? The only reason I see is that they are asking for the cream of the crop - the probably less than 1000 developers worldwide that actually are as good as they might (or in some case even might not) say they are, and actually mean it - even that the requirement is impossible to fulfill. That's the only reason I can see, because with such requirements they indeed have requested the ones that with a straight face can request $2500+/day - and expect to get it. Wouldn't they do better to ask for reliable and robust code? That way they'd get any VB "programmer" with even only 6 months of "experience" of copying MS examples. At least that conveys the impression of high standards without implying perfection. True. The requirements in your example were too high, but unfortunately it seems some managers are actually so dumb they think they'll get what the ask for - for the price of the mentioned VB n00b.
-
Kevin McFarlane wrote: Something like the above statement is one I see occasionally in job ads. Since no-one can meet this requirement why is it sometimes asked for? The only reason I see is that they are asking for the cream of the crop - the probably less than 1000 developers worldwide that actually are as good as they might (or in some case even might not) say they are, and actually mean it - even that the requirement is impossible to fulfill. That's the only reason I can see, because with such requirements they indeed have requested the ones that with a straight face can request $2500+/day - and expect to get it. Wouldn't they do better to ask for reliable and robust code? That way they'd get any VB "programmer" with even only 6 months of "experience" of copying MS examples. At least that conveys the impression of high standards without implying perfection. True. The requirements in your example were too high, but unfortunately it seems some managers are actually so dumb they think they'll get what the ask for - for the price of the mentioned VB n00b.
Mike Nordell wrote: That's the only reason I can see, because with such requirements they indeed have requested the ones that with a straight face can request $2500+/day - and expect to get it. Except that typically they are only offering something like £30,000/year in the UK (equivalent to $30,000 in the US). The average pay at the moment for a senior developer in the UK is about £35,000. Kevin
-
Something like the above statement is one I see occasionally in job ads. Since no-one can meet this requirement why is it sometimes asked for? Wouldn't they do better to ask for reliable and robust code? At least that conveys the impression of high standards without implying perfection. Kevin
Check out Large-Scale C++ Software Design by John Lakos, if you want a peak into what "bug free software" means. If C gives you enough rope to hang yourself with, C++ starts you off with a broken neck and gives you a bunch of screws to repair your spine with. Lakos' book is full of guidelines and conventions that can seriously improve your code quality. I know it sounds like bullsh*t, but you would be amazed at the some of the little things people take for granted that expose them C++ pitfalls. Check out reviews on Amazon, but take the negative ones with a grain of salt - While its true that the book is somewhat dated, the reality is that C++ exceptions are horribly designed and implemented, and STL's excessive use of templates just makes code unreadable to anyone but the original author and completely undebuggable, especially on the platform of choice for most of the people who frequent these message boards.
-
Check out Large-Scale C++ Software Design by John Lakos, if you want a peak into what "bug free software" means. If C gives you enough rope to hang yourself with, C++ starts you off with a broken neck and gives you a bunch of screws to repair your spine with. Lakos' book is full of guidelines and conventions that can seriously improve your code quality. I know it sounds like bullsh*t, but you would be amazed at the some of the little things people take for granted that expose them C++ pitfalls. Check out reviews on Amazon, but take the negative ones with a grain of salt - While its true that the book is somewhat dated, the reality is that C++ exceptions are horribly designed and implemented, and STL's excessive use of templates just makes code unreadable to anyone but the original author and completely undebuggable, especially on the platform of choice for most of the people who frequent these message boards.
armentage wrote: Check out Large-Scale C++ Software Design by John Lakos, if you want a peak into what "bug free software" means. I've heard of the book but not read it. One of the major problems with C++ is that the number of "must read" books is endless! Anyway, my problem is not with the demand to write top-quality code but with the literalness of the subject line. Is there anyone who can literally write bug-free code? Or is there any non-trivial software out there that's bug-free? armentage wrote: STL's excessive use of templates just makes code unreadable to anyone but the original author and completely undebuggable I like STL. It's fine when everything works but I agree it's a nightmare to debug. The source code is horrible. I can't say I've had much trouble with my own use of STL but then I'm by no means an advanced user. It would be interesting to find out whether Eiffel code that uses templates is as nasty as C++'s when things go wrong. I suspect not, as Eiffel is a cleaner language. Kevin
-
armentage wrote: Check out Large-Scale C++ Software Design by John Lakos, if you want a peak into what "bug free software" means. I've heard of the book but not read it. One of the major problems with C++ is that the number of "must read" books is endless! Anyway, my problem is not with the demand to write top-quality code but with the literalness of the subject line. Is there anyone who can literally write bug-free code? Or is there any non-trivial software out there that's bug-free? armentage wrote: STL's excessive use of templates just makes code unreadable to anyone but the original author and completely undebuggable I like STL. It's fine when everything works but I agree it's a nightmare to debug. The source code is horrible. I can't say I've had much trouble with my own use of STL but then I'm by no means an advanced user. It would be interesting to find out whether Eiffel code that uses templates is as nasty as C++'s when things go wrong. I suspect not, as Eiffel is a cleaner language. Kevin
That's the point about STL. You never have problems with YOUR OWN use of it. It's when anyone else tries to do something to your STL code that the trouble starts. As for the Lakos book, what makes it great is that rather than explaining language featury theory and what's possible, he explicitly shows you HOW to write code. Designing acyclic class hierarchies, sensible function signatures, actually designing classes properly, this is what his book is about, not Meta-Patterns which seem amazing on paper and turn out to be almost useless in practice. You can't compare Eiffel's templates (or any other languages) to C++. There are only 3 languages who have anywhere like the number of users C++ have, Java, Perl, and C, none of which actually have templates. People using Eiffel today are either going to be playing around with it for fun, or researchers who may or may not have any actual real-world programming experience and may or may not have participated in any industrial strength applications with millions of lines.
-
That's the point about STL. You never have problems with YOUR OWN use of it. It's when anyone else tries to do something to your STL code that the trouble starts. As for the Lakos book, what makes it great is that rather than explaining language featury theory and what's possible, he explicitly shows you HOW to write code. Designing acyclic class hierarchies, sensible function signatures, actually designing classes properly, this is what his book is about, not Meta-Patterns which seem amazing on paper and turn out to be almost useless in practice. You can't compare Eiffel's templates (or any other languages) to C++. There are only 3 languages who have anywhere like the number of users C++ have, Java, Perl, and C, none of which actually have templates. People using Eiffel today are either going to be playing around with it for fun, or researchers who may or may not have any actual real-world programming experience and may or may not have participated in any industrial strength applications with millions of lines.
armentage wrote: That's the point about STL. You never have problems with YOUR OWN use of it. It's when anyone else tries to do something to your STL code that the trouble starts. OK, I don't have experience of someone's wanting to do something with my code (apart from myself!). I have had experience of maintaining someone else's code that used STL heavily. I don't recall having any STL-related issues. However, the code was well-written and such bugs as existed weren't to do with STL. It sounds as though you have a lot more experience than me so I'll give you the benefit of the doubt here. armentage wrote: As for the Lakos book, what makes it great... I'll have to check it out - assuming I can actually get back into the industry writing C++. Yes, I'm a long-term casualty of the downturn.:(( armentage wrote: People using Eiffel today are either going to be playing around with it for fun, or researchers who may or may not have any actual real-world programming experience and may or may not have participated in any industrial strength applications with millions of lines. Eiffel has nowhere near the commercial use of C++, Java, Perl, etc. However, there are a number of serious commercial applications out there. See ISE's site, for example. http://www.eiffel.com[^]. Kevin