Final Reflection
At the start of this internship, a few of my goals
included applying concepts from my CS curriculum onto this non-academic role,
understanding the modern work environment and relating it to my personal career
goals, using oral and written communication skills to present complex ideas,
and experiencing and learning what it means to work in software development.
Applying the skills and knowledge that I learned from my Berea College CSC
courses came naturally since I had to use any prior knowledge I had to the best
I can in order to try to solve coding issues. Skills and knowledge that I had
to apply from the CS courses included pair programming, where we switched
partners about every two weeks, using Python and back end programming logic,
and also knowledge of databases. I also had to use written and oral
communication when adding comments to the code that I write and when updating
my co-workers and supervisors on my partner and I’s progress on the issue that
we worked on during the morning meetings. During those meetings, we would
describe the current tissue that we were working on, the obstacles that we have
faced and overcome, whether or not we are still stuck, and what we will be
working on for that day. Lastly, to get the most out of this software development
role, I have purposefully chosen issues that required knowledge that I have
never seen or dealt with such as using JavaScript, cookies, session, AJAX and
JSON, so that I would be forced to research about those things and become
familiar with those topics, and by the end of this internship, my familiarity
with those front end tools have definitely increased.
I believe that my expectations for this experience
were pretty realistic because my goals included things such as applying what I
learned from my CS courses and getting better understanding of the software
development role so that I really can use it to decide my career path. It is in
my best interest to make the most out of this internship and that means taking
on issues or doing tasks that would allow me to explore the software
development role. I also think that doing a software development internship should
provide me with enough information and knowledge that I could use as a deciding
factor on whether or that is the field that I want to enter, so I think my
goals are set reasonably and are set to be useful for me.
My biggest success in this internship was contributing
to the addition of the feature in the CELTS application that allowed for events
with multiple offerings to be created. The main purpose of it was to track
multiple offerings of a single type of event using a single ID so that users’
profile can be marked as completed for that event as long as they attended one
of the offerings, not all of them. Since all the event offerings are of the
same evens happening at different times, the system would automatically recognize
the shared ID and mark it complete as long as one is complete; whereas before,
there was no way for the system to do that automatically and it would have to
be done manually. We implemented the field, “multipleOfferingId” and added a
new property “isMultipleOffering” which is added on the event creation page. We
also added an AJAX post request to retrieve the data from the event creation
page and send it to the server to be saved in the database. This was the
biggest success for me because it exposed me to all sorts of tools and concepts
that I never knew about in front end and back end, such as using JavaScript,
using AJAX and JSON, making post requests, and modifying an already existing
logic to fit in a new type of data.
This internship experience made me more knowledgeable
in programming, the software development environment, and also made me more
familiar with my fellow classmates in the Berea College CS department. First of
all, this experience forced me to solve issues in the front end, exposing me to
tools like JavaScript, AJAX requests, and HTML that I had barely or never used
before, increasing my familiarity with front end, and increasing my knowledge
with the overall full stack development. Second, this internship gave me an
experience on the life of a software developer and made me really see what it
would be like to be in this career field. Lastly, this internship introduced me
to many people that I did not know in the CS departments and also made me more
familiar with some people that I had already known. We were able to bond
together during our morning meetings, during our walks that we take almost
every day, during our kayaking team bonding activity, and also as we helped one
another in solving our issues. This experience overall has been eye opening and
fun as I was able to work with such a supportive team and also be able learn a
lot in the process.
From my challenges in this internship, with the
biggest challenge being working in the front end, the lesson that I learned is
that no matter how helpless or dumb I felt when I had to solve something I had
never seen before, I end up coming out of it being more knowledgeable. For
example, when I first had to work with Bootstrap and JavaScript, I was so lost
I did not know where to even start to solve the issue. However, the second or
third time I had to use those same tools, I realized that I was more familiar
with them and knew how to get started and what I needed to implement. That
realization made me feel so accomplished because I never thought I would become
familiar with something I had such little knowledge about before and also made
me realize that all those time that I spent researching, watching YouTube
videos, and trying to understand the existing code actually paid off.
The recommendations that I would give to other student
doing this internship would be to stay open minded, be very willing and excited
to learn, and to never be afraid to ask for help. Firstly, they will have to
work with multiple people from diverse backgrounds and varying opinions and
personalities, and so it is especially important to stay open-minded because it
is highly likely that they will have to work with at least one person who they
do not share their foundational opinions with. When working with others, it is
not always about who is right or wrong and is instead about trying to be in
their shoes and trying to understand their standpoint. Sometimes, it is also
about realizing that one person know about a topic more than the other person,
and in that case, there is no reason to scold or shame the person that know
less; it should be a learning opportunity for everyone. Secondly, students
should always be ready to learn because they will come across many things they
have never seen before or know about in full details, and they should be ready
to research about that topic or start to familiarize themselves because they
cannot always avoid things they do not know. Lastly, in the case that they are
totally lost, they should not be afraid to ask for help from supervisors and
co-workers, because a lot of times, a little insight from another person can go
a long way.
Comments
Post a Comment