Hello World again! In the last episode (blog post), I wrote about my journey as a career changer to software engineering, so I wanted to further build on that. Now that I’m nearing the start of my new job as a full-time software engineer as well as the end of my computer science education, I wanted to discuss how I am preparing for my new job as well as tackling my weaker areas.
In June, I will be starting my new job as an associate software engineer at a rather large company. It’s surreal that my journey to becoming an engineer is finally nearing the end! However, with the coming of a job comes the need to prepare and review topics that I will be using on the job. My position entails developing Full Stack web applications which comes with various technologies and frameworks. Throughout my journey in CS as well as through self learnings & internships, I have gained experience and insight with Full Stack Development. However, if I’m being completely honest, I mainly am passionate in Front End Development and am not too familiar with Full Stack Development as well as Back End development. The opportunities I had where I got to work on parts of Back End Development, I feel as though I did not grasp a complete understanding and found it overwhelming, so I found myself more drawn to working on the Front End & UI side. I have even tried watching tutorials on the backend, but still found it difficult to grasp and found myself road blocked. However, I know that is not a great mindset as it’s important to understand the whole picture as well as to continuously learn & challenge myself. So I wanted to change this and get a solid understanding before I started work.
I was told that the technologies I would be working with mainly at my new workplace would be MERN stack and Java. The funny thing is that I don’t have much experience working with any of these technologies and if I did work with these before, I had a hard time grasping these. I remember trying to work with React.js before, but I found myself overwhelmed as I got confused with all these new functions as well as the numerous counts of components involved. Realizing that it was time for me to learn, I decided to sit down and break down the languages into digestible pieces to come up with a study plan. I decided to enroll in an online course to nail React down doing a couple of modules a week while also building side projects on the side to solidify my knowledge. Then my plan was to tackle MERN stack after. I remember trying a couple of MERN tutorial videos before, but found myself getting lost a lot or falling into a habit of thinking I understood and moving on when I didn’t really understand.
I wanted to do things differently this time, so after finishing a topic module, I decided to read up documentation on what I learned as well as watching other tutorial videos to make sure I really understood. I also made sure that if I wrote the code on my own without following any tutorial after to really make sure I got it. Doing things this way really made me feel confident that I understood and I found myself breezing through. Even though many might see React as something easy to learn, I had a difficult time grasping React and I was super excited and proud of myself that I was able to code in React from scratch on my own. By January, I was at a point where I was finding myself new to React, but much more comfortable. Now that I was a bit more comfortable with React, I decided it was time to incorporate what I learned in React with MERN. I decided to take the same approach as I had with React to tackle MERN stack. I found a good tutorial video and before tackling the course, I took the time to review my knowledge in Node.js and Express.js. By this time, it was nearing the start of this course! I knew I wanted to work on a full stack application for my Capstone Project, and I was excited as I knew this would be the perfect opportunity to further build my skills.
Usually in group projects, I tend to only go for working on the Front End as it is what I am best at and am passionate in. However, as it is my last course, I wanted to take it upon myself to challenge myself to work on more of the backend side. I found it to be the perfect opportunity to further hone my skills in full stack development as well as in areas I was weaker in. And this is where we are at at the moment! Today I built the Front End of a few pages in React from scratch, and again I felt super proud of myself. I remember a few months ago, I was struggling but now to see myself building a React page without struggle is a good feeling. While working on the Capstone project, I’m also keeping myself accountable to keep reviewing the MERN stack. As it could be a lot on my plate to juggle too many things at once, I’m making sure to do two or three modules of the course a week. So far, it’s been going great and I surprise myself each day being able to understand back end development more as well as seeing how much progress I’m making. At the pace I am going, I hope to be able to flesh out a solid Capstone project and finish understanding MERN stack by March. After March, I hope to be able to learn Java with my new study skills I have developed. By June, I am confident and hopeful that I will be comfortable in areas that I previously struggled with to be fully prepared for my new job. I’m sure there may be struggles along the way and new things at work I will not have experience in, but with my newfound confidence I know I’ll do great. To those who struggle in grasping concepts whether it be back-end development like me or algorithms, know that there’s always a solution and it’s not impossible. Solidifying a study plan that works for you and finding the right materials/resource is key.