last updated:06 Aug 2003 14:45 UK time
Joel On Software Discussion Forum
JOS Statistics - Recent Comments
(Comments added for week ending Sun 20 Apr 2003) | View Other Weeks
ASP Question | Sun 20 Apr | Yoav
I would like to be able to read the filenames of contents on an FTP server from an ASP page on a different server. Any ideas? Thanks.
Sun 20 Apr | Damian | You would need to write or download a component that talked FTP. Try http://www.aspin.com/
Editor for Windows to display code in tree? | Sun 20 Apr | Frederic Faure
Hi, UltraEdit is my favorite editor, but I wondered if someone knew of an editor that could display source code in a tree-like fashion to make it possible to collapse the entire content, and just expand such and such sub/func, or such and such control block inside a routine. In other words, Im looking for an editor that would include the functionality that Lynx Project Explorer provides but inside the code window itself: www.zippety.net . Thx :-)
Sun 20 Apr | Chris Nahr | Microsoft Visual Studio .NET offers structure tree views for source code (C#, C++, VB.NET) and HTML/XML documents, and also allows you to collapse code elements (functions, classes, comments) to their definitions right in the editor window.
Sun 20 Apr | Chas | JEdit has a very nice folding feature that can either work in the background, allowing you to fold any code block (which can either be a set of matching braces in java/c/etc, or a set of matching tags in xml/html documents), or you can explictly create folds in any document. That's aside from JEdit being a wonderful text editor, and an equally wonderful IDE once you get a proper set of plugins chosen from the 100's that are available....
Sun 20 Apr | | SlickEdit
Sun 20 Apr | sgf | CodeWright
Sun 20 Apr | Giovanni Corriga | SciTE
Sun 20 Apr | Ori Berger | Also note that SciTE is open source and cross platform. P.S: SciTE has had this 'tree view' for code for almost as long as it exists - I think that 4 years or so. It started life more or less as an editor for Python, and Python makes this feature extremely natural.
software dev. on Linux | Sat 19 Apr | andrew
I am starting a new job with development on Linux,i have worked in Unix before, but not on Linux.I am wandering if people using Linux use IDEs for file browsing,debugging and development etc... or so people just go with Emacs/Pico, GDB? I have done most dev. with VC++ ,so I am wandering how much of a change there will be?
Sun 20 Apr | David Roper | There are a number of good IDE's for Linux. Kdevelop is the free (gratis/libre) C/C++ IDE created by/for the KDE desktop project and is well worth a look. If you're used to Delphi, then there is a Linux version called Kylix. Eclipse is supposed to be really good, but I've never used it so I can't speak from personal experience. There are a whole lot more to be found at: http://linuxmafia.com/~rick/linux-info/applications-ides.html
Sun 20 Apr | Dan Maas | I think you might be better off starting with the basics (Makefiles, gcc, and gdb). The various Linux IDEs are all based on these tools. Kdevelop is pretty close to Microsoft's IDEs. Personally I don't use it because I find it too complex, but you might like it. It sort of depends what kind of code you are writing: for low-level stuff (kernel or libraries), I'd definitely stick with raw Makefiles, gcc, and Emacs (or vi). For GNOME or KDE applications you might gain from an IDE.
Tablet PC, anyone? | Sat 19 Apr | Himanshu Nath
Im considering getting a tablet PC for use in the following roles: - Development in .NET (Windows Forms, primarily). _Not_ as my primary development computer-for that I have a nice IBM Intellistation. - Giving presentations. - Perhaps being able to replace a notepad at meetings. A regular notebook computer would work for the first 2 roles, definitely not for the third. Any thoughts, recommendations, are greatly appreciated.
Sat 19 Apr | Prakash S | How about the Toshiba ? http://computers.cnet.com/hardware/0-1027-404-20627230.html?tag=pdtl-list
Sat 19 Apr | Scot | www.tabletpcbuzz.com has some good discussion among tpc users.
Sun 20 Apr | Himanshu Nath | Thanks. Has anyone used a tablet PC for software development? Any gotchas?
OpenOffice | Sat 19 Apr | Warren
Joel once wrote something about the so-called light-weight word processors that attempt to compete with MS Office. He argued that theyre using missing important features; he gave the example of word count, but it could be anything that a user depends on. Thus by implication MS Office reigns supreme in the area of productivity applications. I think the situation may have changed. I downloaded OpenOffice from www.openoffice.org yesterday and Ive been using it ever since. I was suspecting that it would be mediocre at best; to my pleasant surprise, it seems to be able to do just about everything MS Office can do. Its very nice. Its free as in it can be downloaded at no charge and free as in open source. Very nice. (Oh, and its compatible with MS Word files, an important feature that many lesser packages seem to not have.) Has anyone tried it out? I recommend that you at least TRY it.
Sat 19 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | OpenOffice is an excellent piece of software. So, the primary hurdle is jumped. Now, the even more important one remains for corporate acceptance: 100% file fidelity. That means being able to import AND export to/from the Office file formats, without any screwy or lost formatting. The person using OO can decide what their tolerance level is for import, but export has to be rock solid. (Oh, in case you missed it, I think OpenOffice is missing a spell checker. That's a glaring omission. You can purchase StarOffice, the commercial version from Sun w/ the spell checker, and it's still much cheaper than MS Office, but you're not longer in the realm of free.)
Sat 19 Apr | Stephen Jones | Why does Export have to be rock-solid. Why can't you just export to .rtf for example?
Sat 19 Apr | Ed the Millwright | Gosh, it's only 171 megabytes to download, zipped. That'll only take 19.8 hours...
Sat 19 Apr | Alyosha` | It's the 21st century and folks are still using 33.6kbps modems?
Sat 19 Apr | Stephen Jones | --'It's the 21st century and folks are still using 33.6kbps modems? '---- Those that have telephones yea! There are some countries where broadband (cable or DSL)is not available at all, or so expensive as to be unusealbe (128kbs in Saudi comes to $300 a month, and my exchange doesn't have it anyway). Then there are large parts of First World countries where Broadband is not available. The figure for the UK is well over 50%. someone else will no doubt be able to give accurate statistics. And there are pleny of places even in the States where the fastest you get on the phone is 24kbs.
Sat 19 Apr | Alyosha` | I'm still disappointed. And where's my hovercar? The future isn't what it used to be.
Sat 19 Apr | anon | If the download's too big, you can buy Sun's version or pay $4 for a cdrom from a number of places.
Sat 19 Apr | Jan Derk | Openoffice spellchecker for dozens of languages can be found on this page: http://whiteboard.openoffice.org/lingucomponent/download_dictionary.html The Windows download is 51MB not 171MB. The latest Openoffice 1.1 beta even exports documents to PDF. So it starts getting features that Word does not have.
Sat 19 Apr | Philo | 'Why does Export have to be rock-solid.' Stephen, either you don't have much/any experience in the corporate world, or you've been particularly blessed to work with only the top 25% of managers. Because you've obviously never had to deal with 'Should this be eight point? Or nine? Let me call a meeting so we can discuss it' Philo
Sat 19 Apr | Stephen Jones | With regard to Word documents I don't get it. Once it's in .rtf you should be able to see what it's like. Use Word viewer to see what the .rtf file looks like in Word. But I thought .rtf was a standard. If different people are going to be playing about with the same file then you need not just the same program but the same version of the program.
Sat 19 Apr | T.Norman | RTF does not handle some of the complex formatting involving tables, headers and footers, and tables of contents. In addition, some corporations simply require .doc as the standard format, so if OO couldn't save as .doc, you can't use it to send anything to those places. For those who don't have a fast enough connection to download 51MB, the GNUWin CD which contains dozens of other free programs in addition to OpenOffice can be purchased cheaply (under $10). http://www.cheapbytes.com is one source. I have been using OpenOffice for nearly a year. Once it saved me nearly a whole day of work when it was able to open a .doc file that Word claimed was corrupted.
Sat 19 Apr | Ed the Millwright | re 171MB: Yeah, the OS X version is 171MB. re modems: Yeah, on a good day I get 24kbps due to the quality of the phone connection, 16kbps on a bad day. I've got a pretty recent 56k modem. re $5 CDs: Thanks for the tip. I'll keep an eye out for one of them.
Sat 19 Apr | pb | Noone uses RTF (certainly not the 'top 25% of managers'). All the features in the world aren't as important as perfect reading and writing of MS Office formats.
Sat 19 Apr | Mike Gamerland | Three years ago, I would agree that MS Office was the only choice. The problem is the new subscription licensing and commitment during an economic downturn. When you are buying 50 licenses at corporate rate, that is still pretty high. When you are buying 5000+ the prices difference is really high. When you are a small office the difference between $300+ and $0 is significant. The people finding a hard time switching or even considering a switch have not even tried. The windows version of OpenOffice is solid (I have not idea where they got it did not have a spell checker.) If you want a few extras spend the dollars on StarOffice. You will always find an incompatibilities. Even between those now running XP and 2000 and 97. As for RTF or any other format, as a policy this can be set to save all documents in that format resolving the issue with the person who fails to get the idea. Before you let someone tell you it won't work for you, consider what want and see if those requirements are met. For the longest time I remember people commenting that mail merge was not available or XYZ is not there so the product must be considered 'beta'. Perhaps, or more likely is the feature is so unused as no one has seen value in adding it yet.
Sat 19 Apr | Andy | I tried OO about 6 months ago and it couldn't handle what I was trying to do (or at least I couldn't figure it out within a reasonable amount of time). I create multiple versions of my resume, and for whatever reason I prefer to write out the raw HTML for the HTML version. So there, HTML version done. Word version? Open up Word, open the HTML file, save as Word doc. Word version done. This seemed to be something that OO couldn't do for me.
Sun 20 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | RTF is a standard, but some of the interesting pieces of it are proprietary Microsoft extensions. RTF only takes care of word processing documents... how about spreadsheets with embedded code? presentations with embedded videos? Sure, it seems easy when you're exporting a simply formatted word processing document. That's so far from the end of the story that it's not even funny...
Sun 20 Apr | Philo | pb - you missed the point. Manymany managers I've dealt with have issues with placing form over function. In other words, instead of worrying about what a document is meant to convey, they get wrapped around the axle on how it's presented, down to 'our corporate standard is 10 point Arial, this document is in nine point Verdana. Fix it.' Philo
Sun 20 Apr | Stephen Jones | If you're sending a letter to a corporation then if it's .rtf it will still show up with a Word icon and open up with a double click, so they won't be any the wiser. If you're sending stuff you want people to print and read send it as .pdf. If you've got lots of tables, or embedded speadsheets AND YOU WANT THEM TO WORK WITH THEM, then obviously you will be wanting to use the same program - and same version - as the person you are sending your docs to. I would have thought the problem would be with Excel rather than Word, but I have been told that the export format to Excel is particularly good in Open Office. Incidentally the most incompatible format I know for Word is MS Works.
Sun 20 Apr | T.Norman | Andy, all you had to do is first save the file in the OpenOffice native .sxw format. Then save it as 'Web Page' and you'll have html. Then reopen the .sxw file and save it as Microsoft Word format.
Sun 20 Apr | Simon Lucy | Plus the HTML would be a lot cleaner than the soup of DIV and SPAN spat out by MS Word.
Is Registering a Domain a Potential Liability? | Sat 19 Apr | Bored Bystander
Recently I observed that a domain that was used by an IT recruiting company as recently as 2001, now displays a web page full of hot, wet, naked, underage teen porn advertisements. No, I dont think the company in question got into the porn business (obvious comparisons of pimps and recruiters aside, hah hah. :-) ) But one thing did occur to me: I suspect that there are domain name registration companies around that deliberately hijack domain names when they expire without renewal, and squat on them with humiliating images such as porn sites. And a couple of years ago I read that there was a plague of such squattings affecting church owned web sites and domains, but at the time it didnt occur to me that this M.O. could be applied to anyone. So, the pattern would seem to be: 1) Identify domain names owned by stakeholders who would suffer great loss of image and revulsion by clients, members, etc. if the domain were hijacked and repurposed for something seedy. 2) Squat. Hold domain for ransom for several hundred or thousand dollars. 3) Some people will pay. Profit! (underpants gnomes would be proud.) So it would seem to me that if you have domains registered, you had BETTER plan to keep them registered in perpetuity or until everyone that knows of your business or org through them forgets about them. Any thoughts? Have any of you folks seen this occur?
Sat 19 Apr | Stephen Jones | So if I start a porn website and give it up at a later date because the real thing isn't leaving me any time for the web, I am in danger of having my domain taken over by some religious group which will put up loads of Godtrash until I cough up thousands towards Tam and Bakkers mobile home? Frightening!
Sat 19 Apr | Stephen Jones | Actually BB. I rather suspect that if you could get hold of the site stats for these ex-chruch sites turned into porn sites you might realize there is a much simpler commerical explanation.
Sat 19 Apr | Bored Bystander | Here is what I mean: a domain that was once listed on scguild as belonging to an IT recruiter who was based in the western US now displays a teen porn gateway. A WHOIS shows that the domain now belongs to someone in Spain. As a concrete hypothetical example: you register stephenjones.com. You use it for awhile. Then you forget about the domain. Through some email changes you never see the notice to renew the domain, and your credit card info on file with the registrar expires. Then one fine day your proud mum surfs the web and sees that her son's web site now advertises hard core bestiality porn. You then contact the person(s) now listed as the admin contacts in WHOIS and you find that they want $1000 to release the domain to you. Oh, and you had the domain name printed on business cards and resumes out in circulation. Whoopsie.
Sat 19 Apr | www.marktaw.com | The moral of the story: Keep on top of your domains! There's the famous story of Microsoft forgetting to renew Hotmail.com a while back.. Look it up.
Sat 19 Apr | pb | Of course it's not a liability.
Sun 20 Apr | one programmer's opinion | Sounds like you might need to do some research on this topic. If a company such as McDonalds allows their domain name to expire then they might have to pay a fee to get it back. I really don't know. However, I remember reading somewhere that the practice of grabbing unused domain names didn't always work out for the people looking to make a profit by selling them to their 'rightful' owners. Perhaps you are right and all the person in Spain needs to do to is demonstrate intent in order to stay within the law? If you learn anything more about this issue let us know.
Sun 20 Apr | Dan Maas | A friend of mine accidentally let his domain registration lapse, and the day after it expired, the registrar went to him demanding ~$150 to get the domain back. Not wanting to pay, he gave up and moved to a new domain. Beware of fake renewal notices from registrars that don't actually own your domain! I get these from Verisign every year. Scum! For what it's worth, I use EasyDNS and never had a problem with them so far.
Crystal, Installshield, others? | Sat 19 Apr | Philo
Crystal Reports has a long, nasty history of being simply evil to work with, yet its the first, often only, reporting application the suits will buy. Installshield seems to have the same reputation in both camps. Im not going to worry about how they got there, but how do we, as developers, address this issue? How do you either a) get the right product purchased or b) get the evil product evicted? (insert rant about sunk costs being a bad justification) Philo
Sat 19 Apr | xyzzy | I've only used Crystal Reports, and would like something better. What do you recommend? While I'm not helping to answer your question, other bad products come to mind: Oracle. Select. Anything from Rational. Rose, ClearCase, ClearQuest, ... But the people in suits insist that we use them.
Sat 19 Apr | Philo | ActiveReports http://www.datadynamics.com/ Cheaper than Crystal, easier to use, better support. In my eight years of using VB, I have never heard of anyone switching from AR *to* Crystal, but there are hordes of people going the other way... Philo
Sun 20 Apr | one programmer's opinion | Phio wrote, 'I'm not going to worry about how they got there, but how do we, as developers, address this issue? How do you either a) get the right product purchased or b) get the evil product evicted?' Just a few comments. IMO, questions A and B are tough to answer since every 'work environment' tends to be unique in many ways. The first thing you might want to do is get answers to the Who, What, Where, Why, and How of software tool procurement within the organization you are working for. Simply stating, 'All software tools and techniques are usually chosen by management' typically isn't going to get you very far. Sometimes, you need to play the role of an archeologist in order to get answers to these questions. If it turns out that software procurement is pretty much a very ad-hoc process within the organization, then concentrate on learning more about how the tools you want to get rid of orginally got there in the first place. Once you understand how the current system works within the organization then you can go about working on changing it if you feel you have the power or ability to do so. In other words, before you start off on your journey you want to make sure that you won't be walking into an area that is filled with career killing land mines! In theory, you shouldn't have to address technology issues at the beginning of a project (such as CAMEL), however, the reality is that sometimes a project team will get to pick the tools and technologies they will be working with and sometimes they have to make do with what is currently available to them.
Forum Software - Beta v4 | Sat 19 Apr | Dave B.
Its the moment weve all been waiting for! (err.. um.. *cough ) For those interested: I have uploaded Beta Version 4 of the forum software to - http://dbehnke.users5.50megs.com -. As always it is a free download. I have also setup a .com test site where you can view and play around with the forum. This site will be available for a limited time. It can be accessed at - http://www.sswltd.com -. Some features of Beta v4: - A search feature has been added - A new style has been given to the page - The forum is successfully displayed and used under: - Internet Explorer 6.0 - Netscape 7.0 - Opera 7.03 - Lynx 2.8.3 - XSS and other security holes fixed
Sat 19 Apr | Prakash S | good stuff Dave.
Sat 19 Apr | Mike Gamerland | Okay Dave, I'll bite why does it give me a forbidden on accessing the beta? The directory appears authorized but the files are not.
Sun 20 Apr | Dave B. | I'm not sure Mike. I have successfully downloaded it via http from several different computers. The only thing I can suggest is to try again a little later. I will move it to a different site if the problem continues. Sorry for the inconvenience.
Sun 20 Apr | Dave B. | I want to thank everyone who pointed out 'bugs'. - Emails were being delivered without CrLf or links - Links in posts were not working as some expected them to - Refactored some code With that said, I have uploaded Beta v4.1: - dbehnke.users5.50megs.com - Beta v5.0 will be the final Beta before Release version 1.0.
Sun 20 Apr | Printer Friendly | Could you make it work with Access2000 for people like me who do not have SQL server? Thanks,
Sun 20 Apr | Dave B. | Printer Friendly, I do plan to 'port' the software to MS-Access and MySQL after the Version 1.0 release.
Managing | Sat 19 Apr | The Real PC
You often hear that developing software can be fun, but I never heard anyone say that being a manage can be fun. Is it just that I havent heard it? What are the motivations for becoming a manager, other than having a private office and better salary? Im reading the book Peopleware which says the only time people actual do the work of software development is in the first 2 or 5 years of their career. After that, they are managers. Is that true, in general? I dont want to become a manager, but I would like to become more independent. In other words, I would like to be my own project manager, sort of. I dont feel a need to be managed (does anyone?). Also, my managers responsibilities were just increased greatly and I feel this is my chance to start making more of my own decisions, since he wont have much time.
Sat 19 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | No, I don't think that's true. I've been coding for 10 years now. You will hit a salary plateau as a senior engineer, and as long as you're happy there and good at what you do, nobody's going to come down to your office and drag you kicking and screaming into a management position. :)
Sat 19 Apr | The Real PC | Now I realize I didn't express myself well at all, and was trying to combine several vague questions into one. I've been thinking about my manager's promotion and how it might change things, and meanwhile have been reading Peopleware (some if it makes sense to me and some of it doesn't, and most of it is plain common sense). My manager has great technical skills, far greater than his social skills. He has been put in charged of all technical areas -- the whole IT department (excluding support). He tends to be stressed-out as it is, and I wonder if it will become even harder to talk to him (I'm sure it will). I wonder why he accepted the position, since his technical involvement must become more high level and it's unlikely he will have much time for coding. On the other hand, he will have control over everything, high status, and of course a high salary. But is it worth it? I wanted to hear from managers about whether they ever love their jobs. I have days when I literally love my job -- it can be challenging and educational, and also peaceful. Do managers ever feel that way? I can understand why a political type of person would love having status and power, but I'm not sure I understand why a 'nerd' would. The other part of my question is about how I might be able to take advantage of the situation. My manager is still in charge of our group (R&D), but he can't possibly have the same level of involvement as before. Maybe I should try being more of an independent thinker, rather than look for direction from him. That would make his job easier, and I would feel better also.
Sat 19 Apr | TK | Managing is stressful, satisfying, and for most, the only way to climb the ladder. Certainly, dealing with difficult people can peg the stress scale. But for me, the greatest satisfaction came when I was able to help my reports succeed for the business and for themselves. Those are days that you love your job. My best managers did that for me. I hope I was able to pass that favor along a few times.
Sun 20 Apr | pod | As a developer who's graduated to the management stream, I've found that managing software developers can be both tremendously rewarding - and pretty frustrating sometimes. The most important thing for a manager to do is dogde all the political bullshit and inspire people to find their own authority. I'm sick of hearing devs complain about 'lack of direction', or throwing their hands up and websurfing becuase they don't know what to do next. These guys were hired to solve problems through software. That's what software engineers do. I'm happy to answer specific technical software design questions and manage the development process at the framework level, but I'm never going to cut up my developers work into tiny little design chunks and hold their hands while they do it. Because nobody actually learns anything that way. People who love software should want to figure stuff out for themselves. And becuase I am still doing what I love - solving problems with software, the fact that I'm not actually writing all of it doesn't matter at all.
Sun 20 Apr | The Real PC | [People who love software should want to figure stuff out for themselves.] This is so true and it has taken me too long to realize it. If there was an expert down the hall I felt I had to ask him, rather than spend hours figuring it out myself. I thought this was more efficient because it saves time. I only figured things out for myself if there was no one to ask. Recently I realized that the expert down the hall would rather not be bothered, and that I learn things so much better if I don't get help from anyone. I want to apply the same idea on a higher level, and try to make decisions about what needs to be done, not just how it should be done. In other words, be my own manager to some extent. I also would like to communicate directly with users to find out what they want. Why should my manager waste time on that when I can do it myself? Of course if I wound up making dumb decisions, this strategy would not work out. But there is no reason my decisions can't be as good as anyone else's.
Sun 20 Apr | . | Managing can be rewarding and fun if you have core competencies. You can help make things happen and you can see that people enjoy their work and do it well. The down side is that software design is more challenging, so it's not good for talented people to drift too far from that. The biggest problem in software management, in my view, is that the relation between the two is not understood, and thus managers are expected to spread themselves too thinly. That is, they become administrators.
Opinions On Code Reviews | Fri 18 Apr | Jessicab
Given the emphasis on code quality here, I was wondering what the general opinion was about code reviews. Who does them? Are they cost effective (i.e., does the time cost offset the time saved from caught bugs)? What should be reviewed, and how should the review be best conducted? Thanks for your opinions.
Fri 18 Apr | xyzzy | We have code reviews, both formal and informal. Both are worthwhile. Before any code is checked into the source code control (SCC) system, we must have a peer review the code. This is our informal review. We use the SCC's difference program that highlights all differences. The programmer that made the code changes explains why the code was changed. More often than we expect, the programmer who has made the changes will find flaws, and can then go fix them. Occasionally the person doing the review will find a few other problems, or can suggest a better way. The formal reviews are not as valuable. After a significant enhancement to the software, several people are pulled into a code review meeting. Two members of management are included. The style and function of the code is examined. Some bugs are found, and this makes the meeting worthwile. One of the management reviewers always only seems to check for constants that are hard-codded in-line, and insists that we decalre them in an external header file. Things like if(a[0] == 'q') exit(); -- He will insist that the zero in the subscript be declared externally in a constant, and the 'q' too. Usually his comments are misguided. We nod, write something down on our notepad, then never adjust the code the way he suggests. There is never any follow up by him that insures he got what he insisted on, and we are all happy. In preparing for the review, the programmer with the new code finds bugs. Additional bugs are found by the same programmer during the review. This makes the reviews very valuable.
Sat 19 Apr | realist | In a good team code reviews are invaluable. There's lots of good reasons to have them and some bad too. Steve McConnell in Code Complete covers the area fairly well. The main issue is in getting useful results from the review, if all you are getting from your reviews is spelling errors and typos then that's bad, if you're getting better design and efficient variable scope and cleaner code then that's good. There's definately a effort/return ratio that you need to find if reviews are going to occur frequently, I mean, you don't want to allocate 3 hours to a developer to review code and get a spelling mistake out of it, it's like everything, some people are really good at it and some people are hopeless.
Sat 19 Apr | Ineffectual Reviewer | Things like if(a[0] == 'q') exit(); ... The problem is that this could be an inadvertant assignment to a[0] if you left out an equal sign. I must insist you reverse all your tests like 'if ('q' == a[0]) ' before this is released as production code ... -- Alyosha`
Sat 19 Apr | T. Norman | Code reviews are very valuable, if they are actually done and if the focus is on finding bugs instead of the naming of variables and constants or indentation. Reviews will often reveal bugs that have a low probability of being detected in a testing cycle because the conditions that would cause them to fail are rare. In particular, reviews are extremely important if the code has nondeterministic behavior such as multithreading or database locking issues. Running a multithreaded program successfully is almost no indication of whether the threading issues are programmed correctly, because you typically don't see a problem until two threads or two database sessions happen to hit the same variable or data at or nearly the same time.
Sat 19 Apr | T. Norman | In addition, code reviews help to catch bugs earlier in the development cycle ... and the earlier they are caught, the easier and cheaper they are to fix.
Sat 19 Apr | T. Norman | I should add this -- code review meetings are usually not a good idea, unless there is some real disagreement that needs to be resolved. Just log them with some kind of tool or database, or use email, and leave the meetings for situations where there is a real disagreement regarding the code.
Sat 19 Apr | Patrik | I have had some code I written reviewed in a code review. Meetings like this can be real exhausting, sitting reading code for long periods of time, but its still worthwhile. I got my different algorithms and designs questioned even if they worked. Like why did you do X and not Y, and also we found a few bugs. At first I found this questioning of my code kindof like hard to take critisism, but some of this questioning led me to rewrite the code for the better. Most of these rewrites were minor and the first implementations suffered because of my limited business knowledge at the time the code was first written. While you will not find all bugs it will help catch a bunch that otherwise would have made it into production systems.
Sat 19 Apr | Noname | Think about it this way: When there is a bug in production, what's going to happen? People will review the code to find the source of the problem! Those post-production reviews can be very labor-intensive, often requiring looking at 10,000 lines of code to eventually identify a one-line change, plus regression testing after the fix is in place. So you're going to end up spending time to review code anyway. Do those reviews before production, and you'll save the effort involved in identifying, fixing, and re-testing. You also get the intangible benefit that results from programmers writing better code to begin with because they know it will be reviewed when they submit it.
Sat 19 Apr | njkayaker | I find code reviews very helpful. 1) They definitely find bugs. 2) They are a useful way to assess the quality of code being produced by people working for the company. (Much better than finding out years after the fact.) It provides an opportunity for correcting poor practices early in the process (helping to make good practices more of a habit. 3) They reduce the sense of 'exclusive ownership' that programmers (typically new ones) have with code they produce. It encourages the notion that the code is owned by a group and enhances consistency within the group. 4) They provide an opportunity for transferring experience, etc, to other people. Basic formatting issues should be dealt with by running the code through a 'pretty printer' program (like gnu's 'indent'). Things like variable names and misspellings might seem trivial but carelessness here contributes to the degrading of quality of code over time. Spelling errors can also reduce the usefulness of text searching. Ideally, the reviews of a particular person's code should get easier and less frequent (or detailed), over time
Sat 19 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | I'm surprised nobody has yet mentioned the ultimate form of code review: pair programming. Anybody doing this? I find it extremely beneficial.
Sat 19 Apr | Thomas Eyde | Does unit testing lower or remove the need for code reviews?
Sat 19 Apr | And the horse you rode in on | But code ownership is a good thing. You should encourage people to take ownership of part of the project - it promotes a feeling of professional pride in their work, which increases quality.
Sat 19 Apr | Noname | Unit tests by no means eliminate the need for reviews. Testing can only cover a tiny subset of all the possible conditions and inputs. If the unit tests are constructed by another person looking at the code to create test cases for full code coverage, reviews become less important. But that type of unit test construction inherently involves a level of reviewing, even if it's not called that.
Sat 19 Apr | T.Norman | Shared ownership is good. However, selfish and defensive ownership is counterproductive.
Sun 20 Apr | Walter Rumsby | One reason I'd like to work in an environment where there are code reviews is to expose the poor quality of code produced by some developers. If I'm working with difficult to understand, poorly written code it's going to take me longer than it should to complete some task that uses that code. If I'm assessed as being too slow because someone else did a poor job I'm not going to be very happy. On the flipside, if I complain that the code I'm working with is hard to understand then a review by someone else (i.e. not me, not the person(s) who wrote the initial code) can verify if the problem is as I state or with my approach. This goes back to addressing the mistaken assumption that all developers are 'created equal'/are just code monkeys/etc.
URL that matches product name | Fri 18 Apr | David
Im wondering how important people think it is to have a url (domain) that matches your products name. I am working on a product (skunk works at this point) and we have a great name, but the domain for that great name (greatname.com) isnt available. The guy who has it isnt really using it, but doesnt want to sell it to us right now (although his reg ends in a year). For the early days of GreatName, users will only find it through links at download.com or other sites, so the url really shouldnt matter (it can be at www.ourcompany.com/GreatName). Eventually though, if things go well, word will spread of our product, and people will seek it out. Many people, like me, are as likely to use google to find a company or product as they are to just guess the url. For those that assume that our domain is www.greatname.com though, theyll get the wrong site. At the same time, by the time we get to the point where people are looking us up, we might have the cash to pay this guy some reasonable amount for the domain name. An apropos example, Joel has fogbugz.com, but not citydesk.com. Does that hurt Joel, or do people find City Desk anyway? Should we just find a different name that has an available domain (and believe me, there arent many left)?
Fri 18 Apr | Dave B. | Although some people may see a product and try to access the companies website by typing in the URL www.product/company.com, I believe that the next 'natural' thing people do is to look it up in a search engine. Therefore I believe that if you concentrate on getting your page in the search engines at a reasonable rank your customers or potiential customers should have no problem finding your site.
Fri 18 Apr | Kyralessa | Is it important to have the URL which matches your product name? Look at it this way: Someone who's heard of your product types in YourGreatProductName.com and up pops a porn site, or a site full of bad reviews of your product, or some other such thing. (You've surely heard of gwbush.com, for instance?) Assuming they're too smart to think it's actually your site, it still creates unpleasant associations, to say the least. What you have to decide is how likely you think this scenario is, how much it bothers you, and what it's worth to you not to have it happen (e.g. bidding for the name, or changing the name, or neither).
Sat 19 Apr | Prakash S | It is important only because your customers have to remember one less thing to access your website or your products website. Think ORACLE.
Sat 19 Apr | www.marktaw.com | I think it really depends on your company's name & reputation. I'm willing to go to microsoft.com/windows instead of windows.com. On the other hand, Microsoft is a juggernaut and a household name. You're trying to break a new product. If you're making offers on the website here are some things to consider: 1. If it's a netsol registrar, you can go to snapnames.com & try to back order it if it expires. 2. If you do attempt to buy it, only offer as much money as you think it could make you in, say, the next year. I don't think it's worth it to specualte 5 years down the line. 3. That guy may be bluffing & holding out for more money. That was the dream of the late 90's remember, and some people haven't let go of it. 4. If your product name is generic, you may be beat out by dozens of other sites in Google. 5. Make sure people link to you. I often look for products & companies in Google and find comments & criticisms of the company that are popular to link to well before I get to the company. I often have to give up and search somewhere else.
Sat 19 Apr | Mark Smith | Another possibility would be to use your leading benefit as the domain name. We use both www.EstiMateSoftware.com (product name) and www.PricingMadeEasy.com (benefit). We've been using www.PricingMadeEasy.com for only about 4 months now and at this point it receives 5 times the hits of www.EstiMateSoftware.com. Yes, we did switch to it in our marketing, but that's still a powerful difference. Good luck!
Sat 19 Apr | Tom Vu | 'Think ORACLE. ' What do you mean by this? I have the hardest time navigating oracle's site.
Sat 19 Apr | Prakash S | When I mentioned Oracle, I did not mean anything about the navigation of their website. I meant that their product (Oracle) and the name of the company(Oracle) are the same. Before it was Oracle, it was Oracle Systems, before which it was RTI or something like that.
Sat 19 Apr | David | Fortunately, there's little chance of porn showing up, since it's owned by a regular guy, not a speculator. He really had plans for the domain at one point, but never finished. I agree with Prakash's point about Oracle. It's great if you can build brand recognition around a single, unique name. That was our plan, but the domain is taken. It's interesting how the Internet has affected company and product names. It used to make no difference if your name was unique as long as no other 'similar' company or product used it. Now, of course, if you want to put a website up, your name must be globally unique. That's a hell of a constraint! In light of that, won't more and more companies have this same problem in the future? What can and should be done about this? I know that each country is supposed to have their own domain, but practically, everyone uses .com. It seems like a very real problem. Maybe browsers will eventually get smart about URLs, making them all work sort of like the Google Toolbar.
Sat 19 Apr | pb | I'd certainly prefer having a domain that is shared with the product name. Even more so if you're a one product company. It has nothing to do with whether or not people can find it. It's about creating an impression for your prospects and customers.
Sun 20 Apr | Prakash S | Talk abt Globals:-)
Consultants | Fri 18 Apr | KenB
My company seems to be moving towards the we hire consultants to design & build the system - then you will do the maintenance of it philosophy. Ive had very bad experiences with companies doing things this way. (Our team had to re-write all of the consultants crappy code - most of it looked like it was just thrown together with no design to it). What is the point in hiring these so called experts when your team can do it better & correctly the first time? Wondering how you all felt about such a philosophy?
Fri 18 Apr | Normally Not Anonymous | KenB, I'm on the other side of this situation, I work for a consulting firm and my opinion is that as long as you maintain a good relationship with these consultants, keep up with what they're doing (weekly status updates, etc) everything should be fine. I'm not sure how big your company is or your relationship with the decision makers, but you could probably interview the developer/consultants and that way you could raise a red flag to your managers right from the get-go if you think he/she/they are incompetant. Most of the projects I've done for clients who had developers in-house were good experiences. However, there was at least one client who's developer was hell-bent on delaying the project, making me look bad, etc because they were worried we were going to take their job over. In the end, it made everyone look bad (it was an enhancement to an existing app written by the in-house developer.) >What is the point in hiring these so called 'experts' when your team can do it better & correctly the first time? Just because you're a consultant does not make you an expert. On the flip-side, if you're team can do it better, then why don't you? Because you're busy working on other stuff more than likely. They don't want to hire another N developers, hence consultants get the work. I don't like the term consultants - I think it's just a code-word for contract-programmers so that the in-house developers won't get pissed b/c these guys make $60/hr (or more.)
Fri 18 Apr | Bored Bystander | Y'know, the term 'consultant' and 'contractor' are both misused. Again, there is always a political intent behind the words used in IT. Someone usually feels they have to label someone with a certain tag. I've seen some of the most heads-down, mediocre code drudges claim they're 'consultants' but they have to be spoon fed in a manner that makes some entry level people look like mensches. On the opposite end of the axis, most/all of my clients would go out of their way to label me 'a software contractor' so as to minimize the impact I've had on their operations. Yet, I have the following track record: generally I pull an unformed idea out of the muck and breath life into it; mentor entire companies on aspects of programming; come up with actual workable solutions and implement them while the FTEs and managers around me are wasting time nattering about bullshit and not articulating real approaches. I've always worked as a hired gun expert, to get things off the ground that the locals and the natives simply had no clue how to do, using highly creative approaches drawn from a diversity of experience. But managers and clients will sneer 'contractor, only contractor'. Admitted: most so called consultants are 'drop and run'; at best, most love to do the imaginative and creative part of a project, then drop it like a hot potato when the smack is coming down. But this applies not only to individuals but to entire so called 'solution provider' companies. Basically, it's all just words. Some people are jealous & resentful of consultants, wanting schadenfreude. Others are dependent upon consultants but want that fact denied at all cost and do so using different words.
Fri 18 Apr | Bored Bystander | Oh, yeah, maybe I better answer the original question and justify my own high self opinion. :-) I think that an appropriate use of 'consultants' (aka experts) is to bring new and needed skills and approaches into an organization. That *might* include implementation of systems that no FTE has the ability to 'get going.' On that aspect - the client organization that has no or few internal new-project abilities - the consultant may be used as a short term crutch so that the management doesn't have to sustain the mistakes that will result from internal, perhaps lesser skilled and less diverse people taking a whack at new projects. A misuse of consultants is to rely upon them totally while the locals stagnate with legacy and maintenance skills. *Nothing* is really unlearnable, and one bit of 'consultant ego' I am tired of is the consultant who considers it beneath them to train their successors. One core skill of a so called consultant ought to be the willingness and ability to migrate enough knowledge into the client organization so as to make the client self sufficient in the future. And some clients are (from the top down) in denial that their people need external help.
Fri 18 Apr | Spaghetti Rustler | I didn't pick the moniker 'Spaghetti Rustler' by accident. Currently, I'm working on a product thrown together by a team of highly-paid retarded monkeys. Calling it a 'Big Ball of Mud' ( http://win-www.uia.ac.be/u/sdemey/Teaching/SE1LIC/bigballofmud.pdf ) would be a compliment. It is a complete nightmare, and looks like code that has been patched for years, not brand-new code. No design methodology at all was used, as far as I can tell - they just sat down and started coding. No UML, no CRC cards, no nothing, not even napkin diagrams - and this is a *huge* program. And their knowledge of the language they were using was pitiful. I'd like to blame it on them being kids just out of college, but they were all suppossedly experienced professionals. Just goes to show you what a sad state our industry is in. The good news is, I'm a consultant, so I get to make the big bucks (snort!) fixing this mess. And frankly, I find I learn much more fixing other people's code than writing my own new code. Anyone can write new code; it takes true talent to decipher 'spaghetti objects'!
Fri 18 Apr | Bored Bystander | Spaghetti rustler, expect your expertise to be minimized by the natives once you're done. But that's why we punish the client with sky high rates. We KNOW that someone who 'can't do' will take credit. :-)
Fri 18 Apr | Some Developer | Spaghetti (or anyone really), I am in a similar situation at my current job, but am full time. The code base is a mess, and most of the 'experienced' developers just keep adding to this mess. I have suggested looking into rearchitecting small portions of this, but have met with much resistance. Could you give me some pointers as to how to get the ball rolling with cleaning up the code? Or were you brought in specifically to do that so it is not really a problem for you? In addition, how do you teach the 'experienced' developers to design and code properly? Sisyphus comes to mind here...
Fri 18 Apr | Thomas | Teach by living the example. Refactor one small thing whenever you get a reasonable opportunity (hopefully you have an editor or IDE that will help with this). Make each change impact only a few files. (Sometimes, this means keeping two 'versions' of a class or method around -- the old, crufty one which is used by most of the code, and the new elegant one which is used by your new code or other code you refactor.) -Thomas
Fri 18 Apr | Tom Vu | There are consultants who consult by giving their opinion and knowledge backed up by documentation and good code. They cost alot and are extremely rare. There are contractors who do the same but are really hired guns to do the job...not think/analyze. This is because a company's management is given a budget and just wants the project done. Some contractors know what they produce is sub par and the hiring company's manager knows it too but there are politics involved. Then there are the business types that give the warm and fuzzies. To a technically literate person these types are the worst of the bunch, but to a manager, sales guy, or a business analyst they are the best. These business type consultants produce crap but sound real good doing it.
Fri 18 Apr | Bored Bystander | Open question prompted by Tom Vu's post: is anyone who can deal with business issues automatically lightweight, a poseur, not 'hard core'? Do you have to be well away from the arena of perceptions, politics, presentations, suits, etc in order to be technically competent? Does business knowledge mean you're a wanker, lightweight, ignorantly bullshitting everyone with a happy face meant only to get signatures on contracts without a care in the world how the miserably tough stuff is to really get done? I'm *not* being sarcastic. Our industry seems to suffer from the stereotyped behavior and roles of two polar opposite personalities: people who can deal with other people successfully but who are all talk, who over-promise, and so forth. And those people who are technically knowledgeable but whom are treated as idiot savants who have their heads ignorantly, stupidly and self indulgently buried in code.
Fri 18 Apr | GiorgioG | What's everyone opinion on your first software dev job out of school being at a consulting shop?
Fri 18 Apr | Tom Vu | Bored Bystander: Anyone who can deal with business issues and is technically competent is my definition of a 'consultant'. They are rare and expensive. I think most companies would rather have the warm and fuzzies and a failed project than the truth. Case in point is the CAMEL thread by someone on this forum.
Fri 18 Apr | Mike Gamerland | I agree with Tom, and explain it this way to clients: 'If you cannot tell the difference between a contractor and a consultant, you have contractors.' A consultant is a contractor who brings added value. If you are bringing in a warm body, sometimes a necessity, you probably use contractors. They are less expensive. The original poster asked if his experience is typical. I see much more of it in the past couple of years. The intent is to hopefully 'buy experience.' It is great if you can do it as it reduces project cost dramatically. Where I have seen it fail: - New technology forced into legacy structure. People do not know how to alter the SLC to account for the interactive possibilities. - New technology that pass by legacy structure. This is when the new guys all explain that they can load straight to production and save a lot of time. - Inbreeding. This is when a company supplies the expertise and does its best to ensure little knowledge transfer. Guaranteed support contract. - Poisoning: Employees do their best to ensure the project has as little support as possible. The attitude 'why should I train this guy to eliminate my position.' Here is what I suggest for clients: - Make it corporate policy that no consultant/contractor can remain in-house for more than six months after a project. It hurts at first but is better long term. - Contractually obligate knowledge transfer. - Recognize the added value given to employees during the knowledge transfer. (Example: We train 15 COBOL veteran employees to do SAP work. Six months after we leave they have too, because the company failed to compensate them for their new value.) - In a downturn always get rid of contractors/consultants first. If they are critical to an ongoing project they stay, but keeping a contractor for a support role while eliminating an employee breeds problems. - Never recall a contractor/consultant if they are anything but outstanding. - If you like a consultant or contractor, feel free to offer them a job. You may need to deal with the source but the average recruiting cost for an employee is something like $35,000 and then you really find out what you get.
Fri 18 Apr | An analyst that shall remain nameless | I am a warm body in a consulting firm and I can tell you that our code follow Sturgeon's Law, i.e. 90% of it is crap. Many of us do feel bad about it, but we have incredibly short schedules and know that delivering barely passable code in time yields a much better evaluation than asking for more time to create a good, maintainable system. This obviously damages the firms credibility in the long run, but hey, in the long run we'll all be downsized.
Fri 18 Apr | Konrad | If you are working with experienced, good consultants why hire permanent staff? When all is said and done, taking into account benefits/line management/training, et al, a permanent employee is not a great deal cheaper than a consultant. Then consider that if you hit a downturn, getting smaller doesn't create as much pain.
Sat 19 Apr | Must be a manager | Yes, the work of big - and sometimes medium - consulting firms is often mediocre or worse. The reasons lie in the fact that those firms are by definition good at attracting and holding business, often using dedicated, aggressive sales teams. Those qualities are not related to doing good work, taking pride in work or even understanding the issues well. This is actually the source of much of the angst that's discussed here. The imperatives to maximise revenue mean developers are pushed with irresponsible deadlines, troublesome developers are kicked out, and often pliant younger graduates are favoured. One such big firm makes a 'benefit' out of the inexperience of its staff: it crows that they can learn any new language in a week. Sure guys.
Sat 19 Apr | realist | I've been a 'consultant' for 14 years, sometimes I find permanent employees types who are bitter and twisted about the fact that I earn twice what they do, invariably I find that they disappear when the going gets tough, have a weaker work ethic, have a short achievement list, lots of attitude (about external developers), are clock watchers, constantly looking for opportunities to bring you down a peg or two, are highly critical of your ideas (but have none of their own), and often contribute very little to the hard design issues (sure they can grunt a bit of code out) but will moan the loudest if something goes wrong, and if nothing does (as is usually the case) they think they should get a week of work as a bonus for delivering a system. Generally a good consultant is worth about 5 average employees. That's why companies push permanent employees to the side when something meaningful needs to be done.
Sat 19 Apr | Tom Vu | >>Generally a good consultant is worth about 5 average employees. That's why companies push permanent employees to the side when something meaningful needs to be done. I contracted on a huge ERP project where everything was done by contractors. The permanent employees got a new title 'functional expert' AKA testers.
Sun 20 Apr | Ron Porter | I prefer to refer to myself as a 'freelance programmer'. Do I do other things that provide value? Yes, but the vast majority of everything I do relates to the automation of some process/task. In virtually all cases, that automation requires that I write new programs, script existing ones, modify existing source code, connect to a database, etc. In some cases, it's a matter of showing someone how to use the built-in functionality of off-the-shelf software or recommending existing software. I've found that since I took the title 'freelance programmer', I have fewer problems with either employees or their managers. I don't know why, but it may have to do with 'freelance' not having a lot of the nasty baggage carried by 'contractor' and (especially) consultant. I also noticed that calling myself a freelance programmer piques interest instead of garnering glassy-eyed stares :) Like Mike, I also do my best to ensure that my clients become as self-sufficient as possible. This is not as altuistic as it sounds--I went freelance because I get tired of working on the same stuff for the same people for a long period of time. The quicker I can get a client to become (approximately) self-sufficient, the quicker I can move onto something new.
Does contributing code to open source pay off | Thu 17 Apr | Daniel Shchyokin
For those of you that work on open source software- does contributing to open source projects help your consulting business/job search? If so does it pay of because managers say- wow he contributes to open source he must be good or because companies seek you out for your expertise in the area you contributed to?
Thu 17 Apr | Mike Gamerland | As a consultant I believe it does help. However, it will not always be equated to industry work. For example, I help test OpenOffice [http://www.openoffice.org]. I take it through my day using it for as much as I can and reporting any problems I find. When I put this on my CV/Resume, it falls under experience. For some reason, it has been useful in opening conversations. Then I can express concepts not directly related to coding itself. Things like remote support of applications, development with diverse workgroups and effective communication with global entities and finally teamwork. Some people may consider this 'fluff' but the market over the past 20 years has changed in subtle ways too. Now, it is how well do you work on a team? How do you relate to others you have not met? How well do you work with people in differing timezones, and cultures? Hard to gain that experience just 'anywhere.' I would not join an OSS project just for the experience. But if that is what you need to motivate you, come on down. Please however, treat it as a commitment. Others will not agree, but I think if you commit to a certain number of hours a week, month, year, whatever, you get more out of it. Next, choose something you are really interested in and I believe the best place to start is testing. You get a feel for the application, and the flow. How things work and you can 'lurk' on the mailing list to see where the ideas are going. After a while you will gain some insight and remember this is a collection of people who can disagree, sometimes passionately. It does not make them right or wrong, so if you have a point to make feel free. So does it pay off? I have found it a great plus. YMMV.
Thu 17 Apr | Mike Gamerland | 'D'oh!' I forgot the JOS conventions and linked to a bad address: http://www.openoffice.org
Thu 17 Apr | Mitch & Murray (from downtown) | Some viewers of your resume will take it a positive, some will think you are a Richard Stallman loving Commie. I would guess if you want to do it you should do it for whatever personal satisfaction you get from contributing to such a project. That is about it.
Thu 17 Apr | T. Norman | The benefit of working on open source is that you can actually show potential employers and clients your code, demonstrate the running program for them, and talk about how many thousands or millions of people around the world are using the software you wrote. Those are things you usually cannot do with the software you write at your regular job, which is locked under confidentiality agreements.
Thu 17 Apr | T. Norman | 99% of managers in corporations don't even know who Stallman is, so the chances of them thinking you are a Stallman loving commie are negligible.
Thu 17 Apr | Mitch & Murray (from downtown) | OK, so I should have said ' ... and some/most will not know what the hell an 'Open Source' project is ...' I think my conclusion still holds. No good leads for you.
Thu 17 Apr | Page Name | If you've developed anything really good, and you donate it to open source, you're giving away all those months or years you spent on it, and the years of learning that equipped you to do that development. So, no, it doesn't pay off if you're any good.
Fri 18 Apr | Bored Bystander | Question - does open source still labor under negative images (mainly in non technical, highly stupid PHB nests)? Such as: being amateurish; tainting the person contributing; being 'non-professional self indulgent hobby-only work to absolutely NOT be considered seriously by hiring manager'? My point is that almost *everything* in the IT world has become politicized to a degree. If you say you 'like' a certain kind of tech, you are considered to adhere to a certain world view influenced by peers in that area. Unfortunately, I have found that associating oneself with anything development-wise that is *not* Microsoft is generally a risk and a show stopper... IE: saying anything about Delphi to VB heads. And so forth.
Fri 18 Apr | Daniel Shchyokin | 'If you've developed anything really good, and you donate it to open source, you're giving away all those months or years you spent on it, and the years of learning that equipped you to do that development. So, no, it doesn't pay off if you're any good. ' Thats why I ask, it seems that on a typical product you make more on support and expert services than licensing (at least a-priori) so I asked to see if anyone who has expiremented with both/eaither 'proprietary and license' or 'open source and consult' had any comments one way or another.
Fri 18 Apr | Matthew Lock | Some examples that spring to mind: - Linus Torvalds (Linux) works at Transmeta - Larry Wall (Perl) works at O Reilly - Rasmus Lerdorf (PHP) works at Yahoo I'm sure that their Open Source projects have been instrumental in getting them their jobs.
Fri 18 Apr | Page Name | The thing is, we're not talking about Linus Torvalds, Larry Wall or Rasmus Lerdorf. If I was interviewing someone and they declared a strong involvement in open source, I would immediately be thinking: how long before my company's quite valuable source code or variants thereof appear somewhere as a 'home project.' That line about support providing more revenue than sales is rubbish.
Fri 18 Apr | definitely not going to give my name for this one... | ' I would immediately be thinking: how long before my company's quite valuable source code or variants thereof appear somewhere as a 'home project.' more fool you really. If a programmer has integrity this will not happen ( at least for a couple of years), if not it will happen whether they contribute to opensource or not. Although there is a whole (interesting) issue there as well....If I come up with good ideas and good code on one project, I am going to try and use that wherever I can..I dont think its reasonable for any employer to expect any programmer to *not* use what they have learnt elsewhere...IMO the best they can reasonably expect is that the programmer will not knowingly perform similar work for similar businesses within a certain timespan.
Fri 18 Apr | Gerald | 'If I was interviewing someone and they declared a strong involvement in open source, I would immediately be thinking: how long before my company's quite valuable source code or variants thereof appear somewhere as a 'home project.'' If your thinking this, why are you not thinking for your regular programmers: 'How long before my company's quite valuable source code or variants thereof appear as a competitive commercial product.' The fact is if an employee wants to steal your source he can, whether or not said employee works on open source projects has no bearing on his ethics or morals in my opinion.
Fri 18 Apr | Bored Bystander | >> how long before my company's quite valuable source codeor variants thereof appear somewhere as a 'home project.' SEE? Re: my comment that IT has become political. If you say you are involved in 'open source' the business world ABSOLUTELY, POSITIVE *INSISTS* upon slapping a certain accusation and an assumption of a certain set of moral and commercial values upon you. Just as if (a few years ago) you said you are interested in OS/2, most suits would immediately look upon you as a misguided, Don Quixote type fool and retard nursing a lost cause - totally useless for their purposes. I sometimes think that there are standardized industry cheat-sheets (similar to Mason's lodge handbooks) that tell HR and execs exactly and precisely how to put down candidates with 'unacceptable' interests outside the commercial, MS-centric world. Probably not but it's always appeared to be a concerted, uniform effort. We geeks need to become *much* more politically aware in order to start defusing and knocking down stupid assumptions and stereotypes like these.
Fri 18 Apr | trollbooth | Bored Bystander: Some people just believe that giving software away for free is somehow wrong and mischevious. They are afraid that their golden egg they've been sitting on will quickly become a wooden nickle if they let these commie pinko bastards invade their personal safe haven and steal their precious code. After one spends a little time developing open source software you become very careful about what you write and even what code you look at because of it's implications on your open source efforts. I don't know any developer that would be willing to steal and release proprietary code in the name of open source. Maybe they are confusing their own motivations and thoughts with ours.
Fri 18 Apr | Andres | I once got a job offer thanks to some open source code I had written but, since I already have a job and I didn't feel like moving to another city, I didn't take it. Apart from that I haven't got anything much from it, except that I enjoy doing it, which is the whole point for me.
Fri 18 Apr | Bored Bystander | Trollbooth, I think what you're describing is widespread in this industry, in general. The individual isn't given the benefit of the doubt that he's responsible and professional and that he has valid reasons for a 'hobby'. Participation in open source is treated like a red flag 'code' by a common and stupid kind of person in our industry who has to read an ulterior motive into everything. Managers seem to have to read something negative into anything but on-the-job paid work. I can think of quite a few more examples, it isn't just open source. The scapegoating can be any technology that has a 'politically incorrect' image that someone wants to cast on it. This is just one example where 'sharing' is cast as anti-commercial.
Fri 18 Apr | choppy | 'If you say you are involved in 'open source' the business world ABSOLUTELY, POSITIVE *INSISTS* upon slapping a certain accusation and an assumption of a certain set of moral and commercial values upon you' which business world? the business world i'm in is all about IBM global services which itself is all about open source.
Fri 18 Apr | one programmer's opinion | My 2 cents even though I have never contributed to an Open Source project. I think the answer to your question is it really depends on whom the potential employer/client is. Mentioning that you worked on some obscure Open Source project probably isn't going to impress too many employers. As others have already mentioned most managers, as well as, some software developers don't have a clue what Open Source is all about. IMO, most managers seem to believe that any idiot can design and write source code and therefore are more interested in playing 'match the buzzwords' to find the idiot who best matches the technical requirements of the open position rather than attempting to learn more about a person's problem solving skills. What may impress a potential employer/client: * Ability to demonstrate that you have prior experience with an Open Source development tool or programming language (Perl, PHP, etc.) that they currently use. * Ability to demonstrate your C++ or Java programming skills. * Ability to demonstrate competence in an area of software development (desktop, peer-to-peer, etc.) where an employer/client is currently looking for some help.
Fri 18 Apr | Eric W. Sink | IMNSHO, contributing to an open source project can count as experience. When I interviewed with Spyglass in 1992, I told them about a project I had done. It was a complete C compiler for the Macintosh. I wrote the entire thing from scratch and it could self compile. I released it under the GPL when I was done, although nothing really ever came of it. The folks at Spyglass seemed quite impressed. I believe my C compiler was a factor in helping me get that job. Today I read resumes, and if I saw a major contribution to an open source project in someone's experience, I would consider that to be a positive factor.
Fri 18 Apr | Richard Ponton | Personally, I think opinions are changing. Participating in an Open Source project is a good way to maintain skills that you wouldn't develop on your own. For example, working on Apache will keep your C skills sharp if all you do at work is Visual Basic and HTML. Of course, you could spend all your time re-inventing a little piece of shareware that a) nobody will ever use and b) will just be a default feature in the next version of IE or Windows anyways. It's mine. All mine. My precious. Or you could contribute something to the OSS world or public domain. You'll get flamed for your crappy c0d3 and your lack of skillz and everything, but after you filter out all the noise, you'll get some constructive feedback too. If your code is worthwhile, you'll get to build a relationship with someone out there who is really talented and compliments your skillset. When the right people get together, great things happen and millionaires are made. YMMV. As I started this post, I think opinions are changing. I think in the near future a useful contribution to a decent open source project will be worth more than some home-grown, half-finished, unpolished, and still-buggy-because-one-man-can't-do-design-implementation-and-QA-at-the-same-time application that the interviewer will take 5 seconds to look at and yawn. No, the shareware model will not transition well to open source. You will not make money as a single developer on your own open source project. But 'Does contributing code to open source pay off'? Yes. And I think the benefits will increase more in the future.
Fri 18 Apr | Bored Bystander | Ok, my view of the perception of open source with hiring authorities is obviously dated. But still - I still feel strongly that it can *only* be presented to someone who knows something technical and who themselves have some technical depth. An agency recruiter (scum-nuff said), an HR type (career consists of commoditizing people) or a 'management @$$hole' (the highly politicized Dilbert type) will choose to not see value in volunteer experience, no matter how deep or however challenging or diverse. But that's the same as with any other type of experience that doesn't push the buttons of the unwashed & unworthy. (Yes - I'm making value judgements of my sworn enemies as I go, namely those who don't value substance. Godspeed to everyone who does good work, in whatever context.)
Fri 18 Apr | pb | The problem with having worked on open source is that the management of most open source projects is so horrendous that it's scary to consider employees with much involvement there.
Fri 18 Apr | pb | Also, why even bring up the fact that you worked on 'open source'. You would never note that you worked on 'closed source'. Just discuss the types of projectw you've worked on and your accomplishments.
Sat 19 Apr | Page Name | Another of the points I would take from someone boasting about open source involvement is that they probably haven't done much else, or at least not in the relevant field. That seems to be borne out by some of the pro-open source comments here. Also, developers are of course going to develop competing products and that's good. But that's quite different from instantly making the work available for free to everyone.
Sat 19 Apr | T. Norman | The point is not to sell 'open source', but to talk about and/or demonstrate the product. Let the 'open source' aspect be secondary to the discussion. So instead of talking about open source, let them know that you wrote part of the Apache web server which runs their web site. Or if you worked on OpenOffice or Mozilla, bring a laptop to show them the product.
Sat 19 Apr | Phillip J. Eby | Does it pay off? Sure, if I'm interviewing you for a position at the company I work for. Sure, when I've been contacted numerous times about doing consulting work or a permanent position based on my public involvment in some project I've worked on. Sure, when you want a job at any company whose business model depends on Open Source, and they know it. (For example, a web hosting company... or Red Hat, Google, Yahoo, IBM,...) From my point of view, involvement in open source is to a software engineer as publishing one's research is to a scientist, pro bono cases are to a lawyer, and as exhibitions are to an artist. It is skill developed, skill publicized, and a small down payment on the gifts that we have received from our fellow developers. Does it pay off? Absolutely. Does it require educating management? Of course. I ask questions like, 'How well would hospitals function if they didn't let their doctors teach? Would you want a doctor to operate on you if they weren't able to see the work of other doctors?' Actually, management at my company is easy to convince. It's legal and HR that are the difficult ones. But with management on one's side things can be made to happen. As Joel says, it's important to have a reputation for results before you start trying to change the world.
Sat 19 Apr | Bored Bystander | It IS political. It is. It simply is. Rinse and repeat. To everyone on this thread who denies that the phrase 'open source' gives you an adult sized case of the 'cooties', see this disinformation and read a bit of the linked PDF in it: http://www.ohiotaxpayers.com/generic21.html So there is apparently a very, very powerful wave of propaganda ascendant in labeling the voluntary exchange of useful source code a 'crime' and 'anti commercial', or at least shady and almost communistic. (The PDF file has an embedded photo of Richard Stallman that makes him look like a homeless drifter/fanatic - no doubt intentional to buttress their points.) It doesn't matter what the facts are, people. The kind of people that would read and take seriously things like this are the PHBs that make hiring decisions! Anyone who really *knows* usually doesn't count in most companies. And I don't care how logical it *seems* to claim bragging rights to a significant open source project. You'd better feel out the thinking of whomever you're presenting such material to, before saying the first thing about it.
Sat 19 Apr | Eric Lippert | I assume by 'does it pay off' you mean 'will it help me get a job where I am paid for writing code'. If that's not what you mean, please clarify. As an interviewer I am looking for (as Joel says!) 1) smart, 2) passionate, 3) gets things done. I don't care whether your experience is in writing software for banks or writing games or university coursework or open source web servers -- those are the three things I'm looking for. Smart has nothing to do with any flavour of software -- I have entirely separate questions designed to test for smarts. So I'm going to pick the most interesting thing on your resume and ask a whole load of probing questions designed to find strengths and weaknesses in the other two areas. I'll tailor those questions based on what I see on the resume. For example, if I see a lot of banking software on your resume then I am going to spend not very much time on 'gets things done', but I am going to spend a lot of time on 'passion'. What turns you on about writing software, and why so much financial software? If I see a lot of open source projects I can usually dispense with 'passion' quickly. Nothing says 'I love writing code' more than 'I write extensions to nethack in my spare time'! But I would be very concerned with 'gets things done' -- working on code that has to ship on-time to paying customers is a whole lot less sexy than adding new bugs -- I mean features -- to Mozilla. I'd ask a _lot_ of probing questions in this area. So does it 'pay off'? If I were interviewing you, sure -- provided that your experience with open source made you smart, passionate, and able to get things done on my team! If not, no hire. Eric
Sat 19 Apr | Daniel Shchyokin | Eric, I mean - will it help a person get a job (I am not looking for one currently). Also I am sking if companies will actually try to find people who created a piece of Open Source SW when they need consulting or training for that particular SW.
Sat 19 Apr | Stephen Jones | Dear Bored Bystander, Thanks for the Ohio taxpayers link. The .pdf is vile. What I particularly liked is that they talk about proprietory software firms including open source software as part of the product they are charging you for as an act of generosity on their behalf! I suppose we've just got to get used to corporate organizations deliberately pedding lies as they are about the nature of the GPL. Also to the Orwellian use of front organizations that actually advocate the opposite of what the name says. Software Choice in this case being between XP Home and XP Pro!
Sat 19 Apr | Bored Bystander | Stephen: it IS Orwellian. It reads like some committee within 'Minitrue' concocted it. On the acrobat file: one Scott Pullins is listed as the author, but the document doesn't contain ANY authorship reference or even a title, just quotations. Dammit, I need to know who to go and string up by the thumbs...
Sat 19 Apr | pb | 'will companies actually try to find people who created a piece of Open Source SW?' No, of course not. While it won't hurt (if you don't make a point of it) it's unlikely to help, and companies certainly won't proactively seek it out.
Sun 20 Apr | choppy | 'will companies actually try to find people who created a piece of Open Source SW?' if somehow the open source software is integral to what the company does, of course. if the company doesn't do anything related to open source, probably not. the question as asked is too vague to make much sense, it depends on what open source project you worked on, and what you did,and where you are applying for a job. If you are applying for a job writing visual basic apps for an insurance company, no one will care that you wrote a perl script and posted it to sourceforge. If you are trying to work at a company that makes routers, it might be a big deal that you contributed a huge amount of networking code to freeBSD. Likewise, the place building routers probably doesn't care about your years of VB experience in the insurance sector, or that you wrote a perl script and posted it to source forge. Many companies doing web software, embedded devices, robotics, and support for scientific research base much of what they do on open source software. thus, if you did some relatively important open source thing, that might be important, if you are looking at these types of jobs, and your contributions are relevant to what the company does.
Sun 20 Apr | Stephen Jones | Dear Bored Bystander, Scott Pullins is relatively well known in your neck of the woods; he appears to be very influential in Repubilican politics and is chairman of the Ohio Taxpayers Association, which is apparently dedicated the principle that Ohio taxpayers shouldn't pay any tax. Should he ever acheive that goal and have to dissolve the organization he can still count on his PR company 'Right (as in Goldwater) Communications LLC', which in its firm defense of family values has him as President, his wife as CEO and his sister-in-law as Director of Development. He will even send you a photo you can use for target practise if you phone 614-224-2785.
Sun 20 Apr | Dennis Atkins | 'there is apparently a very, very powerful wave of propaganda ascendant in labeling the voluntary exchange of useful source code a 'crime' and 'anti commercial'' Bored et al, Would you care to explain how the pdf you provided seeks to make the voluntary exchange of useful source code a crime? I read it and it looks to me like it says that they support open source and proprietary competing freely in the marketplace, free from government intervention. Their position looks to me to be reasonable, opposing *special* government support in favor of open source, rather than letting open source live or die by it's own merits. Vile? Perhaps only to someone unable to think or code for themselves.
Trivial English Language Musings | Thu 17 Apr | Spaghetti Rustler
Is there a word for the tendency of a word or phrase to devolve into a broader meaning? Ive noticed this a lot lately, and Ill give you three examples. High Tech - If youre old, like me, you can remember when this phrase was introduced. At that time, it meant exotic, bleeding-edge things like bioengineering, nanotech, fractals, etc. Now it just means technical - a VB programmer is considered high tech. Political Correctness - This originally had a very narrow meaning. It described the belief that political considerations should override all others - nothing that degrades women can be called Art, comes to mind. Nowadays, it just describes someone civilized enough not ito insult someones religion to their face. Design Patterns - Old farts think: architecture, Gang of Four, encapsulate what changes. But lately people are using it as a synonym for algorithm, and (unwisely, in my opinion) dismissing it altogether. What causes this? Is this why new words are invented all the time - we abuse the old ones until they lose their meaning?
Thu 17 Apr | Patrik | Most words, and most other things as well, start their life within a relatively closed group. When enough time passes they become more and more mainstream. My favourite word that has been abused until it started meaning something else is hacker. A hacker is nowadays considered by most to be a high-tech criminal, but its initial meaning was something else. This mainstreamness can be seen all over. In our industry, when marketing picks up programmer-words, its time to invent new ones :-) This phenomenon is not only visible in our industry. Independent vs. Hollywood films come to mind. Most new cool things happen in the independent films first, but gets noticed by the masses when they first appear in productions that come out of Hollywood.
Thu 17 Apr | Alex Chernavsky | Myself, I mourn the loss of the (very important) distinction between 'simple' and 'simplistic'.
Thu 17 Apr | oc | Are you talking about when 'greed' stopped being a pejorative word? Yeah, that's caused some problems.
Thu 17 Apr | Daniel Shchyokin | I wonder if cave-men manufacturing the new 'Spiked' clubs considered themselves to be working in 'Hi-Tech'
Thu 17 Apr | Lou | Its part of the language, and it takes other forms as well. Witness: Electronic Mail E-Mail e-mail email One could argue that its partly an expansion of meaning caused by adoption by people who don't quite understand the exact meaning - but its also caused by people trying to sound smart or force words into a new meaning. And of course, sometimes old words come back with new meanings - those are fun.
Thu 17 Apr | oc | There are people who happily claim to be dumb as a post, but somehow know how to use text messaging on their mobile phones, down to the most obscure abreviations. Yet they have the cheek to call me a sad computer person...
Thu 17 Apr | xyzzy | I'm betting this thread will go on and on. But here are my contributions: Quantum Leap: Used to be a very, very tiny jump for an electron from one energy state to another. Now is considered to be a major jump forward in technology. Light year: Used to be the DISTANCE light traveled in one year. Now can be time measurement, or a 'Quantum Leap' ahead of the competition.
Thu 17 Apr | oc | Embezzlement used to mean 'fraud'. Now it means shrewd business practice. Plus a big f*ck you to anyone who's pension fund died in the process.
Thu 17 Apr | Patrik | As a non-english native I was amazed to see the word above; I decided to check the meaning use Google Glossary which came up with the following: Embezzlement: A form of theft; the misappropriation of an employers funds by an employee. misappropriation: A polite word for theft. I love the english language :-)
Thu 17 Apr | 3D | It's just part of a living language. My favorite is virtual reality. That used to mean sophisticated real time 3D. Then journalists and commentators heard the term and incorrectly deduced that it meant the disconnected experience associated with distributed work. So now there are heaps of people who use it in the sense of anything to do with the internet.
Fri 18 Apr | John Topley | I'd just be happy if people learned to use apostrophes correctly. Programmers seem to be particularly bad at this, I've noticed.
Fri 18 Apr | Stephen Jones | Particularly in their code :)
Fri 18 Apr | Joe AA. | An apostrophe? I bet you mean a single quote instead of those new fangled double quotes.
Sat 19 Apr | 3D | Just about everyone is bad at using the possessive apostrophe, John Topley. That is, they use one when they shouldn't. It's so prevalent it might even qualify as one of the changes to the language that we're talking about. Correct: It's for it is Wrong: It's for it's color
Sat 19 Apr | A.T. | 'Quantum Leap' Sure in the real world, a quantum leap is tiny, but the meaning of the 'quantum part' is that an electron jumps from one state to another without passing through any intermediate stages. It can't occupy any intermediate stages because that's a physical impossibility. There *are* no intermediate states for it to pass through. As a marketing term, 'quantum leap' is perfectly reasonable when it is used to mean the exact opposite of gradual refinement.
Sat 19 Apr | Alex Chernavsky | 3D wrote: 'Correct: It's for it is' 'It's' can also stand for, 'it has', as in, 'It's been a long time'. Incidentally, there's a Usenet group called, 'alt.possessive.its.has.no.apostrophe'. See: http://groups.google.com/groups?hl=en&lr=lang_en&ie=UTF-8&oe=UTF-8&safe=off&group=alt.possessive.its.has.no.apostrophe
Sun 20 Apr | 3D | Thanks for the pointer to the apostrophe group, Alex. Quite amazing.
Buying a Laptop | Thu 17 Apr | Alai
Im getting a laptop for work as a desktop replacement and to bring home to do work there. I do a lot of programming in VS.NET, and some stuff in Photoshop as well as some web work. I also work in VMWare for tech support and testing, so that consumes a fair amount of RAM and processor time. I need a fairly large hard drive, as we work with video files. Any reccomendations? Im currently thinking of a ThinkPad A31, one of IBMs heavy models, with a couple of extra batteries and a port replicator.
Thu 17 Apr | Espiridión García | Sorry man, but if you buy a laptop just to take work to home, you're doomed.
Thu 17 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Here's what I learned through various laptops: 1. Lighter is better than heavier. Anything more than 5 lbs and you'll hate carrying it around (and therefore will do it as little as possible). 2. More RAM and a _faster_ disk is better than higher CPU or bigger disk. Make sure you get at least a gig of RAM, and a 5400 RPM disk (I like the ones from IBM the best). P4 may be tempting, but you'll have terrible battery life compared to a P3M. 3. Display size increases cost, weight, and battery life. A smaller display with a good resolution is better than a monster display, if you ever intend to run on batteries. 4. Touchpads suck because you'll accidentally tap the buttons or the pad. A LOT. The 'eraser mouses' rock. :)
Thu 17 Apr | runtime | I have the opposite opinion re touchpads. My laptop has both. I physically removed the 'nipple' because it was causing calluses on my fingertips! I also found the touchpad faster and more precise. Smaller and lighter is always better than 'more powerful', especially if this is not your main computer.
Thu 17 Apr | Chris | I have to 2nd the eraser mouse. Once you get used to using it, it is much faster because you don't have to move your hands from their home positions to use it. That being said, I do have a small indention on my index finger from using it so much. What ever you decide, be sure to get a premium case for it. My case has an elastic shoulder strap on it that absorbs all of the shock from lugging the thing around. Oddly enough, there isn't a label on it anywhere, so I can't tell you the brand.
Thu 17 Apr | Alai | I don't like touchpads either; I find myself typing in a different section of my code then I intended. Gets tiring quickly.
Thu 17 Apr | Bored Bystander | Touchpads on laptops seem a bit masochistic to use. I bought a Kensington optical mini-mouse for $30 (probably less now) that has a retractable USB cord. As long as I have about 1/2 sq. foot of area to mouse in (and it just has to be relatively flat - even the surface of a bed or a cushion can work) I basically have the 'desktop' mouse experience...
Thu 17 Apr | Prakash S | http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=18484&ixReplies=29 there was one more thread about Laptops - do a search..
Thu 17 Apr | revenge of the anon | MS laptop mouse looked nice at the store. I dislike the touchpad, because I scroll, use wheel, and many other functions. http://www.microsoft.com/hardware/mouse/nom_info.asp I second that weight is more important than power -- you can use powerful desktop machines to do compute-intensive tasks, esp with things like VNC. My notebook feels like I'm lugging it, and that's no fun.
Thu 17 Apr | Chris Tavares | I'm using a Sony Vaio R505. It's light and has a touchpad. I *greatly* prefer the pad to an eraser. I've never liked the 'joystick' style motion that you get with the nipple - it just seems to take forever to move the cursor across the screen. The Sony's touchpad has a wheel in the middle, so I've got my scroll wheel, plus the driver's set up so that moving your finger along the right edge of the pad triggers the vertical scroll bar, and similarly along the bottom for the horizontal scroll. This makes scrolling incredibly easy. There's a couple other 'gestures' built in. Top of the pad gives back/forward in a browser, and the upper left corner of the pad (depending on where you move to) gives you close, minimize, or maximize top window. Once I got used to it, I really, REALLY liked it. I never accidentally hit the pad. I guess it's YMMV.
Fri 18 Apr | JWA | Most (if not all) new HP and compaq laptops have a button to turn the touchpad off, with an indicator light. Makes it nice for typing, especially if you're using an external mouse. I prefer a real mouse, can deal with a touchpad, and hate the eraser joysticks. As to weight vs. performance, it's a toss-up. If it's too heavy you won't feel like bringing it anywhere to work with, but if it's too slow you won't feel like working on it when you get it there. After going through multiple iterations, I now work from a home office where I have a desktop and lcd, a Tablet PC for email/notes/browsing on the couch/bringing to meetings, and the smallest PocketPC available for tasks, etc. Works well for my needs. --Josh
Fri 18 Apr | Colin Evans | I got a Dell Inspiron 4100 a while back as a desktop replacement, and it has worked very well. The Inspiron 41xx Dell's 'portable desktop replacement' line (as opposed to the Inspiron 8xxx line that runs as much as 7-8 lbs). It also has a touchpad and a mouse nipple. As far as I can tell, the big speed difference between it and a desktop is that the disk access seems slow. I think this is true for most laptops.
Fri 18 Apr | Philo | Heh. I love the 'get a lighter one' arguments. I've carried my Inspiron 8100 (9+ lbs) all over the place and never had a problem with it. Mind you, I'm 6'4' and 290lbs. Context is everything... Now one problem I *have* discovered - if you plan to use your laptop on a plane, don't get a 15'+ screen, as it may be almost impossible to use (you can't open it up fully). Philo
Fri 18 Apr | Brad Wilson (dotnetguy.techieswithcats.com) | Agreed with plane issues. I'd really like to see some laptops take after the new PowerBook and offer a 12' screen laptop that still has decent resolution and decent power, instead of being the cast-offs at the bottom of the barrel.
Sat 19 Apr | David Geller | After years of using Intel-based laptops I decided to try out OS X and the new 12' PB (Yao Ming model). I've been very pleased. Great keyboard. Writable DVD (slot loading!). Relatively tiny notebook. Relatively light. Great screen. Good battery life. OS X is nice. Not as stable as XP, but still very good and lots of fun. Also, with MSFT having released Terminal Services Client for OS X I can easily get to all my XP and Win2K boxes.
Sun 20 Apr | Ron Porter | I really don't care how much the laptop weighs, for two very simple reasons: 1. I use the backpack case from Targus. I carry at least twice that weight in a backpack when I go camping, and I carry it for a much longer at a time. 2. I play tuba in band, and if you can carry a tuba in its case up 3 flights of stairs, then carrying a laptop out to the car is child's play. As someone already pointed out, it's all relative.
Possible to get perks of Management Still Progra | Wed 16 Apr | KenB
The company I am at seems to reward managers a great deal no matter what. They have laptops & the best equipment (XP) while us programmers have P2 266s running NT. Also, when it comes to raises & benefits they seem to get the best deals. Those in senior programming positions with the same years of experience - project leader or tech specialist dont get the same perks or treatment. A younger manager may actually give a more senior developer a review! Because of politics a more senior developer can get laid off while a younger manager may remain! What can you do if youd rather stay programming and not be a part of management? Why is management so highly valued while developers are not? (I feel that its easier to be a manager than a developer)
Wed 16 Apr | Gerald | I respectfully disagree with you that management is easier then software development. Having done both, often at the same time, I find software development vastly easier and less stressful then managing. As to why managers get better perks and pay, it's the normal way of life. The Starbuck manager gets more pay then the guy who shleps your coffee after all. Now why companies do not recognize and fire bad managers is a different story. In my experience a lot of companies do a really poor job of conducting performance management and acting accordingly. Then again, this is not limited to managers, I see a lot of companies keeping poor developers around as well.
Wed 16 Apr | Mike Gamerland | Ken has a lot here so I don't miss something, let me try a point at a time. First, if you feel you desire more respect than you get within an organization, move. You describe the legacy C&C top down organization and many people, myself included see them as a waste. Others love the specificity of the environment and thrive. Many times, just changing departments will make a big difference. Just remember that people drive different kinds of cars. It does not make one 'bad' or 'good', just different. Now to your specific points: -Those in senior programming positions with the same years of ... don't get the same perks or treatment. I am going to assume you are not a technology company. If you are, then you are probably in trouble, as an organization, as resources are being spent on overhead. The goal of any responsible organization is to maximize the revenue generated per person. That being said, a technology company that sends a sales rep out with a 266, is making just as big an error, same with any of the executives meeting clients. It should appear you are on the leading edge where you interface with clients. EVEN when such knowledge does not change what you provide. If you doubt it, consider whether you would buy your next new car from a person dressed like a bag lady. - A younger manager may actually give a more senior developer a review! This is traditional and many will claim it has worked for decades why change it. Rather than complain about it, offer an alternative that reduces the work on managers, and improves the process overall. My personal favorite is what I call the 360-3-3. You are reviewed by your leader, your peers, and people reporting to you (if applicable). The review consists of two questions: 1. Name 3 things Mike does well. 2. Name 3 things Mike can improve on over the next evaluation period and beyond. (Some things take a while) Your mentor, then takes the 3-3 from each person and comes up with a list of only three does well and three needs improvement. The mentor is looking for patterns. As you improve, you become more valuable. Raises and such are the product of how well you perform your duties. They are not tied to the appraisal process. -- This is difficult for HR to deal with but I know of three fortune 20 IT companies that do this, so it can be done. -Because of politics a more senior developer can get laid off while a younger manager may remain! Yes, they can. Nothing will change this, so get heartburn or get over it. Politics is always going to be present. Consider whether you would keep someone who was good, but you did not like over someone you liked but was only slightly worse. (Very few are Good/Bad) - What can you do if you'd rather stay programming and not be a part of management? Stay a programmer and if that is the life you want, consult or contract. This puts you in the driver seat. But be warned, a contractor is evaluated weekly. If they tell you to come back Monday, you passed. And you should always be the first to go. - Why is management so highly valued while developers are not? (I feel that it's easier to be a manager than a developer) Look at it like a pyramid. As developers gain experience, they add value. As time goes on fewer and fewer can reach that next plateau. As a manager pointed out to be, Supervisor roles are one of opportunity. (We have a spot we need a leader). Developer roles are one of skill. Now the down side is that business runs for profit. At some point you will have gained experience and the more you gain the more value you bring. However, a point will be reached where you are a 50 year old Cobol programmer with 25 years experience and I need two JAVA developers. Historically a company would send you to training. Today, most companies would buy the experience. Even if you stay current, a 50 year old may be making 3 times what a 'fresh from school' developer is asking. It gets hard when the questions come down to are you really three times better? To which the 50 year-old should be prepared to look for the consulting gig themselves.
Wed 16 Apr | HeyMacarana | 'I respectfully disagree with you that management is easier then software development. Having done both, often at the same time, I find software development vastly easier and less stressful then managing.' For people endowed with project managment skills, management is easier than coding, while others will find development easier than management for those who are more skilled in software development than management. So it just depends on the person. Some find some tasks easier than others do. While others find the same tasks harder than others do. As for Ken's question, I would recommend that you let management know how you feel. Tell them that you would rather be on the development side of things since you feel that you will be able to contribute more to the company that way and be happier than by moving over into a management position. However, also let them know that you think there is a major gap in the perks that senior developers like yourself receive vs. managers. Let them know that more 'toys' like a better system will improve your productivity and therefore most importantly the company's bottom line. Also tell them that morale and satisfaction may tend to drop. They just need to get it into their heads that management doesn't necessarily need to get better things than developers do. At several companies developers make more than managers do and have better systems since those companies realize that while project managers are important for things such as coordination tasks, it still falls upon the developers to actually get the job done. However, if at your place managers are actually the ones that are making things happen and have to push developers to get things done then maybe they should get more perks. So first just look around and really assess who's getting the job done the most, or perhaps it's an equal team effort on both managers and developers.
Wed 16 Apr | Must be a manager | KenB, organisations generally value the occupations that are closest to their core mission. For that reason, the best places for developers to work are software development companies. You won't change the culture there. Move to a new job.
Wed 16 Apr | one programmer's opinion | 'Why is management so highly valued while developers are not?' Maybe you should ask one of your managers? There is no universal answer to this question, however, typically it is because you (the developer) are considered to be part of the labor force and in many companies management always earns more than labor. While a software developer may work in the same building as the CEO, that is where the similarity between the two of them usually ends. '(I feel that it's easier to be a manager than a developer)' Do you mean easier to be a Project Manager or simply any type of manager?
Thu 17 Apr | anon | Gerald writes: 'I respectfully disagree with you that management is easier then software development. Having done both, often at the same time, I find software development vastly easier and less stressful then managing.' Gerald, I believe you to be an amazing, honking idiot. This is exactly why the U.S. is losing its technical edge. Utter and total imbeciles such as yourself actually accept and promulgate the notion that low level pieces-of-crap 'managers' actually contribute something. In Eastern Europe & India technical skills are appreciated and rewarded while America squanders its talent by rewarding 'managers' for outsourcing technical jobs overseas. I mean, I don't blame you. It's _hard_ to understand everything it takes to master computer science & engineering. Why put in all that work when all you have to do is party through college with the frat boys who major in business? America is crashing and burning because her priorities are being determined by fools who imagine a 'manager' can better use a new machine than a developer.
Thu 17 Apr | Stephen Jones | Dear anon, I doubt if America is crashing and burning but comments such as yours certainly aren't what's stopping it. If technical expertise is rewarded so highly in India how is that the programmer gets 25% of the salary he does in the States, whilst the company is charging 80% of the States price? Are the gangsters that control much of Eastern Europe, or the goons and sleazy 'commis' men that proliferate throughout the sub-continent, really that much more appreciative of technical skills than the western manager. And why don't you own up to the fact that the reason you didn't party through college was because nobody ever wanted to invite you?
Thu 17 Apr | Matt H. | Ken: Sadly, this situation is VERY similar to many fields. Think about Doctors and Nurses. Think about Laywers and Legal Secretaries. (60% of the time, the secretary writes the letter, the lawyer signs it ... who gets the perk?) Think about Military Officers and Senior Non-Coms - probably the most terrible example. A Air Force Chief Master Sergeant with 20+ years of experience may have to salute some kid who just finished his four-year-degree last month. And so it is with coders. We're probably the closest to the Military Analogy - allthough we generally require our brand-new Managers to have an MBA, we generally require out Senior NCO's to have a 4 year degree. More education, same deal. The thing is, getting the big picture is hard. So is becoming a world-class engineer. The argument is that if you try to do both in one lifetime, you won't be very good at either. So we need two tracks - a management track and a coding track. Now, here's where things get screwed up, because it's the managers and exectutives who decide the perks and pay scales, and, well, 'birds of a feather ...' Not all companies, however, are like this. In his book 'Mythical Man Month', Fred Brooks suggests that many 'managers' are really just 'administrators' and, perhaps, should be treated that way. I'd suggest that, in your job search, if you find companies that at least recognize this as a possibility, that's a good start. Actually, the entire idea of 'boss is better' came up once for me in an interview. The hiring manager said something like 'It's hard for me to think of myself as better than any of our people - just because our people are so good. In fact, I think of (Mutually known and respected sr. developer) as a PEER. And I think my boss thinks of me as a PEER.' At that point, my response was pretty much 'Where can I sign?' regards,
Thu 17 Apr | KenB | Matt H. I appreciated your comments thanks! I was just wondering how do you go about finding such a position? (One that respects programmers more). A lot of times they seem to 'give you a line' during interviews to make you want to join: 'The company values our IT. IT is the most important division in this company. We have a solid structure in software development.' Then when you get there you see the reality. (Managers valued, programmers not & Joel test level 3) My point was more of a thought of 'Why things are like this?' & 'How are other people's company's like in this area?' Also, someone asked me before if it was management in general or project management that I thought was easy: Being a very organized person, I feel that Project Management is simple. A lot of planning, emails & meetings & communicating with others. I know I CAN do it - it's just not fulfilling to me - I'd rather be building something. But in my experience a position of Tech specialist or even a Project Leader doesn't get the same perks & advantages as simple project managers & other areas of management. (What does a manger who uses Outlook, Project, Word, Excel & IE need with a P4 2.9Gig machine?) I guess I am proposing that the senior technical leads should be viewed as equal to mangement with the same level of experience. Thus they should qualify for the same benefits & perks. (If not, then you force people to move into management that could be stay technical and help the company more) Thoughts?
Thu 17 Apr | Matt H. | >A lot of times they seem to 'give you a line' >during interviews to make you want to join My advice: Join a user's group in your area of expertise. (Perl Mongers, Oracle User's Group, Linux UG, maybe IEEE, etc.) Find out where the best and brightest work. (These are people who, like you, take the job seriously enough to join a professional organization - and who are the best in the field to boot.) Find out if they are happy and 'Taken care of.' Find out if that company is on track to succeed. Work with them over a long period of time. Eventually, they may have an open position. Ask the people in the trenches about how things really are. If you like the answers - THEN interview with a hiring manager. If they give you an offer, ask your friends to talk you out of working at the place. If the worst things they can say about the company are non-issues, and these are people of integrity ... you might be in good shape. :-) good luck,
Thu 17 Apr | And the horse you rode in on | You're using the classifcation stick just as baselessly as they are when you say stuff like management and techs should be treated equally based on experience. Surely they should be treated according to WORTH, not EXPERIENCE or JOB DESCRIPTION?
Thu 17 Apr | KenB | And the horse you rode in on - (Love your name by the way LOL) What I am referring to has nothing to do with performance or worth of an individual. I have noticed that at the 3 companies I have worked for those in Management get perks over those not in management. Period, end of sentence, you lose, good day sir!!!!!!!!
Thu 17 Apr | anon | To Stephen Jones: My father is an engineer. I overheard a conversation he had with some of his work buddies in which they fondly recalled the sixties in the U.S. The space race was in full gear and technical people were valued not only in the workforce, but, perhaps more importantly, in popular culture. I wasn't around then, but this certainly seems plausible. I work with many people from Eastern Europe & India and they describe a similar popular appeal. People there are encouraged to exceed in science & technology and they a well respected upon gaining success. In America today, gangsta' rappers are far more well respected than mathematicians or computer scientists. Being from 'the street' is infinitely much more a badge of honor than getting good grades. Crashing and burning, baby. Crashing and burning. But again, this is totally understandable. You can work your butt off for years and years to master difficult subjects like math and physics, or you can party hearty, get a job as a pointy-haired boss, and get promoted for exporting technical jobs overseas.
Thu 17 Apr | choppy | Hey, I have a degree in philosophy (well, and in math.) I slept and partied my way through school. Luckily I was a mega dork in high school and taught myself how to program. I've never made less than $70,000/yr since 1996. I work from home. I drive a cool car. I work on cool projects. I've determined you can't possibly win if you are trying to fit yourself into an existing role, like 'manager'. I mean, everyone hates doctors, lawyers and CEOs. Programmers hate managers, managers hate themselves... you truly can't win, so why even play that game? The reason why gangsta rappers make so much money is they are smarter than most engineers. Most engineers I know can maybe fake their way through partial differential equations, but they can't do basic arithmetic. If you see one dollar for every item you sell, and you sell a million items, that's a million dollars. That is how hip hop moguls. think. If you see $20 for every shareware utility you sell, you only need to sell 4000 items to double your salary. you don't even need to quit your day job. Why anyone cares about getting respect in this industry is beyond me; it isn't going to happen. it is better to focus your energy on getting more money, and doing so doesn't necessarily have to mean begging for a raise.
Thu 17 Apr | Gerald | anon, The writing has been on the wall for quite a while now, no longer is software development some arcance discipline practiced by bearded and overweight gurus in a dark room sipping at their Jolt cola. For a profession that requires no degree, can be learned on your own time and takes no legal responsibility for the quality of the work like engineering does, it pays remarkably well. I'm hard pressed to think of any other profession that requires so few qualifications and yet pays so well. I have a degree in Electrical Engineering and I do software development professionally, so I do understand how difficult both jobs can be. Professional engineers get paid quite well not only because engineering is difficult, but because they accept personal liability for the work they produce. The civil engineer who signs off on a bridge that collapses is in deep, deep trouble. It is the same situation with laywers that Matt fails to mention, the laywer is legally responsible for the documents he signs and the consequences of signing off on a bad document can be severe. The secretary who produced or typed the document is not sharing in this risk and thus is not sharing in the reward. Depending on your opinion, managers either have or are perceived to have increased responsibilities in comparison to the typical software developer. The manager at Starbucks makes more simply because they have more responsibilities then the typical Starbucks employee. Best management line in a movie is Hopper in Bugs Life after the ants lost the food offering because one of the ants screwed up, 'But Hopper, it's not my fault...' 'Tut, tut, tut. First lesson of leadership Princess, it's always your fault'. Good managers take responsibility when things go wrong (and yes bad managers don't, but those are the guys I fire first). I'm often surprised at the vitriol directed at managers on this and other software development boards. In my opinion, good managers are worth their weight in gold, They act as force multipliers and can make a huge difference in productivity and quality across a team. If you have not worked for a good manager then quit and find a new job where you would be working for one and you will be amazed at the difference it makes.
Thu 17 Apr | Matt H. | Good managers ARE worth thier weight in gold. If you follow other threads on this board, you know how crucial this is to me. http://www.systemsguild.com/GuildSite/TDM/Professionalism.html I saw your post and blinked; the greatest manager I ever worked for is named Gerald. :-) I don't suppose you're the principal for a small consulting firm in Kentwood, Michigan? :-) I do agree - people who take risk should be compensated for risk. regards,
Thu 17 Apr | anon | To Gerald: Nobody gets paid in proportio