last updated:06 Aug 2003 14:49 UK time
Joel On Software Discussion Forum
JOS Statistics - Recent Comments
(Comments added for week ending Sun 06 Apr 2003) | View Other Weeks
best programmers in the world | Sun 06 Apr | Dennis Atkins
In a recent international programming competition, the Eastern European countries kicked everyones butts. Cal Tech came in 13th after the Univ. of Buenos Ares. http://www.nytimes.com/2003/04/03/technology/circuits/03code.html?pagewanted=1 Say what you want about how this is not a real competition, or doent reflect the real world, but I think the ability to code quickly with no errors correlates to general competance and ability.
Sun 06 Apr | tommyhl | So does my ability to drink lots of beer and smoke no fags[0] yet still point out politely that the link in your post requires regisration count for nowt? [0] 2 standard earth weeks and counting
Sun 06 Apr | tommyhl | That should be 'registRation'.
Sun 06 Apr | tommyhl | I wish JoS allowed one remotely not only to remove one's posts but also to create a hole in the floor into which one might sink. (approx 30mins and much reconsideration after posting the posts above)
Sun 06 Apr | Mike Gamerland | 'I think the ability to code quickly with no errors correlates to general competence and ability' It is possible it correlates to general competence but it says nothing of ability. If your intent is to be the proverbial 'coding monkey' then these competitions have value in identifying candidates. However, coding monkeys are the lowest on the totem pole of life in the development community. If you are looking for skills that add value, and hence increase income, they are beyond the skills tested here. Assuming you can code, the short, and certainly not conclusive list would be: - Self starter, who can work unsupervised and takes initiative when work is scarce. - Able to identify, describe, and document user requirements. - Able to identify, describe, and document architectural requirements. - Able to identify, describe, and document project management requirements. - Able to identify and understand efficiencies in both code and process that will improve the end user experience. - Understands their role in a successful development project is more than coding. I am not attempting to diminish the skills of the people involved. However, it is more than the ability to code that makes a successful developer. So much so that companies are hiring psychology and sociology majors and sending the to coding training. The better one then team these us with developers to cross pollinate best practices.
Sun 06 Apr | Nat Ersoz | From the description of the event it sounded like a very serious competition, both from a coding problem and from an algorithmic challenge. Additionally, I wouldn't diminish any of the teams' participants in terms of 'group dynamics', 'self starting' or the ability to abstract real-world concepts into design and implementation. You don't make it that far by being a slacker. Just for sake of Satanic Advocate: I'd float the notion that anyone who would insinuate that the participants even had a whiff of code monkey stench about them has been hiding behind GUI widgets and 'business rules' far too long. If ever there was a summary of how the profession of Computer Engineer or Scientist has been degraded into 'IT profeessional', the above post by Gamerland summarizes it. Now, there is not only the sheer lack of talent posing for competence, but the inability to distinguish the difference. Go Eastern Block, go. Kick Ass.
Download.com and the others like it. | Sun 06 Apr | Boris Yankov
I have been thinking about is it good to put my app on www.Download.com and the others sites offering the same services. I noticed that people are giving rankings very randomly. I checked if Joel has put CityDesk there and I found only the 1.0 version. Reading the comments I found they range from a very ignorant or angry to almost reverant ones. But that was not the strange. I found that the overall rating sometimes was very different than what you may expect to see. Lets take for example Microsoft Windows Installer. You may suspect that it is a very neutral thing: it is free; you need it; and it works. But not according to the ratings :) I found that the 9x/ME version was rated 77% and the 2k/NT version had 46%. Pretty strange for a software that is virtually the same. Looking through the opinions I found TOO many negative reviewes. I suppose often people tend to exaggerate their problems saying something like constantly hanging and never make it work. I am afraid that putting my software there I may get many negative reviewes that are either by ignorant users or by the concurrency. What do you think about this? ------------------------ Boris Yankov http://www.virtuza.com Go on, prove me wrong, destroy the fabric of the universe, see if I care.
Sun 06 Apr | Philo | It's the usenet effect - when you search for a product on usenet you will see overwhelmingly negative reviews, because people almost never just show up to a forum and post 'this product is great and I love it' (and often if they do they get accused of spamming) That said, I almost never use download.com anymore, esp for programming tools. I look for recommendations on forums and I google. Philo
Sun 06 Apr | herodin | On Download.com you get one-day-fly types or fly-by types of people, interested to post (tag) their enoying paint-brush like texts. Download.com is for me a resource for software, i tried to repley with descency but others ruin the effort. For a really good review you should build your own, managed by good friends and PR'ed on a very novell way. Starting at local areas, and increasing the radius of attention.
FogBUGZ' Google PageRank | Sun 06 Apr | Shlomi Fish
I accidently surfed into the Googles directory Bug Tracking section: http://directory.google.com/Top/Computers/Software/Configuration_Management/Bug_ Tracking/ to discover that FogBUGZ has the highest PageRank order. I remember that a short time back, it was listed at the end with absolutely zero PageRank. I think the reason is that Joel added a notice to the Joel on Software site pages, that reads: <<< My company, Fog Creek Software, has just released FogBUGZ 3.0, the latest version of our innovative system for managing the software development process. Check it out now! >>> And since many of the pages have a high PageRank, it eventually, made FogBUGZ very high too. Its also one of the first hits now in a search for bug tracker. You could say it is a direct (albeit perfectly honest and perhaps innocent) Google poisoning. Theres an ongoing discussion of it (which I started) in the Hackers-IL mailing list, where Googleology is a commonly discussed topic: http://groups.yahoo.com/group/hackers-il/message/3288 This may be a topic for Google Watch...
Sun 06 Apr | Shlomi Fish | Hmm... notice that the link to the Google directory category has been cut due to its excessive length. You have been warned.
Sun 06 Apr | Brad (dotnetguy.techieswithcats.com) | I don't think it's fair to call it 'poisoning'. Joel was just advertising a relatively major upgrade to his software on his web site. So Google likes him, and gives his links weight. There's no way he can avoid that. *shrug* Blogs broke Google's relationship system. It'll take some time before they fix it.
Sun 06 Apr | Shlomi Fish | I called it 'poisoning' because it is a deliberate act that modifies everything. I did not meant it was (necessarily) bad or anything. It's like 'memory poisoning' or 'mail poisoning' or other types of poisonings. If you'll go up the thread, you'll see we discussed Advogato (http://www.advogato.org/) as a Google Bomb. In any case, you can say that this is a Google bug (or at least misbehaviour), because regardless of the importance of the 'Joel on Software' site, FogBUGZ is not the most prominent bug tracker out there. (no offence, Joel!)
If you were not a developer | Fri 04 Apr | Dan
What would you have done, if you were not a developer or in tech business?
Fri 04 Apr |           | restaurant biz
Fri 04 Apr | Bill Carlson | restaurant critic
Fri 04 Apr | | eating
Fri 04 Apr | peace | Islamic scholar
Fri 04 Apr | Ron Porter | Building wooden boats. Campground and park reviewer.
Fri 04 Apr | Lou | Architect... which helps explain why I'm fascinated by Joel's parallelogram offices.
Fri 04 Apr | Bored Bystander | Commentator on a 'McLaughlin' style round table debate program.
Fri 04 Apr | Tim Sullivan | Movie director.
Fri 04 Apr | commanderSpock | Mechanical Engineer
Fri 04 Apr | Soccer player | Hmmm... :-)
Fri 04 Apr | Brad (dotnetguy.techieswithcats.com) | How about 'what are you going to do after software development thoroughly burns you out'? I haven't decided yet, but I better pick soon. ;)
Fri 04 Apr | Ben Combee | Video editor or filmmaker
Fri 04 Apr | dmooney | Astronomer
Fri 04 Apr | Kyralessa | Church history scholar.
Fri 04 Apr | mark | prophet
Fri 04 Apr | B# | debutante evil genius valet parking attendant Elbonian Ambassador linguist (cunning) origami instuctor primary care taker envelope sales recombinant acronym evangelist
Fri 04 Apr | B# | Run a hockey school
Sat 05 Apr | anonymous | I would be a cricketer
Sat 05 Apr | Daniel Shchyokin | Insurance Agent
Sat 05 Apr | B# | Daniel What you said! LOL
Sat 05 Apr | smkr4 | Economist
Sat 05 Apr | Prakash S | Millionaire Rock Star...:-)
Sat 05 Apr | Derek Woolverton | I'd want another field where I could be creative, but still constructive. (Video Editor is too artsy for me, besides before computers it was barbaric.) I actually posed this question to others back in college, but with the additional constraint of being 100 years back. In that case, I came up with metal working: crafting machines, tools, armor and the like. Actually, a good friend of mine (a programmer at Xerox), spent his free time linking 1cm rings together to form chain mail. He had coffee cans of links everywhere: in every room in his apartment, his garage, his car, his girlfriend's apartment, his parents house, ...
Sat 05 Apr | T. Norman | White collar: Engineer, accountant, or actuary. Blue collar: Construction (did a little bit of it between semesters in college) or fireman. Many blue collar jobs actually pay more than white collar and have better job security.
Sat 05 Apr | John C | Professional footballer (soccer player to any Americans).
Sat 05 Apr | T. Norman | I see some people saying fantasy-type things like millionaire rockstar and professional soccer player ... come on, if you actually could have done those things you wouldn't have become a developer! What would you and could you actually have done, if programming was not available as a paid occupation?
Sat 05 Apr | na | cognitive scientist || gardener
Sat 05 Apr | Simon Lucy | Me. Oh I am.
Sat 05 Apr | The Real PC | The other things I like are hard to make money at (art, music, writing, thinking). After getting a Ph.D. in linguistics I considered being a college professor -- after 4 years of graduate school you need one or more years of low-paying post-doc, then 5 years of low-paying junior faculty, resulting in possible tenure (50% chance). Also, I saw a lot of political correctness and deception going on, which I hate. You can be creative with research, but the total amount of time spent feeling creative and absorbed in your work is probably more for developers than for professors. Also, to be a teacher you really should love being around teenagers all the time, which I don't. And furthermore -- higher education has become a giant rip-off, and I would not like to be part of that.
Sat 05 Apr | Matt H. | Law Finance (Investments) Writing (Well, I'd try ...) Entrepreneur/Consulting Principal (One-person-shop) Maybe a histroy professor. :-) regards,
Sat 05 Apr | B# | I would like to publicly appologize to Daniel for my comments. I did not mean to disparage him in any way. Sorry!
Sat 05 Apr | Billy Basic | Designed air defence radar for the Baghdade civil defense committee.
Sat 05 Apr | fool for python | Jazz pianist. Architect.
Sat 05 Apr | rexguo | concert pianist
Sat 05 Apr | murph | Another kind of engineer...
Sat 05 Apr | Mike | I'd be Fred Garvin, male prostitute
Sat 05 Apr | Cletus | Engineer (Mechanical or Electrical)
Sat 05 Apr | Li-fan Chen | Bill Gates
Sat 05 Apr | Andrewm | nanotech researcher
Sat 05 Apr | cooldev | Indie rock star - 5 guys band - I wrote all the songs, play the lead guitar, become sort of informal 'music director' to the band, and keep quiet, let the vocalist who is more extrovert than me become the focus of media attention. For a rock star I will be a good family-man, with a beautiful and educated wife, and lead a quite ascetic and religious life.
Sat 05 Apr | ubaid | writer
Sat 05 Apr | Lauren B. | Classical clarinetist.
Sun 06 Apr | Shlomi Fish | I would probably be a Mathematician or some kind of writer. I am studying to become an Electrical Engineer, but Elec. Engineers usually do some kind of programming as well. I also considered being a Bible researcher when I was in high school. Naturally, however, there's much more need for programmers than for Bible researchers. My friend once gave me a career apptitude test, and at its end my friend told me I was not suitable for being a Mathematician or a Programmer, and that Bible Research would be the best job for me. Then I started programming for a living, and was actually quite good at it. I also enjoy programming very much. Math is fun, but I don't like the fact, that you are often stuck in a deep though mode, where you have no idea how to advance further. And then after a long time, I come with a nice elegant way, and I'm amazed by its cleverness. In programming, you usually know what to do in the first place, and don't need to rely on too much inspiration. In the worst case scenario, you can do a little research and discover if someone found an efficient algorithm or if the problem is NP-complete or whatever. Knuth claimed that 'Programming was the hardest thing I've ever done'. If you ask me, math is much harder.
Sun 06 Apr | Ros | civil engineer. But my life would be worse.
Sun 06 Apr | John Rosenberg | ruler of the world
Sun 06 Apr | Barry Sperling | I already WAS a teacher for 31 years! I retired to try programming and I like it a lot. If I had to move on, I would like to be a meteorologist, but I'm too old, so it's in the category where others put 'rock star'. Programming IS my 'next' job.
Sun 06 Apr | Nat Ersoz | Ski patrol. Bicycle tour guide. It could happen.
The "Take What They Give You" Attitude | Fri 04 Apr | Herbert Sitz
When programming I continually come up against situations where the programming tools Im using, the interpeter/compiler, components, or add-ons, dont work quite the way I want them to. My first inclination is usually to bully on through and try to make them do what what I want the way I want it. But this is an inclination I almost always try to fight off. This is because over time Ive developed what I call the take what they give you attitude toward programming tools. The clearest example where I did try to bully on through -- before I developed the take what they give you attitude --happened to me way back in the late 80s when I was basically a power user writing my first database app using Paradox for DOS. Paradox for DOS was a bit ahead of its time and was one of the first desktop databases that worked with sets of records and displayed them in a grid. The main user interface of my application was centered around a pair of grids, and I wanted for the current record in each grid to be highlighted by a solid bar that went across all the fields, instead of just by a simple blinking cursor in the active field. Well, I made it work the way I wanted, but that decision came back to haunt me. First, I had to manage a lot of things in code to make sure a selection bar would always show across the active record. Second, and more importantly, the prestidigitation that I did in the code to make the select bar appear involved (as I recall now) changing states of the grid from browse to edit, or something like that. This created the need to continually do checks in code for what the status of the grid was whenever the user tried to do an operation, or returned from doing an operation somewhere else. And it ended up creating lots of bugs. I can still remember late night calls and not wanting to answer the telephone, when late-night users discovered yet another problem, which nine times out of ten I could track down to the code I had added to implement the solid select bar. And all those problems were created by me in a silly attempt to make an unnecessary modification to the grids default user interface. The damn thing would have worked fine if I hadnt insisted on having the select bar just as I wanted it. Instead, I created many hours of extra work and headaches for myself by trying to fit a square peg in a round hole and make things work exactly as I wanted. (I realize many decisions like this are forced on programmers by clients or management; in this case I was the only idiot to blame.) Did having the select bar result in a better user interface than if there had just been a blinking cursor in a single field of the active record? Yes, theres no doubt about that. But was that select bar worth all the extra work and extra headaches it caused? Definitely not. That Paradox for DOS scenario pops into my head whenever I run across similar situations where a tool provides something that works fine out of the box, but not quite the way I want it. Of course you always have to weigh the benefits from doing something exactly the way you want against the doing it the way that the tool offers it to you easily. And you have to have some idea of what doing it the way you want is going to cost in terms of extra time, complexity, etc. Given the difficulty of knowing beforehand exactly what problems I might run into, Ive taken to erring on the side of caution and I usually try to accept what the tool gives me and go from there. This is the take what they give you attitude. I know that in many cases my program would in fact work a little better or provide a little better user interface if I didnt accept what my tools offer readily. But I believe that accepting what your tools give you and not trying to make them work exactly like you want can result in (1) huge savings in development time, and (2) reduced complexity of underlying code, fewer bugs, and easier maintenance. I think these advantages of accepting what your tools readily give you usually justify forgoing the benefit of having the program work exactly as envisioned. I realize that for this to work youve got to have the right set of tools. That is, youve got to have a set of tools that by default let you program pretty close to exactly the way you want. But I really think that fighting off the urge to make things work exactly the way you want is usually beneficial to the success of a project. It reminds me of the old phrase, Better is the enemy of good. Im curious to hear if other people have similar stories, examples where trying to force tools to do work in a certain way -- instead of taking what the tools readily provided -- caused extra development time and maintenance headaches all out of proportion to the minor gains from making the program work exactly as desired. Or whether people think my problems with making things work exactly the way I want may stem from the fact that Im not good enough at programming. ;) Ill readily admit that Im not the worlds greatest programmer, but I really do think that theres a lot to be gained from adopting the attitude Ive described, even for good programmers.
Fri 04 Apr | Bored Bystander | Herbert: Yeah. No arguments with anything you state. However, there is the scenario of the client or end user who ABSOLUTELY insists upon a feature that just isn't available with the default behavior of the mandated or selected tool, and they won't listen to any argument that indicates that it's a poor use of effort. It sounded like your DOS Paradox selection bar debacle was self imposed. We've all done that to ourselves. Recognition of that makes you a better professional. I've gotten fairly good at avoiding that kind of stupidity myself, but what can you do when it's mandated that you *will* provide that which is not provided out of the box? And the non programmer manager will say 'you whiner, that's what we are paying you to do, not use things as they are, but create new things.' And won't accept any opinion that indicates that their stupid feature addition is bloat or non-core to the effort. To sum up - it happens, and I think you have the perfect attitude, but in the business world, it's hard to do anything useful with that attitude when your end users or clients are undisciplined about requesting nonsensical features with very high cost:payback ratios.
Sat 05 Apr | ayup | Totally agree with you. Ive had very similar experiences with Filemaker...this is an x-plat dbms designed primarily for the end user. This means is that it works very well as a RAD type system, so long as you dont fight its pre-designed gui too much. which of course I do, a lot, because the pre-designed gui has a few annoying limitations. Im slowly learning though that the best route where its possible is to accept the limitations and work within its rules...cleaner 'code' all around.
Sat 05 Apr | Simon Lucy | Not putting up with what they give you is one of the spurs to innovation. Sometimes that innovation can take too much in the doing or the maintenance of it. But without innovation where's the fun?
Sat 05 Apr | Brad (dotnetguy.techieswithcats.com) | 'The reasonable man adapts himself to the world. The unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.' - George Bernard Shaw That said, I think there's a difference between attempting to make progress, and unnecessarily beating yourself up just to be different. ;)
Sat 05 Apr | Angus Glashier | I find the best strategy is to present a choice. 'Sure, we could have this fancy feature, but that would require effort that might better be spent on implementing some other, more important feature. Why don't we get it up and running quickly by writing the simple version first? We can always add the cool features later if we really want them.' I actually realised this while trying to write fiction. I'd write a paragraph, re-read it, cringe and erase it. Never get anywhere doing things that way. Then I realised that I can always fix it in the next draft. Write the story first, then polish the prose.
Sun 06 Apr | Thomas Eyde | In 1998 I think it was, I worked on a project which failed considerly. The client paid an awful lot of money for something they couldn't install. The client wanted a web app doing the impossible. They wanted a rich, highly interactive gui. Their target was customers on different platforms, so they had a legitime reason to say no to a Windows desktop app. It was ASP 1.0, ADO 1.0, IE has just arrived in sp3, err, version 3, and Microsoft introduced the ActiveX Layout Control which did some CSS-ish positioning. The final gui looked nice, it actually worked, but needed all data locally to be responsive. Which meant huge scripting files and an unbelievable download time. But the product didn't work in the client's environment, and the technical choices made for making the gui locked us to the Microsoft platform (ActiveX), anyway. We pushed the technologi towards something it couldn't handle. Instead, we should really have given them an Internet connected desktop app...
Sun 06 Apr | Shlomi Fish | Joel has an anecdote about it in one of the 'UI Design for Programmers' chapters. He said something about a company that tried to create a login dialog in Windows that will also behave similar to the UNIX login dialogs, where you have to press enter twice. That caused them to implement a complex logic, and made the code very bad. Since I have to login to both NT and UNIX workstations at school, I noticed that, and I sometimes press enter on the NT. Still, I guess it's not critical that the dialog behaves in a UNIXish way, as long as the username is kept after you press enter. It's been a long time since I seriously did a UI design of some sort. In any case, I can testify that when working on an open-source C project, I implemented many classes from scratch, because I was not happy with the ANSI C facilities, or to make my project independant of external libraries. The code does not cause me a lot of bugs, but it is nonetheless something I wrote. I remember implementing a lot of internal logic in Perl that I later found out to be present in the core distribution or in an existing CPAN module. But, then again, the code was relatively short and simple and did its job, so I was able to maintain it. I once implemented a basic SMTP stack in Perl, because wsendmail (a simple command line mail sender for Windows) and other methods I tried did not work. It then turned out to be a bug in the Apache 2 for Win32 Alpha I was using, but I still kept it as it is afterwards, even after I was given an account on IIS where things worked perfectly either way. Perl is nice that you can re-invent an existing wheel in it, without getting burned down or floded with bugs. It is very nice in this regard.
Salary history | Fri 04 Apr | Kyralessa
With the interesting discussion of employment agreements, heres another new-job-related topic: Salary history. The ad says they require it, or they tell you in person that they do. Do you: (a) Tell it all; (b) Make up numbers; (c) Flat out refuse; (d) Stall; (e) Other...?
Fri 04 Apr | Sergent Sausage | I generally refuse. It's none of their business and gives them an extra 'barganing chip' in the negotiation game. If they insist, I demand to see the same from them: Their tax records that indicate their profitability for the last few years. It's only reasonable. If they want my financial information they can have it, but only if they cough up theirs in return. Quid Pro Quo. If they refuse, I simply walk. I use the same tactic if they want anything similar: Background check (I demand same from interviewer(s), as well as management all the way up the chain of command), If they want a credit report, I ask same -- Credit report for the business, If they want *anything* at all, it's both a fair and a reasonable request that they supply the same. If they're unwilling to supply same, and don't back down on their request for information from me I'll walk. Technically speaking though, this hasn't been an issue for me for the last 5 years as I've been independent for that period -- but that's the way I used to handle it. Of course times have changed in the last several years and this all depends on how badly you want/need the job.
Fri 04 Apr |           | MYOB.
Fri 04 Apr | programmer | Some of you may remember -- there was a long discussion of this question some time ago. I guess it is gone from the archives. People in the discussion got somewhat testy. A person who reads this group -- I think his name is Eric Sink -- passionately argued that salary history is necessary in order to come to a 'win-win' arrangement. He runs his own company, and IIRC, he said if you didn't disclose salary information, you wouldn't be considered for a job -- or at least you'd be 'low-balled.' Other people argued that disclosing your salary history was just a way for the company to find out how badly they can cheat you out of your market value. I came down on the latter side.
Fri 04 Apr | Mark Hoffman | Well, I suppose flat out refusing is an option but in today's job market that might not be the most reasonable approach. I really don't see the big fuss. After speaking with a company and learning more about them and the job, I can quickly get an idea of what my salary requirement is going to be. If it is substantially more than what I'm currently earning then I'll demonstrate why this job should pay more. Good negotiation skills are going to be much more useful than just saying 'No! You can't have that info!'
Fri 04 Apr |           | Don't mean to keep pimpin' the headhunter, but since he does have the best answers... http://www.asktheheadhunter.com/faqsalary1.htm 'Employers have no business asking for your salary history. It's confidential. It has nothing to do with hiring you. Imagine what they'd say if you asked to see the history of salaries they've paid for this job over the past ten years. Or, if you were to ask the manager what his current salary is. Sorry, Mr. Manager, but what's good for the goose is good for the gander. The excuse employers make is that your past salary helps them determine your experience level, it pegs your value, and it helps them establish a new salary for you. Hogwash. By that logic, they don't need to interview you. All they need is your salary history and you're off to the races. By using the figures other employers have used, they'll know what their job is worth and what you are worth. And they'll win the lottery, too.'
Fri 04 Apr | 3 | It clearly is none of their business. They should be making you an offer based on your capabilities and the market rate for that expertise, which they will be well aware of. There is only one reason for them wanting your salary history, and that is to see whether they have an opportunity to pay you less than they would otherwise. They will certainly not pay more than they need to. The best way to handle it is to deflect the question by asking another. If they return to it and insist, they you have a conflict situation anyway, and should explain it's private information, which it is. The tactic of requesting salary history is particularly prevalent with recruiters. This is because their business is based on minimising the pay to you. On the subject of the market being bad, they're not going to consider you unless they have a strong interest in you anyway, so don't be concerned about offending them by refusing to divulge private information.
Fri 04 Apr |   | I say market rate. What you made last year or 3 years prior is irrelevant.
Fri 04 Apr | S. Gwizdak | Lie, and inflate the numbers to what you want them to pay you.
Fri 04 Apr | Brad (dotnetguy.techieswithcats.com) | 'You can have my salary history when you give me the salaries of all the people in the same job title, including history comparable to what I'd give (10 years)'. Fair's fair, right? It's not like you're going to take the job if you feel like you're getting screwed.
Fri 04 Apr | Brad (dotnetguy.techieswithcats.com) | Oh, and I would definitely NOT lie. It's better to withhold the information than to lie.
Fri 04 Apr | Kyralessa | The danger in lying is that they'll ask you to prove it. For instance, my dad, a manager, asks for salary history when he interviews. Assuming they tell, he then asks for a pay stub as evidence. So in some cases lying can be worse than simply refusing or deflecting the request. His argument is that if someone has a much higher salary history, he's probably not going to be interested in the position at hand, and if his history is much lower, they're probably not interested in him. My reply is that if people know the range, or are asked for 'salary expected,' these judgments can be made without the invasion of privacy that a salary history entails. I was torn over these for a long time (I even called the Department of Labor to ask if requiring a salary history is legal), but I finally concluded that there's really only one reason a company would request a salary history...and why would I want to work for a company like that?
Fri 04 Apr | Bored Bystander | http://208.155.195.240/~trforum is a technical recruiter discussion BBS site and is a GREAT place to lurk to find out how HR people and recruiters think. And I've met a few online, too. Frankly, you guys are p*ssing in the wind if you think that you can withhold salary information and simply rationalize it (however correctly) when you apply for a job. You just won't be considered at all. Yes, it's none of their G*dd*** business. No, it's not fair, yes, it's an invasion of privacy. And they simply don't care, and they don't have to care. Here's the deal. HR people want to see your previous salary so that they can develop a rationale for paying you $X for a job or for even considering you for the job. It's just that simple. Literally - their thinking is that if you earn $60K/yr you are perhaps a candidate for a $75K job but not a +$90K job. (in fact, I recently saw a web ad from a local recruiter whom I think is lying pond scum, that states exactly that kind of thing in print.) And In case anyone wants to rail about borkers and headhunter scum (which they are), be aware that this thinking also comes straight out of the HR departments of most companies. They call it something like 'internal equity'. It basically means that you're *always* evaluated by the calibre and pay level of job you hold now. Qualifications and seniority and ability? Denoted by current and past pay level, primarily. Unfair, short sighted? Yes. What to do about it? Well, start by telling every single programmer and IT person to not play ball. Maybe we can get a national movement going. Yeah, right. And some heads down nebbish - one of our peers - that burnt through his savings will be right there in front of you, scrambling to apply for these jobs like a third world kid begging for tourist's coins.
Sat 05 Apr | Dennis Atkins | Bored, I think that chat room represents reality as much as slash dot represents current engineering practice. I've never disclosed salary history and it has never prevented me from getting a job. Those bbs cats are just blowing smoke out of their navels.
Sat 05 Apr | Bored Bystander | What about the proverbial stacks of resumes that companies have to wade through whenever they advertise a job? I'm going by empirical evidence.... the recruiter posting(s)... the positions taken by a recruiter I know that belongs to a mailing list that I run... a few other people with HR background that have stayed around for some time on some BBSs I've frequented who seem to have a long term career interest in HR practices. I'm also allowing that HR culture isn't the law of the land at many smaller and some technology based companies. I'm not saying that it will be mandatory at all companies - just that most companies that use HR people to screen candidates and many recruiters doing perm placements will demand the salary history and they will slam the gate shut if you don't provide it. 'Policy' is just that.
Sat 05 Apr | Simon Lucy | Salary history is used as a lever in gettng the lowest amount for a particular job. If that information is required as a key to being interviewed then it indicates a considerable amount as to the kind of organisation it is. If you don't care about giving that information then you won't care about the kinds of organisations that work out remuneration that way. You won't notice because those same organisations will also have a clause in their contract that discussing salaries is forbidden (some I've seen its been a sackable offence). Unless that kind of organisation pays the market rate at the time, gives reasonable increments for cost of living, experience and so on there will be an undercurrent of dissatisfaction. It might not matter because there are other upsides to working there. Recruiters, employers never ask irrelevant questions from their point of view, from the applicant's they might be entirely irrelevant and sometimes tell you that its not the place for you.
Sat 05 Apr | Vincent Marquez | Ok, both Bored and Dennis bring up some really good points. Does anyone think there is a downside to playing it safe, and just telling them that you were paid at the last company the ammount your hoping you'll get this time? I mean, we all want more money, but if we're *hoping* our next job hope will net us 70k a year, is it really that horrible if we missed out on possibly getting 75k?.
Sat 05 Apr | Bored Bystander | Don't get me wrong, I'm in favor of getting as much as possible, and I think that someone basing your worth to them based upon your current salary is complete, total bullsh*t. IE - what if you are currently underemployed? Nope, the HR types with their 'everyone needs to be a shrink wrapped commodity' thinking want your 'number.' It's the same demeaning logic that makes these wastes of flesh raid other companies for talent rather than consider someone on the bench. HOWEVER - this is all MARKET DRIVEN. Most responses on this topic don't seem to include what the *company's* goals may be in this. Companies want to pay what is necessary to hire talent and they do not want to feel that they overpay *anyone*. THAT is what the emphasis on current and past pay rate comes from. What is deemed 'necessary' to acquire an 'asset' is some small premium over your current pay rate, because it works for most people. For every person protesting 'I deserve 20% more than my current pay rate' there are 10 (nominal to exceptional) people lined up salivating at the chance to get billable again at almost any price... Having ranted - no, I don't see any downside whatsoever to giving your salary. First principles - you may need to give it in order to be considered at all. For another thing, companies will often request a credit history and they can glean your approximate income anyway. For yet another thing, HR types often know the market better than we do and they may have other ways to infer a range for your past salary - such as past experience hiring people away from the same company. Another unconstructive rant & aside: I hate and despise HR people - their professional role, I mean. Anyone who performs real work should, too. A leprous pox on these pompous, haughty resource wasting creeps. More than H1B, more than outsourcing, the attitude that everyone must be evaluated against bullet lists of criteria like you're grading fruit separates more worthwhile people from tasks needing done than any political trend possibly could...
Sat 05 Apr | Brad (dotnetguy.techieswithcats.com) | A credit history? No company has EVER asked for that, and no company will EVER get one.
Sat 05 Apr | Bored Bystander | I've heard reliable 'rumors' that credit checks are sometimes now asked from job applicants. It's definitely a new HR trend. Personally - I would draw the line at that. Salary history - I'd give grudgingly. Authorization to check my credit? Well, I was going to use an impolite acronym... but 'no way'.
Sat 05 Apr | Chris Tavares | Credit checks are required to get jobs that require a security clearance. And you also have to pee in a cup.
Sat 05 Apr | Punter | Hmmm... lets see, for my current job I had: salary history background check (in.c any criminal record) credit check proof of eduction & grades drug test and about 12 interviews.
Sat 05 Apr | Dennis Atkins | Man this just gets crazier. What country and industry are you guys working in that requests a credit history? I mean whdat the hell? Maybe they want a semen sample too? Surely you guys are saying no to the credit checks?? If not, I wonder if there is anything you wouldn't do??? Surely this has to stop somewhere. Could you name names of companies doing this? I've got a cousin that works for a magazine and this might be a story she'd like to pursue.
Sat 05 Apr | Punter | Well, I work on Wall street for one of those 'premier' investment banks.
Sat 05 Apr | Dennis Atkins | OK, actually I can see that for a bank... they would want to look real carefully at any programmer wth a lot of gambling debts or such. I have heard that bank tellers get a pretty thorough checkout since they handle money. And I suppose with a government security clearence, they have to look that stuff up anyway since likewise someone with gambling debts and/or outstanding loans from the mafia might be suceptible to being bribed or such to get secrets. Anyone running into credit checks for making shrink wrap software or ordinary business apps or stuff like that where there would not seem to be any apparent reason?
Sat 05 Apr | 3 | Vincent, yes, there's a downside to giving them an inflated figure instead of the real one. They sometimes check and, if it's wrong, they will then label you a liar. So, you suffer twice because of deceitful behaviour by them. It's worth remembering this is a two way street though. They wouldn't be seeing you if they didn't have some interest. People should not be afraid to stand up for themselves.
Sun 06 Apr | Derek Woolverton | I simply use HR to fight HR. I tell prospective employers that my last employment agreement forbid me from revealing any salary information. While I would love to help them out, I am unfortunately bound by contract not to do so. With more and more HR department banning the discussion of salaries, this is becoming more and more believable.
Sun 06 Apr | Thomas Eyde | The taxes in Norway are public domain. Several online newspapers give you the opportunity to search for individuals. There are no details, though, so it's the total earnings revealed. The last year is not there, of course, as the data isn't collected yet.
Sun 06 Apr | Phibian | 'They sometimes check and, if it's wrong, they will then label you a liar. So, you suffer twice because of deceitful behaviour by them.' Erm - it could just be me, but blaming the 'suffering' on deceitfulness by 'them' doesn't seem quite right. I'd label you a liar too if you provided false information and passed it off as the real McCoy. So if you did in fact lie about your salary history and get caught out, you would 'suffer' because of your *own* deceitful behaviour. Furthermore - to be completely nitpicky - asking for salary history is not deceitful. One can consider it invasive, abuse of power, sleazy etc etc. But unless the ad says something like 'we promise not to ask for your salary history', they are not being deceitful when they do. I guess if they asked for your salary history during an interview and weren't actually hiring, or were planning to use that info to sell on the salary history black market or something it could be deceitful... Anyway.
Sun 06 Apr | Myron Semack | My company insists on giving a salary history. When we make a job offer, we offer the slary you're currently making (maybe a tiny bit more). Of course, we also adjust for cost of living. Our philosophy: We're not look for people who are jumping from company to company seeking more money. People come to work for us because they want to. After 6 months, we review you and adjust your salary based on your performance. So, if you were underpaid at your old job, you have to put up with it for a little bit longer. Of course, if you were overpaid at your previous job, be prepared for a pay cut. If you don't give it to us, you're not worth our time. There's too many other applicants out there to put up with it. Plus, if we had to pry it out of you, it means you're going into the job with some reluctance, which raises questions about your quality as an employee.
Sun 06 Apr |           | Be careful about overstating your salary. I was passed up once for a job because I was considered too expensive. Even though I would have been willing to take a pay cut. Myron, I think you're probably just trolling, but I'll bite... That's a pretty stupid policy. Basing salary on what the person was making before has absolutely no bearing on what the job is worth to the company. Do you understand? Just because some bloke was making 100K at their last job doesn't mean that you should pay him 100K! Do I need to break it down further for you? Let's say at his previous job he was making 120K as the db admin, sysadmin, and main architect. Now lets say that you only need him as a db programmer. Your company is very stupid if you pay him 120K and the going rate for db programmers is only 50K. Likewise, maybe that very same person was only making 20K working at a startup. If his going market rate is 100K-120K, then you're going to miss out on him! Easy enough to grasp, no? And the 6 month re-negotiation is a fraud. Smart negotiators know that if they took the job, in 6 months time their bargaining position will be severly weakened. Of course you know this, and that's why you put in 'be prepared for a pay cut'.
Sun 06 Apr | Brad (dotnetguy.techieswithcats.com) | Everybody has a level of shit they're willing to put up with. Myron gets people, because there are people willing to put with his level of shit just to get out of a job. Rule #1 when deciding to take a job: will you be happy with the exact pay and work you'll be doing at the start? Always consider the 6-month pay re-eval and the 'you'll work on cooler stuff later' with a huge grain of salt. We offer people what we feel they're worth, not what other people thought they were worth. We're not going to try and dick them out of money. A change of $5k/year in salary is far less expensive than training a new person every year because you can't retain them because of stupid hiring politics.
Sun 06 Apr | 3 | Phibian, the deceitfulness is the asking for salary history without honestly explaining their reason for wanting it. Companies tell lies all the time, in their marketing, in their dealings with state regulators, law firms, and job candidates.
Sun 06 Apr | Dennis Atkins | 'Be prepared for a pay cut'?? If you paid them markets rates that wouldn't be necessary. And if you can't determine their market rate based on your own research into the state of your market and their talents I wonder if the persons doing the interviewing are incompetant? In any case, this hardly sounds like a desirable place to work. What are the reasons why someone would want to take a pay cut and put up with your poisonous attitude to come work at such a firm? Free crack on Wednesdays? (A word to the wise, lay off it a bit...)
Forum Software Beta 3 | Fri 04 Apr | Dave B.
For those interested: I have upload Beta Version 3 of the forum software. This version supports email via CDO. Although it does not as of yet have a search feature, I think the forum is coming along nicely. - http://dbehnke.users5.50megs.com -
Sat 05 Apr | pb | Can you provide a glimpse of it?
Sun 06 Apr | Thomas Eyde | Yes, that would be nice.
Sun 06 Apr | Dave B. | If by 'glimpse' you mean 'screenshots' then the answer is: I don't have a website (with screenshots) setup as of yet but am working on one. On the other hand, If by 'glimpse' you mean - ( summary of features, why did I write it?, what does it do? etc etc ), then the answer is that I am also working on a FAQ. At the moment, the only way to see what it looks like is to download and run it. It is a free download and fairly easy to setup.
Sun 06 Apr | Thomas Eyde | I was thinking more of an online version we could actually use, so we don't have to install it for our selves. Yes, I am lazy.
New SQL Upgrade? | Fri 04 Apr | just wondering
anyone know when the next version of SQL is going to be released by MSFT? for some reason, my bosses are under the impression from their distributor that there is a new version of SQL coming out in a few months... im under the impression that the latest is SQL 2000 SP3... anyone what the story is?
Fri 04 Apr | just wondering | ok... so i got a little more info on my question. i think what happened is that the distributor told my boss that since MSFT Advanced Server 2003 is comign out soon, that SQL Server 2003 will be released soon as well. anyone know anything about this? we have to renew our licenses... is there any reason we should buy a package that would include the upgrade for SQL 2003? or are we better off jsut sticking to 2000 for the time being and wait until we have to renew our licenses next year?
Fri 04 Apr | Brad (dotnetguy.techieswithcats.com) | Nope, not in the next few months; if I had to guess, I would say the end of the year is probably closer to realistic. What makes me think this is that the SQL Server beta is going to be one of the prominently featured topics at the next PDC.
Fri 04 Apr | Mike | I was at a large DB seminar put on by MS and Unisys. The Microsoft people told us: There is a 64 bit version of SQL Server 2000 coming out in May, it is going to coincide with the rollout of Windows 2003 Server. That may be what your boss is wetting his pants over.
Fri 04 Apr | Nick | The next version of SQL Server, aka Yukon, is expected out next year. The beta may be available this summer.
Fri 04 Apr | just wondering | well, in the event that they release 64-bit SQL Server, why would i be interested in upgrading right away? furthermore, woulnd't i have to upgrade to Advanced Server 2003 if i want to utilize the new 64-bit version? Would i also need to upgrade the server machines? i'm getting the impression that no one here is in a hurry to upgrade... what's the timetable that most other poeple are considering for upgrading to 2003 and/or SQL Server 64-bit?
Fri 04 Apr | Mike | The 64 bit version is for companies with large databases that are running out of scalability. 32 bit SQLServer with AWE and /3GB switches only goes so far. Plus the olap tools are currently limited to 3 gigs of ram as well. Particularily bad because your olap datasets are usually your biggies. 64 bit allows addressing much more ram without using an AWE or /3GB kludge. If your company needed 64 bit SQL Server you would know it and know it coming out already. Personally I am glad they will have the 64 bit version of Windows and SQL Server, but they are 5 years behind the Unix folks and DB vendors here. I am glad our shop doesn't need this scalability yet. At the seminar I was at the Microsoft person said MUCH of SP3 for SQL Server was undocumented fixes that make SQL Server more scalable when using more than 8 processors. Unisys makes some very nice servers with up to 32 procs. SQL Server wasn't scaling beyond 8 as well as it should have and MS addressed that.
Fri 04 Apr | Brad (dotnetguy.techieswithcats.com) | I'm in quite a hurry to upgrade to W2K3. The IIS upgrades, especially as they relate to ASP.NET, are reason enough. The security upgrades are icing on the cake. We don't run any 64-bit machines. Yukon will feature prominent support for .NET. Almost everybody seems to agree that, at a minimum, you'll be able to write stored procs using .NET languages (so, objects with methods, pre-compiled, instead of interpreted SQL). I expect that there will be native support for stashing objects into tables and actually issuing calls against them. If they were smart, they would at least offer some sort of support for OODB. Wish I was on the beta so I'd know for sure what was coming. :) Guess I'll have to wait until the PDC...
Fri 04 Apr | dmooney | http://msdn.microsoft.com/vstudio/productinfo/roadmap.asp Looks like there is going to be a Visual Studio update in conjunction w/ Yukon's release. To me this would indicate 2004 since VS 2003 is just getting released.
Sun 06 Apr | Nicholas Franks | Well, If your running a SQL Server right now and if its not powerfull enough, i dont think the 64 bit is going to save the day. For Database Power ORACLE is the way to go. In Software buying/upgrading, you must be smart in the decision you are making. Do YOU REALLY need to upgrade ? If YOU DONT upgrade, are you going to lose enough money to pay back the upgrades within 1 year ? The beauty of the 1 year pay back, its alot easier to budget within the same year and like that its alot more appeling to the person approving the $$$ for the upgrades.
Dealing with obstinate nerds | Fri 04 Apr | Used to deliver pizza
How do folks deal with these types? Im talking about developers who are smart, but are inflexible. They dont follow the de-facto shop standards in existing code; their code works and is efficient but they do things like modularize and abstract to an absurd degree, and use arcane constructs when a slightly longer but vastly more understandable (and thus maintainable) approach would work. They reject suggestions that would require them to re-work their code. For example if something comes back from a usability test that indicates users are having a problem with an aspect of their UI implementation, they are just stupid users. They are difficult to talk to and have the personality of a microprocessor. Hope this gives an idea of the type of person I am talking about. In our case we are an academic institution and dont always have a lot of choice on who is assigned to projects, and its hard to get rid of people.
Fri 04 Apr |       | You use the same techniques that have been successfully used on nerds for ages: Beat the crap out of 'em.
Fri 04 Apr | Steve Barbour | Well, if you can't fire them, then make sure their phone number and email address are featured prominantly in the program. Let the users take care of them for you.
Fri 04 Apr | Philo | Fire them anyway. Actually, the formal termination process isn't supposed to be a termination process - it's a counseling process meant to try NOT to fire people. You counsel them. Start with 'if you have problems with the standards, perhaps you can discuss what your issues are. But if we decide not to change, I expect you to work within the established guidelines.' If the nerd doesn't deal with that well, then a manager explains to him/her, in a formal setting, why their attitude is a problem. The manager gives them guidance and suggestions towards resolving the issue. If, two months later, they show no signs of change, you have another little sit-down. You explain again that they are not the department chairman and they are expected to follow standards and react favorably to feedback. Make it constructive. If it were me I probably couldn't resist the urge to suggest they can't be that smart if they can't work within published guidelines... [grin] But ultimately, if you've tried to work with the person and they simply refuse to work with the team, you get rid of them. Philo
Fri 04 Apr | Ed | Let them go work for an employer who appreciates their ability to create working code efficiently. this will enable you to take over their project, mess up their working code, and blame it on then while talking about how superior you are.
Fri 04 Apr | z | You might try to at least write down some coding standards. It is a bit unreasonable to expect anyone to follow 'defacto standards'. When can they be sure they are doing it right? You seem to have an idea in your head of what the standards are and you expect these developers to be able to figure out what's in your head.
Fri 04 Apr | Matt H. | Ed's onto something. It sounds like this isn't really about what the developers are doing - to some degree or another, it's about ego. As for the 'stupid users' comment - if you are the boss, make a decision, and inform them of your decision to change screen X to do Y. Then if they don't do it, you're dealing with insubordination, which is a different problem, altogether. If not, lobby the decision-maker. Likewise, if you're not in charge, a lot of this stuff is personal opinion. You might need to take a careful look at, relatively, how well off you are. The code works. It's created quickly. If you are a decision-maker, well, then, make it clear how you want things done, and talk to your boss about ways to influence people. If you're in some-sorta-wierd project-manager-with-borrowed-reports-and-you-don't-write-the-annual-review situtation, you need to call the real boss and involve them. Final thought: Take another step back to make sure it's not just that these guys are 'different.' When ego's are invovled, it's easy to confuse 'different' and 'wrong.' Different is not the same style or attitude as you. Wrong is insubordination, the peddling of 'solutions' that don't work, or incompetance. If you have an objective way to measure it, taking months to develop a solution that more than 50% of your people could bang out in a couplea weeks is problably also 'wrong.' just my $0.02 ...
Fri 04 Apr | trollbooth | The days of the nerd BOFH using his IObfuscate interface are over. No one wants to see clever obfuscated code, they want to see code that is easy to understand and maintain. Human costs outweigh the cost of machines. Adding one's clever hack to get the nth degree of efficiency is usually not worth the human costs of maintainability. Software is dynamic and requires constant tweaking until you reach a state of acceptable quality. Until that state is reached you are not finished. Software development requires teamwork and the ability to absorb contructive criticism. Let them know they need to focus on the user and not their nerd ego trip. If that fails then beat their ass into submission with a few good back handed - baby powder laced - pimp smacks and tell them to get over themselves.
Fri 04 Apr | Eric Debois | Certain people can only code well if they can do it in their own way. As a teacher I see these types quite often as there are usually 3 or 4 in every batch of 40 that I come across. They dont respond well to teaching in the regular sense but once you hammer the basics of something into them, they can take it and experiment with it with much better results than the avarage student. The reason you might have trouble making your coders follow rules may actually be insecurity. They learned what know by finding out for themselvs and doing things their own way. They have never been forced to performe on someone elses terms so they dont really know if they even can.
Fri 04 Apr | Nick | If de facto standards aren't followed, they're not really de facto are they? As a previous poster said, the standards should be written down. The tough part will be to get everyone's buy-in (or agree-ence, as Fred Durst would say) on the standards. You'll need to look to the management for that - whatever that may be in an academic setting.
Fri 04 Apr | Bored Bystander | Issues like this are almost always an ego issue - but there are other considerations too. But first, do these people generally get the job done, well (by the standards of the user's experience) and on time? Yeah, a lot of programmers have the personalities of reptiles. It goes with the territory. A people person would not last 3 hours in a coding job. If you want the job done, you *have* to hire people whose personalities suck. I get tired of programmers being bashed because we're not Dale Carnegie acolytes. Secondly - let me turn your contention around. I am in a region where the average IT worker is kind of an undereducated dolt who doesn't grasp abstractions, and the local managements don't much respect competency and they certainly don't respect brains. I've been in the position of being accused of writing code in EXACTLY the 'overly complex' way that you describe, except that given the deliverable I was assigned it *appeared* to be the only way to do things. And curiously, everyone within 10 miles treated the task I was asked to do like a tar baby and as career punishment. It was like - I was being criticized and critiqued for being 'too ivory tower' by people who had no clue how to go about doing the same thing. I've had stupid wankers criticize my code who thought *subroutines* were excessive, for God's sake!! So, I'd need to know more about your background and your organization's standards in order to take a side in this. I generally don't respect back seat drivers since I've been trashed a lot with the same kind of so called intentions. That leads into a third point. What may seem like 'excessive' use of abstraction may be rather an appropriate way to gain generality in the finished code so that the wheel doesn't have to be reinvented later for similar applications. Someone with lesser experience may not see the opportunities to make the code more general and will rip their hair out at the 'obfuscation'. In general - I sympathize but, not being there, I don't know if this is a real problem, or a mismatch of styles.
Fri 04 Apr | Philo | Bored - If you feel all coders must be antisocial, where do your software architects come from? I'm not saying coders *can't* be antisocial, but a good software architect *must* understand both sides of the keyboard to develop a successful product. Philo
Fri 04 Apr | Bored Bystander | Philo, I'm guessing that software architects happen to be programmers who learned to develop their socialibility over time, and therefore wanted to combine their technical skills with more interpersonal interaction.
Fri 04 Apr | Devil's Advocate | Bored - As opposed to genial people who developed their programming skills over time? As was covered in another thread, learning one thing neither destroys the skills one already has nor leaves one incapable of learning more.
Fri 04 Apr | Philo | Incidentally, this would explain some of the crap software products - most people view 'software architect' as a natural progression in seniority without realizing there are additional skills required beyond simply being a good coder... Philo
Fri 04 Apr | Reginald Braithwaite-Lee | This sounds frustrating. I've had to deal with it for almost twenty years, so I feel the pain... From the point about not controlling who's on the team, I can say that if you don't hire and fire, you have limited accountability for their actions. Do your best, but realize that you need to invest only as much effort as is reasonable for someone with limited authority. http://www.braithwaite-lee.com/opinions/managing-software-development.html Also, code that meets objective acceptance tests, including performance, ought to be acceptable. I'm no fan of excessive abstraction: I believe in writing what's needed and no more. But Coding Standards are supposed to enable and support the basic activity of developing code that works. If their code works, perhaps you shouldn't worry about a maintenance problem that may never arise. This is the joy and the pain of managing by results: you have to let go of telling people how to do things and instead focus on what they accomplish. The good news is that when you let go of telling them how to write code, you have more time and attention available to discuss what needs to be done, such as the usability fixes you've identified. Good luck, and please post a follow up letting us know what does and doesn't work in your situation.
Fri 04 Apr | Bill Carlson | I think the frustration has to do with developers residing in one of two camps: Camp one: Those who go home at night and think 'how could I have done that in less code' 'what would be a simpler approach' 'will it be obvious what I'm doing in there' 'what's the easiest way to satisfy the user and satisfy marketing?' 'how can I make the product something I would want to use?' Camp two: Those who go home at night and think 'wouldn't it be cool if we could use the XYZ API?' 'maybe I should write an optimized hash table to sort those 8 entries' '4th normal form requires us to add 19 new tables to our database' 'every operation should be wrapped with three deep of accessor classes, you know, in case we radically change the system' 'man it's getting late and I want to watch my taped video of TechTV highlights, but I really need to go download some more Anime' The single most frustrating thing in my job is dealing with that one person in camp two that can't look at a simple problem and see it for what it is. EVERY conversation is 'how can we complicate this?'. PLEASE, if anyone has suggestions on how to deal with this person, POST NOW. I feel my project is being drained by having to endlessly fight the simple vs. obfuscated debate.
Fri 04 Apr | Vincent Marquez | Bill, I know what you mean, but I've also had trouble dealing with people who have the mindset of 'they haven't requested that feature NOW, why should we plan ahead at ALL?'. The fact is, requirements change, and while over designing something is bad, you shouldn't 'just' build exactly what the current requirements dictate leaving *no* room for scale.
Fri 04 Apr | Devil's Advocate | Bill - Have you tried saying, 'We can refactor that later as necessary'?
Fri 04 Apr | Bill Carlson | I've tried to explain refactoring to my colleague. What I can't seem to communicate is relative cost/benefit. Personally, I view code as a liability. Solving a given problem with less (or no!) code is always a win. This isn't univerally shared. Some of it comes from perfectionist tendencies inherant with some developers. Yes, a stored procedure is almost always faster than an ad-hoc query. But is it worth it to bind the parameters, change the DB script, etc., for a query that takes 5ms and is called once a day? Camp one says no. Camp two says yes, because 'it's better, isn't it?'. The analogy I use is home construction. People would be horrified if they knew the shoddy techniques used to build a typical house. If you're morbidly curious, measure the supposed 'right angles' with a T-Square. Sure, you could build a house with perfect 90 degree angles. It would cost a ton more to build and you wouldn't be able to charge a dime more. Vincent's point is well taken. There's a fine balance between 'hardwire it to the extreme' and 'in the name of expandability, lets complicate and generalize it to the point that only one person can ever understand it.' Much of 'enterprise development' is repetitive and boring. The engineer that gets his stuff done by 11am and surfs the net the rest of the day contributes and is worth more than someone who works until 8pm writing lots of code to do the same thing. Love the solution; don't love the code. Any more thoughts?
Fri 04 Apr | Bored Bystander | Bill Carlson - your camp 1 and camp 2 descriptions *perfectly* match what I've seen in this industry. Another hated generalization follows from this: most programmers tend to be excessive and most lack the common sense to modify their approach given compelling evidence to do so. In my work I've tried to tread the middle ground btwn the 'hardwired to one set of data' camp and the 'let's write a 100K LOC api to read and write text files' types, and it's rarely appreciated as such. I get drooling incomprehension from the types that are probably snowed by the object model in Visual Basic, and I'm obliterated and slandered by the self-aggrandizing pseudo academician types who look down their noses at 'mundane' problem solving. In my experience, one almost might as well puff their code up with a bunch of unnecessary crap because it will look more impressive to the geek chain of command... if you get down to business you'll be scrutinized as to why you're not overworked like everyone else. Cynical - who, me. The 'obstinate nerd' title of this thread set me off because it came off like the standard value judgement of someone without much skin in the game. Maybe that's wrong of me to assume that, and the lack of the ability of his co-workers to deal with end users points to some arrogance there. At any rate, I think this thread has been a great exploration of 'NURD' psychology. I hope the O.P. gets something out of it to deal with this 'problem'.
Fri 04 Apr | Must be a manager | I think this is a management failure rather than a failure of the developer. If his interfaces are poor --- and I stress the IF --- then change the architecture so the developer's work is accessed through an interface put together by someone else. However I have a feeling you are not really describing the problem. If the developer is paying attention to code interfaces and architecture, I suspect he's probably quite good and the problem you describe is something else.
Fri 04 Apr | Bill Carlson | Bored Bystander, thanks for agreeing with me and for providing sympathy. I'm in a lead position and have some ability to direct other developers and set coding standards. I'm a pretty 'loose' manager. Our developers are mostly middle age and can be trusted to get it right. All but one person in our department is basically 'lazy'. And I mean 'lazy' in only the most positive light. We accomplish a great deal, mostly agree on stuff and waste little time or energy. We are a stable group and have only moderate need for structured process. I expend quite a lot of effort butting horns with one person, though. Anything the group comes up with, he has a new, better, more 'advanced' way of doing. His attitude is good; he's a self-improver. I don't want to stomp on his ideas, but anything that triples the lines-of-code without improving the user-experience is usually a bad idea. He's 3 years out of school and is somewhat of a 'purist'. I don't have the direct authority to give him 'the lecture'. Maybe I can communicate this to my boss. However, my boss is decidedly non-technical (though she does a good job) and has trouble seeing this persons suggestions to improve reliability and performance for what they are - a big mess with microscopic gains. He's willing to work long hours to achieve his goals. What's a nice way to tell one's non-technical boss that a coworkers hard, dilligent work is really counterproductive to the success of the project? I haven't figured this one out without appearing jealous or lazy.
Sat 05 Apr | Dennis Atkins | This all seems a bunch of speculation to me since not enough information is presented to allow anyone to give relevant advise. Pizzaguy, #1 what is your position and experience and what is the position and experience of the employee in question. And what is your relationship to him. #2 please show an example of the overly-factored code in question that you find to be unacceptable quality. #3 what exactly did the employee say word by word when he displayed this arrogant insubordination to you. Without more information, this discussion is like the job interviewee who was asked how to approach creating a payroll system and he starts talking about languages and packages and libraries without first asking whether the payroll system will be for a pizza shop with six employees, for the US Navy with x hundred thousands of employees, or for an international conglomerate with employees recieving salary in multiple currencies and deductions made under scores of tax jurisdictions.
Sat 05 Apr | Alyosha` | People who work together exert a normalizing force on each other. Get people working together whenever possible. Combine indivdual-sized tasks together and assign teams of two to four people to solve each larger problem. If your developer does things differently than everyone else, don't panic yet. Different doesn't always mean wrong. Manage by results. If they're not getting their stuff done because they're the overarchitecting type, move their deadlines up so they don't have time to be too-clever-by-half. If they're the sort that rewrite standard library functions, it's because of inexperience. Invite them to more code reviews so they can learn from other people's code. If they're the kind that write sloppy, buggy code, pull them from developing new code and put them on bug-fixing and user-support detail. If they tend to go into hiding for weeks in their offices, require weekly status reports from them. Demand visible progress. If you absolutely must give them 'the Lecture', remember three things. First, don't get angry and don't criticise them in front of other people; programmer egos are fragile. Second, don't waste time assigning blame or arguing past history. Third, be specific on how you expect their behaviour to change. If they continue to produce unacceptable work despite your best efforts to help, do what it takes to get them out of your group.
Sat 05 Apr | Must be a manager | Bill, my advice in that situation would be to just go with the flow. If he's getting the work at great cost to him, but that's what he wants to do, let him be and turn your attention to other stuff. I think the only reasonable way to let your manager know the guy's approaches are resource-intensive is to be relatively cool about it.
Sat 05 Apr | | Too much fuzz about nothing. I've been on the nerd-side and the manager-side, and usually these kind of problems are political. Do their code works? If the answer is yes, I can't find any reason to have a problem with it. If not only works, but works well, great. There is a good advice: treat nerd-types as spoiled childs. Bribe them: create a task schedule with specifically one hour daily to 'fix stuff'. What needs to be fixed is up to them. You said they are good developers; let them loose. Use emotional traps on them, nerds are known for not know when they are being manipulated. (Any grammatical/spelling error it's not mine.)
Sat 05 Apr | Punter | Heh, this could so easily have been posted the other way around: My 'peers' don't understand the value of modularisation and abstraction. They have poor coding standards and refuse to change them. My code is efficient and bug-free and yet I have complaints because my 'peers' are stuck in their obsolete habits. What do I do? It's a political problem, what do you do when a developer doesn't fit into your group culture? You don't enjoy it, and I bet he doesn't either. If it's a real pain, I'm sure he'll move on soon enough....
Sun 06 Apr | Tj | Bill, if you're working on enterprise apps, it's probably not the best fit for your guy. Young people are often better on research projects. I just researched about Crays today, and noticed Cray liked designing with young people because they had less preconceptions and didn't know what was impossible. Whereas you're more optimized. To the original poster, writing good code is no sin, but refusing to change their UIs because users are stupid is. You should ask them to explain why their UIs are so badly designed that they can't rework them to suit the users. Though of course you'll need good arguments why your approach is correct; these programmers may be right.
Sun 06 Apr | TK | The trouble with-know-it-alls is that sometimes, they really do know it all. At my former 'really big company' we could often find niche's for folks like this. Let Reagan be Reagan.
Server Naming Schemes? | Fri 04 Apr | Philo
A light topic for Friday... Regarding theme server naming schemes (not stuff like DEVWEB01), what themes have you used or seen? My servers are Rachel, Monica, Phoebe, and Ursula; my ISP has saltmine, ironmine, goldmine, and claymore (among others) Also, any good stories about unfavorable names coming to light when a server went public? IIRC there were quite a few of these in the internet explosion of the mid-90s (for example, Texas Womens University had a server named Venus) Philo
Fri 04 Apr | John Topley | What's wrong with Venus?! The servers where I work have really boring descriptive names.
Fri 04 Apr | runtime | I remember someone figured out how to lookup the names of Hotmail's servers. Hotmail had many silly server names, but the stand-out favorite was 'rotatetheshieldharmonics.hotmail.com'. :-) And I've heard there is an error message on SourceForge or GeoCrawler that reveals a device name that was probably not meant to be public: 'Unable to read configuration file /bigassraid/htdig//conf/12584.conf'
Fri 04 Apr | richard | Pretty much the golden rule is that the name should not describe the machine or it s purpose or otherwise describe its location. After that, whatever floats your boat (WFW00342 doesn't). In our test lab we got a couple of machines called: Dipsy, TinkyWinky, Laa Laa & Po. Somebody likes tellytubbies. Dipsy is my build machine. A few others are named after football teams & towns. some mythological deities too, but saturn & zeus imply somebody got their pantheons crossed. Theres a Tom, Dick & Harry, and goofy sticks out like a sore thumb.
Fri 04 Apr | Steve Barbour | We use cartoon characters. The more obscure the better, no anime names allowed though.
Fri 04 Apr | Brad (dotnetguy.techieswithcats.com) | At home, I use character names from a favorite author. Roark and Galt are my laptop and desktop, although I do admit to boringly naming our router 'router'. :) At my work, boring names. WS_FOOBAR, SV_WEB1, etc. :-p At my wife's work, the server names for their team are Star Trek characters. Troi, Neelix, etc.
Fri 04 Apr | Chris Winters | Using geography is always fun: rivers, mountains, world capitals, cities with great breweries. And unless you're Google you're pretty much guaranteed not to run out of available names.
Fri 04 Apr | Steven C. | One of my work computers is named 'kuhli' (named after, I presume, the Kuhli Loach, a.k.a Acanthophtalmus kuhli kuhli, a tropical fish).
Fri 04 Apr | flamebait sr. | An ISP called one.net had a machine named five.four.three.two.one.net. I once heard the suggestion to name machines after famous monopolists. billgates, naturally, was on the list. Movie characters and Arthurian legend is always a good thing.
Fri 04 Apr | Rob Walker | I worked somewhere that used classical composers. Bach was OK, Tchaikovsky (yes I used Google to spell that correctly) and a bunch of others caused more than a bit of frustration.
Fri 04 Apr | Chris Tavares | We used sound effects: bang, crash, biff, poof, bampf, etc. Basically, anything that would have shown up in a balloon in the old batman show. Drove our sysadmin guy nuts; he could never remember which computer was which.
Fri 04 Apr | Justin | One place I worked we set up using beer names - Carlsberg, StellaArtois etc. The single, despised iMac for compatibility testing was called BacardiBreezer or something. Another place, senior management decided to start using planet names for the servers, then extended this scheme to clients (Er how many planets are there, exactly?). We ended up using fictitious planet names like Arrakis and Golgafrincham (Hitch Hiker's).
Fri 04 Apr | GersonK | Back when I was working an atmospheric physics lab doing research into ice cores - particualry their dust content and how it got from the atmosphere into the ice, our first two machines were named 'ice' and 'air'. Unable to come up with a legitimate research reason to name out next two servers earth and fire, we ended up going with 'dust' and 'lava' (we'd started looking at volcanic ash contnet in the ice).
Fri 04 Apr | BoredAtWork | At my office we use Simpson's charaters. Our most unruly server was aptly named 'Bart' and the most expensive server was name 'Burns'. It was like the servers took on a life of their own.
Fri 04 Apr | Benji Smith | We've got a bunch of muppet-name servers (piggy, animal, fozzy, etc.) and a bunch of simpson-name servers (homer, lisa, maggie, otto, etc.). And then, of course, we've got some random names thrown in here and there (matrix is the only one I can remember at the moment).
Fri 04 Apr | apw | our servers get thier names from the elements that make up the Periodic Table or Elements
Fri 04 Apr | na | once one of our client had a 2 machine cluster named Tom and Jerry
Fri 04 Apr | Ros | Currently Asterix characters, in Spanish version namely Asterix, Obelix, Asuranceturix, Panoramix, Ideafix and Edadepiedrix. Formerly I've had Koji, Sayaka, Mazinger, Kabuto and so on. And have been in a place with a firewall called vito in the inside and corleone in the DMZ People around computers are insane. Me too
Fri 04 Apr | anon | Brad, who is Galt? At home, I use character names from a favorite author. Roark and Galt are my laptop and desktop, although I do admit to boringly naming our router 'router'. :) At my work, boring names. WS_FOOBAR, SV_WEB1, etc. :-p At my wife's work, the server names for their team are Star Trek characters. Troi, Neelix, etc. Brad (dotnetguy.techieswithcats.com)
Fri 04 Apr | Prakash S | Paul, Ringo, John & George...
Fri 04 Apr | Brad (dotnetguy.techieswithcats.com) | anon is witty, although it's not clear if (s)he was intentionally so. :) 'Who is Galt?' indeed. :) Forgot to mention that the first place I worked, the original PC naming policy was sexual fetishes (sometimes twisted a bit to be more appropriate). Personal machines had names like leatherandlace, handcuffs, etc. Some of the servers had interestingly twisted names like 'vaxeline' for our Vax. :)
Fri 04 Apr | Eric Debois | Interesting how these names can stick.. A few years ago I named a server Socrates when it was taken into use. I visited the place where its at the other week. Now, it has been renamed and reformatted a number of times, but the staffers still refer to the box as Socrates.
Fri 04 Apr | Patrik | My college had one lab with machines named after single malt scotch whiskey, lagavulin, tallisker and so forth. I see one drawback with this; It is a bitch spelling laphroaig correctly :-) The lab next door had names of pain killers.
Fri 04 Apr | Bill Tomlinson | At a space related company we used star names (but there were spelling problems, e.g. betleg... bettelj... ...). At another company they used trees. At another place we had four computers that we were setting up for a client and we named them after the A-Team. Which brings up one issue, always make sure that there are lots and lots of potential names in the theme you choose. At least a hundred of the top of your head. Few things suck as much as bringing the eighth computer into the office when you've been naming computers after the seven dwarfs.
Fri 04 Apr | Jason | I personally use baby animal names: gosling, tadpole, etc. Work is a mish-mash of actors, bands, etc.
Fri 04 Apr | Vincent Marquez | I always liked naming pairs of servers WinterMute and Neuromancer. :-)
Fri 04 Apr |   | >> (not stuff like DEVWEB01) I worked at a place with webdev1 as a name. dev.name.com was production and pr1.name.com was development. Another place had Sid and Nancy as names
Fri 04 Apr | Wayne Earl | At work, we name them after planets. There is nothing more satisfying then the following: 'Where can I find that file?' 'Look on Uranus' :)
Fri 04 Apr | Brent P. Newhall | At our last company, we used the names of trees, which seemed to nicely balance the need for interesting names, the odds that anyone would understand the origin of the naming scheme, and the desire for professionality. So, you had computers named Maple, Cherry, Oak, etc. One fantasy afficionado named his Yggdrasil, which I thought impressively inventive.
Fri 04 Apr | Ben Combee | My first job after school had machines named after islands, so there was 'kauai', 'maui', 'greenland', 'iceland', etc. My favorite was the machine called 'noman', because as we all know, 'noman' is an island.
Fri 04 Apr | Martha | We have FS1 and FS2. Kind of typical of this company. :/ I like that islands/noman thing.
Fri 04 Apr | GersonK | Wayne - of course the planet scheme also gives you the opportunity to say 'I searched everywhere on earth, and still couldn't find the file.'
Fri 04 Apr | Eclectic Echidna | Server name should be short, easy to spell, easy to visualize. Body parts, 10 names, 30 letters... arm ear eye gum hip jaw leg lip rib toe -- ee
Fri 04 Apr | RocketJeff | My home network is the 'Dilbert' network. Currently there are the following: dogbert - old box that's gathering dust most of the time ratbert - my notebook wally - the machine I set up to do work at home alice - the 'family' computer the kid's games are on My former employer had a *tom* of different networks - one for each dev group, test system and production group. I can recall the following network names (with a couple of examples): Trees (oak, elm) Sounds (bang, thud) Weather (cold, sleet) 'D' (David, Dorsai) Star Trek (warf, troi) Movies Flowers Booze (vodka, gin) Mountains (everest) Aircraft Carriers (nimitz, hornet) There were *many* more - a coworker tried making a complete list but he was always finding a new network every so often...
Fri 04 Apr | David Jones | I use contract bridge terms on my home network. Each machine has a bridge-related name that also describes the machine in some way. The dual P100 that runs email and web is 'double'. The firewall is 'pass'. The Windows box is 'notrump'. (NT? :-) The high-performance FreeBSD compile machine is 'slam'.
Fri 04 Apr | dmooney | My machines are named after Ren & Stimpy characters: ren, stimpy, mrhorse & sven. Other machines at work are named after golf terms since we make http://StarCaddy so we have Putter, Rough, Dogleg, Bunker, etc. Those are mostly servers. Workstations used to be named after their users but I found that to be terribly boring so I started to get a little sillier. My company's name is LinksPoint so Lucas Hjelle's machine is called hjellepoint (rhymes w/ jellypoint). Others are vaporlink and hotstuff.
Fri 04 Apr | dmooney | That's.. uhh.. http://starcaddy.com.. duh
Sat 05 Apr | Alyosha` | I believe I am the only one who names his machines after infamous 20th century tyrants: mao, polpot, stalin, saddam, castro, hitler, pinochet ...
Sat 05 Apr | na | dementia, schizophrenia, bipolar, etc.
Sat 05 Apr | Simon Lucy | I have a blind spot about naming inanimate objects with anything like a name. So, I tend to describe either their function of location or some discoverable feature when I use them in conversation. So I tend not to use cute names, on closed networks with single or few servers, the workstations will probably get letters and numbers and the servers something like 'accounts' or 'engineering' or something. And my own network is just OB followed by what ever number in letters comes next. I name cats, people and software creatively though (of course software is animate).
Sat 05 Apr | tapiwa | This place names work stations after users... servers have numbers. My own machines... ex-girlfriends, and when I run out of those, its the beautiful women I know personally :)
Sat 05 Apr | Simon Lucy | So your girlfriends were non-beautiful people that you knew impersonally? Perhaps that's why they're 'ex' :-)
Sat 05 Apr | Dave | Way too 'geekish,' I know, but we name our servers after people integral in the history of computing: Pascal Byron Turing Ada Babbage etc...
Sat 05 Apr | Andrewm | At a Nortel lab where I used to work, all the groups called their machines according to a theme - cars, superheroes, cities, whatever. You could tell what group used what machines by what theme they belonged to. At a certain point, somebody in the IT department decided that all these whimsical names were just not befitting a serious, professional lab (or something). So they came around and renamed all the computers to things like p920t56 - in essence, something as arbitrary and hard to remember as the IP address that the names were meant to help us with!
Sat 05 Apr | Yablan | Heh, fun topic this one. At my previous job, all the servers had names from James Bond movies, which I found quite cool. We had: Goldeneye Moneypenny Goldfinger etc.
Sat 05 Apr | Nick Brosnahan | Dartmouth named their mail servers after the reindeer. Rudolph Dasher Dancer Prancer Vixen Comet Cupid Donner Blitzen
Sat 05 Apr | Philo | Would the tenth mail server have been named 'Venison'? Philo
Sun 06 Apr | Joe Markham | We have machines named after 'stuff' from the 'Wizard of Oz' stories. ruby ozma toto wizard wicked etc...
Sun 06 Apr | ko | my isp uses animal names like fox, dingo, wombat etc.
A little discussion on pricing ... | Thu 03 Apr | Mitch & Murray (from downtown)
Over on the Borland news server there is a pretty interesting discussion going on regarding the merits of two different enhancements for the Borland Delphi IDE. Product A makes the IDE do everything except stand on its head. All kinds of useful goodies and dodads. Price - $400, no trial version available. In some cases this means the add-on costs more than the entire development tool. Product B does most of what product A does, or at least seems to. Product B has just been released, and it is not much of a stretch to imagine that the vendor of product B wanted to knockoff/clone Product A. His price - $50. Pricing a software product is always tricky. Would the vendor of Product A sell 8x more copies if he dropped his price to $50? Would the vendor of Product B still have a viable product if he charged $400 instead of 50? What are your thoughts?
Thu 03 Apr | Ron Porter | My first thought is that for a lot of people, $50 is a close first approximation to free. All it needs is a couple of decent reviews, especially if it compares favourably with the more expensive product, and it should do quite well. If it turns out to be someone 'losing a little on each one, but making it up in volume', then there might be problems down the road, but in the absence of a trial version of the more expensive product, I'd probably take a chance. An example from my own experience is the difference between something like the Rational line of object modelers and Enterprise Architect (http://www.sparxsystems.com.au/). EA was hardly free (couple of hundred dollars), but Rational stuff is expensive enough that there's no point me even evaluating it. On a related note, I seldom even consider a product that doesn't offer 3 things on their website: free evaluation version, clearly stated pricing, and public knowledge base or support forum.
Fri 04 Apr | Philippe Back | Have a look in there for some insight: http://www.softwaremarketsolution.com/ http://www.aegis-resources.com/ This was recommended by Joel and I bought their book and marketing templates. Well, what an eye opener...
Fri 04 Apr | l.o.g. | > clearly stated pricing For me this is my biggest pet hate. As soon as I see the line 'please contact our sales representatives for pricing details' I close the browser, no matter what the product is. What are they afraid of? I don't walk into a shop and expect to see signs saying contact the shop staff for full pricing details. If they can't evaluate and state what the value of their product is, what else does that imply...
Fri 04 Apr | Walter Rumsby | Or when I see 'skip intro' or links opening new windows...
Fri 04 Apr | Tj | Would you like to share the google groups link? It sounds like more information would be useful, otherwise we're talking x's and y's. I'm sure people with more experience than I can chime in, but it seems nuts for A to kill its price to match B. That's throwing away its reputation. The reason people say 'contact sales for price' is because they're not selling to normal engineers. Those guys find out it's $400, it's all over, because they imagine themselves shelling out the cash. Instead, they'd rather talk to a money guy, who can buy a site license and justify the cost as a tiny fraction of each person's expense. If this IDE is all-singing, maybe they offer support and lose money by supporting individuals, so they want to discourage small purchases. If that is the case, the $50 guys are not overlapping with A as much as one might expect. Of course, it would be nice to know exactly what products we're talking about.
Fri 04 Apr | Richard Rodger | Sounds like a job for the Black-Scholes option pricing equation... http://www.mindfulsoftware.com/Options.pdf .
Fri 04 Apr | Brad (dotnetguy.techieswithcats.com) | The major reason why sites don't tell you what the product costs is: they don't have one set price. This generally means that buying the product is a large investment not only in the software itself, but in services for customization and deployment. So listing a price is impossible until they know what you want. Sites like that are selling to enterprises. Move along and find a small- or mid-market product (you'll recognize them, because they give prices on the site!).
Fri 04 Apr | Philo | Ron - agreed 100% on the 'things you should have on the web page'. I was going to post yesterday that I won't pay for a product I can't evaluate. How do you like EA? Is it worth the $$$? Philo
Fri 04 Apr | Mitch & Murray (from downtown) | Here is Product 'A': http://www.eagle-software.com/coderush.htm and here is Product 'B': http://www.delphi-expert.com/products/castalia/ Anyone here shell out the full $400+ for CodeRush?
Fri 04 Apr | Bored Bystander | M&M/'guys with the leads': I'm glad you posted these links because you got my curiosity aroused. I use, and I adore, Delphi as a development environment. And I just don't see what compelling value that either of these addons bring to the Delphi IDE. For some reason, I don't sit in front of Delphi pining that it lacks some feature that really belongs in a text editor. And Coderush for $400?! Gimme a break. Yes, the lack of an evaluation version is a deal killer. It looks like an interesting addon but not $400 worth of interesting. Or, I could see a REALLY whiz bang add on environment for $400 but it should integrate with the world, not just one declining 4GL that nobody wants to use anymore... I use Multi-Edit (street price ~$90) with built in Delphi IDE integration. It has excellent file differencing which is the only 'important' feature lacking in the Delphi IDE. And ME has a built in macro language plus the internal guts to hook into anyone's IDE, given the ingenuity to program it. The form designer features of these two products you cite are interesting but are not compelling at the price. Some of the form designer features of Code Rush such as hiding of non visual components could probably be done as individual small add ons for far less. M&M, were you considering buying Code Rush or was this post more of a request to observe an ongoing train wreck? I just don't 'get' the value of this product. Just curious.
Fri 04 Apr | Mitch & Murray (from downtown) | I'm pretty much with you on this - we are a Delphi shop here when it comes to application development, and I just couldn't see the $400 CodeRush deal. I mean, what the hell are these guys thinking? On the other hand, maybe they get enough bites to make this worthwhile. It is an interesting pricing strategy, and I was curious what the rest of the JOS crowd thought about this whole thing, hence my post.
Fri 04 Apr | Tim Sullivan | I bought Product A for Delphi 3, and every version since. While Product B offers some of the flashier things, it doesn't even come close to the offerings of Product A. Also, Product A comes in two flavours (both offering TONS more than Product B), one priced at $249 and one at $420. The less expensive has most of the features of the Pro version. However, the declaration view alone is worth the difference in price.
Fri 04 Apr | Brad (dotnetguy.techieswithcats.com) | An interesting thing to note here. It's very likely that 'Product A' didn't put out a trial version, precisely because they were so expensive. Most people wouldn't bother to attempt to hack away the trial version code to unlock the magic features of a $50 product, but they might for a $500 product.
Fri 04 Apr | Ron Porter | Philo- comments on EA: I bought it and still haven't decided whether I actually like it :) I've been trying to get a handle on UML for what seems like forever and now that I've actually found something seemingly useful for a reasonable price, I'm more convinced than ever that I'll never grok UML. I guess EA is fine--it's my head that doesn't work! I think that the EA team does everything right: frequent builds with close attention paid to user requests, bug reports, and long-term planning; excellent public forum supporting a strong user community and closely monitored by the developers, etc. If you think you need a modeller, but don't have lots of cash, then it's tough to imagine a better way to go.
Sat 05 Apr | Tj | Hmm, there's a link to order Coderush under the feature matrix. Pro is $420, standard is $250. https://secure.nameservers.com/eagle-software.com/NewOrderTo7.htm
Sat 05 Apr | Tj | Nevermind, I thought people were claiming it didn't have prices listed.
Sun 06 Apr | DD | As one who knows the developer of product B, and has watched its evolution since inception, I'd like to add a couple of things to this discussion: 1) Product B was not designed to be a knockoff of product A. In fact, Jacob (the developer) didn't even know of product A's existance when he started product B. All of the features of product B were concieved and developed independantly, as far as I know. 2) Product A does a hell of a lot more than product B. The statement that 'product B does most of what product A does' is grossly wrong. Product B is designed for a different purpose. They have different target markets, and in my opinion, aren't really competitors. Its a shame that they probably can't be used together, though Jacob says that no one has tried yet. At least no one has told him. DD
What the #$*()& is Word Doing? | Wed 02 Apr | Dave
This may seem a little off-topic, but since Im writing software requirements, I thought Id toss this question out. Im pulling my hair out right now because MS Word XP keeps automatically creating new styles, even though I have the option to create new styles automatically turned OFF. It seems that every day I work on my document, and copies of existing styles with the text char appended to the end magically appear in my styles list. This is really screwing me up, and I cant find ANY reference to this problem on the net. Does anyone else out there know anything about this problem or can someone point me to some further information about this? I have about 700 pages of requirements right now and Im going NUTS trying to keep the styles in check.
Wed 02 Apr | Ged Byrne | Dave, I hear your pain. It's bulleted lists that give me a headache. Thank goodnes of OO.org.
Wed 02 Apr | Duncan Smart | Couple of places to check: * Tools > Options > Edit > Keep track of formatting * Tools AutoCorrect > AutoFormat as you Type > Define styles based on your formatting * Tools AutoCorrect > AutoFormat > various.
Wed 02 Apr | Kyralessa | Have you considered switching to WordPerfect? Yes, I know your company, like every company in the universe, is standardized on Word, but tell them it's an essential tool to do your job properly, and get it put in the budget...
Wed 02 Apr | Leonardo Herrera | I second the suggestion of using Open Office. It's clean, and good enough to writing docs (and it can create .doc files)
Wed 02 Apr | Dave | Duncan: Thanks for the feedback. Have already tried all of that (only the 1st 4 options are checked on the AutoFormat as you Type tab.) THIS is why I'm so frustrated! It appears that Word is thinking I have all of these options turned on, because that's exactly what it's doing--creating new styles based on my formatting! Frustrating...
Wed 02 Apr | Prakash S | Turn them on, then turn them off, ...see if that works....
Thu 03 Apr | Phil | Maybe use Docbook and generate RTF files so that users are happy with them
Thu 03 Apr | | Close all the Office windows. Open them all again. If it doesn't work, jump out of one of them. (This action can be dangerous. Do not perform without the use of a safetx net. May contain nuts, particularly if you do it.)
Fri 04 Apr | Martha | Apparently the '[Style name] Char' styles are created when you apply a style to *part* of a paragraph. If you have text in the paragraph selected, but the paragraph mark isn't selected, then applying a style will create one of these frankenstein styles. Or something like that. Don't ask me what possible utility this behavior could have.
Fri 04 Apr | Martha | Another suggestion for taming Word's bad mindreading attempts: make sure none of your styles are ever set to Automatically Update. Particularly bad culprits in this respect are Normal style and the various list bullets.
Sat 05 Apr | Dave | Thanks for the feedback, Martha. That's really helpful. I've combed through most of the 'base' styles and none seem to have the 'Automatically Update' box checked. I really hate it when software tries to 'do something for you.' This is especially frustrating when the software doesn't stop 'doing something for you' when you tell it, 'Hey, cut it out!'
Sun 06 Apr | Nat Ersoz | This is like therapy... I'm glad I'm not the only one...
Do you own a website? | Wed 26 Mar | rexguo
How many of you here has a personal website (hopefully related to your trade too)? Lets put up a list and see the diversity of readers here.
Sat 05 Apr | Kyle Cordes | http://kylecordes.com A smattering of information for developers using Java, Delphi, and more. In particular the 'BDE Alternatives Guide'. I'm working on a broader range of content, and a snappier name.
Sun 06 Apr | mark | http://www.photo-mark.com It just occured to me to read the one line of directions about incluing links. Doh!
How often should one commit code? | Fri 04 Apr | Steven C.
This topic was spawned (at David Clayworths suggestion) off of the CVS rant down the page a bit. So: how often should one commit code? Personally, I try and do the following: * commit after every seperately understandable chunk is completed and works. (for instance, if Im adding 15 buttons to the toolbar, Ill make a commit for each button -- or each button group if theyre grouped by functionality). * At the least, one should aim to commit once a day (if the chunk youre on isnt done, make it compile and not affect other code until youre done with it and commit what you have so far). I dont think that there is a maximum though -- as long as the code you commit compiles and works correctly, you should be able (even encouraged!) to commit code in as small chunks as you can. Opinions?
Fri 04 Apr | Mike Gamerland | Your description is geared more toward 'released based' software. In a support type envrionment, I believe commits should be kept to a minimum, OR a distinct branch needs to be created to allow for 'emergency production fixes' that would need to go in. In your example if you added buttons 1-5 then a fix needed to go out, those would have to be resolved. (remove them? Send them out? etc.)
Fri 04 Apr | Benji Smith | I'm a big fan of tiny incremental check-ins. Nothing is worse than having to look through a diff with a thousand lines of code, with a hundred tiny changes, trying to figure out why you're having merge conflicts. Generally, when I'm checking something in, I don't want to have to look through more than 25-50 changes to make sure that the versions merged correctly. One of my most frequest tasks is editing large (5,000 to 10,000 lines) XML files to set up our software configuration. And, at the same time as I'm editing this enormous file, one or two other people on my team might also be working with the same file. (But we all, for the most part, work on specific portions of the file). I have come to deeply distrust CVS merges. In my experience, CVS works great with files that are based on lines-of-code. But working with XML in CVS is a nightmare, since the merging algorithm doesn't understand the data structure. If anyone on our team waits longer than a day or two before checking in their changes, all hell breaks loose, and I have to spend half a day sorting through catastrophic merge conflicts.
Fri 04 Apr | Steven C. | Good point Mike -- in fact, we've been wrestling with this general issue over the last year or so at my company. I'm not convinced that it means one shouldn't commit often, though -- I think it means that you need to make sure your development branch is always 'pretty stable' (by having a frequent automated testing suite), and that your releases are made off a more stable branch. Or something -- thoughts? I mean, to be honest, I'm not sure how shipping something with my 5 out of 15 new buttons is any worse than shipping it with all 15 new buttons, which QA may or may not have signed off on. In either case, the developer is working on something which could ship at any moment -- which is maybe not the best idea?
Fri 04 Apr | Danil | A task climbing my list is to modify my UnitTest to commit my changes if the unit test passes. The interval between tests is on the order of minutes.
Fri 04 Apr | Mike | Whenever it goes insane, it should be committed
Fri 04 Apr | Martha | Dammit, Mike, that's what I was gonna say. :)
Fri 04 Apr | Ben Combee | If the app doesn't quit, you must commit. Seriously, while I prefer frequent commits, the tools around CVS don't support that model well. WinCVS, the most popular front-end, has a bad GUI bug that makes its tree display hard to use when there is a lot of vertical space in the tree window -- basic scroll bar issues. This actually is more of a problem with frequent tagging than committing, but it does make my life more difficult. I think it would also be nice if you could easily take a series of commits and 'combine' them into a single change. That would allow small incremental commits in what you're actively developing, but let you have more structured change control for your history.
Fri 04 Apr | Brad (dotnetguy.techieswithcats.com) | TortoiseCVS is so much better than WinCVS. Get the new religion. Shell extensions are your friend. :) As for the 'fixing production code' issue, that's a non-starter. Are people really releasing code without labeling the tree, so that they can go back and branch from the release point? I'm not sure whether Mike is thinking that you shouldn't commit until you're ready to release again, or that you should roll new features into your emergency bug fixes. Either way, I couldn't possibly disagree more.
Fri 04 Apr | Vincent Marquez | As long as it doesn't break the build, I say commit as often as possible. Also, control-s is my friend. I just think its better to be safe then sorry.
Sat 05 Apr | T. Norman | 'One of my most frequest tasks is editing large (5,000 to 10,000 lines) XML files to set up our software configuration. ' Manually editing 10K lines of XML? If that is one of your most frequent tasks, you could do yourself a big favor by writing a GUI utility to parse and write the XML so you don't have to manually edit tags, and/or storing the config data in a set of database tables from which the XML is then built. The database tables can even store the version numbers so an SQL query can report the differences. My situation is similar, in which I have to maintain over 100 small XML files. It was a huge pain until until I wrote a front-end to remove 90% of the need to manually edit the XML.
English clarification request | Thu 03 Apr | Not my real name
Reading through Netcrafts archives, I came across this vaguely-relevant-to-me-because-Im-writing-a-white-paper tidbit: Mandrake falls into Administration This week Mandrake became the first major Linux distribution to fall into administration. The survey finds around 88,000 sites running Mandrake, and the distribution also enjoys a reasonable following on the desktop. http://news.netcraft.com/archives/2003/01/22/mandrake_falls_into_administration.html Question is: anyone know what they mean by falls into Administration? It occurred to me that if falling into administration means that the usage distribution is high, then I could draw one set of conclusions from the commentary re: making the distributions available prior to the boxed sets. If it means that the usage distribution is low, I could draw a completely different set of conclusions. Anyone care to comment?
Thu 03 Apr | Kyralessa | Based on the context of the entries I found by Googling, it appears to be another way of saying 'went bankrupt.'
Thu 03 Apr | Philip Dickerson | In this context, going into 'Administration' means going into 'receivership', or an 'Administrator' (in the financial sense of the word) has been appointed (typically by a court). In the US, it's called 'Chapter 11 re-organization'.
Thu 03 Apr | Mitch & Murray (from downtown) | 'Tits Up'
Thu 03 Apr | Brian | Is it a Britishism? I've never heard it before.
Fri 04 Apr | | 'Falls into' is a bit of an odd way of saying it, but the others are right - it has gone into receivership. That does not mean the end of the company necessarily, the receivers try to get the company back on the rails again by imposing strict budget controls, negotiating with creditors, etc.
Fri 04 Apr | Katie Lucas | It's not quite the same as chapter 11, because the creditors can still issue winding up orders against the company, but it's a decent sign to them that doing so isn't worth the effort. Companies do make it out of adminstration - often after a buy-out by either the management team or by a larger company that wants some of the assets. That's what's known as 'selling the company as a going concern', but frankly the more usual outcome is that the company pays off debts as best it can and vanishes. The point is that the administrators don't have a loyalty to the company - their obligation is (if I read this stuff correctly when I did) to the creditors to try and settle the debts in the best way possible, including keeping the company running if that's the best way to do it. The protection comes from the fact that having an administrator phone you up and tell you you can 20p in the pound on your debt now or wait a bit and they might be able to get you 50p tends to carry a bit more weight than the directors doing it. Receivership is a bit different in that at the time the company enters that, everyone's accepted it isn't going to make it, and the receivers are shutting the thing down with a view to paying debts if possible, with as gentle a bump for all concerned as possible. Administration is a more informal process than the legal process of issuing a winding-up order which is the sort of equivalent of US chapter 7 bankruptcy - you have to go to court and prove you can pay debts or the court appoints receivers to wind the company with no argument. And it's something the company volunteers for rather being told to do.
Fri 04 Apr | GP | Actually, because MandrakeSoft is France-based, the law is certainly slightly different. According to Yahoo News, their status is 'redressement judiciaire' until July.
Fri 04 Apr | Rik Garner | It's not typical British english. We would say 'go into administration'; maybe it's a translation from the French?
Sat 05 Apr | Simon Lucy | Enough of this British English, be it condemnéd as a calumny and falsehood. English is English. Others might have their peculiar varieties of usage and spelling.
Benefits of Timesheets | Wed 02 Apr | Joel Goodwin
I wonder what the JoS crowd think of timesheeting systems? I mean more than simply billable hours, but *where* the time went, *what* you did, applied to all employees. I worked under a timesheet system previously, and it was amazing the lengths people would go to put something into those slots. I have mixed feelings about them. A) They can give you an indication of how everyone is working and perhaps which areas are really dragging everything down. Possibly symptomatic of communication problems in your team. B) Heisenbergs Uncertainty Principle. By observing your employees in this way, you may end up changing their behaviour. For better or worse depends on the situation, but I am reminded about the dangers of performance metrics. C) Timesheets gloss over important things like interruptions. Its frightening to look at the COOLDEV entry for 4 hours and think that all you managed to achieve was a few extra lines in a minor subroutine. Your managers will think the same thing, but quite possibly disregard the urgent support calls, emails, etc. etc. that kept firing off in this time. Your interruptees, of course, said its only 5 minutes, so dont put it on your timesheet. What are your opinions on timesheet systems in an IT workplace?
Wed 02 Apr | Dennis Atkins | Do you mean hour-by-hour accountings? Or just an accounting of billable activities? If you have to account for every hour and what hour it is, that's dumb. But if you have to keep track of how many hours you worked or projects A B and C today, that's reasonable, especially if at least one of A B and C is being billed out at $225/hr to your employers clients -- they HAVE to have this because that is where everyone's salaries are coming from -- your billable hours. On the other hand if there is no client and you are just working on a single project then it should be something YOU and your project manager only know about and ONLY for the purpose of calibrating your performance metrics so that he/she can make more informed estimates as to res