Be Humble

Some of the best developers I know treat everyone with mutual respect. Not only this they are open about what they do know and what they don't know. In fact they'll often proclaim “I don't know” and go about finding out how they can answer your question or solve a particular problem.

Example

A past mentor of mine had a wealth of experience in both the domain and software development itself. In contrast I had no domain experience and very limited practical ability. Despite this gap I was treated as they would treat an equal. No matter how stupid or basic my questions.

However our roles switched one day when I explained about my background in games programming. My mentor decided to have a go, a topic on which he knew nothing. He was both humble and happy to be led and openly admitted his shortcomings. In the end we were able to build a basic game. Here I answered what I considered basic questions, while he gained experience.

Opposite Example

On the other hand some of the worst developers I've worked with are the opposite of the past example.

Lessons

Software languages, tools and techniques rapidly change. You can't know everything. You can be the expert of one topic one day, and the beginner in another area the next day. Embrace this and learn as you go. Just be humble about it.