This past summer Ippon welcomed three new interns: Reid Jesselson, Tyler Yarow, and Prashanth Krishnan. Coming into it, we weren’t quite sure what to expect. The three of us had different backgrounds and varying goals for what we hoped to achieve. However, looking back, it is safe to say that Ippon not only met, but exceeded all of our expectations. From the skills we learned, to the amazing people we met, this opportunity has proven to be an invaluable experience. Below, we each took some time to detail our personal journey and provide a more thorough look into our work this past summer.
Our time at Ippon began with us running through a few tutorials to get us introduced to the tools we would be using throughout the summer. Seeing as none of us had any prior experience with back-end development, we began with a tutorial centered around making a simple banking app using Spring Boot. This tutorial involved a combination of debugging existing code and adding new ideas of our own to make the back-end function properly. Following this, we each went through a few tutorials on front-end development using ReactJS. Once we were comfortable with all of these concepts, we dove into what would be our main project for the summer, the "Assessment App."
The Assessment App is a project that engineers at Ippon have been working on over the past few years. Over this time, several engineers have made contributions to the app, but they have not spent much time on it. We were tasked with completing a significant number of features and outstanding tasks. Once we gained a basic understanding of how the Assessment App functioned, we dove in and started working.
Hello, my name is Prashanth Krishnan, I am a rising sophomore at George Mason University. Over the past two months at Ippon Technologies, I was thrown into many unfamiliar territories and had to learn about database structures, React, and Spring Boot. The first week had us debugging and adding features to a practice Spring Boot application before we started with our main project: the Assessment App. When working on the app, I had to learn about both the complexities of React’s state management, as well as building RESTful services in Spring. The jump from backend to frontend work was originally a challenge for us, but in the end, we proved to be quite adaptable.
During my work on the Assessment App, I focused mainly on the frontend. I wanted to expose myself to React and Typescript because I was wholly unfamiliar with them. I tackled issues that involved linking pages, Role-Based Access Control (RBAC), and Sass CSS (SCSS). My initial task was to create a flow for a user to generate a client from the page that enables users to create a survey session. This required me to create a new page in which users can create clients, separate from the entities page. I then moved to fleshing out the RBAC for the application, which involved changing the routing authorities on every page to correspond with what should be viewable by both admins and users. My final task was cleaning up the UI of the header, in order to make it more obvious which page the user was on.
While most of the issues I tackled were mostly frontend-heavy changes, my research into the subject and making subsequent changes let me learn and experience more about the frameworks used in frontend development. Overall, I feel like my exposure to these topics helped shape what I want to study in the future and expanded my interests in computer science dramatically.
I’m Tyler Yarow and I attend Virginia Tech where I just finished my sophomore year. My goal for this internship was to learn about new technologies that are applicable in the business world and about potential career options for a Computer Science student. Ippon is a consulting company that has different practices, including Software Engineering, Data, Cloud/DevOps, and Product. I was able to talk to many people who are involved in the various practices, which proved to be beneficial in my goal of learning more about some of the career paths open to me.
I started off my work on the Assessment App with a relatively simple story that was related to adding a protocol to links for sharing a survey and the results. I was able to put my new knowledge into practice and by completing this simple story, I became much more familiar with the application. The next story that I picked up included adding search functionality to the survey and category pages. With this story, I was able to learn more about how React works and actually add elements to the page, while also starting to become more familiar with TypeScript. I then shifted to something more back-end heavy which involved implementing a cascading delete when a survey creation was cancelled. I spent quite a bit of time working on it, navigating through the back-end code and databases. Afterwards, I realized that I didn’t quite enjoy working on that, now realizing that I enjoy front-end development, which was part of my goal for the internship. My final story was to implement pagination into the Survey and Category pages. With that story, I learned how to build and use my own React components.
During my two months as an intern, I was able to learn about many new technologies including React and Spring Boot, as well as meet many extraordinary people. I realized that I had difficulty navigating through complex databases, but that I really enjoyed working with React. Overall, I really enjoyed my time at Ippon. I was able to learn so much in such a short time and meet so many new people. Everyone that I met was incredibly nice and welcoming. Whenever I needed help, somebody was always willing.
Throughout the previous school year, I was unsure of what I wanted to do with my time this summer. I was working my way through my junior year at Columbia University with no real plan for my future. I had previous work experience in a number of different aspects of the Computer Science world, but none of them stuck out to me as something I was interested in pursuing further. Luckily for me, that would all soon change. One morning I received a text message from a previous co-worker, Davis, saying that his company, Ippon Technologies, was looking for interns to hire for the summer. After some brief research, I found that this opportunity could be exactly for me. I responded that I was interested, and after navigating my way through a few interviews, I found myself with a summer internship that I was excited about. Still, despite my good feelings, I really wasn't entirely sure what to expect.
Fast forward two months and now it is safe to say that Ippon knocked it out of the park. I came into this summer with some base level knowledge of front-end development. I had prior experience using React to build a web app back in high school. This summer, however, I was not only able to greatly increase my abilities in the front-end, but I was able to experience back-end development for the first time. Through this internship, I realized that I actually enjoy back-end development quite a bit. To go into a bit more detail on the work I did, most of my time this summer was spent debugging some pre-existing issues in the Assessment App.
The first issue I tackled was regarding survey session creation, which was previously returning an internal server error due to an issue regarding the construction of the relationship between survey sessions and users. Following this, I tackled another bug pertaining to how survey answers are stored. Previously, the answers were stored as a state variable that was operating on a delay, causing incorrect answers to be stored upon a user submitting a survey. Both of these issues greatly increased my ability in both recognizing and correcting errors. The third major story I worked on involved creating a Liquibase changelog file, which I had previously never worked with before. The purpose of this file was to ensure that each question type, radio button, and text response had a properly defined type variable in the database. Each of these stories involved a different aspect of the app, which allowed me to acquire a level of familiarity with a number of new languages and technologies. Yet, potentially the most valuable part of the summer didn’t even have to do with the technical skills I learned, but had to do with the people I met here. From the people I worked with on remote projects to the group I met at the NYC fun event I attended, the employees are really what makes Ippon special.
Overall, we all had an amazing experience at Ippon Technologies. We were given a chance to do various activities that piqued our interests and helped grow our knowledge of software engineering. We were introduced to new topics with Keycloak, authentication, Spring Boot, and React. We were also invited with open arms to a company with an excellent workplace environment and kind employees. This was noticeable even teleworking due to the ongoing COVID-19 pandemic. Our experience with Git to coordinate with each other and solve merge conflicts helped us better understand what people in our profession do daily and how to work more efficiently in general. We all have had an amazing experience here and have had a great time meeting other Ipponites, contributing to the company, and learning new things. We will carry these experiences with us. Thank you Ippon, and those of you who gave us this opportunity, for wonderful experiences!