Saturday, August 20, 2022

Reflection Summary.

 July 30th marks the last day of my internship. It has been a fantastic experience and surpassed all my expectations, making me sad to see it end. However, looking back at how I was before the internship, I can see how far I have come. That is both in terms of professional development and in terms of personal growth. 

Learning about the agile methodologies of our team was an eye-opening experience for me. I managed to understand how groups function and self-organize. For example, I knew how to split the amount of work so that you can reasonably complete it within the given deadlines; I realized how meetings could be essential to stay on track of your assignments, etc. I wish I had learned about the agile scrum much earlier as I find it a unique tool that I could incorporate into my life to make it more organized. 

Another new insight that I learnt about are burnouts. I learned during this internship that putting your well-being first should be the priority.  Unfortunately, not many companies care for their employees' mental and physical health or work-life balance. However, I was lucky to join a company that does, and I was even more fortunate to work for a manager that prioritizes it. I used to think it was okay not to have a work-life balance and work long hours because that is the definition of adulthood. However, now I realize that in the long-run it is unhealthy. Therefore, in my future career, I know that I should set and enforce boundaries between work and my personal life to live and enjoy my life outside work. 

Because of the projects I worked on this summer, I also gained a lot of confidence as a developer, and I feel a lot more prepared to go into the industry and work as a software engineer. For example, the first task I worked on was developing a validator for the incoming metadata in our web search application. By the time I was working on this assignment, I had gained a lot of experience with Spring Boot and Java. Moreover, I worked on the back-end of it, which was the Solr No-SQL database. As a result, I realized that I enjoy building the application's business logic, so-called "behind the scenes." 

The most important technical skills I learned from this internship were working with Thymeleaf, a Java template for building the front-end of the applications. I was familiar with the concept of front-end templates; however, I had not seen it in practice. After seeing how much my team emphasizes the importance of the design of the application and the positive impact of it on the users, I realized that designing is an important skill I need to learn to be a web developer. Moreover, I learned that if a candidate knows how to properly set up both business design of web applications and also front-end design, it will easily set them apart from other candidates. Therefore, one of my goals for the upcoming semester is to introduce and apply business design and design in my job as a CS TA for the Intro to Web Development course. It will not only help me practice the skills but also allow other student programmers to get familiar with the designing strategies.   

Furthermore, the internship helped me to experience what it would be like to work full-time as a programmer. Every day we would meet with mentors, get quick feedback on our code, have technical and non-technical discussions on how to improve certain features, etc. I realized that I enjoy seeing the results of my work on real-life applications and that recognizing it brings impact. At NCAR, many CS people went into the science/academia aspect of CS, and I realized that to be in this field, I need to gain more patience and dedication. Thus, I have identified that I will continue working in the software engineering aspect of CS. 

In conclusion, this summer internship was an eye-opening experience for me. It was not easy, for I came across many new technologies that I had to learn along the way and work with them and some other challenges such as long work hours and stressful days. In addition, I had to constantly work on many barriers in my head, trying to overcome the imposter syndrome. However, I believe that this summer was one of the most productive summers I have ever had. I feel enormously grateful for my mentors and coordinators, who have always taught and supported us throughout the summer and have made our team enjoyable to work in. 

Friday, July 29, 2022

Week 11. Post 3.

 After this experience, are you considering a career in this specialty area? Why or why not?

This summer I have been working in a software engineering team that was developing a scientific search engine for NCAR. My team's organization felt like a real industry environment as we were using the Agile Scrum framework and many other things that people in the industry use. We worked on both the front-end and back-end of the web application and were deploying our work to "production". It was nice to see how everything works "behind the scenes", how to manipulate database queries, how to work with Java-based frameworks etc.  Thus, I had a nice exposure to what it is like being in a software engineering team. 

Before coming to this internship, I was not quite sure if I would like to go with the software engineering path or if I would choose something else. I thought that software engineering is very challenging and only genius people can do it.  However, I discovered that as long as you put effort to learn - it is not as hard as it can seem. I realized that I would love to continue in this direction - I feel that I enjoy seeing the results of my work on real-world applications and that it is bringing impact. I do not see myself in the research aspect of the CS because I do not think that I have the patience for research that take years. Plus, I saw other research-based projects at NCAR and I realized that I definitely would not enjoy doing something similar to this. 

The lesson I learned is not to put limitations and restrictions in your head. The CS field is very vast and there are many different roles out there and it should not intimidate you. On contrary, it should motivate you to keep exploring yourself and trying new things. 


Thursday, July 28, 2022

Week 11. Post 2.

What could be the implications of what you learned from this experience for your future work career?

One of the biggest implications of this internship experience for me has been becoming certain about my decision of having a software engineering career after graduation. Before the internship, I did not feel confident in my skills and sometimes doubted whether I wanted to work in the industry. This industry always felt intimidating and it seemed like only super smart people will be able to get in there. However, in this internship I learned that as long as you have eagerness to learn - you are good. 

Moreover, because I got a better understanding of the industry through my internship, I feel a lot more prepared to transition to a full-time job. The fact that I know what life as a full-time engineer is going to be like from first-hand experience gives me peace of mind.

In addition to this, another thing that I learned in this internship is that getting a master's or a PhD degree is actually beneficial in your career. One might think that you do not need grad school for CS, however, I realized it is not true. Grad school in CS opens more opportunities in the future and leads to a potential increase in the salary and career. 

