DEV Community

Cover image for My Experience as a Graduate Software Engineer
Kade Hamood
Kade Hamood

Posted on • Updated on

My Experience as a Graduate Software Engineer

Lead up to start date | Jan 2023 | Imposter Syndrome

A month before my start date, I got a call from my manager. We discussed a couple of things to do with onboarding and the team. I asked him about what sort of code stack and programs I would be working with, so I could try to prepare and familiarise myself with them beforehand. He mentioned React and Typescript would be predominantly used. At the time, I was nervous hearing this, as I had never even heard of Typescript let alone used it. During University we only did a tiny, 3-week block of React, which I remember struggling to wrap my head around at the time. On top of this, I was scared about starting the job. I would overthink about how the company would be expecting a lot from me and to have an understanding and prior knowledge of different processes. I was experiencing imposter syndrome before I had even started.

Straight off the bat, it would have been easy to have a fixed mindset about the whole situation. This is when you believe that your skills, abilities and knowledge are fixed and cannot be developed over time. If there’s something you’re not good at or don’t understand, then you never will. Opposed to a growth mindset, which is when you believe the opposite, that they can be developed, through hard work and dedication. I could have told myself I'm not smart enough, there’s too much to learn, or I don't have the skills for this job and that the pressure will be too much. Thankfully, I did not go down that path, but it was still hard to stop doubting myself and thinking if I was going to be smart and good enough for this job.

Most of all, I was worried about being a burden on my team and holding them down. I felt bad thinking about whether they would have to put important tasks on hold to teach me the simplest and easiest of processes that I should probably already know but don't understand. I remember my manager saying to me at the time of the call, that he'll give me plenty of time to learn the tech stack and everything else. He followed on to say how as a graduate, it was not expected for us to know a whole lot at all. I know that might not sound the best, but for me, it relieved a lot of the pressure I had put on myself and calmed my nerves quite a lot. I’m grateful for my manager reaching out like he did, as this made it easier for me to start building and maintaining a positive and growth mindset

Rotation 1 | Feb-Jul 2023 | Positive and Growth Mindset

For my first rotation, my team was working on the re-platforming of an already existing product. With the help of my manager, I identified a few of the key knowledge and skill areas I needed to learn and know to be a successful contributor within the team. These were React, Typescript, and Tailwind. It was also important for me to learn more about the company and its other services.

Upon starting, I quickly noticed that I had shifted into that growth mindset as mentioned above. I began by believing that it was possible for me to slowly build up my knowledge and skills in those areas. Roughly, I spent the first 3 weeks working through YouTube tutorials. For some people that probably sounds boring and not interesting at all, but for me, I feel like it is exactly what I needed. It gave me a good amount of time for learning so that I was able to build up my confidence and skill set before just being thrown straight into the deep end.

Now I do see the benefits in being thrown straight into the deep end and I have learnt a lot from this in the past, but I also think that for a new starter, it could easily become way too overwhelming and a lot harder to maintain a positive and growth mindset. I do believe though that this depends entirely on the individual and so it is crucial for managers/mentors to be able to identify these types of things to be able to assist with one’s personal growth and development.

With the guidance of my manager and team, and my drive to succeed, I was able to quickly become a contributor to the team and complete numerous types of tickets. I learnt so much in this first rotation from writing clean, reusable, maintainable and testable code, to following good version control practices and strengthening my skills with Typescript, React, Jest and Tailwind CSS.

Rotation 2 | Jul 2023 - Feb 2024 | Navigating Change

In my second rotation, I joined the cloud and infrastructure team. I honestly found it extremely difficult knowing that I would need to be changing to a new team. I was very comfortable in my first rotation team, as I was finally at the stage where I knew nearly everything about the project, and I was a main contributor to the team. I remember in the lead-up to organising our next rotations, I didn’t think I wanted to change teams as I didn’t want to have to start from scratch again and return to feeling like an imposter. I knew this was an extremely poor mindset to have and I knew if I wanted to get the most out of the experience it was important that I learnt to embrace change.

