Posts

Showing posts from June, 2023

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...

Week 2: Post 1

  As a computer science at Berea College, teamwork is an integral part of my education. We work collaboratively on projects, presentations, and assignments, and are encouraged to communicate effectively with our peers to achieve collective goals. This approach to learning has been highly beneficial, as it has equipped me with the skills needed to successfully operate in group settings. As an intern at WillowTree, I found that my coursework experience at Berea was valuable, as the company has a strong emphasis on collaboration and teamwork.  I found myself naturally drawing from my coursework experiences on how to be an effective navigator. I asked questions and sought clarification when necessary, which proved invaluable when our staff engineer began coding and writing solutions that were difficult to understand. I can tell that the classroom experience shaped me well for the WillowTree experience as I didn’t take the navigator position as an outsider listening in but as an ac...

Week 1 Post 3

  Today, we dedicated the entire day, from 9 AM to 4:30 PM with breaks, to engage in agile/scrum training. The training session involved a series of interactive games aimed at familiarizing us with the principles and ideologies of an Agile work environment. At WillowTree, Agile is embraced as a team management strategy that emphasizes breaking down development into manageable chunks, showcasing the immediate value to clients. This approach diverges from the traditional linear development process, where we typically proceed from design to planning, coding, and eventually the final product. Agile, on the other hand, enables clients to witness the incremental addition of features and even experience public releases prior to the full product launch. I found this concept to be truly eye-opening, particularly in the context of developing large-scale enterprise-level applications. One notable game we engaged in was centered around sketching a product idea pitched by one of our organizers....

Week 1: Post 2

  Today we had multiple meetings that included our entire project team. The morning stand-up was very confusing as it was a technical-heavy meeting, and I hadn’t started actively participating in any technical way. The panel consisted of our program director asking each time (IOS, Android, and Middleware) for active tickets and issues in the current sprint. It was interesting to hear how the daily organization and task allocation happen on such a sizeable enterprise-level application. We reviewed each team, describing what they finished, what they were working on, and what they would do next. The meeting was brief and just used to keep everyone on the same page and handle pacing. I heard daily conversations and specific perspectives - even if it was short. The second was an onboarding meeting for summer interns on our specific team. The conference described how features are added, and issues are dealt with by each team, Middleware, IOS & Android, Design, and Product delivery, c...

Week 1: Post 1

     My internship is 10.5 weeks long, and the first week is just a half week all onboarding. The first couple of days consists of general onboarding. The day was filled with campus tours, city tips, and a general introduction to administrators. However, after the initial intros, we started talking about company values and how they are applied. I was surprised by the fixation on adhering to company culture. I was delighted to realize that the values are not just bullet points to showcase on the company website but a guiding compass for macro and micro business decisions.      On the second day, the CEO led a company-wide monthly meeting. The focus was discussing the company's new strategy and personnel restructuring to fit the new strategical needs. The company's values shone through as he talked and constantly asked for feedback and to reach out with any questions or suggestions to help this transition be smooth as possible for everyone. It was another cem...