Working
On March 9th, 2020, I started the next chapter in my life. I officially began my career as a software developer. The possibilities for this job are rather open-ended, but for the most part, I've worked in the realm of front-end development. In my first week, I did a simple task of fixing up some jQuery code on a form. It was a pain, since I really didn't know jQuery that well and the legacy code was written really poorly, with variables having inappropriate names and no comments being provided. Luckily, I finished this task in about 3 days and never looked back. My first real project was working on a React application that handled payments for our company's services. When I got my hands on the application, the whole application only had one file, so the first thing I did was separate it out into individual files for individual components. This would be the beginning of an ongoing conversation with my cohort about the best way to write files in React applications. I feel like it's much more readable when components have their own file, while he tends to like to keep them all in one file. I have a really hard time reading files like this, but I decided it wasn't worth making a stand over. In my current project, I have two different files that over 1000 lines of code long; it's disturbing, but I've managed to bite my tongue about it.
My cohort was in the process of getting into TypeScript right as I joined the team. In this payments application, everything was written in plain JavaScript, but he thought it might be a good idea to move it over to TypeScript. I had only worked with TypeScript once before, and only very briefly, but I was all for learning something new. He took me through the whole project, changing it all over to TypeScript. This was a great way to learn, and it really helped me get to where I am today with TypeScript. I also took 2 courses on TypeScript within the first month of being at this job, so I could up my skills in the area. All we write is TypeScript now, and I really would have a hard time writing something in plain JavaScript at this point. It took well over a month to get this project all set, but we finally were able to push out a version. We then went back and added another version, creating a check component for payments alongside the credit card component. This has sort of become my project over time, and after we finish our current project, I'll be doubling back to add some more features to this project. All the while, Coronavirus happened. In April, I went to working from home for about a month, and I couldn't have been more happier or productive. Unfortunately, my company is not in favor of remote work, and they called me back as soon as they could.
After finishing up the second version of the payments application, we moved on to working on a React Native application that is absolutely massive. This is basically a hub for our sales representatives to manage all of their daily activity. They have access to their appointments, notes, reminders, calendar, sales, and so much more. I have become very proficient in React Native in the process, which has been great. Honestly, I'm not the biggest fan of working with React Native, but I know it's coming along. I think it still needs to experience a lot of growth, and probably lags behind some other frameworks for building mobile applications. It's the only one I know, though, so I don't have anything to compare it to. It is really nice, though, to be able to work in the world of React instead of having to go over to another language or framework. At first, I thought we could finish this project in about a month, and that was the deadline put on us by the executives. The further I got into the project, the larger it got. We still have an absolute ton of work to do on this project, and it seems like we've stopped making very much progress. My cohort has gotten really focused on creating a components library for it, which I think will really serve us well, even going beyond this project. However, it's also added a lot of time to the project, and it's stopped me from making the progress I need to make. I find myself waiting on him for direction a lot of the time. Unfortunately, I'm still a junior developer, and I'm not completely self-sufficient. My next entry will be a conclusion of the journey, and I'll talk about my most recent journey into the world of Python, Data Science, and Machine Learning.
Until tomorrow!