The tech industry is probably one of the most fast-paced and continuously changing industry in the world. To be a successful developer, one has to be as curious as a cat. Always learning new technologies, frameworks, libraries and being constantly on top of your programming skills.
It is no surprise why the genius Albert Einstein once said that "Once you stop learning, you start dying". And that quote is especially true for developers.
Habits to adopt to be curious:
- Never stop asking "why": Do not be shy to ask questions, even if you think it may be stupid.
- Read: Reading often helps you discover new insights and technologies from other developers. It may even inspire you to learn and build something completely out of your comfort zone.
Would you ever want to work with a developer who never acknowledges his mistakes and believes his code is always better than everyone else's? Most likely, you'll answer no (If yes, please tell me why).
To me, a successful developer is the one with humility and respect for others' opinions. It is okay to admit that you don't know everything because we all don't. Having the right attitude to accept constructive criticisms from others and learning from mistakes is how one can improve and be a respected and successful developer. I think that is more important than always insisting to be the right and smartest one.
Habits to practice humility:
- Ask for feedback: Be open to criticisms. Be respectful of other's opinions.
- Be grateful: From receiving positive reviews to negative feedback, stay grateful for the fact that people are willing to give you advice.
- Seek help when you need it: Don't be hesitant to ask for help whenever you are stuck in your project or have an annoying bug to fix. There are many resources like StackOverflow with communities of awesome people who are willing to help you.
Author of the 7 Habits for Highly Effective People, Stephen Covey, once said,
"Most people do not listen with the intent to understand; they listen with the intent to reply."
And so, it got me thinking, if I had to choose the most important soft skill that anyone, not just developers, needs to have in order to be successful, it is Habit Number 5 from that book:
Seek First to Understand, Then to Be Understood
As developers, we have to work with other developers, business owners, product managers and many more people. It is essential to listen to what everyone has to say and communicate what you want to say clearly. Effective communication is both being able to talk and listen well.
Habits to practice effective listening:
- Be present: Focus on what the person is saying and give full attention when listening.
- Be open-minded: Do not dismiss, filter or judge anything the speaker is saying before they are done.
- Do not interrupt: Even if a thought came to your mind as the speaker is talking, let him/her finish first then reply or ask relevant questions.
There's a saying that persistence is the key to success and that is very true for developers. When we get stuck in developing or facing a huge amount of workload, it is easier to just give up and quit. But no good developers will do that. They stick to it and persevere to overcome challenges as they continue to learn and build things. That is how they grow to be great developers.
Yes, we may reach a point when we question our abilities and doubt ourselves as developers but learning from failure and mistakes, continuing to do what you love and being able to seek help from the people who care about you, isn't that more fulfilling than giving up? Take your time because everyone learns at their own pace. All that matters is you keep going.
Also, remember that you are not alone. All those fantastic developers around you probably have experienced and still experiencing troubles to overcome every now and then. But their persistence and willingness to learn drives them to move forward in their coding journey.
Habits to develop persistence:
- Be self-motivated: Find out what motivates you the most and work towards that goal. It will keep you driven and self-motivated.
- Have a positive attitude: When life gives you lemons, make lemonade. That saying never gets old. Keep yourself optimistic because things will get better if you don't give up.
5. In programming, the hard part isn't solving problems, but deciding what problems to solve - Paul Graham
Coding is ultimately about problem solving and deciding which problems to solve. To be a good developer, you have to be a good problem solver. People outside the tech industry might think that we developers are some of the world's most rigid and un-creative people. But in actual fact, it is the complete opposite - we are some of the most creative people. We have to be.
Good problem solving comes with the ability to find new solutions, identity problems that needs to be solved and implementing solutions. A well thought out, optimal solution to a problem is a result of deep thinking, analysis and a high level of problem solving skills.
Habits to improve problem-solving skills:
- Simplify the problem: Ever heard of the divide and conquer technique? Break a problem down to smaller problems and try to see if there is a solution. Or try the brute force solution, the most straightforward solution first then go from there.
- Ask relevant questions: If the problem is not clear enough, find more information on it. Try to really understand what the problem is asking for.
- Focus on the solution: Don't get too hung up on the problem. Instead, try to really look for a solution and keep a positive mindset. This will keep you motivated to search for solutions.
Thank you for reading this long post till the end! I hope this has been an enjoyable read to you as much as it was for me to write. If it is, be sure to leave a 'thumbs up'! And please share your thoughts in the comments below on what is success to you and what other soft skills besides the ones I mentioned is important to you as a developer. I would like to know! All the best to your coding journeys. Cheers!
Images from unsplash, raw pixel