Note: AI assistance was employed in refining this article.


Path

This summer, I’ve decided to go from treating coding as a hobby to turning it into a profession. Let me explain. Over the last 2 years, I’ve been learning to code for mainly two reasons.

  1. Personal Growth
  2. Save money on my entrepreneurial projects

I’ve done a lot of reflection on what I enjoy and in which direction I want to move towards both personally and professionally. During these reflections, I have noticed, that I am going back to where I was once headed towards.

Back to the roots

Over time, I have started to enjoy coding and working on building things. I also started to remember, what I wanted to do when I got out of “high school” (“Gymnasium” in Germany). At the time I loved dealing with computers, I was actually in charge of our school year’s homepage, which I created with a Joomla! template and uploading stuff via FTP to a server. I started studying business information systems but ended up quitting due to many things going on in my life at the time. I then decided to get into marketing but always had a focus on digital marketing and tech-related topics.

Now 20 years later I have realized I want to step back on the tech route and to accomplish this I am currently enrolled in the “React Job Simulator” Program.

What is the “React Job Simulator”

The React Job Simulator is a program with a focus on making developers “job ready” by learning things that are not typically covered in coding bootcamps like

  • Learning professional Git workflows
  • Working on a production-grade codebase
  • Writing automated tests

This means I will have the opportunity to learn what it would be like to work in a professional environment

Onboarding

After reading through the onboarding docs I got a Kanban board with tasks to familiarize myself with the codebase. The first set of tasks was focused on getting me acquainted with the existing codebase. My initial to-dos included understanding the TypeScript & CSS architecture by fixing some styling errors and fixing bugs caused by interactive elements. I also had to get my hands dirty with Cypress testing.

Git Workflow

Navigating the Git workflow in a professional setting opens my eyes to new practices. One of the first things I learned is the critical role of passing CI/CD tests before even considering merging code. These automated tests ensure that my contributions don’t disrupt existing functionality and align with the project’s coding standards.

Another fascinating layer is the use of an AI reviewer, which offers instant feedback on code quality, and potential bugs, and even suggests best practices. This AI-powered insight feels like having a mentor review my code in real-time.

Finally, I was introduced to the concept of squashing PRs. Instead of a cluttered commit history, squashing allows for a cleaner, more understandable log by combining multiple commits into one. This not only keeps the project history neat but also simplifies the process of identifying and understanding changes in the codebase. All these elements combine to give me a comprehensive understanding of what a mature, professional Git workflow entails.

Navigating the Testing Maze with Cypress

When I first dived into setting up Cypress for testing, I encountered several roadblocks. The initial setup didn’t go as smoothly as I had hoped, prompting me to delve into the documentation and sift through GitHub Issues for solutions. I even joined the Cypress Discord community, where I found an active community. After some dedicated troubleshooting, I managed to resolve my issues and kick-started my testing journey. 🎉

As I ran my first tests, I quickly learned about the capabilities and limitations of Cypress. One specific challenge I faced was testing a feature that opened an OS-level application, like an email client. Cypress, being a browser-based testing tool, had its limitations when it came to interacting with the operating system. This experience taught me the importance of understanding the tool I was working with but also gave me a sense of accomplishment as I navigated through these initial challenges. Overall, my early experiences with Cypress offered an initial balanced view of its strengths and areas where it might not be the perfect fit.

Wrapping Up My First Week with React Job Simulator

My first week in the React Job Simulator program was a whirlwind of learning, challenges, and growth. From revisiting my tech roots and aligning my career path to diving deep into professional Git workflows, I gained invaluable insights into what it’s like to work in a real-world development environment.

My onboarding tasks, which included diving into CSS, TypeScript, and Cypress, were both enlightening and challenging. While I faced some initial hurdles, especially in setting up Cypress for testing, the resources and community around me helped me overcome them.

I learned not just the technical aspects but also the nuances of working in a team, adhering to coding standards, and navigating complex workflows. It’s been an eye-opening experience, and I’m eager to see where this journey takes me next.

Credit

Photo by Mick Haupt on Pixabay