In February 2021, I moved from working on an internal project with no client to one with a real end user. This project was my first ever client facing product that I'd be working on, and at this point I had only been working for 4 months part-time alongside my degree.
I am now moving onto another new project, and wanted to reflect on what I've learned from my first client project. As a Junior Developer, the opportunity to move onto new projects so quickly was really exciting, but also brought about a ton of nerves and anxiety. Here are some tips to myself (and anyone who reads this) to keep in mind as I transition to my new project:
I can sometimes feel worried about asking questions, in the worry that I will end up "exposed", and be found out as a fraud working as a developer. The typical case of impostor syndrome is a regular issue for me. The thing that helps me in this moment is that you aren't just expected to know everything - you will need time to get to grips with a new project, and that's normal.
I often feel like I need to be able to learn and do everything in a short space of time, and by everything, I literally mean everything (knowing the codebase in and out, contributing to the codebase super quick, and so on). This expectation comes from no one other than myself, and it is neither healthy or realistic. Taking a bit of time at the beginning without pressuring yourself is only going to help you as you ease into a new project.
As you gain momentum in a new project, you may start to see tickets which you could at least try to tackle. Towards the end of my previous project, I felt a little bit more confident putting myself forward for "bigger" tickets which I usually would feel overwhelmed by. The very least you can do is try things and keep asking for help as you move forward. Gaining confidence is still something I am working on, and I hope it does continue to increase throughout my career.
My current problem is having some compassion towards myself. I place extremely high expectations on myself (which no one else is putting on me) and naturally feel bad when I don't meet them. This happens often because, well, my expectations of myself are usually pretty unrealistic. Being harsh on yourself will only lead to burnout and a negative experience.
In the moments where you feel like you are struggling, it can be super hard to enjoy the process you are in. It is through these times and challenges that you'll be learning and growing, so try and acknowledge this. I think if I can try and do this more, I'll feel much better going into challenges which are more difficult.
I hope some of these tips helps you when facing new challenges. I certainly need to take these points on as I start my new project, and generally as I move through my career as a developer.