A great developer must have technical skills, of course. But also personal soft skills. And sometimes it happends that soft skills might be even better than technical skills. Because once you get the right soft skills, technical skills come naturally.
Let's make a lkist which skills I mean:
Be creative and proactive. Take the lead of topics and keep the big picture in mind.
Be curious and always learn new things.
Be egoless. Don’t make fun of others and accept criticisms with kindness.
Be organized. Don’t be late. Know what to do and when to do it.
Help others. You’ll be more trustworthy.
In the end, solving problems and finding new ways to look at things is the core of our business. So it’s important for us to find new solutions and to look at things differently, to have another perspective on how things work. Don't be passive and wait for work.
That one is important since it will open new gates for you. Being curious means being willing to learn continuously and discovering new things. Never stop asking why things behaves the way they do or what’s going on under the hood.
You need to be humble and accept criticisms positively. If one is giving you legit feedback on your work, don’t take it as an offense. Learn from it and get better. If you’re working in team, introduce pair-programming and code reviews, you’ll gain a lot from it, provided you know how to communicate. It’s not because you don’t know something that it means you’re incompetent. It’s not because you have a question that it means you know nothing. It’s not because someone else know less things than you that it means you’re superior to him. You can be a successful developer and not know many topics as long as you have a domain of expertise and the right attitude.
I’m sure you know someone to whom you never ask help because you know it’ll be annoying for him. How do you feel in these kind of situations? I feel both idiot and stuck in these moments. Coding is hard. We encounter bugs everyday and it’s normal to reach out for help. So, be helpful. Take time with other team developers to help them in their tasks. Help people on Stack Overflow, write technical posts, be there for others.