Lessons from my first developer role
As a recent bootcamp grad, I got my first role (volunteer) at Reputationaire (check us out!) as a full-stack engineer. It has been 3 weeks since I started my role there (whoaaa! time flies).
In that time, I also got selected to mentor learners participating in the Google Africa Developer Scholarship program.
Here’s a summary of my first couple of weeks at my new role.
- You will feel lost and confused. You’ll doubt yourself a number of times. Rememeber that that’s normal. In my first week, I had to setup Docker, blockchain, MySQL amongst other technologies that I had previously never worked with. It took me a week to get everything working — At this point, I had not written a line of code.
- You’ll read thousands of lines of other people’s code and may not know what’s going on half the time. As such, it’s better to have tasks that are scoped in small bits to allow you familiarize yourself with the codebase. My first task was implementing HTML emails and that took me a week to begin to understand which part of the code does what. LOL.
- Documentation! If you’re unlucky to work in a company with poor documentation — I’m sorry, I can’t help you. You’ll suffer for it. At Reputationaire, one of my favorite things is that the CEO constantly encourages developers to document things. In fact, my first task before the HTML one was documenting any issues I faced while cloning and setting up the repos on my local machine. Documentation is important as a reference point and for anyone else working on the codebase in the future.It also helps everyone collaborate and work faster. It’s almost like an FAQ document but better!
- Questions! Documentation is great, and it helps. A lot. But, you’ll still have a looooootttttttt of questions. It’s important to have responsive leads and team-mates to help you if you get stuck. Ask any question you have. There were days where I felt like I was asking stupid questions like — Where is this function defined?. I asked them anyway. The CEO was very understanding of my limited experience working with a large codebase and helped me out a lot.
- Bugs and errors. You should know by now that as a developer, you can’t run from this. You’ll face and encounter weird bugs that no one on your team can help you with. Stick with it!
- You’ll get stuck. I’m starting to learn that getting stuck is part of the job and it comes with the terrain. I’m embracing it. Prepare for being stuck.
- Track your progress. At Reputationaire, we have a weekly tracker for everyone to fill in to track what work we completed that week. It helps you stay on course and to see how much you were blocked that week (if at all). I also use clockify to track how much time I’m spending on tasks.
- Time. Great things take time. Give yourself time to learn and grow. You got this role because someone considered you good enough. You worked hard to be at this level. Enjoy it!