As a graduate cohort, we had a workshop that introduced to us the "Four Rooms of change" theory, which looking back, perfectly illustrates what I went through with the transition to and within this rotation. I was content and in my comfort zone with my first rotation. However, I started feeling a shift into the room of denial. For a short time, I was in denial and not wanting the change. Becoming aware that you are in this room is the most important step in getting out of it. If I wanted to progress my skills and develop further as a software engineer, I would need to embrace the discomfort.

This then led me into the room of confusion. I started thinking, ‘What are the positives I can get out of this rotation?’. I would be able to build connections with new people and with different expertise, see how another team operates day-to-day and facilitates their meetings, and build my knowledge and skills in all things cloud and infrastructure related. From my first rotations and the people I spoke to, it was evident that cloud knowledge is an extremely valuable skill to have no matter what team or project you work on. I quickly started to move into the room of renewal and was feeling inspired to learn and get as much out of the experience as I could.

I ended up really enjoying my time throughout this rotation and I can't recommend a graduate doing a rotation through a cloud team enough! I was able to work on numerous types of projects, from self-service repositories to automation solutions and even general patching and maintenance of infrastructure. These projects built up my skills and knowledge in things such as GitHub actions and workflows, AWS, CloudFormation, Terraform and all things DevOps. This also led me to achieve two cloud-related certifications, "AWS Certified Cloud Practitioner" and "HashiCorp Certified: Terraform Associate (003)" while in the rotation.

Rotation 3 | Feb - Jul 2024 | Dealing with Burnout/Building Resilience

For my third and final rotation, I joined a team working in the backend to deliver a notification system. Once again, this team was using a completely new tech stack that I had never used. In this rotation, I also went through phases of the ‘four rooms theory’ mentioned in my past rotations. However, I want to highlight my experience with building resilience and dealing with burnout. This experience was unique to the others as half our team was based in different a time zone, which I had not experienced before.

Within this rotation, I tried to maintain a strong focus on how I can best maintain staying in a high-performance state without progressing into burnout and dropping into a lower unchallenged state. This was important, as it was something I noticed that I struggled with in my past rotations. The more difficult tasks do introduce more stress, but they kept me accountable and pushed me further. The only issue was that doing these types of tasks continuously over a long period increased the risk of burnout.

I needed to push myself to take on the more difficult, time-constrained tasks to perform at a higher level, but it was also equally as important that I balanced it out with tasks that I was comfortable and confident in completing. With the more difficult tasks, I would quickly notice myself slipping into burnout. I would often find it hard to shut my brain off and stop thinking about the problem even out of work hours. This had a huge impact on things such as my sleep, which led to even more issues. To push through whenever I was able to recognise these signs, I would actively take some additional steps such as, exercising more, taking small breaks during the day to walk outside and clear my mind, or spending more time with friends and family. I would do anything that would help distract my mind from thinking about work non-stop.

Being self-aware of what zone I was in and knowing that it is okay and very important to not always take on big and difficult tasks back-to-back, was key to maintaining healthy performance levels. Being able to maintain these healthy levels of performance meant that I was able to effectively develop my skills and knowledge in technologies such as Spring Boot, Hibernate/JPA, Kotlin and OpenAPI while within the rotation.

Conclusion

The past 18 months have been an amazing experience full of many growth and learning opportunities. I was fortunate enough to be exposed to the full stack of technologies, frontend, cloud/infrastructure and even backend, one in each rotation. The biggest takeaway for me from this journey is the importance of being self-aware. Knowing yourself and when you are slipping into those negative growth blockers is crucial to taking the first steps towards unblocking them. It is also important to reiterate that every individual is unique in their personality and past experiences. Managers/mentors who are to be able to identify these things and adapt their support and mentoring to suit the individual will have a huge impact on enhancing their personal growth and development. In saying that, individuals should be able to still self manage and not be reliant on someone else, but as a graduate or new starter we tend to lean on our managers/mentors a little more for that support and guidance.

Top comments (1)

Collapse
 
shekarym profile image
Chandrashekar Y M

Congratulations and Good luck @kadehamood-dev Nice Write up.