Working at NeXT was the most exciting software engineering job I ever accepted.
NeXT was like graduate school, bringing together a high concentration of some of the brightest and most innovative technical minds. Many people had computer science (or other) research backgrounds. One thing that was unusual is that all the technical people there understood all aspects of the machine. Software people could talk about ASICs and CPU instructions, and the hardware people understood the software stack. Every aspect of what it takes to make a computer work was represented in one building: analog hardware, chip design, motherboard design, compiler design (objective C), loader, operating system, windowing system, application layer, and applications. Where other companies had engineering teams, NeXT would have a single individual. Many people had been managers or technical leads elsewhere and came to NeXT to be an individual contributor to help create the most innovative computer ever invented (enter reality distortion field).
When I joined, Steve Jobs was in a different building with the marketing folks, separated from the engineers. Supposedly the new campus had been planned that way so that Steve wouldn't tour around among the engineers, ask them what they were working on, and redirect them onto new projects when they were supposed to be working on deadlines. Because if Steve got excited and said something would be cool, engineers would stop whatever they were doing and start working on that.
At one point, Lotus Notes was getting traction and Steve thought it was interesting. He liked the idea of a network based application with information objects floating around. So he called a meeting with 10 software engineers around the giant board room table to brainstorm. It was exciting to be invited. The initiative got called Object Soup, and while nothing concrete emerged, it influenced the direction of parts of the software infrastructure.
Steve could also be ruthless with his feedback. In my first meeting with him to present what I had been working on (which was held on a Saturday morning), he looked at the demo for 5 minutes and told me I had "ruined NeXTSTEP" (the software platform). This was a 3 month build-up for a big demo on Monday (in 2 days) in front of the entire engineering division at Oracle (400+ people), by invitation of his close friend, CEO Larry Ellison. Steve said the work was so bad, he thought he should cancel his presentation at Oracle. "Unless...", he paused with a twinkle in his eye, "something can be done."
So we did something. We worked through the night to pull out all of the SQL-specific features he didn't like (not elegant enough), and met him at the office Sunday morning. He reviewed the demo for 2 minutes and said enthusiastically, "This is 10 times, no 100 times, no 1000 times better!!!" The Monday demo was on, and Steve received a standing ovation from the Oracle employees.