Internship Final Paper PDF

Document Details

DivineZebra9695

Uploaded by DivineZebra9695

Red Rocks Community College

2024

Tiffany Douglas

Tags

internship software development database management computer science

Summary

This document is a final paper for a software engineering internship completed in December 2024. The paper details the author's experiences working on projects like the Coal Valley Mine Lab Application and the Vendor Form Application, highlighting the skills gained in software development and database management.

Full Transcript

Tiffany Douglas CSC4080552 Internship Final Paper 12/01/2024 During this semester, I had the opportunity to undertake an internship that not only aligned with my current role as an Enterprise Software Programmer Analyst but also significantly enhanced my professional skills and understanding of...

Tiffany Douglas CSC4080552 Internship Final Paper 12/01/2024 During this semester, I had the opportunity to undertake an internship that not only aligned with my current role as an Enterprise Software Programmer Analyst but also significantly enhanced my professional skills and understanding of the field. This internship was a continuation of my current professional journey as well as an opportunity to venture into new learning experiences. My primary role involved collaborating with multiple stakeholders to determine software needs, evaluate requirements, and develop solutions that optimize workflows and data management. The projects I worked on most during this internship were called the Coal Valley Mine Lab Application and the Vendor Form Application. These projects I worked on required software development, debugging, database management, and user experience designing. The Coal Valley Lab App development, in particular, presented unique challenges due to internet instability at the mine site. The technicians needed a reliable system to input data even when offline, which meant I had to develop skills for handling offline data synchronization. Implementing offline saving functions and ensuring data integrity upon reconnection were both challenging and rewarding tasks. I needed to work with local storage and seamlessly sync data without causing duplicates or data loss. I used multiple learning tools as well as networking at a conference to help find the best solution for this application in my companies' environment that also met the needs of the lab technicians. For the Vendor Form App, I had to develop additional skills working with document templates and XML mappings for automation tasks. This involved creating a template that could dynamically generate documents based on user inputs into the application, streamlining the vendor onboarding process. Learning how to effectively use XML mapping to populate document fields was initially challenging, but with persistence and additional research, I was able to overcome this hurdle. The successful implementation of this feature was required to release the application for testing, which will greatly reduce manual data entry and minimize errors in vendor documentation. Courses at Red Rocks Community College have certainly prepared me with the necessary skills to excel in a role like this! The coding courses have enhanced my ability to read and understand code, which is invaluable and required with troubleshooting and implementing new features. The wide variety of code I have learned at Red Rocks Community College has prepared me to adapt to different coding needs that may arise, and I've found it easier to pick up another coding language without formal training like a course. The SQL and database management courses were also directly applicable, as I frequently used SQL Server Management Studio to store, transform, and retrieve data for reporting purposes. Concepts from the Database Design and Management classes helped me in normalizing databases and writing more efficient queries, which I have improved by working with the database manager to learn SQL more thoroughly with this company. I would also say that Software Engineering courses have been beneficial in following development from a concept into a developed application. This was also relevant when working with the Quality Analyst to get guidance on testing from an end user perspective. While my coursework has provided a strong foundation, I found that certain skills needed to be refined on the job. One significant area of growth for myself was effective app testing strategies. Recognizing the challenge of testing my own applications without bias, I collaborated with our quality analyst to learn her methodologies. She introduced me to her approach of comprehensive testing plans using Excel to track every input and outcome, including testing for invalid inputs and security vulnerabilities. This meticulous approach allowed me to adopt an end-user perspective, which was incredibly helpful in identifying and resolving issues that I might have otherwise overlooked. We worked together to conduct input validation testing and offline testing to ensure the application could handle unexpected inputs and likely internet outage issues. I also learned the value of documenting each test case and outcome which I believe improved the quality of the application and also provided this valuable documentation for future use. I also had the opportunity to delve into a new software as a service for my company, Power Pages, to design an external facing portal with role-based access controls and multifactor authentication. This was crucial for developing a secure investor portal that would handle sensitive data. This required self-directed learning as I had to familiarize myself with Power Pages' capabilities, security features, and customization options. I spent time experimenting with different configurations, understanding how to implement robust security measures, and ensuring compliance with company policies and industry regulations. This project was unexpected in the timeline but was notable for the value received in learning more about multifactor authentication and cyber security and how it relates to the online digital world. One of the significant successes of this internship was the successful deployment of the Coal Valley Lab App. This app is now actively used by lab technicians, capturing data that feeds into SQL databases and supports vital reporting on coal quality. This has improved the efficiency of data collection and reporting processes, leading to better decision making within the company based on the quality of coal coming from different areas of the mine. Overcoming the challenge of internet stability at the mine site by implementing robust offline data handling was assisted by a tech conference I attended. This was an incredible opportunity to discuss application development with field experts and I was able to attend learning sessions all week. This was the event that help lead me to the additional support I needed to polish my offline availability of this application as well as expanded my professional network. The Vendor Form App, while not yet full released, has reached the end-user testing phase. I encountered delays due to conflicting schedules and the incorporation of more rigorous debugging processes that I learned from the quality analyst. I was not used to recording each step and input I tested during this phase, but the detailed documentation I believe helped ensure a higher quality product. Despite these challenges, the project is nearing completion and will replace an outdated method with a streamlined approval routing system, improving efficiency, and reducing processing times for vendor onboarding. Time management proved to be one of the more challenging aspects of the internship, due to my old habits. Closely tracking my hours to distinguish between internship related tasks and other responsibilities, such as graphic design work, required more attention than I would normally give. Initially, I found it tedious to log every activity, but I realized the importance of this practice in a professional setting. I started using Azure DevOps more effectively by tagging my stories with "Internship" to simplify tracking and ensure accurate reporting. This not only helped in meeting the internship requirements but also improved my overall productivity and accountability. I learned to prioritize tasks more effectively and allocate my time based on project deadlines and importance. Beyond the technical side of the internship, I also had growth in soft skills such as communication, teamwork, and presentation abilities. Collaborating closely with various teams, including accounts payable, lab technicians, marketing, and executive staff helped enhance my collaboration skills. For example, developing the SharePoint Communication Platform required clear communication and coordination with multiple stake holders to ensure that company standards were met, and that the platform effectively served its intended purpose. This involved conducting meetings, gathering requirements, running test groups, and providing trainings sessions to admin roles. During the time of my internship, I also had the opportunity to attend the TechCon365 conference with my team. Upon returning back from the conference, I presented my findings to the IT department which was a significant highlight. Preparing for this presentation was an exciting way to gather and share the information I learned. I was focusing on delivering a confident presentation, practicing beforehand to overcome my tendency to use filler words such as "uhm" and "like". I received positive feedback on my delivery and content, which reinforced my confidence with public speaking, a skill I often struggle with. This internship reinforced my commitment to my career path with software development. The experiences I have gained, particularly in project management and cross-departmental collaboration, have helped solidify my aspiration to continue in this role and eventually progress into a leadership position. The opportunity to work closely with executive staff contributed to my professional network and understanding of corporate organizational dynamics. It is enlightening to see how different departments interact and how software solutions can drive business objectives. Reflecting on this internship, I am grateful for the challenges faced and the successes achieved. The experience has been great in enhancing both my technical and soft skills which I believe will be reflected in my professional growth and development. While there were hurdles, such as time management and project delays, each obstacle offered its own learning opportunity that may benefit my future adventures. If given the chance, I would enjoy doing this internship again, perhaps seeking out even more challenging projects. The benefit of this internship is how you need to pay close attention to the work you're doing and reflecting on that work to see the growth and change. Often in our normal jobs we forget to stop and see how far we have come, which I feel like this internship highlighted. Lucky for me, this is still my job, so I truly am excited to continue working on these projects and seeing how they shape and develop over the years of feedback and improvements. Tracking the work I perform and relating it closely to my degree path has been enlightening and rewarding, reinforcing my passion for the field and setting a solid foundation for my continuous career progression.

Use Quizgecko on...
Browser
Browser