Lastly, I learned that software engineering is not the only career I can pursue in the tech industry. I can always switch to other roles and a master’s degree is especially going to be useful in these cases as well.

Wednesday, July 27, 2022

Week 11. Post 1.

 What past experiences have contributed to your understanding of leadership? How do these past understandings about leadership influence your behavior or decisions regarding your challenges presented by this internship?

One of the first times that I was given the opportunity to practice true leadership and learn about leadership was at Berea College, especially in the computer science department. One thing that I love about the CS department is that they care about students’ voices and opinions. For every major decision that is going to affect the whole department, including students, we are asked for our input. In addition, in our labor positions as teaching assistants, we are trusted and expected to think critically and make informed decisions. I believe that both of these values are essential in leadership positions: to not be afraid of asking for others' opinions and trust your coworkers.


As a teaching assistant, the above-mentioned values really helped me gain confidence in myself, and become confident enough to speak up and share my views. Moreover, the CS department, specifically my position as a teaching assistant, helped me develop my own leadership skills by giving me the opportunity to introduce new ideas, lead discussions, and bring in new proposals.


In terms of the challenges presented in my internship, I will utilize these learnings to ask my team members for constant feedback. Moreover, because I practiced leadership at Berea College, I am not afraid of taking the lead and proposing new ideas or projects to the team. 

Friday, July 22, 2022

Week 10. Post 3.

 

How have your interactions with colleagues from varying backgrounds holding differing perspectives developed your perspectives?

My interactions with my colleagues and the conversations I have had with them has really broadened my perspective about what I can do with my computer science degree. Working in a software engineering team in a non-software engineering tech company really helps you grasp all different intersections of CS with some other field. At my internship place, most of the people come form natural science backgrounds such as physics, chemistry, biology etc. 

I originally thought that to work in the tech industry one would need to come from a computer science background. However, as I talked to my colleagues I realized that people who work in the tech industry come from a lot more diverse and sometimes unexpected backgrounds than I thought previously. I learned that because tech industry is constantly growing there is always need for new perspectives and skills and any of the previously mentioned concentrations can somehow translate to an area of need in the industry. In addition, it is not hard to learn software engineering skills later in one’s career and convert to being a software engineer.

In contrast, I have other colleagues who first majored in computer science, worked as a software engineer, but then realized that might not be the job for them and decided to change their career. Yet, they did not completely went off from the CS field - they just shifted to some other jobs such as product marketing/management etc. 

At later stages of my life I will try to explore as many different fields of the CS as I can, not trying to limit myself just to software engineering. 


Thursday, July 21, 2022

Week 10. Post 2.

 What is one of the most important things you learned at your internship?

Today I learned that to be a great software engineer, I need to be a great storyteller. As Albert Einstein rightfully and gracefully said, ‘If you can’t explain it simply, you don’t understand it enough’. The same applies to every day of my internship as a software engineer. I have to work with a multitude of stakeholders within an enormous variety of domains, and simply sharing code upon their request isn’t what my job is supposed to be. As a beginner software engineering intern, this is the number one mistake I’ve been committing: simply sharing the code that non-technical audience can’t really interpret or any audience can be overwhelmed with. Code has an important story to tell, and as a software engineer, I am relied upon to give this code a clear and convincing voice. So, now I am working on improving my code storytelling skills. I now know that code storytelling/explanation isn’t just trying to explain the technical aspect of it. Rather, I try to focus on developing in all three important areas of coding storytelling: technologies, visuals, and narrative, that all comprise a structured approach to communicating task insights. When I craft a deliverable to a stakeholder, I now try to make sure my narrative is coupled with code so that it helps explain what’s happening in the code and why a particular insight is important — and here I try to insert as much context as possible. Visuals can enlighten the audience with insights they might not otherwise see. When visuals and narrative is paired, it helps me make sure the audience is engaged with the story. Lastly, when all three components are combined, it helps me make sure that the code story influences or drives change.


Wednesday, July 20, 2022

Week 10. Post 1.

 What recommendations would you give to other students doing an internship?

I would one of the most important skills that I have learned in my internship are not even technical. Technical too, but mostly I would say it is soft skills such as communication. I worked in a relatively small team and 70-80% of my work heavily relied on communication. 

Before coming to this internship,  I have been always underestimating the power of communications. I always felt that as long as I have good technical skills - I am good to go. However, I realized that even for software engineers, communication in the team is a key. For example, if you working on devleoping a certain feature and your mentors gives you some instructions on how to implement it, in your head you might have a completely different vision and understanding. Thus, it is highly important to keep always communication your process of developing and how you are feeling about it. After I came to this internship, I was fascinated by how my mentors interact with each other - how clear their thoughts are always are, how concise and comprehensive their speech is etc. I realized that having good communication skills are not less important than your technical skills. 

Thus, I would highly recommend working on your communication skills, how to express your thoughts well, how to address your technical questions better, how to convert your technical mindset to non-technical when talking to managers etc. On my next internship, I will try to work on my communication skills harder by practicing some of the advice for good communication practices. 

Reflection Summary.

 July 30th marks the last day of my internship. It has been a fantastic experience and surpassed all my expectations, making me sad to see i...