Posts

End Of Summer

  Write a summary of your performance from your supervisor’s point of view.  What would he/she say about you?  Write this in the third person. Anish joined our team as an intern with a solid background in Python and seemed genuinely thrilled about the chance to learn and work with a modern JavaScript framework on backend API development. When I first met him, his curious nature was instantly evident. We had lunch together on his first day, and throughout our conversation, he was keen on learning what an API was and how it was utilized in a modern enterprise application. In the early days of his internship, Anish didn't have access to our codebase, so he spent time 33setting up his environment, going through guides about our framework, and asking insightful questions. It was clear from the onset that he was champing at the bit to delve into the codebase and start applying some of the methodologies and concepts we'd been discussing. It wasn't long before Anish's enthusias...

Week 10: Post 3

  During my internship with WillowTree, I had the opportunity to work on an interactive mobile application project for a large textbook publishing company that has significant potential to bolster my resume and aligns directly with my post-graduation goals. The assignment involved client work and aimed to enhance the overall textbook experience. One of the most valuable aspects of this experience was being exposed to the modern project development paradigm, particularly Agile/Scrum methodologies. Throughout the summer, I worked in an Agile environment, actively participating in demos, sprint planning, refinement sessions, and other Agile practices. Initially, adapting to this methodology posed a challenge as it was different from my previous academic experiences. However, I quickly embraced the Agile approach and overcame this challenge by demonstrating adaptability and proactively engaging in the team's Agile processes. This hands-on experience with Agile methodology is a signific...

Week 10: Part 2

  While working on the backend for a front-end architecture-based codebase during my internship, I realized how critical a robust logging system is. Logs are like a backend system's eyes and ears and provide essential info to troubleshoot problems. Our existing setup heavily depended on the default logging system that came with our backend JS framework. It wasn't flexible at all when it came to customizing logs, which would've made large-scale log analysis so much easier. Despite being given pretty vague instructions to improve the logging, I took up the challenge. I started by adding more context to our active logs, thinking this could be an initial step to our issue. However, a really insightful conversation with the platform engineer made it clear. We needed to think beyond the box and create a whole new custom logger to replace our current system. This would allow us to tweak the log format in a single place, and it'd automatically apply to all our logs - a real-tim...

Week 10: Post 1

Coming into my summer internship, I had a basic understanding of the distinction between back-end and front-end roles while working on a large-scale application. I thought front-end work would be more fulfilling, given the immediate visual feedback you get to experience, as opposed to observing changes in data or log files from backend development. Having spent the majority of my time in the back end, with just one week dedicated to the front end, my perspective has completely shifted. I saw the backend work not as a stream of monotonous coding tasks, but as a canvas for creativity and problem-solving. Unlike front-end design, where I found myself confined to creating interactive pages based on pre-established design mockups with little to no room for deviation, the backend work allowed me to utilize my creative abilities to devise solutions and make the application work. The backend work came with its unique set of challenges and standards that needed to adhere to, yet it endowed me w...

Week 9: Post 3

       In my role as an intern software engineer on a mobile application middleware team, I got the real deal of a developer's life, rather than just some low-priority summer project. I was part of the team, attending daily, weekly, and quarterly meetings for feature discussions and planning As a newbie, I came into this not expecting to make a substantial contribution, thinking I'd spend the whole summer just trying to understand the codebase. However, my team and mentor pushed me to learn quickly and involved me by assigning tasks that exposed me to the various aspects of our projects. This helped me get a more comprehensive grasp of our work sooner than I expected. One of my significant contributions was around the middle of my intern period. It was a quality-of-life ticket that I used to overhaul the entire backend logging system. With this, I made a lasting impact on the system, and it filled me with a great sense of achievement. The ticket was pretty drastic bu...

