In January 2022, I started my first job in the tech industry. Having only previously worked in healthcare, I was excited to start my new role: Junior Automation Engineer. My first day was going fantastically as I set up my computer. Then, I pulled down the repository, opened up the project, and a new feeling had set over me: fear.
My job wrote their test automation in C#, a language I had never used, and with an open-source framework called MAQS, a framework I’ve never used. I looked at the hundreds of files in the project, and imposter syndrome immediately began to overwhelm me. I was not very productive the rest of that day.
However, I quickly learned some tips for familiarizing myself with a codebase, framework, and language I had never used before. Here are my top 3 tips:
1. Start Small
For the first few days, I was completely overwhelmed by the number of files and the massive structure of the project. How would I ever be able to figure out how this is working? I decided to focus on one file and figure out how it was working. It took time to understand it, but in learning how that file was set up and working, I was able to apply that knowledge to other files in the project. The project slowly started to seem less scary.
2. Get Your Hands Dirty
My next task was to actually start writing automation. I was petrified of messing up the whole project, so I made sure every line of code I wrote was perfect. This method, however, actually delayed my learning of the codebase. I’ve since learned to focus on getting working code out, even if it is not the perfect code I aspired it to be. Code can always be improved afterward, so do not allow your fear to stop you from starting: just write the code.
3. Documentation. Documentation. Documentation.
I know this adage has been repeated nearly infinite times, but it is worth repeating. Documentation is your friend (and sometimes your enemy), so use it heavily. I had the unfortunate experience of my manager leaving about a month after I started, but I was able to continue learning and growing on my own by familiarizing myself with the framework’s documentation. Instead of fighting your code to work, spend a little time reading about whatever you’re working on: it will save you loads of time.
Overall, it can be a daunting task to jump into a codebase you have never seen or worked with before. It is important to start slow and low, not let fear stop you from getting in and writing code, and utilize the best resource you have: documentation.