As far as the work environment, it is exactly what you read about. A few guys in a basement or a garage. A desktop sitting next to you as the server. Slinging code and trying to get it to customers. At my first startup, we didn't even have an internet connection - we developed on a local LAN, and transferred the deliverable to the clients via FTP from home, or sometimes even via disk. We got a few customer and rented an office space, and then had 6 guys in 3000 square feet of open space with a few folding tables. Later, we were able to build out walls, hire more people, and make it a real office.
We went public, had lots of paper numbers next to our names, and then it all crashed.