John deere - Summer 2013
For John Deere, I worked on a software compliance and long-term storage project over the summer of 2013 as an intern.
I was to develop a process for checking for software compliance of the software titles that my department owned. By developing this process, I was to then test the process and check for compliance on a variety of titles before the end of the summer. After finalizing the compliance check process, I met with each team member to walk them through an example and go over any questions that they might have.
My next task was to get through as many software titles as I could and upload all of the information that I had gathered throughout the summer. I was then to upload this information to a long-term storage solution with easy access for all the team members to use. Keeping a record of each title that has been checked also allows them to perform regular audits on a random sample of titles each year or more frequently as needed. Keeping everything in compliance allows the company to stay out of lawsuits and keep on good terms with the software vendors.
The skills I acquired during this process was learning how to use and query databases, managing software license servers, and some pivot tables within Excel. I was able to contribute my prior knowledge of excel and understanding of licensing terms and conditions. A new skill that I learned was the basic understanding of a database and how it works with all of the links.
This project was very important outside of the classroom because it was for a company that needed assistance with developing a process for software compliance audits. This was very important because it provides a check for making sure that John Deere is under compliance with their software licensing.
I was to develop a process for checking for software compliance of the software titles that my department owned. By developing this process, I was to then test the process and check for compliance on a variety of titles before the end of the summer. After finalizing the compliance check process, I met with each team member to walk them through an example and go over any questions that they might have.
My next task was to get through as many software titles as I could and upload all of the information that I had gathered throughout the summer. I was then to upload this information to a long-term storage solution with easy access for all the team members to use. Keeping a record of each title that has been checked also allows them to perform regular audits on a random sample of titles each year or more frequently as needed. Keeping everything in compliance allows the company to stay out of lawsuits and keep on good terms with the software vendors.
The skills I acquired during this process was learning how to use and query databases, managing software license servers, and some pivot tables within Excel. I was able to contribute my prior knowledge of excel and understanding of licensing terms and conditions. A new skill that I learned was the basic understanding of a database and how it works with all of the links.
This project was very important outside of the classroom because it was for a company that needed assistance with developing a process for software compliance audits. This was very important because it provides a check for making sure that John Deere is under compliance with their software licensing.
John deere - summer 2014
In the summer of 2014, my second internship with John Deere I worked on the team that developed the servers that processed all the machine health data that was being sent from the tractors and machines in the field back to John Deere to be stored and accessed through a web portal that growers and dealers could access. My project that I worked on was a support tool that would debug messages that are sent to and from the machines in the field from the local servers.
I learned a lot of helpful skills during this summer when it comes to Java development and software project management. I developed my tool using Java and a framework called Spring. I developed this tool through the use of test-driven development and Agile Process. I also participated in the daily team SCRUM stand-ups to talk about each of the tasks everyone was working on as part of Agile.
I was very happy with the end product and towards the end of the summer when I started releasing versions to the developers, they really enjoyed using it and it even helped them track down an issue that they had with one of their systems. My manager was very impressed at my performance, especially this being my first large programming project that I worked on from scratch and even deployed the tool to the production environment during the summer.
The skills I learned from this work experience I was able to take back with me to college and apply it to my classes based on the processes that I used over the summer. The CySquare application project was the semester directly following this internship and made that class very easy since I had already been exposed to the Agile Development before the course because of this internship.
I learned a lot of helpful skills during this summer when it comes to Java development and software project management. I developed my tool using Java and a framework called Spring. I developed this tool through the use of test-driven development and Agile Process. I also participated in the daily team SCRUM stand-ups to talk about each of the tasks everyone was working on as part of Agile.
I was very happy with the end product and towards the end of the summer when I started releasing versions to the developers, they really enjoyed using it and it even helped them track down an issue that they had with one of their systems. My manager was very impressed at my performance, especially this being my first large programming project that I worked on from scratch and even deployed the tool to the production environment during the summer.
The skills I learned from this work experience I was able to take back with me to college and apply it to my classes based on the processes that I used over the summer. The CySquare application project was the semester directly following this internship and made that class very easy since I had already been exposed to the Agile Development before the course because of this internship.
john deere - summer 2015
In the summer of 2015, I worked on a team that developed software for John Deere's in-cab displays on an embedded architecture. I developed a couple of support tools while I was working over the summer. My first project was to develop a database that would store a history of software build results from our continuous integration server in order to view the data over a period of time to track down build errors and warnings in the console output. I was able to successfully complete this project ahead of schedule by mid summer.
After my first project, I started working on a second project that involved analyzing the entire code base for the display and construct a graph of dependencies within the project. In the end, I was able to create a lightweight tool that can be run on a developer's machine with only Python and the mapping software. Before leaving for the summer, I had many developers download and install this tool and they found it easy to configure, along with the ability to customize the results that they get on a more advanced level if they so choose.
I learned a lot from this work experience, especially making sure I was developing this web application (the build result database project) with a security frame of mind. I made sure to prevent any SQL injection from the web form and verified that the database password was not stored in plaintext in the source code since I was deploying this tool directly out onto a production server and accessing a shared or common production database.
I learned a lot from this work experience, especially making sure I was developing this web application (the build result database project) with a security frame of mind. I made sure to prevent any SQL injection from the web form and verified that the database password was not stored in plaintext in the source code since I was deploying this tool directly out onto a production server and accessing a shared or common production database.