All blogs / Software / engineering practice
Joel on Software
A weblog by Joel Spolsky, a programmer working in New York City, about software and software companies.
Software / engineering practiceEngineering management / careersEssays / personalEngineering blogs
- Posts
- 973 from 24 Dec 1999 to 19 Dec 2022
- Posting
- quiet since 2022
- Kind
- personal blog
- Feed
- https://www.joelonsoftware.com/feed/
2022 2
2021 1
2020 1
2019 3
2018 5
2016 6
2015 1
2014 1
2013 4
2012 6
2011 14
- Should you launch at a conference?
- Announcing Trello
- Stack Overflow DevDays is Back!
- NY State Passes Marriage Equality Act
- Modern community building
- Help us organize the next Stack Overflow conference
- Lunch
- The podcast is back!
- Stack Overflow (the company) is now Stack Exchange
- Careers 2.0 (by Stack Overflow)
- Does your employer own your side projects?
- FogBugz/Kiln Demo
- Stack Overflow 2010 recap
- The Wikipedia of Long Tail Programming Questions
2010 32
- Stack Exchange for Jewish Life and Learning
- World Tour – last chance
- WebApps.stackexchange.com nothingtoinstall.com now live!
- FogBugz and Kiln (coming soon to a city near you)
- New, PNG-based Stack Overflow flair
- Merging Season
- Fork it!
- A new WordPress Stack Exchange
- Simplicity vs. Choice
- The growing empire of Stack Exchange
- Domain Names
- Web Applications Stack Exchange now in beta
- Don Norman at the Business of Software 2009
- Area 51 is now in beta
- My secret weapon for setting executive compensation
- Paul Kenny’s talk at the Business of Software 2009
- News 128
- Kathy Sierra’s talk at the Business of Software 2009
- News 127
- Note from Taco
- Sites for experts
- Stack Exchange 2.0
- The Design of Design
- Stack Overflow Party
- Distributed Version Control is here to stay, baby
- Puppy
- Facebook / LinkedIn importers
- Raising money for StackOverflow
- Headcount
- Why testers?
- Rocket Surgery Made Easy
- A little less conversation
2009 53
- Secret language
- Let’s stop talking about “backups”
- Stack stats
- When and how to micromanage
- Programmer search engine
- Upgrade your career
- Does Slow Growth Equal Slow Death?
- Figuring out what your company is all about
- Adam Bosworth on standards
- Capstone projects and time management
- The “WiFi At Conferences” Problem
- The Duct Tape Programmer
- Countdown challenge
- Upcoming startup workshop in San Francisco
- Being Number One
- New startup incubator in Cambridge, England
- Seth Godin at the Business of Software Conference
- The Day My Industry Died
- Web Startup Success Guide
- EBS 2.0
- Fruity treats, customization, and supersonics: FogBugz 7 is here
- Why Wolfram Alpha fails
- The eternal optimism of the Clear mind
- Platform vendors
- A visit to Microsoft and Google
- Conferences in New York
- StackOverflow DevDays: Five New Cities
- Get a job
- Server Fault now in public beta
- Stack Overflow DevDays
- Why Circuit City Failed, and Why B&H Thrives
- Talk about StackOverflow
- The Business of Software 2009 speaker lineup
- Win32 programmer needed
- Fog Creek Compensation System
- Solid State Disks
- Stack Overflow Live!
- How to be a program manager
- Start-up Static
- Is the tech recession over?
- The New York Times covers the Fog Creek office
- New, faster Copilot
- From Podcast 38
- I am not having any problems with Google
- Purchase orders and custom licenses
- Open House
- Thanks or No Thanks
- Open-plan offices make workers sick
- “By installing Java, you will be able to experience the power of Java”
- Goals
- Copilot OneClick for Macintosh
- Another resume tip
- Animoto
2008 63
- The new Fog Creek office
- Stack Overflow is a Wiki
- From the Department of Badly Chosen Defaults
- Future of Web Apps
- Snowy day in New York
- A new design
- Amnesia
- Stack Overflow Podcast #32
- My Style of Servant Leadership
- Stack Overflow Podcast #31
- Exploding Offer Season
- Stack Overflow Podcast #30
- Anecdotes
- Stack Overflow Podcast #29
- Stack Overflow Podcast #28
- The Unproven Path
- Stack Overflow Podcast #27
- Stack Overflow Podcast #26
- Sins of Commissions
- Stack Overflow Podcast #25
- Hair on fire
- Stack Overflow Podcast #24
- Imaginary product
- Stack Overflow Podcast #22
- Stack Overflow Launches
- Password management finally possible
- Stack Overflow Podcast #21
- We’re finally moving!
- StackOverflow Podcast #20
- StackOverflow Podcast #19
- How I Learned to Love Middle Managers
- A review of the Nokia E71
- StackOverflow Podcast #18
- Good System, Bad System
- Pecha Kucha
- Annual Fog Creek Open House
- Don’t hide or disable menu items
- Desks
- StackOverflow podcasts moving to IT Conversations
- Adventures in Office Space
- Architecture astronauts take over
- Stack Overflow Podcast #2
- stackoverflow.com
- First Joel on Software conference
- Fire and motion, small business edition
- Martian Headsets
- Marketing internships with Seth Godin
- Some interesting jobs
- Pressed uniforms, mid-winter tans, and morale
- Inspired Misfires
- Speakers for Business of Software Conference
- A correction to the correction
- Some corrections
- Why are the Microsoft Office file formats so complicated? (And some workarounds)
- Going to Tokyo
- TripIt is awesome
- Microsoft can’t speak straight any more
- :CueCat is back!
- Copilot is now free on weekends
- Five whys
- This year’s Business of Software conference
- Undergraduate programming
- Voting machine bugs
2007 100
- Travel Tips
- Getting Lookout to run on Outlook 2007 again
- Where there’s muck, there’s brass
- Talk at Yale: Part 3 of 3
- Talk at Yale: Part 2 of 3
- Talk at Yale: Part 1 of 3
- How walkable is your neighborhood?
- How to demo software
- Live from Dublin
- European FogBugz world tour this week
- News 126
- Earthquake!
- New websites
- Some feedback on EBS
- Evidence Based Scheduling
- Five easy ways to fail
- The Institute for Kiwi Studies
- FogBugz World Tour video now available
- Eurotour
- Sound Scientist
- Introducing FogBugz 6.0
- Live from Austin
- Well, if it hurts, you drive.
- Atlanta!
- Washington
- Another week…
- Stop the catalogs
- Outsmarting your airline
- Hello from San Francisco?
- California
- Explaining the Excel Bug
- Unfocused and Unabashed
- Princeton, Philadelphia, Boston
- Strategy Letter VI
- There’s no place like 127.0.0.1
- Spotted at San Jose Airport
- Chicago
- Seattle
- Vancouver, BC
- From the utopia department
- Even the Office 2007 box has a learning curve
- World tour: North America
- Year-end chaos
- The universe aligns to prove my point
- Learning from Dave Winer
- Open house today
- Gearing up
- Vesting
- Business of Software Conference
- Why we reimplemented SQL Server Mirroring
- Fog Creek Open House
- Craftsmanship
- Mixed environment
- Announcing FogBugz On Demand
- From the “interesting, but ultimately useless facts” department
- Announcing the Business of Software Wiki
- Management books
- FogBugz World Tour
- Web designer wanted
- fogcreek.de
- Font smoothing, anti-aliasing, and sub-pixel rendering
- Apple Safari for Windows: The world’s slowest web browser
- Paying for recruiting trips?
- A game of inches
- Smart and Gets Things Done
- Cobranding Copilot
- Big company life
- Travels
- Happy Mother’s Day!
- Typical Econ 101 management
- Registered users on the discussion groups
- Fix your mom’s computer for mother’s day
- Edinburgh reception
- New software for discussion groups
- More about elevators
- New elevator technology
- Zagreb / Edinburgh
- Guest editorial in Inc.
- VBA for Macintosh goes away
- Deriving your demand curve using exchange rate fluctuations
- Outlook 2007: downgrade no longer
- Moveable walls
- Monday Morning Links
- Scoble Show
- Job listings for India
- Localizing the job board
- Office search continues
- FogBugz auf Deutsch
- Wanted: Tech Writer
- Office Space Calculations
- Chargebacks
- Seven steps to remarkable customer service
- Customer service
- The MicroISV Show
- Founders at Work
- Copilot 2.0 ships!
- Some reviews…
- New version: FogBugz for Visual Studio
- The Big Picture
- Dreaming in Code
2006 102
- Bribing Bloggers
- Explaining Steve Gillmor
- New year’s resolution: get a better job!
- Half a million bugs!
- New Stuff!
- Elegance
- Simplicity
- Lego Programming
- Pump ‘n’ dump spam
- Using source control tools on huge projects
- Shutdown in OS X
- How many Microsofties does it take to implement the Off menu?
- Choices = Headaches
- From the “you call this agile?” department
- Oh, the emails you’ll get…
- The infinite music collection
- FogBugz as a help desk application
- What’s a SQL Injection Bug?
- Job seeker statistics
- Internships
- The Guerrilla Guide to Interviewing (version 3.0)
- The Guerrilla Guide to Interviewing: version 3.0 now shipping!
- The Phone Screen
- Book Review: Beyond Java
- Джоэл о программировании – only 250 rubles!
- New Feature: Job Search
- Stevey on Agile
- Followup on freezing MacBook Pro
- Amazing X-Ray Glasses from Sprint!
- Getting MarkDown and SmartyPants working with EditPad Pro
- Optimizing method calls
- Ruby Performance Revisited
- Composing in TextMate with MarkDown
- Now accepting summer internship applications
- Installing Vista RC1 in VMWare Workstation
- Sorting Resumes
- A Field Guide to Developers
- Company Name = Quality Jobs
- Commissioned Headhunters on the Job Board: Good or Bad?
- Field Guide to Developers
- Finding Great Developers
- Introducing jobs.joelonsoftware.com
- Cornell Speech
- Wasabi
- Language Wars
- My three favorite Firefox extensions
- Links
- Loved or Feared?
- Superstitious FAQ Writers
- Library Apps for Macintosh
- There’s got to be a way to do this…
- The Identity Management Method
- The Econ 101 Management Method
- The Command and Control Management Method
- Three Management Methods (Introduction)
- News 125
- Corrections!
- Can Your Programming Language Do This?
- Why Dell.com Still Feels Like Buying a Used Car
- Private Offices Redux
- Travelers Insurance: Drop Dead.
- Search Box
- Open House
- Wanted: System / Network Administrator
- A solution to tabs-vs.-spaces
- My First BillG Review
- Gates to Step Down
- There are easier ways…
- FogBugz 5.0 Ships
- FogBugz 4½ and Subjective Well-Being
- Lazy Programmer, Didn’t Handle Exception
- Aardvark’d Screening in New York
- Muriel Spark, 1918-2006
- The Development Abstraction Layer
- Internship in Graphic Design
- Foreword to “Eric Sink on the Business of Software”
- Eric Sink on the Business of Software
- Best Software Writing – Volume II
- What’s the Joel Reddit?
- Software Development Productivity Awards
- Usability in One Easy Step (First Draft)
- Usability in One Easy Step
- A lot of travelling
- Processing Internship Applications
- More on Calendars
- VMWare Server Now Free!
- Too Many Ajax Calendars
- FogBugz/SnagIt
- Great Design – Table of Contents
- What Makes It Great? (First Draft)
- What Makes It Great? (First Draft)
- What Makes It Great?
- Conferences
- Translations
- Great Design: What is Design? (First Draft)
- What is “Design”?
- Introduction to Great Design (First Draft)
- Introduction to Great Design (Second Draft, In Progress)
- Introduction to Great Design
- News, and, the end of ?off
- Jolt Award Finalists for 2006
- Micro-ISV: From Vision to Reality
2005 105
- Test Yourself
- The Perils of JavaSchools
- Saporasaki
- Interesting Links
- Shipping Update
- Behold, the Copilot Beer Pong Table
- Shipping Atoms
- How to Ship Anything
- News 124
- Fog Creek Goes to ETech
- Aardvark’d DVDs Ship; Final P&L
- Reading List
- Price as Signal
- Aardvark’d DVD Goes on Sale
- Asterisk, Ajax, and Astronauts
- Webstock: a Web Conference in New Zealand
- Massive Frontal PR is incompatible with Ship Early and Often
- A Minor Redesign
- Fog Creek Software Management Training Program
- Why eBay Bought Skype
- Something Rotten in AdSense
- Architecture Astronauts Are Back
- News 123
- News 122
- News 121
- News 120
- News 119
- News 118
- Set Your Priorities
- News 117
- News 116
- News 115
- News 114
- The Project Aardvark Spec
- News 113
- News 112
- News 111
- News 110
- News 109
- Usability Testing with Morae
- News 108
- News 107
- News 106
- Hitting the High Notes
- News 105
- News 104
- News 103
- News 102
- Project Aardvark Midterm Report
- News 101
- News 100
- News 99
- News 98
- News 97
- News 96
- News 95
- News 94
- News 93
- News 92
- News 91
- News 90
- News 89
- News 88
- News 87
- News 86
- News 85
- Making Wrong Code Look Wrong
- News 84
- News 83
- News 82
- News 81
- News 80
- News 79
- News 78
- The Road to FogBugz 4.0: Part V
- News 77
- The Road to FogBugz 4.0: Part IV
- News 76
- The Road to FogBugz 4.0: Part III
- News 75
- The Road to FogBugz 4.0: Part II
- News 74
- The Road to FogBugz 4.0: Part I
- News 73
- News 72
- News 71
- News 70
- News 69
- News 68
- News 67
- News 66
- News 65
- News 64
- News 63
- News 62
- Foreword to Painless Project Management with FogBugz, by Mike Gunderloy
- News 61
- News 60
- Colo Expansion Version 2.0
- News 59
- News 58
- News 57
- News 56
- Advice for Computer Science College Students
- News 55
2004 75
- News 54
- News 53
- News 52
- News 51
- News 50
- Camels and Rubber Duckies
- News 49
- News 48
- News 47
- News 46
- News 45
- News 44
- News 43
- News 42
- News 41
- News 40
- News 39
- News 38
- News 37
- News 36
- News 35
- News 34
- News 33
- News 32
- News 31
- News 30
- News 29
- News 28
- News 27
- It’s Not Just Usability
- News 26
- News 25
- News 24
- News 23
- News 22
- News 21
- News 20
- News 19
- News 18
- News 17
- News 16
- News 15
- News 14
- News 13
- News 12
- News 11
- News 10
- News 9
- News 8
- News 7
- News 6
- How Microsoft Lost the API War
- Mike Gunderloy’s Coder to Developer
- News 5
- News 4
- News 3
- 25 2
- 04
- Top Twelve Tips for Running a Beta Test
- 02 2
- 28 3
- 27 2
- 20 4
- 31 3
- 30 2
- 28 2
- 27
- Getting Your Résumé Read
- 26 2
- 20 3
- 19 3
- 17 4
- 13 2
- 12
- 08 3
2003 84
- 31 2
- 22 3
- 15 3
- Biculturalism
- 01 4
- 30
- 22 2
- 14 3
- 07 2
- 06
- 3
- 31
- 25
- 24 2
- 23 2
- 21 2
- 17 3
- 15 2
- 14 2
- 13
- 10
- The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
- 01 3
- Bionic Office
- 24
- 19 2
- 08 2
- 28
- 26
- 22
- 21
- 20 2
- 08
- 02
- Rick Chapman is In Search of Stupidity
- 01 2
- 29
- 23
- 17 2
- 16 2
- 14
- 01
- 20
- 19
- 17
- 16
- 15
- 11
- 07
- 05
- News 2
- Fixing Venture Capital
- News
- 2003/06/01
- 2003/05/16
- 2003/04/28
- 2003/04/22
- 2003/04/21
- 2003/04/18
- 2003/04/16
- Finding an Office in New York City
- 2003/03/28
- 2003/03/26
- 2003/03/24
- 2003/03/23
- 2003/03/14
- 2003/03/07
- Building Communities with Software
- 2003/03/03
- 2003/02/28
- 2003/02/25
- 2003/02/14
- 2003/02/05
- 2003/02/04
- New Server at Peer 1 Network
- 2003/02/03
- 2003/01/28
- 2003/01/25
- 2003/01/16
- Mouth Wide Shut
- 2003/01/15
- 2003/01/09
- 2003/01/03
- 2003/01/02
2002 97
- 2002/12/24
- Lord Palmerston on Programming
- 2002/12/11
- 2002/11/28
- 2002/11/25
- 2002/11/19
- 2002/11/14
- 2002/11/13
- The Law of Leaky Abstractions
- 2002/11/11
- 2002/11/08
- 2002/11/04
- 2002/10/30
- 2002/10/28
- 2002/10/23
- 2002/10/21
- 2002/10/19
- 2002/10/18
- 2002/10/17
- 2002/10/16
- 2002/10/09
- 2002/10/08
- 2002/10/07
- 2002/10/02
- 2002/09/25
- 2002/09/19
- 2002/09/18
- 2002/09/17
- 2002/09/13
- 2002/09/12
- 2002/09/11
- 2002/09/10
- 2002/09/04
- 2002/09/03
- Platforms
- 2002/08/30
- 2002/08/25
- 2002/08/19
- 2002/08/15
- 2002/08/13
- 2002/08/05
- 2002/07/30
- 2002/07/19
- 2002/07/18
- 2002/07/16
- 2002/07/15
- 2002/06/25
- 2002/06/19
- 2002/06/16
- 2002/06/15
- Strategy Letter V
- 2002/06/10
- 2002/06/07
- 2002/06/06
- 2002/05/16
- 2002/05/13
- 2002/05/10
- 2002/05/08
- 2002/05/07
- Five Worlds
- 2002/05/06
- 2002/05/05
- 2002/04/30
- 2002/04/28
- 2002/04/27
- 2002/04/26
- 2002/04/25
- 2002/04/19
- 2002/04/12
- 2002/04/11
- 2002/04/10
- Picking a Ship Date
- 2002/04/07
- 2002/04/02
- 2002/03/20
- 2002/03/18
- 2002/03/14
- 2002/03/13
- 2002/03/11
- 2002/03/05
- Nothing is as Simple as it Seems
- 2002/02/25
- 2002/02/09
- The Iceberg Secret, Revealed
- 2002/02/08
- 2002/02/07
- 2002/02/06
- 2002/02/04
- 2002/01/31
- 2002/01/24
- Rub a dub dub
- 2002/01/11
- 2002/01/10
- 2002/01/08
- Fire And Motion
- 2002/01/06
- 2002/01/02
2001 105
- 2001/12/30
- 2001/12/26
- Getting Things Done When You’re Only a Grunt
- 2001/12/25
- 2001/12/19
- 2001/12/16
- Humane Programming
- 2001/12/13
- 2001/12/12
- Back to Basics
- 2001/12/10
- 2001/12/05
- 2001/12/04
- 2001/11/30
- 2001/11/29
- 2001/11/27
- 2001/11/22
- A Hard Drill Makes an Easy Battle
- 2001/11/20
- 2001/11/16
- 2001/11/14
- Working on CityDesk, Part Five
- 2001/11/09
- 2001/11/07
- 2001/11/06
- 2001/11/01
- Working on CityDesk, Part Four
- 2001/10/29
- 2001/10/23
- 10/19/2001
- Working on CityDesk, Part Three
- 2001/10/17
- 2001/10/16
- 2001/10/15
- In Defense of Not-Invented-Here Syndrome
- 2001/10/14
- Working on CityDesk, Part Two
- 2001/10/13
- Working on CityDesk, Part One
- 2001/10/12
- 2001/09/24
- 2001/09/12
- 2001/09/11
- 2001/08/31
- 2001/08/23
- 2001/08/22
- 2001/08/15
- 2001/08/14
- 2001/08/13
- 2001/08/08
- 2001/08/05
- Hard-assed Bug Fixin’
- 2001/07/31
- 2001/07/16
- Good Software Takes Ten Years. Get Used To it.
- 2001/07/17
- 2001/06/27
- 2001/06/03
- 2001/06/24
- 2001/06/21
- 2001/06/18
- 2001/06/17
- 2001/06/14
- 2000/06/14
- 2001/06/07
- 2001/05/31
- 2001/05/29
- 2001/05/28
- 2001/05/08
- What is the Work of Dogs in this Country?
- 2001/05/05
- 2001/05/04
- 2001/05/03
- 2001/04/21
- Don’t Let Architecture Astronauts Scare You
- 2001/04/20
- 2001/04/19
- 2001/04/18
- 2001/04/17
- 2001/04/06
- 2001/04/05
- 2001/04/03
- 2001/03/29
- 2001/03/27
- How Many Lies Can You Find In One Direct Mail Piece?
- 2001/03/24
- Strategy Letter IV: Bloatware and the 80/20 Myth
- 2001/03/23
- Spring in Cambridge
- 2001/03/19
- 2001/03/05
- 2001/02/21
- 2001/02/13
- Human Task Switches Considered Harmful
- 2001/02/12
- 2001/02/08
- 2001/01/30
- Daily Builds Are Your Friend
- 2001/01/27
- 2001/01/23
- 2001/01/20
- 2001/01/19
- Big Macs vs. The Naked Chef
- 2001/01/18
- 2001/01/16
2000 112
- 2000/12/30
- 2000/12/26
- 2000/12/21
- 2000/12/20
- 2000/12/19
- 2000/12/09
- 2000/12/07
- 2000/12/06
- 2000/12/05
- 2000/12/02
- 2000/11/30
- 2000/11/29
- 2000/11/28
- 2000/11/27
- 2000/11/22
- 2000/11/20
- 2000/11/19
- 2000/11/16
- 2000/11/14
- 2000/11/13
- 2000/11/12
- 2000/11/09
- Painless Bug Tracking
- 2000/11/07
- 2000/11/06
- 2000/11/04
- 2000/11/03
- 2000/11/02
- 2000/10/27
- 2000/10/25
- 2000/10/24
- 2000/10/16
- Painless Functional Specifications – Part 4: Tips
- 2000/10/15
- 2000/10/12
- 2000/10/10
- Painless Functional Specifications – Part 3: But… How?
- 2000/10/04
- Painless Functional Specifications – Part 2: What’s a Spec?
- 2000/10/03
- Painless Functional Specifications – Part 1: Why Bother?
- 2000/10/02
- 2000/09/29
- 2000/09/28
- 2000/09/25
- 2000/09/19
- 2000/09/18
- Wasting Money on Cats
- 2000/09/12
- 2000/08/31
- 2000/08/30
- 2000/08/28
- 2000/08/22
- 2000/08/21
- 2000/08/18
- 2000/08/14
- 2000/08/10
- The Joel Test: 12 Steps to Better Code
- 2000/08/09
- 2000/08/07
- 2000/08/04
- 2000/07/31
- 2000/07/28
- 2000/07/26
- 2000/07/25
- 2000/07/24
- 2000/07/22
- Whaddaya Mean, You Can’t Find Programmers?
- 2000/06/15
- 2000/06/12
- Strategy Letter III: Let Me Go Back!
- 2000/06/03
- 2000/05/26
- Strategy Letter II: Chicken and Egg Problems
- 2000/05/24
- 2000/05/15
- Strategy Letter I: Ben and Jerry’s vs. Amazon
- 2000/05/12
- 2000/05/10
- The Process of Designing a Product
- 2000/05/09
- 2000/05/08
- 2000/05/04
- 2000/05/02
- Top Five (Wrong) Reasons You Don’t Have Testers
- 2000/04/30
- 2000/04/28
- 2000/04/27
- 2000/04/26
- 2000/04/23
- 2000/04/22
- Where do These People Get Their (Unoriginal) Ideas?
- 2000/04/19
- 2000/04/18
- 2000/04/12
- 2000/04/11
- 2000/04/10
- Things You Should Never Do, Part I
- 2000/04/06
- 2000/04/04
- Incentive Pay Considered Harmful
- 2000/03/30
- 2000/03/29
- NDAs and Contracts That You Should Never Sign
- 2000/03/28
- Command and Conquer and the Herd of Coconuts
- 2000/03/23
- 2000/03/21
- Two Stories
- 2000/03/19
- More on Sabbaticals…
- 2000/03/18