MTA Service Advisories from Disorient ExpressNavigationTechnology |
Joel On SoftwareStack Overflow Podcast #31In the Thanksgiving edition of the Stack Overflow podcast, episode 31, Jeff and I discuss math, status reports, the economic downturn, the business case for nice office space, SQL parameters, programming “slumps,” and a whole lot more. Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Exploding Offer SeasonIf you’re a college student applying for jobs or summer internships, you’re at something of a disadvantage when it comes to negotiation. That’s because the recruiter does these negotiations for a living, while you’re probably doing it for the first time. I want to warn you about one trick that’s very common with on-campus recruiters: the cynical “exploding offer.” Here’s what happens. You get invited to interview at a good company. There’s an on-campus interview; maybe you even fly off to the company HQ for another round of interviews and cocktails. You ace the interview, of course. They make you an offer. “That sounds great,” you say. “So, when can you let us know?” “Well,” you tell them, “I have another interview coming up in January. So I’ll let you know right after that.” “Oh,” they say. “That might be a problem. We really have to know by December 31st. Can you let us know by December 31st?” Tada! The magnificent “exploding offer.” Here’s what you’re thinking. You’re thinking, well, that’s a good company, not my first choice, but still a good offer, and I’d hate to lose this opportunity. And you don’t know for sure if your number one choice would even hire you. So you accept the offer at your second-choice company and never go to any other interviews. And now, you lost out. You’re going to spend several years of your life in some cold dark cubicle with a crazy boss who couldn’t program a twenty out of an ATM, while some recruiter somewhere gets a $1000 bonus because she was better at negotiating than you were. Career counselors know this, and almost universally prohibit it. Every campus recruiting center has rules requiring every company that recruits on campus to give students a reasonable amount of time to make a decision and consider other offers. The trouble is, the recruiters at the second-rate companies don’t give a shit. They know that you’re a college kid and you don’t want to mess things up with your first real job and you’re not going to call them on it. They know that they’re a second-rate company: good enough, but nobody’s dream job, and they know that they can’t get first-rate students unless they use pressure tactics like exploding offers. And the worst thing that career centers can do is kick them off campus. Big whoop. So they hold their recruiting sessions and interviews in a hotel next to the campus instead of at the career center. Here’s your strategy, as a student, to make sure you get the job you want. 1. Schedule your interviews as close together as possible. 2. If you get an exploding offer from a company that’s not your first choice, push back. Say, “I’m sorry, I’m not going to be able to give you an answer until January 14th. I hope that’s OK.” Almost any company, when pressed, will give you a chance to compare offers. Don’t worry about burning bridges or pissing anyone off. Trust me on this one: there’s not a single hiring manager in the world who wants to hire you but would get mad just because you’re considering other offers. It actually works the other way. When they realize you’re in demand, they’ll want you more. 3. In the rare case that they don’t accept that, accept the exploding offer at the last minute, but go to the other interviews anyway. Don’t cash any signing bonus checks, don’t sign anything, just accept the offer verbally. If you get a better offer later, call back the slimy company and tell them you changed your mind. Look, Microsoft hires thousands of college kids every year. If one of them doesn’t show up I think they’ll survive. Anyway, since we instituted that 13th amendment thing, they can’t force you to work for them. If you do find yourself forced to renege on an offer, be classy about it. Don’t do this unless you are absolutely forced to because they literally refused to give you a chance to hear from your first choice company. And let them know right away you’re not going to take the offer, so they have a chance to fill the position with someone else. Campus recruiters count on student’s high ethical standards. Almost all students think, “gosh, I promised I’ll go work for them, and I’m going to keep my promise.” And that’s great, that’s a commendable attitude. Definitely. But unethical recruiters that don’t care about your future and don’t want you to compare different companies are going to take advantage of your ethics so they can get their bonus. And that’s just not fair. Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Stack Overflow Podcast #30Stack Overflow Podcast episode 30 is up, with special guest Richard White of UserVoice. Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
AnecdotesMichiko Kakutani reviews Malcolm Gladwell's latest book in the New York Times: “Much of what Mr. Gladwell has to say about superstars is little more than common sense: that talent alone is not enough to ensure success, that opportunity, hard work, timing and luck play important roles as well. The problem is that he then tries to extrapolate these observations into broader hypotheses about success. These hypotheses not only rely heavily on suggestion and innuendo, but they also pivot deceptively around various anecdotes and studies that are selective in the extreme: the reader has no idea how representative such examples are, or how reliable — or dated — any particular study might be.” This review captures what's been driving me crazy over the last year... an unbelievable proliferation of anecdotes disguised as science, self-professed experts writing about things they actually know nothing about, and amusing stories disguised as metaphors for how the world works. Whether it's Thomas Friedman, who, it seems, cannot go a whole week without inventing a new fruit-based metaphor explaining everything about the entire modern world, all based on some random jibberish he misunderstood from a taxi driver in Kuala Lumpur, or Malcolm Gladwell with his weak theories on tipping points, crazy incorrect theories on first impressions, or utterly lunatic theories on experts, it all becomes insanely popular simply because the stories are fun and interesting and everybody wants to hear a good story. Spare me. Friedman and Gladwell's outsized, flat-world success has lead to a huge number of wannabes. I was really looking forward to reading Simplexity, because it sounded like an interesting topic, until I settled down with it tonight and discovered that it was chock-full of all those amusing bedtime stories about the map of the cholera plague in London in 1854, which I've heard a million times, and then suddenly I noticed (shock!) that not only was the author a journalist, not a scientist, but he was actually an editor at Time Magazine, which has an editorial method in which editors write stories based on notes submitted by reporters (the reporters don't write their own stories), so it's practically designed to get everything wrong, to insure that, no matter how ignorant the reporters are on an issue, they'll find someone who knows even less to write the actual story. Panicking, I began to flip through the book at random. There's that story about Don Norman and complicated user interfaces. Here he is reading Nassim Taleb. I've heard all these anecdotes! Stop, already! I threw the book away in frustration. This is the third one of the day. My business partner Jeff Atwood was busy extracting himself from the flamewars he started by writing an article on, of all things, NP-completeness, which is, actually, something that it's possible to know something about, because it's not a vague sociological hypotheticoncept like simplexiflatness or blinkoutliers, it's actually a real, important result from Computer Science, with a rigorous definition and lots of published papers, and poor Jeff got himself in something of a pickle by writing a book review when he hadn't read the book, and fortunately, he has comments on his blog, so his readers called him out on it. Now, I am not one to throw stones. Heck, I practically invented the formula of "tell a funny story and then get all serious and show how this is amusing anecdote just goes to show that (one thing|the other) is a universal truth." And everybody is like, oh yes! how true! and they link to it with approval, and it zooms to the top of Slashdot. And six years later, a new king arises who did not know Joel, and he writes up another amusing anecdote, really, it's the same anecdote, and he uses it to prove the exact opposite, and everyone is like, oh yes! how true! and it zooms to the top of Reddit. This is not the way to move science forward. On Sunday Dave Winer [partially] defined "great blogging" as "people talking about things they know about, not just expressing opinions about things they are not experts in (nothing wrong with that, of course)." Can we get some more of that, please? Thanks. Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Stack Overflow Podcast #29In this week's Stack Overflow podcast, Jeff and I talk about video games, programming languages that aren't "in" English, and hiring great programmers. Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Stack Overflow Podcast #28Corey reviews the podcasts Jeff and I are doing, under the title Jeff Atwood is Trying to Kill Me: “The trip from Chicago to Detroit was without homicidal incident. The only harbinger of what was to come was that I could sense a growing irritation in myself towards Jeff Atwood. Why? Because Jeff just couldn't keep up with the pace of Joel's conversational tennis.” Ha! Take that, Jeff “Atwood,” if that's even your real name, you homicidal maniac! Anyway, sorry I haven't been posting as much here on the blog. As Corey discovered, the action is all on the podcast. This week, Jeff and I go through the colors. Azure and Orange feature prominently. Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
The Unproven Path“As for what this all means, I'm still trying to figure that out. I abandoned seven long-held principles about business and software engineering, and nothing terrible happened.” From my latest Inc. column: The Unproven Path Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Stack Overflow Podcast #27Our guests on this week's Stack Overflow Podcast are the founders of Reddit, Steve Huffman and Alexis Ohanian. By the way, Jeff recently upgraded the database server from Microsoft SQL Server 2005 to 2008, and found pretty conclusively that 2008 has a new architecture for full text search which is significantly slower than it was in 2005. Something to be careful about if you're thinking of upgrading to 2008. Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Stack Overflow Podcast #26On this week's Stack Overflow Podcast, Jeff and I devote the episode to questions from listeners. Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Sins of Commissions“A couple of years ago, I went into a big-box shoe store and bought a pair of sneakers. At the checkout counter, the cashier grabbed a can of that bogus silicone spray stores always try to up-sell you. It's supposed to make sneakers shiny and waterproof, but it doesn't seem to do anything.” From my latest Inc. column: Sins of Commissions My dad emailed to add: The same problem arises when you set measurable incentives (money for better test results) in educational policies like No Child Left Behind.Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Stack Overflow Podcast #25This week's Stack Overflow Podcast features special guest star and programming blogger superhero Steve Yegge. It's a terrific conversation about working at Google, marketing your ideas, and programming languages... one of the most interesting podcasts yet. In the spirit of Steve's extremely long blog posts, we ran about 15 minutes long this week. In the past, Jeff and I have had some audio problems using Skype to record the podcast--mainly, dropouts when we talk over each other. I set up a bunch of new gear which seems to have finally fixed this problem. Here's a description of the new podcasting setup.
Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Hair on fireOn August 17th, Jason, a student in our software management training program, read a post by Seth Godin, marketing guru extraordinaire: "Here's the challenge: Assemble your team (it might be just you) on Monday and focus like your hair is on fire (I have no direct experience in this area, but I'm told that hair flammability is quite urgent). "Do nothing except finish the project. Hey, you could have been on vacation, so it's okay to neglect everything else, to put your email on vacation autorespond and your phone on voice mail and to beg off on the sleepy weekly all-hands meeting and to avoid the interactions with those that might say no... "And then finish it. Finish the website or the manuscript or business plan or the suite of tools." At the time, the Copilot team had spent a couple of months stuck in a bizarre Moby Dick-style obsessive hunt to fix a very obscure bug in a very rare edge case in some code which nobody would ever see. There was a loooong period of time there where every once in a while I would ask Ben what was going on and he would say, "we should have AutoUpdate done today." I didn't know what AutoUpdate was, but the eleventh time I heard that it was going to be done "today" I started to detect a pattern. When Jason read Seth's motivational post, probably after drinking a little bit ttoooo mmuucchh ccooffffee, he got really excited by this idea, and quickly sold Ben and Tyler, the developers, that they should try something. In their weakened state from an exhausting chase after one very annoying bug, they probably could have been convinced that it was a good idea to try hang gliding from the roof of our office building to the Statue of Liberty, so they went along with it. To keep focused, Jason instituted daily scrum-like standup meetings. It took about three weeks to get to code complete and about three more weeks of testing and polishing, but lo and behold, it's here: Copilot OneClick! Copilot was originally optimized to be the easiest way to provide temporary, ad-hoc tech support over the internet. It's a remote desktop system that's focused on ease of use, with nothing to install, so it's perfect for tech support departments that just need to get onto a customer's system remotely to fix problems, without asking the customer to install software, change firewall settings, etc. etc. OneClick is a new feature that allows you to install Copilot on the computers you connect to most frequently, and makes re-connecting to those computers a breeze. It's a huge step forward in usability. So, thanks, Seth Godin, for the motivation. Now if I could just get the contractor working on our office to read Seth's blog... PS. Since the summer, we've added a lot of other small features, which I haven't reported here. There's a new monthly $19.95 flat rate plan. Weekends are now totally free (ideal for helping your family and friends). There's also a free 15 day trial. The best way to keep up with these things is to subscribe to the Copilot Blog. Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Hair on fireOn August 17th, Jason, a student in our software management training program, read a post by Seth Godin, marketing guru extraordinaire: "Here's the challenge: Assemble your team (it might be just you) on Monday and focus like your hair is on fire (I have no direct experience in this area, but I'm told that hair flammability is quite urgent). "Do nothing except finish the project. Hey, you could have been on vacation, so it's okay to neglect everything else, to put your email on vacation autorespond and your phone on voice mail and to beg off on the sleepy weekly all-hands meeting and to avoid the interactions with those that might say no... "And then finish it. Finish the website or the manuscript or business plan or the suite of tools." At the time, the Copilot team had spent a couple of months stuck in a bizarre Moby Dick-style obsessive hunt to fix a very obscure bug in a very rare edge case in some code which nobody would ever see. There was a loooong period of time there where every once in a while I would ask Ben what was going on and he would say, "we should have AutoUpdate done today." I didn't know what AutoUpdate was, but the eleventh time I heard that it was going to be done "today" I started to detect a pattern. When Jason read Seth's motivational post, probably after drinking a little bit ttoooo mmuucchh ccooffffee, he got really excited by this idea, and quickly sold Ben and Tyler, the developers, that they should try something. In their weakened state from an exhausting chase after one very annoying bug, they probably could have been convinced that it was a good idea to try hang gliding from the roof of our office building to the Statue of Liberty, so they went along with it. To keep focused, Jason instituted daily scrum-like standup meetings. It took about three weeks to get to code complete and about three more weeks of testing and polishing, but lo and behold, it's here: Copilot OneClick! Copilot was originally optimized to be the easiest way to provide temporary, ad-hoc tech support over the internet. It's a remote desktop system that's focused on ease of use, with nothing to install, so it's perfect for tech support departments that just need to get onto a customer's system remotely to fix problems, without asking the customer to install software, change firewall settings, etc. etc. OneClick is a new feature that allows you to install Copilot on the computers you connect to most frequently, and makes re-connecting to those computers a breeze. It's a huge step forward in usability. So, thanks, Seth Godin, for the motivation. Now if I could just get the contractor working on our office to read Seth's blog... PS. Since the summer, we've added a lot of other small features, which I haven't reported here. There's a new monthly $19.95 flat rate plan. Weekends are now totally free (ideal for helping your family and friends). There's also a free 15 day trial. The best way to keep up with these things is to subscribe to the Copilot Blog. Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Stack Overflow Podcast #24The whole Stack Overflow team got together in person at Fog Creek's shiny new office in New York City for a roundtable discussion about the future of StackOverflow.com, which is up as this week's podcast. Shanah Tovah u-Metuka! Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Stack Overflow Podcast #24The whole Stack Overflow team got together in person at Fog Creek's shiny new office in New York City for a roundtable discussion about the future of StackOverflow.com, which is up as this week's podcast. Shanah Tovah u-Metuka! Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Imaginary productWhy doesn't somebody make this?
This would make it easy to plug in laptops, USB peripherals, and all your rechargers at your desk without crawling around on the floor. (The photograph shows a product by Mockett which comes tantalizingly close, but which has knockouts for you to hardwire your own ports instead of built-in LAN and usb hubs.) Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Stack Overflow Podcast #22In Episode #22 of the Stack Overflow podcast, Jeff and I talk to guest Josh Millard of MetaFilter about moderating community sites. Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Stack Overflow LaunchesYou know what drives me crazy? Programmer Q&A websites. You know what I’m talking about. You type a very specific programming question into Google and you get back:
If you’re very lucky, on the fourth page of the search results, if you have the patience, you find a seven-page discussion with hundreds of replies, of which 25% are spam advertisements posted by bots trying to get googlejuice for timeshares in St. Maarten, yet some of the replies are actually useful, and someone whose name is “Anon Y. Moose” has posted a decent answer, grammatically incorrect though it may be, and which contains a devastating security bug, but this little gem is buried amongst a lot of dreck. Well, technology has gotten better since those discussion forums were set up. I thought that the programming community could do better by combining the idea of a Q&A site with voting and editing. Would it work? I had no idea. And it looked like there was no way to find out, because everyone at Fog Creek was really busy so nobody had any time to build this. Then, out of the blue, Jeff Atwood called me up. His own blog, Coding Horror, was starting to rack in the dough, and he was trying to figure out if that meant he could quit his day job and just blog. Pattern-matching rules fired in my brain. The hardest thing about making a new Q&A site is not the programming—it’s the community. You need a large audience of great developers so you have the critical mass it takes to get started. Without critical mass, questions go unanswered and the site becomes a ghost town. I thought the combination of my audience (#15 on Bloglines) and Jeff’s (#89) would bring enough great developers into the site to reach critical mass on day one. So Jeff and I decided to go in together on this. We’ve been working all summer to build the site. OK, that’s extremely unfair. Jeff Atwood, together with two of his friends, Geoff Dalgas and Jarrod Dixon, have been doing most of the building. I just chime in with advice once in a while, which Jeff justifiably ignores; you can hear the process in our weekly status phone call, publically available in the form of the Stack Overflow podcast. In the beginning of August, the beta opened to a small group of just a few hundred developers. The site lit up instantly! People were asking questions and, for the most part, getting answers! And the voting was working too… in most questions, you could see that the best answers were voted up promptly. I tried to ask a programming question for something I was working on and found that (a) it had already been asked (b) there were already good answers and (c) the search engine worked so well I never got a chance to post my question. After a very short, five-week private beta, we’re opening Stack Overflow to the public today. Here’s how it’s supposed to work. This is a community project, so I’m being careful to avoid saying this is how it will work… that’s up to the community. But this is roughly what I have in mind. Every question in Stack Overflow is like the Wikipedia article for some extremely narrow, specific programming question. How do I enlarge a fizzbar without overwriting the user’s snibbit? This question should only appear once in the site. Duplicates should be cleaned up quickly and redirected to the original question. Some people propose answers. Others vote on those answers. If you see the right answer, vote it up. If an answer is obviously wrong (or inferior in some way), you vote it down. Very quickly, the best answers bubble to the top. The person who asked the question in the first place also has the ability to designate one answer as the “accepted” answer, but this isn’t required. The accepted answer floats above all the other answers. Already, it’s better than other Q&A sites, because you don’t have to read through a lot of discussion to find the right answer, if it’s in there somewhere. Indeed, you can’t even have a discussion. A lot of people come to Stack Overflow, not knowing what to expect, and try to conduct a discussion when they should be answering the question. The trouble here is that answers are always listed in order of votes, not chronologically, so the discussion instantly becomes scrambled when the votes start coming in. Instead, we have editing. Once you’ve earned a little bit of reputation in the system (and there are all kinds of ways to earn reputation), you can edit questions and answers. Fred asks: How do I keep from overwriting the user’s snibbit? Kathy answers: Normally the user’s snibbit will not be overwritten. Are you enlarging the fizzbar? Fred answers: Yes. And it’s getting overwritten. BZZT! WRONG! Fred just made a mistake… he provided an answer which isn’t an answer. VOTE IT DOWN! Chastised, Fred edits his original question, changing it to: How do I keep from overwriting the user’s snibbit while enlarging the fizzbar? Now Kathy can answer by editing her previous answer. And you’re left with a nice clean single-question, single-answer, instead of a lot of boring discussion that would be unnecessary flotsam to the next person to come along with snibbit overwriting problems. There are lots of good ways to edit things. You can improve spelling, grammar, and even copy edit any question or answer to make it better. After all, for the next 20 years, this question will be the canonical place on the web where programmers will come to find out about enlarging fizzbars without overwriting snibbits. Anything you can do to clarify, explain, or improve the question or the answer will be a public service. If there’s code in the answer, you can debug it, refactor it, or tweak it to make it better. You can also improve on the answers. If an answer is incomplete, expand on it. If an answer has a bug in it or is obsolete, you can edit it and fix it. Because Q&A in Stack Overflow are editable, you can safely link to a Stack Overflow permalink knowing it will always have a good answer. Stack Overflow won’t have the problem of other sites where obsolete or incorrect answers have high Google PageRank simply because they’ve been on the Internet for so long. If someone finds a security bug in an answer, it can be fixed… it won’t keep coming up in Google’s results for years and years poisoning future code. Want to know an easy way to earn reputation? Find a question somewhere with several good, but incomplete, answers. Steal all the answers and write one long, complete, detailed answer which is better than the incomplete ones. Sit back and earn points while people vote up your comprehensive answer. In addition to voting on answers, you can vote on questions. Vote up a question if you think it’s interesting, if you’d like to know the answer, or if you think it’s important. The hot tab on the home page will show some of the highest-ranked recent questions using an algorithm similar to digg or Reddit. If you’re generally interested in programming and want to learn something new every day, visit the hot tab frequently. Want to test your knowledge? Visit the Unanswered tab. Right now, you just see a list of questions with no answers (and there are very few), but in the near future, we’ll actually tailor the list to show you questions that we think you have a chance of answering, based on questions you’ve successfully answered in the past. We have tags. Every question is tagged so, for example, if you’re a Ruby guru, you can ignore everything but Ruby and just treat Stack Overflow as a great Ruby Q&A site. A single question can have multiple tags, so you don’t have to figure out which single category it fits in best. Like everything else, the tags can be edited by good-natured individuals to help keep things sorted out neatly. And you can have a little fun: stick a homework tag on those questions where someone seems to be asking how to delete an item from a linked list. Don’t combine multiple answers. For example, suppose someone asks What are your favorite keyboard shortcuts in Emacs? Well, I could list them all in one answer, but how does anyone vote on that? Instead, I’ll provide a bunch of separate answers, and let people vote on the answers. And in fact, if you see a question which is really a poll, do me a favor, go in there and edit it: What is your single favorite keyboard shortcut in Emacs? (One shortcut per answer, please). What kind of questions are appropriate? Well, thanks to the tagging system, we can be rather broad with that. As long as questions are appropriately tagged, I think it’s okay to be off topic as long as what you’re asking about is of interest to people who make software. But it does have to be a question. Stack Overflow isn’t a good place for imponderables, or public service announcements, or vague complaints, or storytelling. I’m extremely excited about Stack Overflow. It’s fast and clean. It costs us practically nothing to operate, so we won’t need to plaster it with punch-the-monkey ads; we plan to keep it free and open to the public forever. And it might make it a little bit easier to be a programmer. Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Password management finally possibleNow that DropBox is shipping, there's finally a good way to manage all your passwords. This system works no matter how many computers you use regularly; it works with Mac, Windows, and Linux; it's secure; it doesn't expose your passwords to any internet site (whether or not you trust it); it generates highly secure, random passwords for each and every site, it's fairly easy to use once you have it all set up, it maintains an automatic backup of your password file online, and it's free.
That's really all there is to it. There is one optional step:
Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
Stack Overflow Podcast #21Episode #21 of the Stack Overflow Podcast is up, in which Jeff and I talk about the anthropology of abusive users. “You’ve got a bunch of people playing Chess, but certain people want to play ‘throw the chess pieces all over the park...’” The site itself goes live Monday. Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people. Categories: Technology
|
google ads |
Recent comments
31 weeks 4 days ago
31 weeks 4 days ago
34 weeks 6 days ago
34 weeks 6 days ago
36 weeks 1 day ago
36 weeks 1 day ago
37 weeks 4 days ago
37 weeks 4 days ago
38 weeks 1 day ago
38 weeks 1 day ago