From the IBM Haifa Research Labs comes 10 Things Every Linux Programmer Should Know (PDF). Subtitled “Linux Misconceptions in 30 Minutes“, it covers ten of the most common areas of confusion for programmers beginning to look at Linux:
- User space vs. Kernel space
- Memory Allocation
- Processes vs. Threads
- Native POSIX Threads Library
- Optimization
- Abstraction Layers
- Coding Style
- Error checking
- Software development cost
- Portability
If you are a programmer interested in taking a look at Linux, it is well worth checking out.
These are the ramblings of 
Thanks. This looks like good info, even for some experienced programmers.