Professional
Principal Financial Group: SSL-Certificate Renewal Automation Script
Summer 2016
During my summer internship at Principal Financial Group, I worked with the web infrastructure and distrubuted app hosting teams. One of the big projects I worked on was writing an automation script that would automatically renew SSL-certificates across all of Principal's domains, both on their internal and external networks. This script would iterate through every domain that Principal owned and capture the certificate via an HttpWebRequest. I then wrote several algorithms to capture this certificate as an object, cross list its expiration date, and store that information in a series of JSON objects, so that requests for one certificate weren't entered multiple times. One of my favorite aspects of working on this project was seeing it through the entire coding process (design, implementation, testing, production). I learned a lot about programming while working on this project, and it's because of my work at Principal that I wish to pursue a career in application development, with an emphasis in security.
Summer 2016
During my summer internship at Principal Financial Group, I worked with the web infrastructure and distrubuted app hosting teams. One of the big projects I worked on was writing an automation script that would automatically renew SSL-certificates across all of Principal's domains, both on their internal and external networks. This script would iterate through every domain that Principal owned and capture the certificate via an HttpWebRequest. I then wrote several algorithms to capture this certificate as an object, cross list its expiration date, and store that information in a series of JSON objects, so that requests for one certificate weren't entered multiple times. One of my favorite aspects of working on this project was seeing it through the entire coding process (design, implementation, testing, production). I learned a lot about programming while working on this project, and it's because of my work at Principal that I wish to pursue a career in application development, with an emphasis in security.
Educational
CPR E 288 Embedded Systems: Final Design Project
April 2016 The final project for this course was to program a robot for blind navigation through a maze, set to simulate the conditions of maneuvering on Mars. My project team (the "programmers on Earth"), utilized and relied solely on the sonar, lydar, and bump sensors on the robot to navigate past obstacles and locate the target zone. Throughout the entire semester, we learned and applied many embedded system concepts including interrupt programming, serial communication, analog-to-digital conversion, and input capture. We programmed this microcontroller using C, and were truly offered a unique experience and introduction to what working with embedded systems is like. This class was very C-programming heavy, and my project team learned many vital skills as a result. Our project demo occurred without any problems, and we received a very high score. COM S 309 Software Development: Semester Project Fall 2016 This course featured a semester long project that focused primarily on formal software development methods in a team based setting. My team worked on a productivity tool all semester that was targeted towards college students looking to organize group tasks/projects, calendars, and messaging services all within the convenience of one mobile application. We strived to automate many processes and alleviate all of the conflicts and headaches that come from trying to determine group meeting times and project deadlines. My team developed within the Xamarin framework, which allows for cross-platform development from one code base. While this may sound great and super idea, this caused us many problems throughout at the project, as some features were exclusive to iOS vs. Windows, and vice versa. Overall, my team and I learned a lot about code organization and the formal development process in general. |
CPR E 381 Computer Architecture: Pipelined CPU Fall 2016 This was one of my favorite projects that I've worked on at Iowa State, due to its mass complexity and rewarding feeling that was experienced upon successful completion of executing 50+ assembly instructions correctly. This project required a tremendous amount of time, effort, and planning. My lab partner and I were very organized in our documentation and implementation of each individual instruction. After mapping the proper signals to their respective locations in our processor, we would test each instruction thoroughly to make sure it worked, being sure to test edge cases and obscure instruction sequences. Using this method of extensive testing proved to be super beneficial to my teammate and I, as we demoed this project with perfect executing of the entire MIPS instruction set. We also successfully completed the bubble sort and merge sort assembly algorithms. As long as this project was, the overall planning process and execution of implementation was worth it all in the end. |