The Pragmatic Programmer is known as the evergreen of evergreen programming books. It outlines a wide array of principles and strategies for programmers to follow.
The common thread to all of them is being an early and fast adopter, curious, critical thinker, realistic, and a wide range of understanding. Most importantly, they think and care about their work.
Being pragmatic here means continuously analyzing your own work and improving. This takes time and energy but is a real requirement for the job and long-term investment to a satisfying career.