Computer science has been an interest of mine for a long time. On my own, I like to build websites, develop games, and create apps, but through my internship this summer at Jackpine Technologies, I learned how software engineering can be used to solve real-world problems and how I can use my programming skills to make an impact. Jackpine, located in Maynard, Massachusetts, develops a service called CONS3RT, which other companies use to automate their existence in the cloud. Users in CONS3RT can create “virtual machines” — computers that use storage and memory that exist in remote data centers but can be accessed from a personal computer (like a laptop). One of Jackpine’s largest clients is the Department of Defense. Because Jackpine stores and handles controlled unclassified information (CUI), the first few days of my internship were spent doing cybersecurity training, learning how to prevent data leaks and mitigate threats from insider attacks and malware. Actual employees who have access to Jackpine’s internal codebase have to go through a much more thorough security vetting process, but as an intern, it did not take very long.


Once my basic security training was complete, I started working on test cases, where I would go into CONS3RT and confirm that certain features the company was working on functioned as intended. Testing is a major part of developing software, so much so that Jackpine has an entirely separate server for CONS3RT called QA (quality assurance) that is used to test new changes before they are added to the production server. Every morning at 9:30, all of Jackpine’s employees get together in a ‘scrum’ meeting to discuss the status of CONS3RT and its related tools, as well as work done the previous day and plans for the day ahead. Testing gave me basic knowledge of Jackpine’s products and helped me better understand the terminology used in the meetings, which I knew nothing about when I first started. Later in my internship, I actually participated in these scrum meetings and received feedback from other employees on how I could improve my work. Being in the office three times a week to hear the developers troubleshoot and share ideas was one of the most valuable parts of this internship and something I wouldn’t have gotten by just writing code on my own.

I soon moved on from testing and began work on the project that took up most of my time this summer, called NOC-SOC: Network and Security Operation Center. Jackpine’s office has a collection of monitors on a wall that show data from their products and some of the tools they use every day. Most of it is useful, like CONS3RT’s ‘reliability’ score, which is reported at the 9:30 scrum every morning, but some of it is more for fun, like the ‘Slack message leaderboard’ that shows who has sent the most messages in Slack that day. The monitors are controlled with Raspberry PIs (small computers) and were first set up by interns in the summer of 2023. My job was to add more information to the monitors and improve how they presented the existing information, so I did not go very in depth into the project’s hardware. A lot of the work I did involved using APIs (application programming interfaces) to pull data from a variety of sources, including CONS3RT, Gitlab, and Slack. For example, if I wanted to get how many people were currently using CONS3RT, I would send a request to the “sessions” endpoint (a specific url used to get active sessions), using an access token – a long string of random letters and numbers generated within CONS3RT – to authenticate the request. The request returns the session count in JSON format, which the Python code I wrote then sends to a database created with a software called Postgres. I had to learn the basics of SQL (Structured Query Language) to access this database and show the correct data on the dashboards. Through my work with NOC-SOC, I also learned about SSL certificates, what a ‘cookie’ actually is, and more broadly, how the code I write can interact with the internet. In about six weeks, I created three completely new dashboards and made major improvements to a few others, helping Jackpine’s employees stay informed about the status of their servers and tools.




In my eight-week internship, I learned so much about the software development process, including how to test code, use source control, troubleshoot when I encountered issues, and effectively share my work with other developers. I want to thank all the Jackpine employees who welcomed me, helped me when I was stuck, and taught me what it is like to work at a tech company. I especially want to thank Mr. Peter Walsh for offering this internship to me and past Rivers interns and Mr. Schlenker for connecting me with Jackpine in the first place. It was truly an invaluable experience, and the knowledge I gained from it will definitely help me in the future.
Comments