"I'm not good enough to be a software developer". This is one of the most common sentiments I've heard through having hundreds of conversations with budding developers. There seems to be some unjustified expectation that all successful software developers are masters of their craft. That to be one you have to know absolutely everything there is to know about the language and relative technology stack. That these "experts" are just naturally good at it. After years learning, teaching, working in and now coaching Python programming, it's become apparent that this just isn't true. In fact, the most successful developers I've met aren't just "naturally gifted" at all. Rather, the key to their success comes with having the right mindset.
This may sound like a cop out but it really isn't. Having the right mindset as a software developer is key to your success. It isn't just about writing "clean code", that's only part of the equation. It's how you think, behave, react and communicate that set you apart from the rest. A great example here is that of the Code Review. Some people shy away at the idea of their code being reviewed and critiqued by anyone, let alone their peers. They think their code isn't good enough and feel like any criticism is a sign of their ineptitude. This is all just Imposter Syndrome.
In reality, the Code Review is a process to not just ensure bugs in the code, inconsistencies and risks are mitigated, it's also there as a teaching mechanism. As we always say, "you don't know what you don't know". The mindset takeaway here is that successful developers look at the Code Review process as an opportunity to learn and grow. If their code is denied, they take that feedback and learn from it. They embrace the experience, consume the recommendations to fill potential gaps in their knowledge and then most importantly, implement what they learn. None of this has anything to do with their technical prowess, rather, it's all about how they choose to react to the situation.
This is a topic that could fill countless pages but for brevity, I'll summarise some mindset tips you can take on or implement right now to make you a more effective developer:
1. Take all feedback as an opportunity for growth. Don't shy away from it. (Read more in the book, "Mindset" by Carol Dweck, one of my favourites).
2. Communication is key. Being able to communicate your ideas will set you apart from the rest. Remember, not everyone you interact with will be a developer who understands the jargon!
3. Know when it's time to take a break. Simplistic but effective. Walking away to give your active mind a break and coming back fresh helps get through those tricky coding problems.
4. Build relationships often. Networking and having conversations whenever you can is a great way to keep opportunities coming your way.
5. Share your knowledge! Great developers don't hoard information. They share, they believe in the growth of others around them and they take opportunities teach and mentor.
6. Build a daily habit of learning. The skills don't just appear out of nowhere. They're a product of constant learning. Tinker and play, have fun with it, just be consistent.
7. Set goals. It doesn't matter how big or small they are, setting goals will give you something to work toward. The best developers know why they're pushing code every day and what it means to them.
8. Above all, determination and consistency will get you your success. Successful developers don't give up. They keep at it. If they hit a wall, they rethink their approach, seek help and advice, and find a way around the problem.
Mindset isn't something many associate with being a successful developer but time and time again we see just how effective a strong mindset is at being able to survive and succeed in the world of software development.
If you're looking to succeed as a software developer, whether you are one or not, there's one thing you need to do right now: take 5 minutes and plan your next step. What's the goal? What do you need to do to get there?
Remember, there's so much more to being a successful developer than just knowing how to code!
If you'd like to know more, come visit us over at PyBites where we love to build confident developers by talking, teaching and coaching people on Python, Mindset and Careers.
Related articles
CITIZENLAB LAUNCHES OPEN SOURCE ENGAGEMENT TECH TO EMPOWER LOCAL GOVERNMENTS
Rushi Millns: From Technology and Teaching into Politics
REIGNITING FAITH IN LOCAL DEMOCRACY
Women in Tech: Interview with Michelle Wong, Senior Marketing Analytics Manager at Farfetch