Categories
Uncategorized

My Internship Retrospective: Part 2 (Room for Improvement)

One of the most important parts of learning is gaining awareness of what areas you have for improvement.

My internship gave me a lot of opportunities to discover my strengths as well as weaknesses as well as clarity and insight into what I should be working on moving forward.

When I initially started working on my second Java ticket, I thought it would take roughly the same amount of time as my first Java ticket, since the tasks were quite similar.

However, it ended up taking me more than twice as long to complete due to a few mistakes I made in my initial approach.

First, I didn’t take as much time thinking and learning about the problem and thoroughly considering how to implement a solution before I started coding.

I learned that investing that time and effort up front to understand the problem can help you create a solution more quickly and effectively.

Second, I tried to work on two tickets at once since the next (my third) ticket touched a similar part of the codebase.

However, I ended up introducing unneeded complexity that slowed me down.

Going forward, I took away the lesson that, while it is good to think about building a solution that is extensible, it can be very important to focus on breaking things down and doing one thing well at a time, especially when you’re learning.

Like I mentioned before, the internship also gave me a better idea of what growth areas I’d like to develop further for myself in my career.

I want to work on developing my technical skills as a software engineer like implementation, design, and my ability to read and write code. 

I also want to continue focusing as well on my soft skills such as leadership, written and verbal communication, and planning.

Finally, I’d like to explore new fields within the software world that interest me such as machine learning, personalized education, and audio processing.

In conclusion, this internship experience has been a great way of identifying where there is room for growth for myself in my craft as a software engineer.

Categories
Uncategorized

My Internship Retrospective: Part 1 (Highlights)

As I approach the end of my internship as a backend software engineering intern at Coursera, I took the opportunity to jot down some thoughts about what the experience was like and what I took away from it.

I want to share some of the highlights/accomplishments first and in the next post, I will share some of the lowlights/learning experiences I also had during my internship.

What were some of my top achievements during this internship, and how did it impact the team/company/business?

I was able to contribute business logic to validate products and academic disciplines as well as ensure that students were getting subscribed to the most updated version of their specialization. I also helped work on migrating the code for configuring products in bulk so it could also support the configuration of specializations in bulk. 

This helped the Coursera C4C development team in their efforts to build self-serve tooling to make it easier for C4C customers to find and offer academic disciplines and for credit courses to their learners. 

By improving the efficiency and usability of the set-up process, Coursera can potentially unlock more C4C revenue and increase adoption of Coursera as a solution for universities looking to offer online for-credit courses and teach their students important and high-demand career skills.

How has this internship helped me in reaching your professional goals?

I’ve gotten a chance to work with some really talented people who taught me a lot about how to approach problems and function effectively within a team.

I also gained more experience as well as confidence in my ability to learn new things and be successful as a software engineer and teammate.

I’ve worked with some new languages and technologies such as Java, Scala and  been able to contribute to a product that I’ve used and admired for a long time.

I have a clearer idea of what I’d like to do in the future with my career, a clearer understanding of what I need to do to get there and more self-assurance that I can reach my goals.

Conclusion

Overall, I can say that this internship really exceeded my expectations. I learned much more in three months than I could have really imagined at the beginning of the internship.

I also felt that the quality of the experience I had itself was really good, thanks to the effort that the team I worked on and the recruiting team put into making sure my internship went well.

In the next post, I will try to share some of the lowlights and learning experiences I had during the internship, as well as what growth areas I’d like to develop next.

Thanks for taking the time to read my post!

Categories
Uncategorized

The Overlap Between Music and Code

On the surface of things, it may not seem that the art of programming has a lot in common with the art of making music. 

Music is typically seen as an inspired act of emotional expression and talent whereas programming is considered an analytical and coldly technical pursuit.

 However, in my opinion, both are closer to the middle of those two extremes than most people would think.

To me, music and code both represent a world of infinite possibilities that are made up of small and relatively simple building blocks. 

There are only twelve notes in the Western scale, yet there is no limit to the endless variations and countless compositions that are made up of those twelve notes. 

Similarly, the most complex computers are built upon an arrangement of ones and zeros that are organized and manipulated into doing some very remarkably complicated things. 

Learning music and learning coding both require a lot of exposure to patterns and an understanding of syntax and how the rules work. 

In the beginning, I learned the foundational skills of programming by learning how to write simple for loops and declare variables and I learned how to play guitar by learning basic technique and simple riffs. 

As my learning progressed in both arenas, I started trying to emulate songs that I liked on the guitar and I started trying to recreate programs based on tutorials. 

Eventually, I started being able to recognize patterns and understand how I could compose my own music or my own code after having observed how it was done and spending a lot of time practicing.

A lot of this learning was conducted via trial and error. 

When you play a wrong note, you can usually hear your mistake when you hear the discordance of the wrong note in relation to the rest of the notes. 

Similarly, when you’ve violated the syntax of a language, you will get an error message. 

Learning from mistakes was a huge part of my learning journey in both coding and programming and I am sure I will continue to make more mistakes and learn from them as I progress.

Finally, I can say that writing code and making music were both things I felt I had no natural aptitude for in the beginning. 

I struggled to accomplish even the simplest tasks and it took me a long time and a lot of effort to feel like I had any sort of baseline competence.

Ultimately, I think that I have a long way still to go but I have come a long way in my educational journey and I want to encourage anyone who thinks that they may not have the aptitude to do something they’re interested to just focus on getting started and putting one foot ahead of the other one at a time.