Welcome back to the monthly (or bi-monthly apparently) insight into my life as a recently employed Full Stack Developer in my first full-time role. It's a chance for me to reflect honestly on my progress and to throw out my thoughts on 'paper'. I hope it can help you too!
If you haven't already noticed, I missed last month's edition so I'm bundling it into this one. Without further delays, let's see how things went for me in months 2 and 3!
- Becoming more proactive
- Making code gains
- What kind of things did I work on?
- My tip for the month
- Did I achieve what I set out to?
Perks of the job!
👊 Becoming more proactive
I'm not ashamed to say that in my first month, I was very much working reactively as opposed to being proactive. What I mean by this is that I was generally being given for tasks as opposed to picking things up myself. Of course, I was new in my first role and very much trying to find my feet. I didn't want to go and do things I maybe shouldn't.
I was also in the process of becoming comfortable in the multiple codebases we have but there was also a definite lack of confidence on my part. I guess I didn't feel like I should at that point.
In June I felt this started to change.
A week focused on bug fixing forced me into having to pick up tasks myself and carry them through to completion. I'm grateful for this because it broke me out of my shell and I was now feeling like less of a burden on my teammates which I really didn't like.
Now I'm much happier taking on tasks that I don't feel comfortable with. That is the nature of the job after all, especially early on especially at Hashnode where we have to tackle a variety of problems from beginning to end, frontend and backend. This is an awesome thing because I'm able to pick up a lot of things as I go across many different aspects of web development.
I make a note of every bug or problem I come across so that if I ever encounter them again, I'll know what to do.
💪 Making code gains
I know I still have a long way to go but I feel as though I made some big strides in these couple of months. Just getting to spend more time in the codebase, reading my coworker's code, writing more code myself. This kind of experience is invaluable.
Of course I still have a long way to go and I'm excited about it. When I first started this job, I looked back at some of the projects I had built previously. Even then I was starting to think that some of that code could be much improved. Just goes to show how much progress you're making when you can realize this and know how you might update it or do things differently.
💻 What kind of things did I work on?
Now that it's not a secret anymore, I can tell you that I was helping out the team on Hashnode's migration to Vercel which you can (and should) read about here 👇
I joined Hashnode shortly after work on the migration had begun and so this was the start of my career in software development. It was of course, my first experience of migrating an existing codebase and in some way I think this helped me get settled. Allowing me to ease me into things since I was mostly migrating and updating existing code instead of writing new code.
It allowed me to fully explore the codebases and find my feet. Things become so much easier in a large codebase when you start figuring out where things are and how things are currently working.
Once the main development work was done on the migration I got to move into some other tasks as well including 👇
- Unit testing with Jest and end-to-end testing with Cypress.
- Implement the new blogs mobile navigation
- Several small bug fixes
Practical learning (learning by doing) is what usually works for me. I had never touched Cypress before I was tasked with it so it's a case of opening the docs and taking it step-by-step. It's awesome to have the opportunity to learn something new and contribute to the project at the same time.
I'm looking forward to picking up new skills in the coming months.
💡 My tip for the month
Whether you're like me and love to write handwritten notes, or you favor something like Notion (which I also like). If you're working on a project, learning a topic, or whatever else it may be, write down things of note.
Anything you think you might want to refer back to in the future should be included. Some examples of things I tend to write down 👇
- Daily tasks
- Known bugs/solutions, or bugs I fixed
- Steps required to finish a task
- Any codebase specific details
An extra benefit is that many of my blog posts originate from the notes. They are an endless source of learning and ideas (as long as I keep writing them). My notes were vital for me this month!
Did I achieve what I set out to?
In the previous article of this series, I noted a bunch of things that I wanted to improve upon in the future. What things you might be asking, and how did I do?
One of the points involved my working day structure and how I felt I could be better at scheduling my general daily tasks around work and just get used to remote working in general. Now I feel like I'm getting the hang of it. My day is a little more structured which works for me, including when I take my breaks and start/finish work.
I didn't really manage to keep up the consistency with my articles and Twitter content but honestly, this didn't end up as a priority for me this time around. I took a little time away from writing articles and I felt like I needed that break. It gave me time to focus on my work and come up with ideas for future content.
As someone who has managed to break into development from a community-taught background, I think I'm in a good position to help others make the same jump. I'll be sharing more content over on Twitter related to this topic while the blog will continue to focus on a mix of technical articles and this monthly series.
Thank you all for stopping by and reading my article. I hope you enjoyed. If you did feel free to check out some of my other articles. You can reach me @Kieran6dev.
See you very soon (hopefully with just August's review this time 😅)!