Posts

week 4: post 2

  Since starting my internship, my perception of work has shifted significantly. Coming from an academic environment at Berea, where classes move at a rapid pace, I was accustomed to conceptualizing ideas and quickly producing functional prototypes. This meant writing a lot of code in a short amount of time, leading to a messy and disorganized process that often disregarded best practices. However, in the industry, I have discovered that work progresses at a much slower but more meticulous pace. My first task was to add a small subfeature to an existing product interface, which I expected to complete within half an hour. To my surprise, it took me an entire day. The reason for this delay was the need to read and understand the existing code, analyze where my changes should be made, and thoughtfully apply tests to ensure the feature's integrity. To my dismay, even after I submitted my changes for code review, the ticket remained in the queue for a longer period than I anticipated. I...

Week 4: post 1

  The past week has proven to be an arduous one, filled with disappointments and frustrations in my work.The first challenge arose with a particularly complex ticket I had chosen to tackle. It quickly became apparent that my technical knowledge was insufficient to solve the problem at hand. The realization of my limitations was disheartening, causing me to question my abilities and feel a sense of inadequacy. However, after engaging in a discussion with my mentors, I came to understand that there were other tickets better suited to my current skill set. Rather than dwelling on my initial failure, I recognized the importance of efficiency and decided to seek a teammate's guidance, someone with the necessary expertise. This decision showcased both self-awareness and a willingness to prioritize collective success over personal achievement. To overcome my disappointment, I threw myself into the next task with renewed determination. This time, I possessed a strong understanding of the p...

Week 3: Post 3

 My internship at Willowtree has been incredibly valuable in helping me gain a better understanding of my field of study, which is Software Engineering. Throughout my internship, I have been able to participate in all of the responsibilities and tasks that my fellow software engineers typically undertake. This has given me a comprehensive view of everything that is involved in being a software engineer, beyond just coding. One of the most eye-opening moments for me in this internship has been realizing the sheer amount of work that happens outside of coding. I have come to appreciate the importance of defining problems thoroughly, replicating them, solving them effectively, and thoroughly testing the code. In fact, on my first ticket, I spent much more time defining the problem and recreating it than actually coding out a solution, and I found this both frustrating and daunting. However, my mentor showed me the power of planning out code with detailed notes and research. This plann...

Week 3: Post 2

Reflecting on my contributions to the organization so far, I realize that it has been a learning journey for me. Initially, I thought that my contributions would be minimal due to my lack of experience, but I have learned that every team member's input is valued and appreciated regardless of their level of familiarity with the product. My technical understanding has grown immensely, and it has been shown through the tickets I have completed and my involvement in various team meetings. Furthermore, I have realized that my contribution is not just limited to the completion of technical tasks. I have contributed to the team by providing fresh perspectives on existing practices and asking questions about the code base, which has helped my teammates to revisit and reaffirm their understanding of the product. This has enabled me to develop my communication skills and has allowed our team to be more productive. Working in an organization as large as Willow Tree has been an enlightening ex...

Week 3: Post 1

  In my internship assignments, I have been utilizing theories and skills learned during my classes, such as Test-Driven Development (TDD). Initially, I found the concept of TDD perplexing and counterintuitive, as it required creating test suites before writing the actual function. I struggled to understand the rationale behind this approach and avoided using it in my coursework. However, during my internship, I realized the true power of TDD and why it was emphasized in my class. When working on a ticket with my mentor, the numerous components and functionalities required made it challenging to determine where to start or how to structure the functions. In this scenario, designing test cases before writing the code proved to be incredibly beneficial in providing structure and clarity. Creating the test cases enabled us to break down the requirements into manageable, implementable chunks and discern the necessary inputs and outputs. This approach facilitated a more organized though...

Week 2: post 3

            Today I worked on this interesting bug ticket related to API calls, and it turned out to be a fantastic learning experience! It introduced me to the industry standard of using endpoints for managing front-end and back-end interactions, which was quite a new concept for me, given my background from Berea where I typically used multiple files and imports. Initially, it felt like navigating a complex maze, trying to understand the flow of logic between different endpoints and how they connected to various files. Admittedly, it was pretty overwhelming at first, but I embraced the challenge and familiarized myself with the new approach. Over time, I started to see the bigger picture and realized why using endpoints in this manner has become the standard—it genuinely makes teamwork a breeze!                This journey has taught me countless valuable lessons, not just limited to the technical aspects ...

Week 2: Post 2

While I was at Berea and working on a project with 3 other members was daunting. It was a challenge to effectively communicate and split up work in a way where every member contributes the same amount of effort and in a way that we can integrate all our work to meet the project's final vision. I always felt more comfortable working alone because then I wouldn’t have to deal with splitting work, collaboration issues, or the daunting Git Merge conflicts. I always wondered how teams of 15+ people all collaborated and stayed on the same pages and release products.  My experience in the first two weeks at WillowTree has shown me that it is challenging to keep a large team aligned with many moving parts. While I initially thought there was a magic formula that facilitated successful collaboration, I now understand that the key lies in consistent communication and regular updates. Our team leverages several Slack channels that keep everyone updated on the completion of new tasks. At f...