Week 9: Post 2

  This internship has been a game-changer for my future career in computer science. It's shown me the real-world application of what I've learned in class. I used to think that coding was all theory and no practicality, but this experience proved me wrong in the best way possible. One big thing I've gained from this internship is confidence. At the start, I felt like a total imposter. I didn't know the coding language or the framework they were using, and I constantly questioned myself. It seemed like everyone else had it all together, while I was struggling to keep up. But as I tackled my first few tasks, I realized that my approach wasn't completely off-base. Sure, I needed some guidance from the other developers, but I was on the right track. By my third task, I had kicked imposter syndrome to the curb and was ready to take on bigger challenges. On top of boosting my confidence, this internship has also given me a ton of technical expertise. I've learned abou...

Week 9: Post 1

Based on my experience at WillowTree, there are several crucial skills that are essential for an individual to be successful in an organizational context such as this one. While some of these skills are comparable to those required in academia, they often operate on different scales. First and foremost, the ability to work effectively in a team and collaborate with others is vital. At Berea College, teamwork and communication were emphasized in classes, but at WillowTree, the scale of collaboration is much larger. It is crucial to communicate not only with members of your own team, but also with individuals from other disciplines such as front-end, product, design, and upper management. Being a strong team player and effectively communicating with various stakeholders is key to success in this company. Another crucial skill that I have found essential at WillowTree is resourcefulness. While the company offers a range of resources, it is up to individuals to explore and utilize them to...

Week 8: Post 1

  Having completed my second internship, with the most recent one being at a tech firm, I have come to recognize the immense value of asking questions when navigating the challenges of working with a new team and project. This realization has led me to unequivocally recommend this practice to all future interns, regardless of the company they are interning with. The significance of seeking clarifications and guidance through questioning becomes particularly evident during the initial stages of an internship. This is the time when interns are acclimating to their new surroundings, trying to comprehend the existing technical infrastructure, and familiarizing themselves with team communication and processes like git flow. Unfortunately, it is all too easy to succumb to the fallacy that asking questions is a display of weakness, especially when combined with feelings of low self-confidence. I personally experienced this struggle during my previous internship, where my reluctance to ask...

Week 7: Post 3

Throughout my various experiences, I have encountered different styles of leadership, each offering unique concepts and values that contribute to successful leadership. As a Teaching Associate at my campus job, I observed the balance between autonomy and guidance in leadership. The lead at my job managed schedules and conducted team meetings, providing direction while allowing team members to work independently. In contrast, the direct class lead TA took a hands-on approach, delegating tasks and leading frequent discussions. I found the hands-on approach to be more effective in leadership. Transitioning to my internship at Willow, I noticed a distinctive trust-based leadership style. Our team manager adopts a hands-off approach, allowing team members to take charge of their tasks and technical management as individual team leads. This approach enables our manager to focus on the big picture and client relations. Similarly, the team leads provide mentorship and support rather than stric...

Week 7: Post 2

One of the most notable transformations has been in how I perceive myself and my abilities in the tech space. Initially, I struggled with imposter syndrome, feeling overwhelmed by the vast amount of knowledge and skills required in job descriptions. I feared that my academic learning lacked real-world applications and that I would fall short in a professional setting. Joining my team, I encountered new technologies and frameworks, such as Typescript and APIs, which were unfamiliar to me. This triggered a wave of imposter syndrome, further intensifying my doubts. However, as I started setting up my development environment and delving into our codebase, I realized that despite the challenges, I had a solid foundation in programming principles that transcended specific languages or frameworks. While I might not have comprehended the entire structure or framework-level code initially, I recognized that the basics of coding languages were shared across different technologies. Instead of try...

Week 7: Post 1

In reflecting on my performance during my internship, one area that I feel I can improve is task scoping. In academia, the projects I worked on were either solo or with a small team, and we had a clear understanding of the big picture and how all the components fit together. However, in industry projects, the scale is much larger, and tasks are broken down into sub-features before being assigned to different developers. This makes it challenging to see how my task aligns with the overall project. I struggled with this challenge during my internship, particularly with one ticket I was assigned. Initially, I underestimated the scope of the task and implemented unnecessary changes before having a review with my mentor. They guided me in thinking broader and implementing the feature as a brand-new component instead of modifying existing components. However, in my attempt to do so, I ended up over-scoping the task and added too many moving parts, which made the development process inefficie...

