My Perspective: The Fenris Internship Experience
How it All Began…
My senior year of high school did not play out quite as I had intended. As a consequence of the pandemic, my normal activities and commitments were largely modified and cancelled. This was certainly the case for others as well, with the pandemic catalyzing significant changes such as shifts to working from home, adjusted logistics for recreational groups, and cancelled travel opportunities.
I participated in remote learning for the entirety of the year, competed in athletics in a socially distanced fashion, and engaged in extracurriculars in a predominantly virtual format. My fellow students and I took final exams more than a month later than normal, and we attended entirely asynchronous Wednesday classes.
By the beginning of my second semester, I was determined to find a work opportunity to invest in that would help me to find more purpose than that which I was obtaining through my virtual schooling. The abundance of asynchronous school time empowered me to pursue such an experience.
Since March of this year, I’ve had the great pleasure of working as a Software Engineering Intern for Fenris Digital.
My name is Sydney Runkle. I’m a rising freshman at the University of Wisconsin-Madison, and I’m originally from Chapel Hill, North Carolina. I love to bike, run, and hike. When I’m not spending time outside, working, or studying, I’m often cooking with family or baking with friends.
I intend to major in electrical engineering, and I will also be pursuing a degree in computer science. While I look forward to my studies at UW Madison, I also look back on my spring and summer internship experience at Fenris with much appreciation.
I began my work at Fenris with some previous programming experience. During the summers of 2019 and 2020, I interned at Quantworks, a Chapel Hill/Carrboro based analytics solutions company. I also had completed a variety of online coursework relating to python data science projects and website development by the time that I began my work at Fenris.
On my first day at Fenris, I was highly impressed by how welcoming my coworkers were. I received emails and invites for welcome calls from my team members almost immediately. During the following months, I developed valuable working relationships with my coworkers, especially the members of the development team with whom I worked most closely. It was hard not to, in such a positive, supportive, and collaborative environment.
Nowhere was this welcoming workplace setting more evident than in our daily standup meetings. I was always greeted with smiling faces, perhaps a laugh or a joke, and an attentive and supportive team.
Though my work has been based virtually out of Chapel Hill, I had the chance to meet the Fenris development team on my summer vacation in Boulder. I left the team lunch even more enthusiastic than I had been previously about working with a team of dedicated, kind, thoughtful, and highly intelligent individuals.
One of my favorite aspects about working at Fenris was that the work that I did was valuable to the company, implemented in our sales systems, and has proved to be useful in our backend development operations as well. Unlike other internship experiences where intern work may be treated as a side project or a temporary and explorative spike, I felt as though my work for Fenris was valued at the same level as that of my coworkers.
Despite my age and position in school, every member of the team treated me as an equal and coworker. This furthered my appreciation for working with the Fenris team.
Handling Learning Curves
Another experience that I enjoyed at Fenris was the steep but exciting learning curves that I encountered upon on-boarding. I not only had a lot to learn about the insurance industry and Fenris’ role in it, but I also had to absorb an abundance of information regarding the production software development cycle and environment at Fenris.
I soon became immersed in the world of GitLab and Jira. Jira, an issue and project tracking software, is the basis of our development team’s project planning. GitLab, a web-based DevOps tool, helps us to manage our project code and versioning.
I was semi-familiar with Git (the version control system leveraged by GitLab), and had used Clubhouse (a tool with a similar purpose as Jira) for project management in the past. The agile development project management structure that our development team used was more ordered than that of my previous experiences. I was largely in awe of the implementation and strategy.
Jira offers support for clear task acceptance criteria, predictors for task workload, task categorization and organizational features, and an intuitive sprint workflow. More than any other tool, Jira’s structure helped to support my engagement in modular, meaningful work.
Both Jira and GitLab do an excellent job of facilitating collaboration. As a consequence, using merge requests to facilitate code improvements and updates on GitLab became one of my favorite development cycle tools. I enjoyed the iterative structure of this tool that enabled rapid feedback on my work. I engaged frequently with my supervisors through the merge request medium, which soon became one of my largest sources of learning, specifically relating to code quality and thoughtful code architecture patterns.
From a programming standpoint, I quickly began working within a system of test driven development, which I had not used prior to my work at Fenris. Test driven development is a system in which code is thoroughly evaluated via test cases. Tests must pass before deployment. Read more about our TDD system here.
Collaboration with Our Sales Team
I primarily worked with the development team while at Fenris, but I also appreciated having the chance to work with members of the sales team. In working on programming a demo dashboard for our sales team to use internally for promotions and customers, I bounced back and forth between communicating with sales and development team advocates, acquiring feedback from both sides and consolidating expectations from both groups into a viable product.
Additionally, our biweekly sprint demo meetings include all of the members of our Fenris team, both on the sales and development sides. I enjoy having the opportunity to showcase my work from the previous sprint to all of my coworkers, allowing for open feedback and discussion that incorporates a variety of diverse perspectives and expertise.
Improvements and Reflections
I still have much more to learn in all of the aforementioned fields. I embrace this fact with excitement and enthusiasm.
Regarding agile development, I look forward to learning more about the scrum vs kanban development strategies. In the future, I’d like to contribute to our sprint planning in a more structured and planned fashion as I learn to better adhere to the respective policies and guidelines of scrum and kanban.
Regarding version control, it’s no surprise that I made some mistakes. In some cases, my commits were overly large, and more modular work would have been appropriate and more organized. In other cases, I overcompensated with an abundance of commits, which readily became messy or overwhelming for reviewers. I will continue to strive for a balance of coordinated, straightforward contributions and commits.
From a purely Python perspective, there is always more to learn about code structure, best practices, effective communication through clear and concise code. Additionally, I’d like to learn more about the test driven development cycle and how I can continue to embrace the TDD structure to ensure that code has high quality and functionality.
Finally, the majority of my programming work with Fenris was in python, working on client libraries and external tools to leverage our APIs. In the future, I look forward to learning more about our backend infrastructure, the data load process, and our searching/matching mechanisms.
Though I’ll be taking some time off of work to focus on my degree this fall, I very much look forward to working with the Fenris team in the future. This internship experience has been engaging, enlightening, and exciting.
For those considering a position at Fenris, I would highly recommend the company on the basis of the collaborative and supportive work environment, the expectation and execution of efficient and high quality work, and all of the potential that Fenris has to develop and grow in these coming years.