I've had my first developer job for a little over 3 months now and I've already learned so much. It's still a struggle but I feel like my head is finally above water. Before I started my job I didn't realize just how difficult the first week would be for me.
This post is in no way meant to scare you, I just want to talk about my experience and maybe help some people along the way. A lot of resources in our community will help you find your first job but I don't see as many that help you excel in it. This is not meant to be a guarantee, but my hope is that sharing my experience and what I wish I would have known will help you. This is meant to be advice to my past self.
Find someone you feel comfortable with
A new job and especially your first developer job can be very stressful. Even now I still struggle with it when I'm given a particularly hard task and feel just as lost as I did on the first day. I started to have less and less of these days but something that's helped me tremendously is finding someone I feel comfortable talking to.
In the beginning, it was my manager, then it became a senior engineer on the team, and now I have a lot more people who I feel comfortable reaching out to. A common piece of advice is to ask more questions, and while I whole-heartedly agree with it the aspect I struggled with the most was finding someone to ask.
As a new developer, I felt really nervous about bothering people, asking silly questions, and having people think I wasn't trying. A lot of this stemmed from wanting to make a good impression and not seem like a burden to my new teammates. Luckily I was able to come across some nice people who reassured me.
- My advice is to try and make 1-on-1s with your new teammates. This will help you introduce yourself to everyone and feel more like a part of the team as well as learn more about everyone's background and experience. If you're more familiar with someone it tends to be easier to ask them for help.
Ask more questions
This advice goes hand and hand with the first and it's probably some of the most common advice you'll hear. That should show you just how important it is.
No one expects you to know everything and traverse through a new codebase easily (I hope). It takes time to ramp up and get into the swing of things. One thing I didn't know was that even senior and long time engineers need ramp-up time! The best way to ramp up quickly and feel more comfortable and confident is to ask questions.
Hopefully, a lot of your questions will be answered in an onboarding document, like environment instructions, PR practices, and app structure. But all those leftover questions should go to your manager, mentor, or a team member you feel comfortable talking to.
- I normally try to not spend more than 35 minutes stuck on a problem. This number is flexible depending on how tough the problem is and how much progress I'm making. Sometimes problems rely on context you might not know if you're new to the project.
In the past, I've definitely been guilty of thinking I'll remember something and then forgetting it later. I knew there was going to be way too much new information to process in my new job so one of the first things I got was a new notebook to write everything down in.
This includes commands I always look up, wins that I'm proud of, new things I'm learning like testing. For me, it's really helpful to look back just a few weeks and see how much I've grown and saves me a ton of time trying to find that old resource I used.
There's probably a lot more advice that I'm currently forgetting but this is some of the basic stuff I wish past-me knew before I started my job.