Week 6: Post 3

  In the first week of my internship, I encountered an issue with the mouse on my desk, which was hindering my efficiency. Despite searching the various office locations for a solution, I couldn't find a mouse pad. Realizing that there must be a designated process for obtaining new hardware or supplies, I reached out to my mentor for guidance. She directed me to the IT department, as per the documentation provided during orientation. Taking immediate action, I submitted a ticket requesting a mouse pad. To my surprise, the next morning, I found a mouse pad waiting for me on my desk. This experience highlighted the importance of following the prescribed protocols and utilizing the designated channels for problem resolution, rather than relying solely on my own efforts. Another significant problem arose during my third week when my badge stopped working, leaving me unable to unlock doors throughout the office. This became a major inconvenience, as I had to rely on others to let me int...

Week 6: Part 2

Throughout my internship, I have found myself constantly teaching myself new skills in order to advance my work. The learning experiences I have had have been transformative, both in terms of soft skills and technical knowledge. In terms of soft skills, one of the biggest lessons I learned was the importance of seeking help and asking questions. Initially, I had a tendency to try and figure things out on my own, thinking that I needed to prove my independence. However, on my very first task, I quickly realized that seeking guidance from more experienced engineers was essential. My approach to the problem was flawed, and with just a simple nudge in the right direction from my mentor, I was able to correct my course. This taught me the value of mentorship and how it can help me adopt industry-standard processes and thinking. I now understand the delicate balance between being a self-starter and knowing when to seek assistance. On the technical side, I have learned an incredible amount du...

Week 6: post 1

During my internship, one of my top goals was to understand the workflow and system design practices required to build large-scale applications with millions of users. In an academic setting, we learn the foundational and theoretical aspects of software development practices, but I wanted to delve deeper and learn how these concepts are applied in real-world scenarios. Within a month of starting my internship, I had the opportunity to work on large-scale applications with thousands of users. This gave me a firsthand experience of how engineers make these applications work. One of the most exciting moments for me was when I gained access to the whole codebase that powered our app. It was like looking under the hood of a well-oiled machine. From the very beginning, I started digging into how the front-end and back-end of our application interacted. I wanted to understand everything, from the authentication process to data retrieval. I was amazed to see the reliance on libraries and frame...

Week 5: post 2

  Throughout my experience at WillowTree, I have had several assumptions and conceptions about the industry and my own abilities that have been both confirmed and contradicted. One of the most significant assumptions that I held was regarding the pace at which things move in the industry. Coming from a computer science program at Berea College, which operates on a relatively fast-paced project setting, I expected the same level of intensity at WillowTree and within the industry as a whole. However, I quickly realized that the pace at WillowTree was different from what I had anticipated. In academia, there is a rapid cycle of learning and applying new technologies, often resulting in unfinished aspects of projects and applications that lack long-term stability and scalability. In contrast, at WillowTree, I have found the process to be more measured and deliberate. As I became more comfortable with the codebase and workflow, I began handling some tickets independently, with only an i...

Week 5: Post 1

  During my mid-term performance review at WillowTree, I had the opportunity to reflect on my performance and receive feedback from my mentor. The review focused on how well I aligned myself with the company values and provided a general performance reflection. Personally, I have never had difficulties with self-evaluations as it is simply discussing my own achievements. However, when it came to considering how I had embodied the company values in my work, I found myself stumped. This directed self-reflection forced me to think deeply about the effort I had put forth at WillowTree. Through this process, I realized that while it was challenging to write about, I could easily provide concrete examples of situations where I had displayed the company values. The mentor evaluations differed slightly, as I was ranked as exceeding, meeting, or not meeting expectations for each company value. Alongside the rankings, my mentor provided a paragraph of explanations to support their assessment...

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