last updated:14 Jun 2004 18:47 UK time
Joel On Software Discussion Forum
JOS Statistics - Recent Comments
(Comments added for week ending Sun 13 Jun 2004) | View Other Weeks
Ph. D. Material | Sun 13 Jun | Social Programmer.
Hi, I have done my MS in computer science 6 years back. I have been doing programming from last 5 years now.. I feel some degree of talent within myself that I like to explore. Doing Ph. D. is a good option but not with Family and other commitments. So I want to study my self along the similar lines without full commitment for the lactures. I am a self learner and can understand unknown topics slowly but surely if I am inclined. Looking for books, websites, magazines or any other sources. Past experiences can also become very helpful. Thanks.!
Sun 13 Jun | Mr. Obvious | Google...
Random numbers in a fixed distribution? | Sun 13 Jun | Philo
I need to generate a bunch of random data for a SQL Server database, but the data needs to be in a certain distribution (in one column I need mostly 0s, but some 1s and a rare 2; in another I need 0-23 in a bell curvish distribution) To make it really tricky, I need to generate the rows in a fixed manner (daily data points for each of a piece of equipment); but it could be done in two steps (generate the rows, then generate the data) Any ideas where to start? Philo
Sun 13 Jun | Oren Miller | Well, you could use a random number generator and check a range. For instance for your first example, you could generate numbers between 1-100. Any time you get something back between 1-95, that's a 0, 96-99 is a 1, and 100 gives you a two. For the second one, something similar but your ranges should follow a curve. For example, let's use a smaller example and say you need a bell curve for 1-3. Well then 1-25 would be a 0, 26-75 would be a 1, 76-100 would be a 3.
Sun 13 Jun | TomH | If you don't mind doing it in Python the RandomArray module should do it for you. http://doc.astro-wise.org/RandomArray.html http://www.onlamp.com/pub/a/python/2000/08/09/numerically.html?page=2
Sun 13 Jun | Philo | That's perfect, Oren - thanks! Philo
Sun 13 Jun | Egor | This question pops up every now and then. Here's what I use. Imagine that for every possible generated value there's a segment of size proportional to that value's probability. For example, if you need to generate 1's and 0's, and the latter twice as often, you can have 1 represented by a segment of length 1 and 0 by a segment of length 2. Now imagine you combine these segments into one (of length 3) and cast a uniformly distributed value (using good old rand()) on it. The probability of it getting into 0's segment will be twice of it getting in 1's segment (because former is longer). So the distributed value is just the value to which the segment (or interval, less visually speaking) corresponds. This is easy to implement with distribution defined as array: distribution = [0, 1, 1] // define the array total_len = 3 distributed_rand_value = distribution[rand(total_len)]
After the POLL... | Sun 13 Jun | RP
... I have to ask. What are your backup plans if your career tanks? (btw, this is the poll: http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=151058&ixReplies=29 )
Sun 13 Jun | Philo | No clue.
Sun 13 Jun | RP | Come on Philo, you have the Navy pension.
Sun 13 Jun | Philo | No I don't - I was only active for eight years. Philo
Sun 13 Jun | hoser | Lay around and eat bon-bons until noon.
Sun 13 Jun | W Michael Ealem | It's already tanked - after 26 years, I've been told by recruiters that I'm too old, too expensive (meaning they can buy 8 kids in Bangalore for what I used to get), don't have X years .NET, whatever. Silly excuses. I actually made the mistake of enrolling in a vocational school for a few months, only to find that it too was a fast path to the street (2 years worth of expensive dumbed-down electronics training to get a $10-$15/hr job - maybe). I'm trying to retrain myself to become an embedded systems programmer (with no guarantee that will pan out either), but in the meantime I'm selling all my books and other possessions on eBay, and teaching Argentine tango at $120/month to keep food on the table. The music is gorgeous, the women are pretty, and it's a lot more fun than arguing with a suit over a change request or trying to get past HR gatekeepers.
Sun 13 Jun | Matthew Lock | > Argentine tango That is cool.
Sun 13 Jun | Berlin Brown | Hmm, there seems to be a lot people who are down on the IT/Software Development field, just curious, I am a middle-class guy, do you feel that all the really exciting, million-dollar IPO, startup software jobs are only given to the elites out there? Regardless of talent or tech knowledge, does a wealthy background or degree from an Ivy league school mean more exciting oppurtunities? Point, a prev poster mentioned that he had a lot of experience and I am going to assume pretty good at what he does, I wonder if you had that MIT degree, you would be managing your million dollar startup right now? I am not leaning one way or the other, just curious, I could be completely off-base.
Sun 13 Jun | W Michael Ealem | >does a wealthy background or degree from an Ivy league school mean >more exciting oppurtunities? Nope, but it does mean one thing that keeps getting mentioned in the forum again and again: Connections, connections, connections.... The good 'ole boy network comes through everytime - how do you think our illustrious *cough* current President got where he is today? Grandfathered into Yale, and handed the business connections he needed by Dear Old Dad once he got out - he certainly didn't get them on academic merit. So yes, money and the Ivy League schooling does help to some degree. Bill Gates went to Harvard, and certainly wasn't poor by anyone's standards. Combine connections with talent (most of the time), work, and some luck and you've got an almost unbeatable combo. Of course, history is littered with tales of those who had all of the above and still crashed and burned spectacularly. Your mileage may vary....
Sun 13 Jun | Matthew Lock | > Bill Gates went to Harvard This really had nothing to do with Microsoft's success though. Bill didn't even finish his degree. Microsoft's success was due to them being the only people willing to move down to Albuquerque and set up shop next to MIPS in 1975, and start the World's first microcomputer software company. Bill may have been comfortable too, but at that stage in his life he didn't really have any money. Microsoft struggled for money for the first year or two.
Sun 13 Jun | Rob | 'I was only active for eight years.' So you have 8 years less dev experience than people your age. Which brings up a question... why do people even go into the military? So you'll get trained on some piece of equipment that's applicable nowhere else? Not slamming you, Philo, I'm just curious why otherwise bright people would even bother...
Sun 13 Jun | W Michael Ealem | > Bill G & Harvard I stand corrected. >Bill G and money Again, correct me if I'm wrong, but didn't BillG have a quite tidy sum in a trust fund from his grandparents? Upwards of $1 M? And Bill's dad was and is a wealthy Seattle attorney - there was a safety net there, even if BillG had no need of it.
Sun 13 Jun | Matthew Lock | Bill hadn't touched it at that time, according to some books I read anyway. I guess the safety net to come might have meant Bill would take some risks, but I think on balance a nice inheritance would probably encourage you to take less risks, not more. After all, why spend all you time down in Albuquerque when you could just cruise through life waiting for your ship to come in?
Sun 13 Jun | Berlin Brown | Rob, now we are just getting hostile, I won't answer for Philo, but there is some duty and honor involved in military service.
CRC calculation when using FTP | Sun 13 Jun | EagleSoft
Im uploading & downloading EDI files (Flat Text files) those contains Purchase Order, Quotes, Sales Orders, Picking Note. So its quite sensitive information. We currently transfer automatically these documents to various trading partners via FTP, I would like to add a security layer to check that the data has not been altered during the transfer. I thought of maybe using WinZip to ZIP a bunch of text files, since a ZIP file has got CRC built in. What are my other alternatives ?
Sun 13 Jun | janonymous | If you have the possibility of using SFTP (part of SSH 2), I'd use that. I use it to connect to work. It has the bonus of being secure. If you're talking about something you're writing yourself: CRC libraries are not hard to find (look for CRC 32). And BTW, usually FTP (even IP, or your physical ISP connection) itself uses CRC or other error detection mechanisms. But you can never be sure enough ;-) Good luck.
Sun 13 Jun | Doug | Many open source projects validate mirrored source archives using MD5 and/or GPG/PGP signatures. Some info from the apache project: http://httpd.apache.org/download.cgi#verify http://httpd.apache.org/dev/verification.html Using GPG/PGP properly can help verify the source of the file and that it wasn't compromised in transit. A CRC by itself could have been recalculated.
Sun 13 Jun | mb | what's the problem you're trying to solve? a crc (or better yet hash (e.g. md5) or signature (e.g. w/gpg) is only good if you know that it also hasn't been altered. is a secure connection (e.g. ftp over VPN, sftp (or whatever the mechanism is someone mentioned above with ssh), https) good enough? if not, why not? do you have additional problems today which aren't being addressed (data isn't being modified but is being copied by an advisary)?
Sun 13 Jun | TJ Haeser | Don't trust TCP's 16 bit checksum (which is all you get when using FTP). Implement something on your own using MD5.
Why leave vowels out of variable names? | Sun 13 Jun | Frustrated
This all began with FORTRAN, which originally allowed (I believe) six character variable names. Wake up. It is no longer 1957. Also annoying is the lack of uniformity. As in, one place printer is changed to printr, someplace else to prnter, and (I actually saw this once) to ptr. The problem is that one tends to remember variables as PrinterControlBlock, and when its time to type the name, you have to fumble around to remember, is it PrntrCtrlBlk or PrintrCtlBlck or maybe PtrControlbk. Just my Sunday morning rant.
Sun 13 Jun | Green Pajamas | With a modern-day IDE, there's no excuse to use smaller cryptic names for variables, functions, classes, etc.
Sun 13 Jun | son of parnas | Thts hrrbl.
Sun 13 Jun | cabby | What the hell are you talking about? Programmers haven't abbreviated words in software for decades.
Sun 13 Jun | Frustrated | >What the hell are you talking about? >Programmers haven't abbreviated words in >software for decades. Sorry to contradict, but at my current job, it is done all over the place. I am frustrated because I see this continuing to happen, even in brand new code. Fortunately, Java books tend to discourage this kind of naming practices.
Sun 13 Jun | Stephen Jones | Actually they're not abbreviating variables; they;re texting their  friends but sometimes the boss comes along and they have to pretend it's part of the code.
Sun 13 Jun | Greg Hurlman | <insert (HungarianNotation == bad) rant here>
Sun 13 Jun | Tom H | To some extent you're right, it's a tradition. But long variable names aren't necessarily all good either; I can't read code where even a simple assignment takes two or three lines and function calls go on for a quarter of the screen. A general rule of thumb I follow: the more frequently a variable is used in a block of code, the shorter the identifier should be.
Sun 13 Jun | John | I agree the pracitce of abbreviation is confusing. However, there are still some identifier length limits such as column names in databases. One solution is to adopt standard abbreviations but such rules are seldom followed 100%
Sun 13 Jun | choox | Well, where I work, it would be "PRTR_CTRL_BLCK" which is even more stupid...
Sun 13 Jun | Fred | 'Cd wrttn wtht vwls s mch trsr : When using abbreviations inside variable or method names, break the boredom with several variants for the same word, and even spell it out longhand once in while. This helps defeat those lazy bums who use text search to understand only some aspect of your program. Consider variant spellings as a variant on the ploy, e.g. mixing International colour, with American color and dude-speak kulerz. If you spell out names in full, there is only one possible way to spell each name. These are too easy for the maintenance programmer to remember. Because there are so many different ways to abbreviate a word, with abbreviations, you can have several different variables that all have the same apparent purpose. As an added bonus, the maintenance programmer might not even notice they are separate variables.' How To Write Unmaintainable Code - Naming http://mindprod.com/unmainnaming.html
Sun 13 Jun | Christo Fogelberg | The font you use can be important re: variable name length too - I like ProFont, since it's perfectly readable at 8 point on my 1024x768 resolution monitor. And at 8 point you see a helluva lot more on a line, and on the screen, than you do at 12 point.
What will they come up with next? | Sun 13 Jun | Mr Evil Empire
Now they have a Ronald Reagan tribute screensaver http://download.com.com/3000-2390-10295451.html?tag=tid_s How fantastic, why inflate a man in his death, when he was terrible in his life?. I know I was taught never to speak ill of the dead, but it doesnt mean I have to lie. It just scares me what they will say about George W. Bush when his time comes. gulp.
Sun 13 Jun | Republicans are damn evil | I think all the Loony Tune characters and disney ones will be at Georges funeral. Hey who knows, if Gorbachav can be at Reagans funeral, Osama might be at Georges one. :)
Sun 13 Jun | Eric Debois | I think it might be that seeing GW, Reagan starts to look pretty good.
Sun 13 Jun | Philo | Just for the record, not *everyone* hated Reagan and his policies. I might also point out that even when he was alive, many people of all political persuasions respected him, even if they didn't agree with his policies. One famous quote was Reagan saying to Tip O'Neill 'It's after six, are we allowed to be friends now?' which they were. In fact, it's been a while since this nation has really seen any political figure that was so widely respected as Reagan was. And I doubt Bush (Sr. or Jr.) will command this kind of response when they pass. Carter might, mostly because of his post-Presidential activities and because he's the only thing close to Reagan the Democrats have. (Clinton might, depending on how he spends the next thirty years) Philo
Sun 13 Jun | Matthew Lock | > Just for the record, not *everyone* hated Reagan and his policies. Yes, somehow he was elected twice. And the first election was a landslide: http://news.bbc.co.uk/onthisday/hi/dates/stories/november/4/newsid_3192000/3192279.stm Must have been pretty well liked at the time.
Sun 13 Jun | hoser | The reason we liked Reagan so much was in part due to the contrast of his predecessors: Nixon and Carter. Nixon left this country in ruins, and Carter did nothing to build it back up. Reagan connected with people, told them they cound do it, and we belived him. Its as simple as that. As for bringing down the evil empire, what we know now is that his administration, along with Carter's Afghan war (which Reagan continued) did precisely that. There is little disputing this now as many leaders inside the former USSR point to Reagan as the architect of the fall of the empire. In contrast to today's ugly foreign policy fiascos, there was no major conflict. 400 million people in Eastern Europe are now free from the Iron Curtain. Finally, there are those who point to failed policies in South America as Reagan's black spot in history - which I'm sure there is some truth to. Unfortunately, they consistently undermine their message by interviewing and quoting the likes of Daniel Ortega and Fidel Castro, who are unbelievable at best. Something tells me this 'convesation' will go just about nowhere, Enjoy your screen saver.
Sun 13 Jun | hoser | Clinton deserves a tremendous amount of respect, which he may never receive. He paid down the $400 billion dollar deficit, which was left over from the S&L scandal. He was huge in opening foreign markets to US goods, through the extraordinary work of Micky Cantor: opening Mexico & Latin America, China, and Japan, among others, to US products. He transformed the Democratic Party into an effective mainstream party rather than the socialist backwater it had become. And yet it will likely be forgotten.
Sun 13 Jun | hoser | Oh hell, one final thought: Being as this is a democracy, and you're free to do nearly any fool thing you please. Perhaps in the interest of intellectual freedom and the need to balance out the 'Reagan Romance', the OP might enjoy writing a Hillary Rodham Clinton text to voice interpreter. Oh my ..., how would you like to go home to that every night?
Sun 13 Jun | Jazzy | Well, Reagan in effect immersed the U.S. with Saddam and trained Osama. I think attributing the fall of the soviet union to Reagan is a bit premature, as it was Brezhnevs stagflation economy that sowed the seeds of its own destruction, Reagan might have speeded up its demise, but certainly cannot be completely credited with the innevitable
Sun 13 Jun | Fred | > There is little disputing this now as many leaders inside the former USSR point to Reagan as the architect of the fall of the empire What's puzzling, is that experts on the Soviet Union (and any diplomat or secret agent living in that part of the world knew that firsthand) that the country was not going anywhere, and was having a harder and harder time maintaining its huge military spendings while not even providing basis necessities to its population. North Korea is dealing with the same issue today. Hence, it can be said that the Reagan administration increased the national debt and deficit needlessly, instead of using that money for useful purposes such as education or providing national health coverage. This is ironic coming from so-called conservatives (conserving what, I do not know) who keep telling us that government spending is a no-no. I guess it's useless when it doesn't serve those financing their campaigns :-)
Sun 13 Jun | hoser | Right. And Kennedy should have stood down while the Soviets put ICBM's in Cuba, since they would have never been used and communism will eventually fall under its own weight. Keep going...
Sun 13 Jun | Sal | Just for the record... even if you wish to attribute the accelerated disintegration of the Soviets to Reagan's military spending spree -- which incidentally also lined a number of silk pockets with a debt we'll pass to our children -- you couldn't possibly make the argument that Reagan was the 'architect' of that scheme, except to perhaps people ignorant of Senator Henry 'Scoop' Jackson's fixation on that very idea. One could easily argue that had Jackson beaten McGovern for the presidential nomination in '72, or Carter in '76, he might have enacted his plan years earlier himself, instead of through Reagan, whom he was very instrumental in putting into the White House. What you also don't hear in all such parroting of the television version of history is why anyone in the US should care that the Soviet system crumbled. Quite a few people actually believe it was somehow important for their personal safety, without actually questioning that sales pitch.
Sun 13 Jun | Jazzy | For the record, the icbms were put in cuba because the U.S. had put jupitar missiles in Turkey, Kruschevs aim was also to protect cuba following the bay of pigs fiasco. 
Sun 13 Jun | Philo | 'Hence, it can be said that the Reagan administration increased the national debt and deficit needlessly, instead of using that money for useful purposes such as education or providing national health coverage. This is ironic coming from so-called conservatives (conserving what, I do not know) who keep telling us that government spending is a no-no. I guess it's useless when it doesn't serve those financing their campaigns' Uh, Fred - with all due respect, you misunderstand conservatism. In general, conservatism is about only getting the government involved where necessary, and then only at the lowest level necessary. So - schools should be run by counties, with state oversight. Medical care should be run by counties, with states socializing the benefits. Welfare should be run by the states. Policing belongs at the local level, with some minor state oversight/coordination, and federal involvement only when necessary (coordinating interstate investigations, international issues, etc) Now the military has to be run by the federal government for two reasons: 1) it's a national/international issue. 2) the Constitution says so. So - military spending will always be at the federal level, even for conservatives. (Well, those are my politics, anyway) Philo
Sun 13 Jun | Philo | Oops - when I said 'Medical care' I meant medical welfare, not the care itself. Philo
Sun 13 Jun | anony coward | 'Clinton deserves a tremendous amount of respect, which he may never receive' He may never receive it because he didn't really do anything to deserve it. He inherited a booming economy from the Reagan years and rode it. He ignored foreign policy while major problems developed. He'll probably be remembered best for putting his cigar into an intern young enough to be his daughter.
Sun 13 Jun | Tom H | 'What's puzzling, is that experts on the Soviet Union (and any diplomat or secret agent living in that part of the world knew that firsthand) that the country was not going anywhere, and was having a harder and harder time maintaining its huge military spendings ... Hence, it can be said that the Reagan administration increased the national debt and deficit needlessly' Fred - Read what you just wrote. Forcing the Soviet Union to spend more than they could afford was the whole point. We bankrupted them. It was a brilliant strategy and it worked perfectly.
Sun 13 Jun | . | America the Good. Slayer of Evil. Maker of Life. Congratulations. Thank you. God bless you. Enough? Nazi, Hitler, Semitism, Anti-Semitism, Outsourcing American Jobs, Salad Cream.
Sun 13 Jun | Devil's Advocate | Anony Coward - You do realize, of course, that when Clinton defeated GHWB in '92, the economy was in a recession? Hence the campaign slogan, 'It's the economy, stupid.'
Sun 13 Jun | Data Miner | >Clinton ... paid down the $400 billion dollar deficit, which was left over from the S&L scandal.< Actually, no, he didn't - we taxpayers did, and we were able to to do so in large part because of massive cuts in military spending.
Sun 13 Jun | anony coward | 'You do realize, of course, that when Clinton defeated GHWB in '92, the economy was in a recession...' Actually it wasn't in a recession, by the end of 1992 the economy was growing and unemployment was dropping. The 'stupid' comment was just fud from James Carvill.
Sun 13 Jun | hoser | Jupiter missles in Turkey were merely an attempt at Soviets grasping at fig leaves during negotiations. Why Kennedy did not grant them their fig leaf, I'll never understand, but he didn't. In the end it didn't matter, and Kennedy's handling of the missile crisis is considered masterful. I certainly won't argue against his handling of the situation because you cannot argue with results. So it is with Reagan. I think the genius of the man's vision and foreign policy has finally become clear. If the fall of the USSR were an accident, then the accident could have happened in the 40 years prior to Reagan. Same with Castro, same with 'Great Leader' and his pathetic offspring 'Dear Leader'. The fall of the USSR was no more a given than the mere fact that the US entered WWII meant that the Axis would be defeated. Neither were a given nor were they accidents of history. Just because his administration made foreign policy look easy, doesn't mean that it was. And so it is with Clinton. You cannot say that Clinton did nothing. Tending the garden of economic prosperity is plenty. If Clinton failed at anything, it is that he had the potential for becoming a unifying force but often was divisive - and mostly over nothing than his own pride. He did not entangle the US unnecessarily, he built alliances and isolated our enemies. Interest rates and inflation were at historic lows that may never be repeated. The budget debt was eliminated by the end of his 2nd term. Generations will look back at the 90's with envy.
Sun 13 Jun | Cognitive Dissonance | Regarding Reagan and Clinton: The guy I liked could do no wrong. The guy I didn't like was hopeless. It would appear that most Americans agree with me.
Sun 13 Jun | kc | Actually, the 'deficit' was only covered if you count the Social Security revenues in the general fund. Sure, this works in the 90's, but you're just short-changing future retirees. There never was any 'balanced budget'. The deficit never disappeared. It was moved from the 'general fund' to the Social Security accounts*. * Sorry, by 'accounts', I mean the lump sum of cash that we're paying into that we'll never see even though it's called 'our' accounts. Arg.
Sun 13 Jun | ants are commies, kill all the ants | Yet another internet discussion that demonstrates how unbelievably fucked up Americans are.  Please just build a wall around your fucking country and isolate the rest of us from the bizarre orwellien fantasy world you inhabit.
Sun 13 Jun | hoser | Yeah, yeah, of course we've heard it before: Yankee go home, umm but leave your money. We like your money. Americans are pigs. Too bad we own everything. KC: Although you are correct, it doesn't matter what you include under the Bush Jr/Sr administrations, the budget wasn't even close - isn't even close. Isn't even an issue with Bush Jr., and this time he cannot blame congress.
Sun 13 Jun | Matthew Lock | The View from the Gulag: 'There was a long list of all the Western leaders who had lined up to condemn the evil Reagan for daring to call the great Soviet Union an evil empire right next to the front-page story about this dangerous, terrible man who wanted to take the world back to the dark days of the Cold War. This was the moment. It was the brightest, most glorious day. Finally a spade had been called a spade. Finally, Orwell's Newspeak was dead. President Reagan had from that moment made it impossible for anyone in the West to continue closing their eyes to the real nature of the Soviet Union.' http://www.weeklystandard.com/Content/Public/Articles/000/000/004/224ncdel.asp
Sun 13 Jun | ac | 'Yet another internet discussion that demonstrates how unbelievably fucked up Americans are. Please just build a wall around your fucking country and isolate the rest of us from the bizarre orwellien fantasy world you inhabit.' Wow, how insightful. Maybe we should do just that. Just make sure not to come ask for help when you manage to get into another World War.
Reality check on programming 'test' | Sat 12 Jun | Business type wanting to debate
A friend emailed me a solicitation that he found on a work-from-home board for a remote software contractor. His opinion was that the guy was a jerk/control freak. However, the technical requirements had me written all over them. So I emailed the guy and got an auto response. The test follows at the bottom. It is basically a request to implement a small internet aware app in Delphi and to implement a PHP script on the server to provide the web service. I feel this task is brain dead simple. It is a legitimate request for a mix of certain skills. It is probably 2-4 hours of work at very most. And it doesnt feel useful enough to be worth conning people into writing free code. I am considering doing it. Ive wasted entire days interviewing with stupid asses and getting no where. In terms of obtrusiveness, this isnt really bad. Is this a legitimate recruitment tactic? Is this something that other SW companies should consider doing? Or do you see it as demeaning, insulting, etc? ---- You must write a simple server/client application in Delphi/PHP. Delphi will communicate with PHP using the WinInet library, by making HTTP requests. The delphi-side code will consist of a component which keeps synchronized time with the remote server running PHP, without changing the local time of the machine it is running on. It only needs to support one property (other than the ones that make it work), TMyComponent.ServerTime, which returns the number of seconds since the Unix epoch, equivalent to the time on the remote server. Time should be accurate 100% of the time, give or take a few seconds max, to allow for network latency. Some challenges to keep in mind that come with this assignment: 1. As stated above, the Delphi program cannot change the local clock, so it must keep track of time another way. 2. If you rely on the local clock to do your calculations, keep in mind that the user could change the local clock at any time - this cannot lead to the wrong answer eturned by ServerTime 3. Threads should be involved in some way 4. The code must be written purely by yourself - using no third party components. 5. The code must be commented, documented, and of course, bug free. ---
Sat 12 Jun | son of parnas | It's a market. If you want the job you will do the test. I know that's sounds simplistic, but from the other person's perspective he probably has been ripped off so wants very tangible evidence of skills. As it is unlikely this problem is a commerical project he is not trying to get something for free. Of course, you may want to test back to see if he will pay and how he responds to questions etc. Though, if i had other options, i wouldn't do it.
Sat 12 Jun | no name | >3. Threads should be involved in some way WTF? Anyway, you're right about it being brain-dead simple. If that's representative of the kind of work you'd do for that company, I'd skip it and let some students take the job.
Sat 12 Jun | Critic | Without commenting on that delivery scheme, or the particular test, I'll tell you that when evaluating a programmer there is simply no substitute for looking at his or her code. None. And it must be looked at by at least one very, very, very good programmer, which itself causes a nearly intractable problem for 95% of the shops out there, who don't already have one. An article I stumbled onto this week proposes and interesting idea about that last problem of having nobody qualified to qualify the hire. http://www.sdtimes.com/cols/javawatch.htm That testing and thorough evaluation of talent is not the common practice in the IT industry, and to some extend the software industry, is alone sufficient to explain nearly every problem in the world of software. (Although sufficient, there is an abundance of problems lined up behind that one.) It's remarkably easy for a talentless amateur to pull on a suit and convince gullible know-nothings that he's a programmer by virtue of having done the same for 10 or 20 years running. Without having a top programmer look at the candidate's code (and, of course, talk to the candidate for at least a few hours too!) the best any hiring company can hope for is a 1 in 10,000 chance of ending up with a top performer rather than the typical 2nd or 3rd rate time-gobbler.
Sat 12 Jun | Critic | Oh, and if you're hiring process is not rigorous, the best programmers can smell the mediocrity, and usually won't take your offer anyway, unless the market is such a shambles they just want a place to camp for a few months.  So your already miniscule odds of getting better than a seat-warmer drop even lower.
Sat 12 Jun | Phillip J. Eby | The funny thing about that test, is that, given those set of requirements, my first questions would be: * How often is the property going to be checked? * How quickly does the property need to return a result? * How often may I query the server? Because depending on the answers, I might just have any querying of the property simply go ahead and ping the server at that point. Thus, the property will be correct '100%' of the time that it is checked, plus/minus the latency. No threading required, and the 'simplest thing that could possibly work'. :) Actually, for that matter, there's no reason to use threading anyway, even if you only ping the server periodically. I would simply use the Windows API 'QueryPerformanceCounter()' and 'QueryPerformanceFrequency()' functions to compute the current value of the property, and use standard Windows timer callbacks to fire the HTTP request. So, I'd also bring that up with the person as well. That is, why did you specify threads when it's not necessary? Oh wait, I suppose this WinInet library must be synchronous, and not allow you to say, receive an event, message, or callback with the result of your HTTP request. In that case, you'd need a worker thread to make the requests and tweak your time offset. Ah well. Probably best not to expand the specs to adding async HTTP routines, if the requirements are okay with using threads. :) I just hate to use threads unnecessarily, as they're usually more trouble than they're worth.
Sat 12 Jun | Business type wanting to debate | The reply that best matches my feeling on this is: >> It's a market. If you want the job you will do the test. I know that's sounds simplistic, but from the other person's perspective he probably has been ripped off so wants very tangible evidence of skills. As it is unlikely this problem is a commerical project he is not trying to get something for free. I mentally put myself in the hirer's shoes and I agree with this. The test does several things. The candidate has to be motivated to do the task. The candidate has to write new code that will be examined by peers. The program has to do something quite specific. It's pretty definitive. A lot of wanna bes can handwave while having absolutely no ability to produce to a result. I actually think it's not the worst way that the hiring party could go. Maybe not the best, but not bad. The other comment on this thread that 'using threads in some way' elicits a 'WTF?' - my guess is that the hirer wants to test the candidate's ability to use a conceptual feature in some way. IE: in this application, a thread could implement a background polling loop that periodically obtains the server time. Of course, to get back to the problems of wanna bes, a wanna be/poseur could SAY in a confident sounding way 'write a background thread that polls the server' while not having a whit of an idea how to: create a thread; make a thread execute; use wininet to poll something remote; communicate the result to a foreground thread. On one hand the premise that 'everyone who applies to my job is probably a G** D*** liar' tends to guide this type of exercize, there are a LOT of poseurs in our field who have tech writer type skills to talk intelligibly while not being able to carry even a simple task off, or turning it into a boondoggle. Also, as mentioned in the past here, the programming field has the phenomenon of 'feasting'. IE, people who are well employed - not really needing or wanting to make a change - spamming out resumes just as a competitive thing. A lot of programmers are frivolous time wasters. >> Though, if i had other options, i wouldn't do it. Agreed. That's another litmus test. If the candidate can't spare the time, then either they don't have the time to spend on a contract job, or they don't have an attitude that the hirer deems acceptable.
Sat 12 Jun | Business type wanting to debate | Phillip Eby, I agree with all that you say. My guess is that the hirer just wants to see what the person does with the requirements as is. Maybe the omission of several important parameters is a test of the candidates' ability to improvise with a reasonable solution. Yeah, threads are overkill here. As I stated, the hirer probably wants to see if the candidate knows what a thread *is*. Even if the requirement driving it is artificial.
Sat 12 Jun | T. Norman | Does passing this test guarantee an interview?  If not, it will only attract unemployed and desperate people.  Good programmers who are already employed aren't going to want to waste their time if there is no assurance that there is a decent chance of benefitting from it.
Sat 12 Jun | anon | >> >>>>>>>>>> 'Does passing this test guarantee an interview? If not, it will only attract unemployed and desperate people. Good programmers who are already employed aren't going to want to waste their time if there is no assurance that there is a decent chance of benefitting from it.' >>>>>>>>>>>> I certainly hope you're not saying or even implying that unemployed programmers are bad or that only 'good' programmers are currently employed. This is totally false and I am extremely offended that someone would even make a statement that implies such a thing.
Sat 12 Jun | T. Norman | There are good and bad employed programmers, and there are good and bad unemployed programmers. But the good ones, employed or not, will be less inclined to jump through hoops before getting an interview. So a test like this that has a high probability of being a waste of time will produce an applicant pool that is disproportionately full of candidates who have no other options.
Sat 12 Jun | Rhys Keepence | Plenty of software companies have full-day interviews. I fail to see how this is different.
Sat 12 Jun | Inside Job | It's different in that the software company has invested a day of their staff's time to the process of matching applicants with jobs. They are investing as much in the process as the candidate. In the case of a pissy little paper test, some fly-by-night merchant is requiring the candidate to expend much greater effort on the process than the alleged employer is. Also, in this case, it looks suspiciosly like the product of the so-called test will have some value to the alleged employer. This is fraud. In general terms, has programming really sunk so low that idiots would fall for this crap? What would an accountant say if you asked him to audit your books for free, as a test?
Sat 12 Jun | T. Norman | A full day interview is an actual interview. When you get to that stage, you know your resume hasn't been shredded, and there aren't 100+ other people still in the running for the position. That's why I asked about whether passing this test would guarantee an interview (given that your resume meets the stated job requirements, of course). It would be acceptable if they only gave the test to people who they already decided to interview, or if the test is good enough as a screening tool that they could and would interview everybody who passed the test. But to spend hours when you don't even know if the position is not fake and you don't know if HR has or will trash your resume, is a lot of effort for little chance of reward, and good candidates with other options will be deterred from it.
Sun 13 Jun | indeed | It's also different in that a full-day interview (hopefully) will test more substantive aspects of a developer's ability. Namely, the ability to function in a team and develop software in a business environment. Honestly, there are two extremes of 'undesirables' when it comes to applicants. On the one hand, there are the aforementioned 'poseurs' who don't know jack, but who can talk their way into anything. But on the other are the 'techno-weenies'; the prima-donnas who thrive on individual assignments, but who can't function in a team/business environment. So any substantive (measured in hours) time spent in a job applications process should try to find people who are on neither extreme. That's why real, full-day interviews involve having people meet members of the development team and management, in addition to showcasing ('proving') technical ability. Pre-screening is just that: screening. You really have to put effort ($$$) into finding good applicants; to me, this test is just the employer naively hoping that if he increases the time burden of the pre-screening, then magically great applicants will come forth. Unfortunately the 'soft skills' of good candidates are disproprotionately more important than the mere ability to write a 'dead simple' application.
Sun 13 Jun | the artist formerly known as prince | Alright, I don't know delphi, but suppose of a poseur, what would prevent me from simply looking for the code on the net, sewing a few pieces together and wa-lah!!!
Sun 13 Jun | kc | You know, here's an interesting idea... if I was trying to get a project done for cheap (FREE), I'd split it into little pieces like this (maybe use case-based?) and farm it out to 'applicants'. Interesting...
Sun 13 Jun | Matthew Lock | Communist China tried that with the Backyard Steel campaign. The idea was to get everyone in China producing a small amount of steel, and presto China is able to produce a large amount of steel. The problem came when varying quality of the steel made it impossible to use together. No doubt you'll have the same problem when trying to put all the different modules together.
Gmail technical implimentation | Sat 12 Jun | anon
I have been using Gmail for a while now and I think the UI is great! Its much more than just a web mail. Do any of you know what is the language used to develop it? Python? Perl? .NET? Java? How do they acheive all those cool effects? like keyboard shortcuts etc.?
Sat 12 Jun | Somorone | Using a specific lang is not a garantee for success.
Sat 12 Jun | GuyIncognito | I think it's a legitimate question.  Of course I'm not one of the uber-elite who has been choosen to use gMail, so I don't know what he's talking about.
Sat 12 Jun | anon | OK, forget the language. I am curious about how those features are implimented. Is it using JavaScript or DHTML? Are those specific to any language or can I implement those using any language used for web applications?
Sat 12 Jun | Somorone | I'll bet that you can reimplement gmail in any lang. Its just coming with the ideas your self that is the hard part.
Sat 12 Jun | Somorone | You should look at the page sourcecode and see whats included. I think they are using javascript (to be cross browser/platform) to get messages like when a user clicked here or there. Look at this page for keyboard shortcuts in javascript:http://www.netmag.co.uk/tutorials/default.asp?pagetypeid=2&articleid=9683&subsectionid=499&subsubsectionid=180 Please not that I'm not using gmail or ever seen more then some pics of it. However I do have the possibility to use it but I'm not interested.
Sat 12 Jun | Ken McKinney | I belive that google is a python shop.  Implementing a decent UI in a browser is tough so I'd be interested in hearing more.  They could sent me an invitation any time, Id be glad to try it out ;-)
Sat 12 Jun | www.marktaw.com | 'Is it using JavaScript or DHTML?' That part is rendered by your browser and the source code should be available for you to look at by a simple: View > Source. ALT + V, C in IE.
Sat 12 Jun | anon | View Source doesn't reveal much. I already tried that. Thanks for the responses so far.
Sat 12 Jun | Matthew Lock | Use a http sniffer like Mozilla's Live Http Headers, http://livehttpheaders.mozdev.org/ or the Charles Web Debugger http://www.xk72.com/charles/, then you can actually see what happens over http when you perform an action. Also this goes into how Gmail works a bit: http://diveintomark.org/archives/2004/04/10/gmail-accessibility
Sun 13 Jun | anon | Mathew, Thanks. That's really interesting.
"X years of experience in Y" | Sat 12 Jun | T. Norman
Job postings are full of requirements like this. But what in the world is a year of experience? Somebody might have been using a language for 10 years, but that language only constitutes 20% of what they do, while another person has spent 100% of 3 years in the same language. Who has more years of experience? Wouldnt it make much more sense to state something like advanced profiency in Y, which although still subjective it has less problems than years of experience? State the levels of profiency expected, and test/interview according to that profiency. When contacting a candidate, explain your definition of advanced profiency so they may choose to eliminate themselves rather than wasting their time to go to your office for a full-fledged interview. Years of experience suffers from the dual problems of people spending a different percentage of their years in the language and people learning at different rates.
Sat 12 Jun | RP | First you need to have actual experience on the language in order to impress the HR person and go to an interview. Then, you need to build a raport with them to get the job. Now, for the technical details, sometimes you'll get them only if you did work with the language in real life, but other times, a good reading is enough.
Sat 12 Jun | Sathyaish Chakravarthy | You've raised a good point. I too am weary of being asked, 'Write a matrix of all your skills with an individual value of the number of years of experience in each of them'. 'Ok, VB, how much?' Me: XX year, XX months. 'Next, SQL Server?' 'What about XML, you left that out?' 'And .NET, have you got any experience in .NET?' unfortunately, most of the people who ask these sort of questions are the HR types or senior manager types who have almost no knowledge of programming. They are not required to, but they must at least be a bit more sensible in judging candidates.
Sat 12 Jun | Aaron F Stanton | It's tempting to just say 'Well, the first time I read a book about technology X was Y years ago, so I have Y years of experience in it.' Tempting, but not a good idea.
Sat 12 Jun | Sathyaish Chakravarthy | That reminds me of job adverts I've seen asking for 10 years experience in Java (even two years ago) given the fact that Java was officially released on the 23rd of May 1995. And I still see ads asking for 6 years exp in .NET, whatever that means. And candidates with '6 yrs .NET experience' apply and get jobs. :-)
Sat 12 Jun | Ignore my ignorance | I was once asked if I had any zero-zero knowledge.
Sat 12 Jun | Berlin Brown | So what do you put, if they are asking for 6 years of .NET? lie? Sathyaish Chakravarthy I have seen resumes that had been using linux since 1990/1991(it was released in early forms = 1991) When I called them out on it, they would say, 'Oh I have been a unix user for twelve years, and linux is like unix so what is why I put that' ... punk
Sat 12 Jun | Somorone | I would say if you are good at C programming then basically any populair language will be possible. Not a programmer but many modern languages look like some sort of dialect of C. Also if you are really good with one brand of a RDMS then other wouldn't be to hard.
Sat 12 Jun | Sathyaish Chakravarthy | >So what do you put, if they are asking for 6 years of .NET? lie? Well, I just ignore them. Even if I were looking for an employment opportunity, I wouldn't join those kinds. As for now, I am single-mindedly looking for JUST one employer.
Sat 12 Jun | www.marktaw.com | Personally, I wouldn't hire anyone with less than 15 years of .NET and at a minimum a century of C++. On your Resume` you should lie about as much as you think marketing folks lie in TV & Magazine ads. What you want is to get the job, end of story. Your resume` should say something like: 'Before I was hired at ____ my boss never got laid. Within days of hiring me, his success with women improved 1000 times, he was now getting laid by a different woman every night.' With about all the subtlety of that Armani Exchange ad I saw on the side of a Phone Booth yesterday. It seemd to say 'If you wear our clothes, you'll take them off at the next possible opportunity.' If you can throw in some subliminal messages as well, even better. I'm being absolutely serious here. Toned down a little it could more realistically read: Before I joined XYZ company, they were a mess. I organized everything, and even hand-built an extention to the offices to accomodate all the extra servers we needed because our website was getting so many hits. I quit because they weren't paying me enough, and my replacement ran the place in to the ground. I think the president of the company cleaned my windshield last night. I gave him $5 because I felt bad. If you can get the job done, if you're more competent than the guy who claims to have 25 years experience in Java because he spent a summer in South America and met Juan Valdez, is it really being unethical?
Sat 12 Jun | no name | Hopefully you're joking Mark.
Sun 13 Jun | W Michael Ealem | > lie > anything to get the job So the end justifies the means - seems we're hearing an awful lot of that nowadays, on both the small and large scales. No thank you, I have to look at myself in the mirror in the mornings and it's getting harder with each passing year.
Sun 13 Jun | Katie Lucas | I'm starting to gain a certain amount of justification for some of the lying on the basis that lying to muppets somehow shouldn't count. I still can't quite bring myself to outright lie on my CV though. What I really want is the ability to submit an accurate CV to the technical people after HR have approved the HR-compatible one... Frankly the recruitment issue is the sheer number of people in HR who not only aren't technical, but aren't actually any good at HR either. It's just that that's such a woolley skill they never get fired for being shite. I was once sat in the second interview for a role. I'll mention the company, because they're so inept fellow developers deserve to be warned: It's 'Next'. That's Next, based in Leicester. I'd done an 'aptitude test' to see if I would be better off in a C++ development role or a till-operator in one of the shops. Fortunately for the computer science degree review committee at Warwick and a decade's worth of employers in the IT field, Next's aptitude testers agreed with them. So I arrived to talk to technical people at last after considerable wanking about. Later on in the interview, after we'd established some basics, they asked me what I thought of their HR's new recruitment process. I replied that since I was there to be interviewed for a UNIX C++ role and they were there to interview for a VB/PeopleSoft role that the process had some work to be done on it and that their HR team was a bunch of idiots. The technical staff found it hard to disagree. A proper HR person would consider it their job to learn enough to be able to do the technical recruiting, in the same way that a decent developer learns about the business they're developing software for. Proper HR people are like rocking-horse poo...
Sun 13 Jun | Egor | A company my father worked at wanted to H-1B a former team member from Eastern Europe, but was obliged to prove they can't hire a local with the needed skillset first. So they posted a newspaper ad that demanded experience with their homegrown technology XYZ. The result? Hordes of Americans claiming "limited experience" with XYZ. BTW, that was in Silicon Valley circa 1992 when there hardly was any job shortage.
Sun 13 Jun | T. Norman | There was a job shortage back then.  The economy was just emerging from the recession of 90/91.  It wasn't until about 94 that things started to pick up again.
has anyone out there written.... | Sat 12 Jun | Regular Poster
a usb driver for a hardware controller with numerous controls (around 25) to work with mac os x? I need to put a price on the creation of such a beast, unfortunately my experience with writing drivers of any kind is non-existent. also if anyone out there has any experience at all in writing drivers for any OS, any pointers, advice or anecdotes would be very much appreciated :)
Sat 12 Jun | Doug | Has this device been designed yet? If not and if it's possible to shoehorn what it should do into the USB HID class then you probably don't need a custom driver. The HID class is versatile so lots of stuff can use it. There are also other standard classes like audio and mass storage. See www.usb.org for more. I've never written drivers myself but have done a decent amount of reading on the subject. You'll probably need to know C and be familar with concepts related to interrupts, reentrancy and threading among numerous others. The learning curve is generally regarded as steep. The price of failure is an unstable system.
Sat 12 Jun | Brad Wilson | If you've never written drivers before, I wouldn't be bidding to do it. Honestly, bad drivers are just an awful thing for user experience, much worse than merely buggy software.
Sun 13 Jun | Hardware Guy | Use the FTDI USB chips (www.ftdichip.com) as the basis for the hardware interface. The chips are cost-effective, staggeringly easy to use, and the free drivers just work. Any other way of doing USB is for masochists or somebody with really way-out needs. And since ftdi have written the drivers already for most platforms, it's easy to go porting... But they're no good if you need high-speed USB 2 If you can't change the hardware, then writing drivers is _hard_work_ if you haven't done it. Price it at 2-3 months work and expect to take twice that.
Sun 13 Jun | irregular poster | Please, don't do a commercial end-user driver as your first-ever learning project!!! Thank you. I absolutely HATE buggy drivers. I've had enough blue screens for my entire life already. But as a regular JOS reader, you would probably test it well enough, so maybe there's no problem after all...
POLL : Do you enjoy being a programmer ? | Sat 12 Jun | Mattie
Do you enjoy being a programmer or are you planning a career change ? I just came across a Financial Auditor who told me how boring is his job, and its not very creative ...
Sat 12 Jun | . | Yes.
Sat 12 Jun | matt | Depends what I'm programming, innit.
Sat 12 Jun | Matthew Lock | Seems to me the financial auditor is the one with the uncreative dull job.
Sat 12 Jun | Sathyaish Chakravarthy | I love programming, but at a good place.
Sat 12 Jun | Bill Rushmore | Programming used to be a hobby.  Now someone pays me to do my hobby!  How great is that?!
Sat 12 Jun | Aaron F Stanton | I love being able to find a use for my brain.  To take a lot of the things that I've read and find application for them is cool.  Dissecting a new language I've never looked at before and finding bugs in someone else's code right away is a rush.
Sat 12 Jun | Craig | All depends where you work. I have had jobs where I could hardly face up to work each day and not be bored, but where I currently am it is great!
Sat 12 Jun | GuyIncognito | If I won the lottery, I'd still be doing my job... just not putting in as many hours. My newly found time would go towards getting laid... although, I think the money would also help there. ;)
Sat 12 Jun | Anonx | programming: yes Work enviroment/career outlook: no
Sat 12 Jun | no name | Yes, fundamentally it's a very enjoyable activity.  It can really suck though if you're around people who don't enjoy it or don't appreciate it.
Sat 12 Jun | Mike Swieton | Yes, but much much more so when I'm doing something new as opposed to yet another PHP page, yet another Java Swing form with button X here..., yet another CRUD database app. Right now I'm doing some fun stuff, so yes ;)
Sat 12 Jun | jackie | Yes, during the design and development phase its great.
Sat 12 Jun | Alex | It's wonderful. You create worlds sitting on your ass. On the other hand. Passion does not always lead to prosperity. I see destitute musicians playing on the street and I wonder: why are they *doing this*? Ah, they love it...
Sat 12 Jun | Thom Lawrence | I like programming. I wish I got to do more of it in my job (as a programmer). :)
Sat 12 Jun | Karl Perry | Not really, no. I enjoy the creative aspect of working with others to design software solutions and get a charge of interface design (I think I'm pretty good at it), but the tedium and finickiness (word?) of coding bores me to tears. I'm much more interested in working at a higher level, helping people to solve business problems. At my soon-to-be-former job, I was IS Manager for 10 months and loved it even though it was the most stressful 10 months of my life. I was also the only 'real' software developer at the company (it's a laboratory with a small IS department). They recently moved me back to being a developer, and now I'm leaving. My next job will be in software sales.
Sat 12 Jun | Brad | I enjoy being a "developer".  The creation part appeals to me; the grunt programmer part I tolerate.
Sat 12 Jun | Ethan Herdrick | Love it.
Sat 12 Jun | www.marktaw.com | No. That's why I don't do it. :-)
Sat 12 Jun | no name | If programming feels like 'grunt work', you're doing it badly.  Done right, programming is an integral part of a process you go through when you refine an idea.  If the programming itself is tedious, either you're not tooled up enough, or your idea is tedious.  Does it suck to have to make your ideas logically consistent?  That's essentially the only constraint that 'programming' imposes on them.
Sat 12 Jun | no name | Programming is fantastic, but working as a programmer in many workplaces is not a nice job, these days.
Sun 13 Jun | W Michael Ealem | Yes, but with a caveat. I enjoy solving problems, and crafting solutions, but I'm one of those annoying types who gets into the "programming as art" mindset, to the detriment of my career. It's like  guitarist Robert Fripp of King Crimson says of the music business: "The operative word is 'business.'" I am lousy at the business end of it, and would much rather do it just for fun.
Sun 13 Jun | Hmm | 'Do you enjoy being a programmer' I like it in the respect that I am able to concieve ideas and put them into practice. I dislike it in that the real 'big picture' comes from somewhere else, namely the business. In my job I do 'own' the design, code, interface, some of the process, and even portions of the graphic design of the product. But ultimately, it's the product of someone else's vision. Ultimately I think it's more rewarding to be able to have vision, and delegate some of the execution, than to exclusively solve 'low level' (relatively speaking) problems. So I can't really give a simple yes or no answer. Yes, I like it, but no, I want to do more. And once today's business climate is factored in, I don't even consider programming a good long-term profession (ie, within a few years from now, I want to move on).
Sun 13 Jun | no name | In general, I still enjoy developing and maintaining software applications, however, I don't like my career prospects very much. You reach a certain age making a decent income and all of sudden the job opportunities are no longer there for you. What can you do to support yourself if you don't have any other marketable skills? An unemployed programmer that I know mentioned that his programming knowledge doesn't really qualify him for any other job that pays a similar wage and that he feels like a convict who has been in prison for the last 12 years.
Sun 13 Jun | Matthew Lock | Write your own software and start selling in on the Internet?
Sun 13 Jun | T. Norman | I enjoy everything from high-level design and architecture to nuts and bolts coding. It's only the career prospects that bother me. As I approach my mid-30s I realize that I have reached the stage where if I get laid off I may never find another job in the field ever again. So even though I make good $bread right now, I restrict my lifestyle at a level that can be maintained on half my salary. I do have some ideas for creating my own product. But that is still in the very early stages. Hopefully I can get things rolling with it before I get laid off.
Sun 13 Jun | Brad Wilson | The rote coding isn't all that exciting any more. It was when I was young, but now the important part of what I do is looking for unique and efficient ways to solve problems. Some of those problems are well known, well understood problems, and some are new problems that I've never encountered before. If I was just coding instead of solving problems, I'd hate it now.
Sun 13 Jun | Duq | I do enjoy programming, but I'm still planning a career change... Managers in IT are probably the worst you'll find anywhere. My last one got me a stomach ulcer.... I also miss interacting with human beings (fellow coding zombies at the coffee machine don't count). As someone said earlier: you create worlds just sitting on your arse. Then after you've created it some maintenance code-monkey destroys what you've created and the year after your code is replaced by a new version alltogether. Programming has been a hobby since I was 15. Years later I was stupid enough to turn it into a day job. It's going back to the place where it belongs in my life: a hobby. To make money I'm going back into land-surveying.
Sun 13 Jun | TheGeezer | It depends, but for the most part - yes. Like most people I hate wading through thousands of lines of unmaintainable cruft written by people without any clue (i.e. code jocks who don't test and don't comment what they write). Initially, when I started work in this industry 8 years ago, it had plenty of promise. I worked on some great projects with brilliant people and used that as leverage to head to the UK and work as a contractor. The few years I contracted there were probably a highlight of my career so far. Times have changed though. Of late it seems as though IT has taken a turn for the worse in some respects. I think the problem has alot to do with the global economic slow-down, lack of job security, general skepticism of the success of IT projects (true to a certain extent), lack of a clearly define career-path (ask yourself, do you *really* want to get stomach ulcers from being a project manager?) and the threat of cheap outsourcing. Does anyone think that this industry is losing some of it's aura and respect? Ok, that might sound elitist but things always seem to be getting dumbed down just so the lowest common denominator can call themselves an 'architect' after having completed a correspondance course in VB and creating a few lame web sites. Maybe that's the way things are going. Eventually, everything will probably be done in rooms full of 300 monkeys in some low-wage country. I guess you just have to have a 'Plan B' incase things turn to custard. Somehow, working in viticulture seems very appealing. ;-)
Sun 13 Jun | MRC | I like it very much when it is challenging, bringing an idea into an end product. but sometimes, it gets dull and boring too depending on nature of work.
Sun 13 Jun | Ricky Nenuwu | No. I enjoy doing business analysis until the spec part. And then throw it down to outsourced developer. Afterward managing the deliverables and implementing the solution.
Where can I find just data models | Fri 11 Jun | seekingDataModels
You can always find plenty of source code. Books come with CDs (or only a picture of one if you are a Greenspun) with source code. I once bought a book on data modelling. I could get the data models in the book on CD if I paid something like US$400.00 or more. Every now and then I look but I never see examples of data models. Have I missed the websites with the models and explanations of why and how and the variations etc.? i.e., here is how we model our user ... note we have no field for middle name, who needs stinkin middle names ... or ... yes, we limit first names to 10 characters, we want to irritate people who have first names exceeding 10 characters ... As an aside, not related necesarily to the data model, someone recently told me a customer was pissed because someone had put Von as his middle name because the form validation would not allow for a space in a last name ... too funny. I really see, imho, a lot of bad forms which indicate to me that people arent giving enough thought to the data models. Is there some odd reason such sites dont exist?
Fri 11 Jun | Herbert Sitz | Here's a source I found out about when, I think, Albert Kallal posted it on JoS in reponse to a similar question last year: 'Library of Free Data Models': http://www.databaseanswers.com/data_models/index.htm
Sat 12 Jun | matt | Great site . . . interesting to note in his models you can see him 'evolve' . . . for example, from storing Address as attributes on addressable entities (People, Places, etc.) to storing address as its own entity and relating accordingly. This is just a lil' 'quirk' I notice when evaluating someone who claims themselves to be a data modeler . . . Another quick is storing a 'Balance' field in any entity . . . computed fields will ALWAYS be your bane if you fall into that trap!
Sat 12 Jun | JWA | Handy info - thanks. --Josh
Sat 12 Jun | Data Miner | http://www.universaldatamodels.com/ Is this the site that wanted you to pay $400 or whatever? What a nerve! Asking to be paid for giving away years of hard-won experience! What next, software you actually have to pay for?
Sat 12 Jun | GuyIncognito | I think he might have been talking about this companion CD: http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471388289.html to these books: The Data Model Resource Book: A Library of Universal Data Models for All Enterprises, Revised Edition, Volume 1 Len Silverston http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471380237.html The Data Model Resource Book: A Library of Universal Data Models by Industry Types, Revised Edition, Volume 2 Len Silverston http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471353485.html
Sat 12 Jun | anony coward | Data structures for $400! Heck, I'll sell you a linked list for $200, and throw in a stack to go with it.
Sun 13 Jun | GuyIncognito | Throw in a queue and you've got a deal...
Sun 13 Jun | anony coward | Can it be a LIFO queue?  ;^)
Sun 13 Jun | T. Norman | Where can I just find models to date?
Where are all the new jobs? | Fri 11 Jun | anon
I keep hearing about all the new jobs being created and that these jobs are good paying jobs. Can someone tell me where these jobs are being created? What sectors are the jobs in? Where should I look for these jobs? I really need a job and besides breaking down and accepting a job at McDonalds I am at a loss as to where the new jobs are? This is a serious inquiry I really do need help and dont know where to turn. I have been trying and trying to get a position after graduation in the software field, but it really does seem to me that this field is flooded with people. Am I correct in this assumption? Perhaps some of you can give me some guidance.
Fri 11 Jun | anon | I guess it is just hard to give up on my dream of becoming a software engineer but I really need to take a job somewhere doing something so any help would be appreciated.
Fri 11 Jun | Mr. Fancypants | There aren't any new jobs.  It is all a conspiracy.  The "liberal" media is lying to you about new jobs because it wants Bush to win the election in November.
Fri 11 Jun | anon | Thanks but no thanks Mr. Fancypants. I need to be serious here. (Even though you may be serious.) I don't want to go back to mindless factory/assembly line work, I don't want to go back to grunt work on a farm, I don't want to sign up for the military again. I have done all of these things already. I have done them to work myself up to getting a degree and then all of a sudden there are no jobs? That doesn't make sense. There has to be something. I am not saying education guarantees a job, but let's be real here there must be something I can do that's not mindless and boring. I'm not afraid of physical labor but my hopes and dreams have been demolished and I prefer not to slave away for little to show for my efforts. I am seriously distgusted.
Fri 11 Jun | eclectic_echidna | Uhh, in Phoenix, Arizona. .NET and SQL jobs are being posted on local boards at the rate of 2 or 3 a week. A year ago, nothing. With 'real' salaries and benefits. It is a bit hot though... -- ee
Fri 11 Jun | Philo | Lots of new stuff in DC. For that matter, I was getting calls through the recession - not nearly as often as prior to the dotbomb, but at least once a week even when I wasn't looking. Philo
Fri 11 Jun | anon | Yes EE. I apply for all jobs for which I believe I am qualified. I have no real experience except for 4 months and before that 8 years of 'hobby coding.' Seriously most jobs posted on job boards in my state are looking for 'senior developers' or people with outrageous skill sets. Most jobs posted on these boards are fake. They are posted every couple months and then I send my resume in and then I receive a postcard saying 'Thanks for your application. We will store it on file for 1 year... etc' but never any real response. Phone calls to these companies are not welcomed. This makes me believe that companies are just collecting resumes and using me. How do I go about getting a job with my limited experience? I have applied numerious places. I don't use recruiters anymore as the ones I have worked with have lied to me. They called me once a week or every other week telling me they had a job lined up and then the job would magically be filled 'by someone else.' I can't believe that I was not qualified for any of those positions, it was just the recruiter that was trying to keep me hanging on so-to-speak. People with jobs look at job boards and see a big list of jobs and think there must be a heck of a lot of demand. I look at a job board and see fake jobs, recruiters trying to attract people and very rarely a true position. The last job I applied for was a .NET position. The HR person at the company emailed me asking for a time that they could call for a telephone interview. I emailed back asking if a certain time was ok. They did not respond. So I called them at the given time and all I heard were excuses about why they didn't call and then they asked me some generic questions and said 'we'll be in touch.' If you have a job, you have a whole different perspective than the person who doesn't have a job. I see a bunch of lying snakes whereas you wonder why people are complaining about the job market. The reason people are complaining (or maybe just me) is because I really can't find work and have been lied to so often that it makes me sick. I went to a Culver's the other day and sat down to eat my hamburger and at the table across from me I overheard a man (HR) and a woman (candidate) talking about a position that I had applied for. The man was all over the woman. He was reviewing her resume and her body... It made me sick and I left. I could just as easily have done the job as her and I wanted to say something like 'did you recieve my resume' but I certainly would have looked like a fool then. Finding a job is not easy and I am trying to understand how can I find a job that meets my satisfaction. This really is a serious inquiry. I know about politics and the need for politicians to look good, but does Bush know what it feels like to work for something your whole life and then be denied what you have worked so hard for? What you dreamed for? The people in Washington have no idea. They have too much money and too much time to know what it is like. They put on good show and pretend that everything is ok on the surface but underneath people like me are hurting.
Fri 11 Jun | anon | Yes Philo, but look at what you have: You're were an officer in the US Navy? You have a law degree? You have how many years of experience in computers? You have a security clearance? I mean give me a break, there's no comparison to me. I'm a scrub compared to that.
Fri 11 Jun | ian | Perhaps you are a little mistaken when you think about there being a 'software field' to get into. In reality it is not quite like this. Being able to write software is a tool of the trade for more specific professions, much like writing is a tool of the trade for journalists. To continue the analogy, being able to write well is not the only skill required to actually be a successful journalist, but it is a necessary one. So I maybe you need to be more specific about which area you wish to work in, and try to gain some particular training or education in that area. For example, it might be banking, or real-time systems, or communications, or e-commerce, or CRM, or scientific and technical, or SCM, or engineering, or military applications, or simulation, or...well you get the idea I hope. You could try to be a little more specific and targeted in your job search. What are the particular areas of life or vocations that specially interest you? What things do you find mentally stimulating? Research the ways that software is used on one of these fields, and use that interest to look for a specific entry point into that industry. In truth, it would have been better to start this process before selecting a college course, but you have nothing to lose by starting now.
Fri 11 Jun | anon | You also have some EE degree no? And now you're working for MS? How the heck do I get a start? Where do I go? Who do I turn to? I have no idea. All I see are scams not jobs.
Fri 11 Jun | Mr. Fancypants | There are no jobs.  It is all a sham.
Fri 11 Jun | anon | Ian, I graduated in the May of 2001! I haven't been able to break into anything not even tech support? Where the heck are all the tech support jobs? You say I should specialize. I did. I specialized in database management/programming. I also have an interest in graphics/games but these don't seem to help me any. I am very open minded and willing to learn almost any field. It's not a matter of geographic area either. This is usually the second excuse most people tell me. The area has heavy industry and some technology but it all seems 'fake' and all jobs are 'inside jobs' to me an outsider. Two or three people I went to school with got jobs at the school because guess what their parents work their! The rest are not working in software.
Fri 11 Jun | meagain | Dude, I hate to say it but you sound like a whiner.  I didn't even finish the history degree I would have gotten but I'm working in IT. I agree that most job postings are idiotic. Your belief that head hunters are lying to you indicates a bad attitude on your part. It's not easy being a head hunter and clients are finicky. They want to get you work otherwise they don't get paid. Take the advice of the others here: get focused. If you have not clue where you want to work then maybe you are in the wrong field. But if you do ... then focus on that. Be prepared to move. I know a guy with plenty of C++ and Java etc. and in this area there was no work for him and he was not prepared to move so now he's doing real estate. I have *lesser* skills but those skills are needed so I'm working in IT in this area. Learn what you need to learn; this was a problem with the aforementioned guy, he knew what he knew and always let  you know what he didn't know and wouldn't learn. That was not an attitude appreciated by anyone. In IT I believe you need to learn new skills all the time. This current gig came from my learning the language the last time I was out of work.
Fri 11 Jun | anon | Bleh.  Does anyone understand what I'm going through?
Fri 11 Jun | anon | meagain, I'm not a whiner and I'm not whining. I'm asking for help. I have tried everything. I have tried what you suggest. I have tried targeting my search. I have tried the Department of Workforce development, I have tried job fairs and such and still nothing turns up. I don't mean to sound 'whiny' but I really have had bad experiences.
Fri 11 Jun | Philo | Anon, where do you live? Are you willing to relocate? My point is that there have been openings in the DC area the whole time. The places I've worked have generally been interviewing and hiring. Personally, I would suggest learning to admin and develop on SharePoint and start applying to government agencies. But obviously I'm biased. :-) Philo
Fri 11 Jun | anon | The headhunters I have worked with must have been lying to me. There is no other way to explain it. Why would the person working with me quit? Why would the person after that person quit? Why when I asked two separate job agencies to quit posting fake ads on the local job board did they listen to my request. This is because they were telling lies. Why did one recruiter want $5k from me to 'find me a job.' That's a scam for certain? Instead of questioning my judgement why not give me the names of some honest job agencies? Some honest companies? Some companies who are hiring? If companies are still recieving piles of resumes then there is still something wrong.
Fri 11 Jun | Larry | Anon, Philo's right that the DC area is booming (the defense industry at least). If you're a U.S. citizen, go to washingtonpost.com, and look down the left column for the 'jobs' link. Search on C++ (or whatever your interest) and note the 20+ pages of listings. All the big defense contractors will hire straight out of college, and pay for you to sit in a waiting room and read books for six months until your security clearance goes through (which is basically guaranteed if you've never been arrested or fought for the Taliban).
Fri 11 Jun | Rhys Keepence | The answer is simpler than you think. Write software. If software engineering is your dream job, then you are probably doing this already, but what you need to do is ship something. As a beginner, the easiest way to do this is to join an open source project, preferably small. The other option is writing shareware, although it is harder for employees because an employer can't look at your code. If you are really good at this, employers will find you. If there are any user groups in your local area, which there should be, join them. If you learn something from (1), talk about it. As an employer, these are my two main methods of hiring. Finally, in discussion forums, use your real name :) You might already do this, but it is worth pointing out. If I look at your resume and google your name, I would prefer to see lots of newsgroup and forum postings. If you ever post a question, and solve it yourself, post a follow up - it's a common pet peeve of mine :)
Fri 11 Jun | Bill Rushmore | Anon, Where do you live? Where are you looking? Seriously, stop blaming other people like the politicians. Its always pretty tought to find a job, especially when you are starting out. They can't do anything for you. In '97 when the economy was supposedly doing well I was a Naval Officerlike Philo, getting out of the Navy, had a CS degree, security clearance and a few months of programming experience. I spent almost six months looking for a job in my home town of Pittsburgh had got nothing. I started looking elsewhere in the country and found work eventually. Here are some thoughts. The FBI and other law enforcement agencies are in desperate need of people with technical backgrounds, no experince is necessary. If you have prior military service then you will get preferencial treatment for any hiring for a governemt job. Also maybe start looking a little broader than just 'programmer'
Fri 11 Jun | anon | Why in the hell do people say 'Learn technology XXXX and get a job!' That's BS. In my experience it doesn't work that way. I have taught myself so many various technologies I can't even count them all. Now when the interview time comes and I say to the interviewer in response to 'How did you learn this technology and what experience do you have?', I taught myself and have developed several programs that use the technology, the interviewer simply smiles and nods and kicks me out the door so as to say that personal learning doesn't account for jack. So how do all of you people who claim to have 'learned XXXX technology in their spare time and now work in IT' do it? Or you all full shit to? I would think you are or you had an inside connection at the company to get you in. When people tell me to start doing something it makes me mad, I have been doing something for the past 3 years. Keeping up on technology. Writing code in my spare time. Doing small projects. People who say this stuff makes a difference are full of shit and are talking out their ass. When was the last time they were hired on 'personal project.' Probably never.
Fri 11 Jun | ian | Anon, I cannot speak directly to your situation in searching for a job, but I have had some experience in interviewing and recruiting people. I can tell you that recruiters are usually looking for specifics, for someone that is a good fit for this opening they have right now. That means that candidates that say 'I can learn, I can do anything you ask me to, just give me a chance' are not likely to be offered the job. In contrast, candidates with strong personal skills, who can demonstrate sharpness and enthusiasm, and particularly who can say 'I know about this company, I can relate to it; I think I have the skills to work here because...da de da...and here are some examples of things I have done that relate exactly to what you are asking me in this interview' -- those are the candidates that get hired. As I say, I know nothing about you and what jobs you have applied for, so the above is just general information. You may know it already, you may not. But I would also suggest getting hold of some good books on successfully getting an interview and then succeeding at those interviews once you get them. I would mention some titles, but I don't immediately have any references to hand. Remember, looking for a job should itself be considered a full-time job. Make sure you consider it in terms of working 8 hour days, and making several (targeted) applications per day until you succeed. Anyway, I feel for you; good luck in your search.
Fri 11 Jun | anon | I am working on becoming more personable and I am working on my communication skills. Sorry about becoming defensive and losing my temper. I don't know if security clearances expire but I believe that is what I was told when I left the service so I would guess mine is no good anymore but it is good to know that the government if hiring. As far as 8 hours a day job hunting, well I have become depressed and angry. Not a good combination and it has affected my ability to hunt for a job.
Fri 11 Jun | meagain | Oh boy ... well, I'm waiting for the last dvd to burn ... Anon, it's now time to put up. You say you've written stuff. Where is it? Post a link. No excuses. I personally run my websites(s), mailserver etc. from a box on my local lan at home that connects via cable and I have a wireless router to share that connction with others in the house. Before that I paid the US$10 a month to host websites (actually I paid US$50.00 but then I was a programmer and did things). When I first started out I wrote all kinds of goofy Perl stuff. Once, one of my scripts was written up in some German magazine (I checked that their websites were running, saved logs, sent emails etc.) My page of scripts was listed in all those 'Perl Script' pages that people put up. It's all history now. I don't even own the domain anymore as someone gave me an offer I couldn't refuse. When I learned my latest language I wrote an application in it and I showed it to everyone. The recruiter who got me this job showed this stuff to the people who hired me. I passed the tests they gave and I also showed that I could translate the knowledge into something that worked. If you are not working ... let me see the apps you have written ... where are the urls?
Fri 11 Jun | anon | As far as using my real name well I always feel too self aware in order to use it on these forums anymore. Googling candidates is one of the worst and most demeaning practices that I can think of. If you would like to know something about me or test my knowledge I will gladly share this information with you in private if it is in my best interest. You will not find any information about me on Google FWIW.
Fri 11 Jun | experienced | Anon, your sample of 1 does not represent the job market. Your statements are valid for you, but please don't make the mistake of projecting your misfortune to the whole market. That's just a way to shift blame. It's NEVER someone else's fault. Tirless persistence is the best way to improve your outlook. And it's okay to vent now and then. I wish you well in your search.
Fri 11 Jun | ian | I am sorry. Delete the "(targeted)" at the end of my last post. That was a gratuitous word.
Fri 11 Jun | ian | If you are depressed and angry, maybe you need a bit of a break? Perhaps you should take some time off the job search, have a bit of a vacation (at home), and come back to things refreshed in a few weeks time?
Fri 11 Jun | anon | meagain, I'm not going to argue with you. I show my projects to those parties who ask and who I have a vested interest in showing them to. My projects are not Perl scripts. I don't know Perl. My projects are hardcore VB 6.0, C++, Win32 apps. The largest one around 30k lines. I am not a fake. The fact is that not many people/companies want to see my projects. They simply don't care. They don't view this as real experience. Having said that, if you really would like to see one of my projects simply provide your email. I will email you, then you can email me back and I will send you the project.
Fri 11 Jun | Tayssir John Gabbour | 'As far as 8 hours a day job hunting, well I have become depressed and angry. Not a good combination and it has affected my ability to hunt for a job.' I didn't have time to respond on that earlier 'motivation' thread, but I do now. I suggest meeting people occasionally who share the same interest. I used to not respect programming, because I thought it was a glorified form of accounting. But I found something I liked, and met passionate people who assured me that if I had a delusion, it was at least a shared one. OTOH, before that I once went to a ocuple 'linux' meetings, just to see, and left completely empty. I dunno, you need to break out of your mindset somehow. Only you care if you're self-aware. And obviously I have absolutely no idea if what worked for me will do anything for you.
Fri 11 Jun | meagain | Hey ... I would believe that they don't want to see your code. That's too bad. I can tell a lot from someone's code. I'm just a grunt like you so I could not help you any by looking at your code. I really do think it would not hurt to put up some examples of code on the net. If I were to hire someone I'd like to hire someone who shares. When I was out of work I went into business for myself (which, btw, is what I did when just beginning). I buy ads on google and overture and I keep responding to every job posting ... I go back to usenet and answer questions ... I hustle just to get some money here and there. I once got 2 months good work from someone who decided not to hire but to outsource work. I suggest you try this route. Best of luck ... my last dvd id burned and verifed and the weekend is now beginning.
Fri 11 Jun | Berlin Brown | Also, I could be wrong, but I don't even think people get jobs by the normal, apply to a site(job post) and then wait 2 weeks and they get back to. Networking is the way to get jobs, but what does that mean? I am not an expert, rich, or even in a dream job, I have seen a lot of stuff, and some stuff is pretty nutty: You have to figure HR Managers, Normal Managers, Hiring People live under a different code than engineers. An engineer's thinking is learn, get better at something, produce something, be disciplined. I can't tell you how HR people think but it is not like the engineer. So you could be the best in your field, and you come to this forum, you easily could be, but a Hiring person will not see that. First, they could have a stack of 100 resumes on their desk, yours could be one of them, but let's say the Hiring person goes out to lunch with another employee, Hirer: It is tough reading through all those resumes Employee: Yea, I hear ya, hey my nephew is looking for a job, he is an engineer or something Hirer: Cool, can he program, give me his number, Ill contact him And unless the nephew is an idiot, he will probably get the job because the HR person made contact with him first as opposed to reading through the resumes.(Like I said, this is not the extreme case, this is real stuff, I have actually seen this go down) And as an engineer, I am thinking that is Crazy!, why can't you read through the resumes you lazy person! I got a phone-interview(contact) with Microsoft(didnt get the job) because one my friends from college got hired and he said he would talk to somebody and two weeks later I got a phone call(email contact). I didnt even apply for a job, my college friend just told some MS hirer that I might fit-in. Just recently, a recruiter told me about a job opening, he said It would great if you apply, I will setup it up for you. I wasnt really interested, but he was going to make sure I get the job. I went to the website, and said, 'Where is the job-posting', 'Oh, I haven't posted the job yet' The point, some people are given jobs before jobs are posted. Remember, HR people are people-people, they don't perform heavy analysis when wanting to hire somebody, if you can make human contact somehow, and started talk the talk and being friendly, get your foot in the door you are half-way there. If you get in the door, bring demos, laptop, code-samples, phamplets, something visual. In terms of networking, the local technology group is a good place, ask them where they work? What do they do? What areas are hot right now? Is your team swamped, are you looking to hire anybody soon? I wouldn't walk into a meeting with a bunch of fresh faces and start shooting off 'Hire me' comments, but play the field. Also, like I mentioned earlier, talk to former college alumns, even if you don't know them well. That help?
Fri 11 Jun | anon | Tayssir, I do have to change my mindset and am trying hard to do so. Thank you for the idea. Berlin, Yes, that does help. It's not fair, but it's the way of the world. I have tried networking and haven't gotten too far with it. Most (well all) of my friends and relatives work blue collar jobs and so are not really taken seriously by their white collar co-workers.
Fri 11 Jun | Berlin Brown | Two more points, remember that quote from Good Will Hunting, 'You have all these books but they are the wrong books', Don't just learn what 'you' think you should learn. Learn about where different technologies are applied and how, for example, I am partial to 'java', I was asked about a position for Java Telephony JTAPI and JDance, and how it relates to telecommunications. I didnt know java was used in telecom, that is something I should have known, sometimes industry magazines provide information on this, for example telecom(BT), Oil and Gas, Security, etc . As Philo mentioned, try the the public sector, learn about GIS, an emerging hot-field. Second Point: Research the text in hiring posts, for example, 'programmer to support the needs our rapidly growing company' and use words almost exactly as they appear in the post. Don't lie and say you know C++ when you don't, but lets say, going with example above: Wrong: Java programmer developed multi-tier applications Right: Programmer that supported an emerging company You will be tempted to use a bunch of technology buzzwords and what-not, go with text that sounds good to the hiring manager to get your foot in the door and maybe an auxillary techical document for the technology manager. Point, I gurantee when an person reviewing a bunch of resumes and sees stuff that they can't understand, it is going in the garbage.
Fri 11 Jun | x | In SiliValley, the market is better but still tight, and newlygrads are still having a hard time. Experience still rules, but the jobs are less skill-specific than they were at the bottom of the market last year. (ie, less '5 years Java' and more 'skilled in one of Java/Perl/Python') Craigslist is up to 20-30 posts per day in the 'software/QA' category in the Bay Area, and the categories have recently been partitioned. Last year, there were maybe 10-15 posts per day.
Fri 11 Jun | no name | Anon, do what Beau Geste is considering and Philo did, and join the services to get a start in life.
Fri 11 Jun | no name | Anon, the situation is that, yes, you have been lied to. Arseholes have made a lot of money out of the work you and others put into your training, and you won't see any of it. Lecturers at universities are buying their nice holiday homes, CEO's at big corporations get extra bonuses for cutting their labour bills, and Indian shonks (the managers, not the programmers) are buying their 20th house in Mumbai. First thing you should, to help those who come after you, is spend a week making sure every politician and their jerk-off staff hears your story in person. They go to swish dinners with the afore-mentioned arseholes. Make them listen to you too. Then go join the Marines. Seriously.
Sat 12 Jun | Unfocused Focused | Philo, I'm biased too, but on the the team I'm mentoring right now EVERY member of the team has been called about positions related to Sharepoint.
Sat 12 Jun | Aussie Chick | Anon, Firstly I don't think you are being whiny. I would call it venting and understand. I probably enjoy what you have to say more then most because I am in almost the same situation. I graduate a computer science degree 18months ago. During my degree I gained four years domain experience in the accounting field, as well as IT support. I have continually applied (at least one per week) for the last 18months for software jobs all over the country. I have not been asked for a single interview. I understand that the employers want more then just a graduate, but it realaly does seem a nasty catch-22. Can't get the experience without the job, can't get the job without the experience. You could get alot of experience/knowledge by self-educating. However that is a full-time job really. I ended up writing a piece of software on my own, I figure it would be valuable as experience now, it probably would be, but I guess in the end I gave up. I am happier, and the lack of work (at least work that would advance my career) over the past year has allowed me to rethink what I really want, and it all worked out for the better. I too was contemplating going back to work at McDonalds (I worked there for years when I was in high school and absolutely loved it, it was so much fun). My brother heard that, he also heard I was contemplating being a check-out chick while I finished this second (teaching) degree. He promised to come down and give me a huge talking to if I ever did that. It was nice to feel valued, even if only by family. My thoughts? Hang in there, find something you love to do. Then be realistic, if you can't find a job, then change to a career that you can. Right now I am a dishwasher/flowerpicker studying to become a teacher, and I am so happy, I love being outdoors, and love doing work that doesn't require a computer.
Sat 12 Jun | Aussie Chick | Oh and I agree with you about the job agencies. I have been looking for work of any kind over the last six months. I am highly skilled in computing (obviously), skilled in admin (ie I can be a receptionist), in accounting, in factory work (did alot of it before starting uni), I have done an autocad course and some units of engineering. I am articulate, very intelligent, and have an incredible problem solving mentality. You would that a recruitment agency would be able to place me in something. There are only 80k people in this town, I imagine I would be good for something. But I have enrolled in pretty much all of them, including an apprenticeship/traineeship firm, I was quiet willing to go to minimum wages to 'get a foot in the door'. However I have not heard a single peep from any of them. I am sure alot of it has to do with government subsidies for placing unemployed people, as opposed to people like me who are semi-employed. But it always makes me wonder. Sometimes I just wish we could avoid the middle man, just meet me, you will think I am great!!
Sat 12 Jun | one programmer's opinion | Hi Anon, Your situation is NOT unique it simply doesn't get discussed that much in some developer forums. The reality is that no matter how talented a coder you might be there is a distinct possibility that you won't be able to find a job in the IT industry no matter how hard you try to find one. Currently there are a large number of people trying to break into this field and a large number of people looking for a way to exit it. I am sure this is something you don't want to hear but that is the way things are. If you are still fairly young, your best bet probably is joining the military (again). If I were you I would talk with an army/navy/air force recruiter and ask him/her if you can be placed into a programming position. If he/she can't guarantee you such a position then walk away. Obtaining a full-time business programming position within a traditional company (insurance, manufacturing, etc.) is not a very easy thing to do nowadays. Many companies have fired their technical employees and outsourced the work to local consulting firms and contractors. Since you mentioned that you have recently earned a CS degree, perhaps you should send your resume to every local and national consulting firm you can find. Some consulting firms such as Accenture are notorious for hiring recent college grads and throwing them into the deep end of the swimming pool. Yes, many of these firms are still laying off employees or they are only hiring talent from outside the United States -- even so it is still something you should try. As for finding a government job, keep in mind that most city/state governments are deeply in debt. While I recommend you still apply for any advertised position you come across, I believe you might have an easier time obtaining a federal government position. Imo, besides ranting within online forums such as this one you should also write letters to your state's political representatives and let them know why you oppose the L-1 and H-1B visa programs. Good luck and feel free to let us know how things turn out for you.
Sat 12 Jun | echidna | Aussie Chick, I don't know if you saw the recent story in The Australian. http://australianit.news.com.au/articles/0,7204,9708574%5e16123%5e%5enbv%5e,00.html Apparently the Howard government has been increasing the number of IT people allowed in, even though there's a recession and widespread un and underemployment. I was stunned when I saw those figures.
Sat 12 Jun | ... | When I graduated I had a hard time finding a job. 6 months later I wised up and listed with every temp agency in town from the secretarial temp agencies to the technical contractor agencies. I was immedately snatched up at a pretty good rate to work on an MRP system. Experience and foot in the door - check. I used that time and experience to land my current job, which was posted as entry level, but I know that my prior experience helped a lot. I'm in the Philadelphia area. I've seen REAL entry level postings for the pharmaceutical companies (Glaxo SmithKline, Wyeth, AstraZeneca, Merck, etc) as well as the Healthcare companies (inlcuding Independence Blue Cross, Aetna, and Cigna). It's amazing to me how many entry level jobs are becoming available now. And think about getting hooked into a company that does MRP/ERP systems or a company that does LIMS systems. Those large systems are a great way to get programming within a construct and gain some value quickly (even if you're just doing validation). There are lots of jobs, but if you constrain what you're looking for you'll always have a hard time. I suggest looking for Entry Level jobs requiring SQL to support reports - foot in door. Once you find a job, it's 100x easier to find a better one.
Sat 12 Jun | Scot | I recommend reading "What Color Is Your Parachute".  The local library should have a copy of this perennial bestseller.
Sat 12 Jun | no name | > I recommend reading 'What Color Is Your Parachute'. I've worked out a great new job. I'm starting a new job investigating corporate fraud, tax evasion by senior executives and illegal tax minimisation schemes that use multi-nation arrangements.
Sat 12 Jun | anon | >> 'Then go join the Marines. Seriously.' I was in the service and as has been mentioned I could re-join but I would have to take my old job and couldn't cross-train. Thanks for the comments guys it will still be a long road to recovery. Hopefully I can overcome my mindset of 'Have to be a programmer' and find something else to do. Programming may not be all it's cracked up to be anyway, but I guess I had to at least try.
Sat 12 Jun | Berlin Brown | Another scary point, I noticed that you have written 30k applications in C++ and all that stuff, which is great. But as I said earlier, it may not register in the eyes of the recruiter. And a lot of people who apply to jobs now may have two, three, four degrees from Ivy league schools across multi-discplines and these resumes bullets look very attractive to recruiters. For example, I knew somebody who had a Mechanical Engineering Degree, Computer Science Degree and a Masters in Computer Science and to be honest, couldn't program that well, but this is what you are competing against. And I wouldnt go back to school unless you really want to but know how to sell yourself and what kind of bait to use. Write papers and send them to computer magazines and then put that on your resume, you are a good programmer, write a book(seriously, or at least an online one) and then put that on your resume.
Sat 12 Jun | Aaron F Stanton | The the OP, Anon: I have been *exactly* where you are right now. It sucks ass, no way around it. Yes, all your life you are told to go to school, get good grades, get a degree, and a great job will show up. Yes, it's a big frickin' lie. Get over it. The fact of the matter is that all that crap is just the ante, or closer to truth, it's the cover charge just to sit at the table. You pay it before you're even allowed to ante up. Once you accept that and try to figure out what the real game is, your mind will rest a lot easier. The real game is who you know, and how you can parley that into interviews. How to expand your circle of family, friends, acquaintances, contacts, and people who have heard your name. Two things you should work on that are closely related to that: First, swallow your bitterness and stop projecting hatred onto the world. You only succeed in isolating yourself further from those around you the more pissed off you act, which is the exact opposite of what you want. The people who will hire you eventually are several steps away from you, and you are not closing that gap. Second, stop hiding under a rock. Someone here told you to use your real name. That person is right. Create a personal website with details on all your cool projects. GPL the stuff you want to use as demos that you know you'll never sell. Blog like mad, and link to postive people that say things you like. Read books like crazy and post links with Amazon Associates so you actually get some money when people buy it based on your recommendation. That's your web presence. Also you should talk to people. Be friendly. Treat it like dating - you talk to lots of attractive people, ask some out, date a few, marry one. A job is very similar. Did I do these things? Well, I did the first and I did part of the second - I emerged from my shell and started talking to people again. I owe my current job to a multistep connection - my current boss is in a Mensa group along with a member of my wife's chorus. Me - wife - chorus member - boss. You may not be so lucky with that few of steps, but it's your job now to extend your sphere of influence until you are directly connected to the right people who can and will help. So, yes, your fury at the injustice of the world is justified. Also useless. Drop it, get over it, and move on. And don't waste your breath on telling me it's not that simple. I've been there, done that, got the t-shirt.
Sat 12 Jun | kc | Good morning Crew, I was out of work from Nov 13th to Dec 15th this past year. I hit the pavement (well, internet) and got out over 100 resumes. I received 7 phone interviews, 4 in-person interviews, 2 temp contract positions, and my current perm position out of it. After the initial blast, I heard nothing until a month ago. Now, I'm still gettting anywhere from 1-3 call each week with offers for interviews just from my resume. I have 3 years of experience in XML, Java, large-scale (200+GB) databases and have been doing html since '96. i don't have a fantastic skill set, but the skills I do have, I manage to keep sharp by working on Open Source projects. That alone has allowed me to talk about 'personal initiative'. The jobs are steadily appearing up and down the East Coast (US) and around Chicago... and these are the only places I'm looking.
Sat 12 Jun | T. Norman | 'My projects are hardcore VB 6.0, C++, Win32 apps. The largest one around 30k lines. I am not a fake.' So polish them up and sell them. If they do really well you can start your own company and forget about working for corporate slavemasters. If they don't do so well, but they still sell somewhat, place your URL on your resume so that people can see what you've done. If you get an interview you'll be able to walk in with a laptop and demo the app and say 'there are 500 individuals and companies in 12 countries who are using this'. And if you can't sell them at all, open source them and still use them to showcase your skills.
Sat 12 Jun | jfm424 | I second the suggestion to join a local user group. One UG is overflowing with requests to fill positions, (~10/wk) which runs circles around monster.com and other such boards for my area.
Sat 12 Jun | Stephen Jones | The fact that you get a letter back saying that they are keeping your application on hold for a year, and then never here any more doesn't mean they are collecting resumes. It just means they aren't interested in you but reckon it will hurt your feelings less to tell you they are keeping your resume then letting you know they have trashed it. When there are more jobs than applicants it's great; when there are less it's shit. And it can change incredibly rapidly. One thing that is not clear is where you are applying. Different areas have very different job markets Tech support jobs are no longert an easy way to get in. With the plummetting cost of hardware few vendors can afford it, so they try and give away a cloned HD and get you to reinstall as soon as there is a problem. Also, entry level jobs are the first to go when there is the whiff of a recession, and the last to be on offer when the situation eases up. This is particulary true in software development, where, as was said on another thread, a new hire is considered successful if he has zero effect on productivity, as opposed to bringing it down.
Sat 12 Jun | Dave | Believe it or not, I've had the opposite experience--I can't find enough good candidates for two entry-level C#/Windows Forms programming positions I'm trying to fill in Portsmouth, NH. I've certainly had quite a few applicants, but I've only found about 5 candidates worth interviewing since posting the job in May. Now, we're not in a major city, but we're only an hour from Boston. Seems strange that I'm having a difficult time finding really good candidates, preferably those who are recent graduates. Perhaps this means there really ARE jobs for recent grads? Dave
Sat 12 Jun | anon | >> >>>>>>> 'The fact that you get a letter back saying that they are keeping your application on hold for a year, and then never here any more doesn't mean they are collecting resumes. It just means they aren't interested in you but reckon it will hurt your feelings less to tell you they are keeping your resume then letting you know they have trashed it. <<<<<<<<< The problem is not repeatedly getting a letter. The problem is that the job(s) are repeatedly posted every couple of months and don't seem to be getting filled. I have the qualifications to fill the job. This tells me they are collecting resumes because the job never goes away. It always stays posted and gets reposted every couple months. Now I used to be gullibale enough to apply for the same jobs that kept being posted over and over again, but I don't anymore. If i get a rejection letter fine, If not fine. I have called these companies and they say they are doing nothing wrong except that they can't fill the positions. When I attempt to explain to them that I can do the job and have sent in a resume they do not want to talk with me. Of course all of that only occurs if the company wants to talk with me at all. I know how to do my job. If you give me a task within my domain of knowledge I am able to do it right away. I am a competant person and programmer. If I am given a task where my knowledge is not up to par well then I know how to research the problem, I know where MSDN is, I know how to use Google and I know how to ask for help if I need it. I find it insulting that people would consider me a sub par performer even though I am entry level. I would not and do not accept or apply to jobs where I know I cannot perform the tasks listed in the advertisement. I have been coding for 10 years now. Mostly as a hobby. I don't know everything but I think I deserve a little more credit than people give me or probably than I give myself. I'm not bragging and I'm not a 'know it all'. I like working with other people to solve problems. I know the areas I am lacking in. These would be the analyst parts of the job. And even then I have done this at my short 4 month stint. I have been through it all and seen it all. When I say a job is fake that is exactly what I mean. Nothing more nothing less.
Sat 12 Jun | GuyIncognito | When I graduated it was at the height of the boom, there wasn't a single student who didn't have at least one offer. That aside, I think you should really get out there and start networking with professionals in the same field. Bottom line, networking is *the* single way of finding the choice jobs and getting a stab at them. * Technology User Groups * Young (Old) Professional Clubs Most of my job offers have been 'Hey Jackass, we could really use a guy who can do Zerboltz 4.3, why not give me your resume. I'll see that it gets on Mr. So-and-so's desk Monday morning.' Oh, and I'll totally agree the programming field is messed up. I think there needs to be active mentoring going on. Whatever happened to 'from Journeyman to Master'? Companies are putting out ridiculous hiring expectations and in the end getting whatever candidate lied the best on his/her resume. Companies should recognize “future prospects” just like baseball does. OK, here is someone who maybe doesn’t have a lot of experience, but they are smart, a fast learner and put in a good effort. To be fair, a lot of applicants don’t show the same loyalty, and are gone for greener pastures as soon as they get enough experience.
Sat 12 Jun | anon | Dave, What exactly do consider a 'candidate worth interviewing.' These things are very subjective. Also where to you post your ads for these jobs? I have written a basic, single user, version control system in C# and SQL Server. Would this help qualify me for the job? I mean you say you can only find 5 people 'worth interviewing.' To me that is demeaning. Even if I had never used C# or WinForms it would only take me a couple of days to learn the syntax and become comfortable with it.
Sat 12 Jun | GuyIncognito | Most Tech Recruiters are crap.  Most HR interviewers and screeners also fall into that same category.  That is why you have to get to someone on the development team (the higher the better).  Meet people.  Make friends in high places.  That is the only way you're resume is going to be seen by someone who will actually knows the difference between C# and a paper shredder.
Sat 12 Jun | Been there | 'The problem is that the job(s) are repeatedly posted every couple of months and don't seem to be getting filled' You didn't mention it was a recruiter's ad, but that's a typical tactic some of the sleazier ones use to get people to send in their resumes (it's a good clue when the ad reads like '2-3 years JAVA $100K+'). Then they spam them around hoping for a hit, and call you back and say 'Gee, that one filled, but we do have this OTHER one...'
Sat 12 Jun | Inside Job | They really should start teaching economics in CS courses. There is a bigger world out there than Joe and his resume. The ratio of job vacancies to job seekers affects what happens when Joe sends out his resume. It's not a matter of what words he puts on his resume or how he combs his hair, and if that's what your lecturers are telling you, they clearly need an economics education too. And yes, recruiters do advertise jobs over and over without any intention of filling it. Anyone familiar with the industry in a particular industry will be able to recognise a lot of the jobs. Recruiters do it to build their databases (looking for top grads), and also to satisfy snoops who ask questions about imported workers. (advertised for months and couldn't find anyone.)
Sat 12 Jun | Dave | Anon: You're right--it is a bit subjective. Specifically for me, it includes: 1. Did the candidate submit the requested information? (Cover letter, resume, questionnaire.) 2. Is the candidate actually entry level or, if not, are they looking for a salary that's within our range for this entry-level position? 3. Does the candidate require sponsorship? We do not sponsor employees (this is stated in the job ad.) 4. Do they appear to be able to communicate well, at least in writing? 5. Is their resume clean, professional, and understandable? 6. Is their cover letter targeted to the position, or is it a cover letter that appears to be 'boilerplate?' 7. Did they submit their resume using Monster.com's automated tools (automatic rejection--I don't read them. I state this in the job ad.) 8. Does the candidate have the experience outlined in the job ad? (basically 2 years of work or school experience with C++, Java, C#, or similar.) We post our ads on Monster.com, on the University of New Hampshire (UNH) Career Services database, and we also notify the Computer Science faculty at UNH about the openings. Your experience with C# would certainly give you an edge for our particular