Being confident in your development capability is something most Software Engineers (SE) don't talk about and I've seen firsthand what can happen if an SE doesn't believe in their capability. I know what you're probably thinking, Ameer has turned into a motivational speaker since his last post, years ago 😆 but you're wrong. I simply want to talk about how being confident in your ability can make you a better SE.
A lot of people make the mistake of thinking that being confident means that you are egotistical. For some that is true but that doesn't have to be the case for you. What I mean by confident in this post, is just believing in yourself and your ability to solve a problem. I'm not saying that you have to think that you are the best developer on the planet and that you're better than everyone on your team. What I am saying is that you should believe that you can complete whatever task you have. The first thought that comes to mind for most developers that I've worked with when assigned a task is
Oh I don't know if I can do this.
(please don't think I'm calling anyone I've worked with a bad developer that's definitely not what I'm saying) While it's good to be cautious when working on a task you should believe that you can get it done, why shoot yourself in the foot before you even get started?
I've even experienced this myself. When doing interview prep, I often find that when I think a certain topic/problem is hard before starting it, it ends up being hard for me to solve. But when I approach a problem with the mindset of "Oh this will be fun" or "I got this" it's 100x easier to solve and I have fun doing it.
As SEs, we are lucky to be in a field where it's very easy to test whatever it is that you build. You can write some code, compile it, and run it within a couple of seconds/minutes and test your implementation. How many other professions can do that? And better yet, it allows you to move fast. So when you start working on something don't be afraid to write some code, whatever comes to mind first, test it out, and iterate. As long as it's local and not production, who cares if it breaks, just undo it and try again. Now obviously things should be thought out but don't be afraid of your code base.
Woah woah woah, I shouldn't ask for help? - probably you
No that's not what I'm saying. You should definitely ask for help at work when you need it! But that shouldn't be your go-to every time. What I am saying however, is that before you ask for help, give it a try yourself, play around with the code, explore how the different pieces of your code base work together, and don't be afraid to make some edits. Nine times out of ten you'll figure it out on your own. When you can't, you should reach out to someone. Not only will this help you believe in your own capabilities but it will also help you improve your skills.
You've got this and you should truly believe it! Learn from your mistakes and keep moving forward. It'll make you a better Software Engineer and you'll enjoy the work you do 10x more.