I make custom software solutions to solve complex technical challenges.
I'm Mat. And yeah, you saw that right. One "T". Currently, I live in live in Erie, PA, while I finish my senior of college at Penn State, Erie - The Behrend College.
I will be finishing my Software Engineering degree in may of 2019, along with a minor in MIS. While I attend school here, I work as TA in the Computer Science and Software Engineering department, grading for anywhere between 40 and 150 students depending on the semester.
After I graduate, I will begin my career at Progressive Insurance as an IT application developer. During my free time, I most often spend time playing video games, working on one of my collections, whether it be retro video games or Pop Figurines. I also spend lots of time watching movies with my girlfriend, Molly.
As part of the senior design process at Penn State, each student is assigned to a team of three students. These teams are assigned to real projects that are industry sponsored (and sometimes University sponsored). We must go through all stages of project management, testing our understanding of the agile environment.
My team was assigned to the college for kids project. This program is sponsored by Penn State and is run each year. They provide classes for children 6 - 14 years old in a variety of topics ranging from robotics, to cooking, to science. However, most of the work was done by hand. We were tasked with streamlining the process.
We begin by eliciting requirements. The College for Kids project was a continuation of a project from a previous year, so many of our requirements were bug fixes. The main requirements for the project were to implement a scheduling functionality for the administrators of the program, and to implement a course proposal system.
Development is performed in an agile environment. Our team focused heavily on user envolvement. We held bi-weekly meetings with the administrators of the site, in order to gain feedback from them. We also practiced continuous integration using Jenkins, which allowed us to get instant feedback on our progress.
We practiced test driven development as well, and that proved to be an invaluable practice. Being able to see our test coverage at each build was very helpful to determine the exact progress of the project.
During the summer of 2018, I participated in an internship program at Progressive Insurance. I was an IT Application Developer Intern assigned to the Policy Servicing team. As an SM team, there were many projects that my team managed. I was assigned specifically to the PROVE project.
PROVE stands for Policy Retrieval and Online Verification Engine. Essentially, this served as a platform for lean holders to verify that customers in fact have insurance. I participated in upgrades and enhancements to the site. Most of my changes to the platform consisted of security based changes.
Our team used agile practices, and I got to participate in an elevate to production, and I also had the opportunity to run several of the stand ups for the project. I believe that this was an invaluable experience.
Also during my time there, each intern was assigned to an intern project was wholy managed by the interns. At the end of the internship, all of the teams presented their projects at a conference that the entire companhy was invited to, including the CEO and other Chief officers.
My team, consisting of myself and four other interns, was tasked with creating an Amazon Alexa skill. The goal was to make Alexa read some text from a server. As this was a generally broad goal, we decided to make the skill read financial earnings reports from Progressive from the past months, allowing the user to specify which month and year they would like.
Our team actually finished well before the intended deadline, so were able to recreate the skill as a Google Home action as well. We were able to compare and contrast the two platforms at the conference. After my internship was over, I found out that our project was presented again to the CEO of the company in a private meeting.
While learning assembly for school, I completed a final project which visually demonstrated the process of depth first search. I did this by showing the process of solving a maze of solving a maze using depth first search.
I used a maze generator to create 40 randomly generated mazes of the same dimensions, although my algorithm would work for a maze of any dimensions. Afterwards, I randomly picked a maze from those, read them into memory, and began the process solving.
This algorithm used to solve the maze was as follows: first check the space to the right. Then check the space above the current space. Then check the space to the left. Finally, check the space below the current one. As soon as you find an empty space, call the algorithm recursively on that space, marking the current space as checked.
If no empty space is found, then you have reached a dead end. Begin retracing your steps via the spaces marked checked until you can find an empty space. As you retrace, you should give these spaces another notation to mark them as a dead end.
Assuming there is a solution to the maze, this algorithm will find the solution. In order to highlight the path to the solution, I begin at the starting node, and trace through all of the nodes marked as checked. This will lead to a direct path to the end of the maze.
While learning embedded systems at university, we were tasked with a semester long project in groups of five students. Our projet was to develop the classic game snake. However, we did this in a QNX OS environment. This allowed us to place the game on to a small board to further enforce the concepts of embedded systems.
On top of the restrictions placed on the project, which reinforced the concepts of real time operating systems, my team decided to add a few additions to the game, including placing obstacles on the board and enhancing the graphics of the project.