Our summer intern, Eric Kinner, submitted this blog post.
With my RedLine13 internship coming to a close, now is the time to reflect on my experience here. Going into this internship, I only had the knowledge that my college classes had afforded me. I had experience coding in Java from my courses, some HTML and CSS knowledge from my own personal projects, and a little bit of exposure to PHP through my database class. Simply put, I learned more in the first 2 weeks here at Redline13 than I have in the past 3 years of college.
The first week was catching me up on the basics. I was told to learn as much Git and BASH as I could. I had known about Git and BASH, but surprisingly, my college classes had never touched on them or any shell script in general. As I learned over the course of this internship, both concepts are absolutely essential in order to work in a development job. Git especially blew me away with just how useful it is. From this point forward, I will be recommending it as the number one thing for beginner software developers to learn. Being able to quickly and easily share code with others, version control, and compare changes between two files is essential in the modern development world. I really appreciated having the opportunity to learn both Git and BASH in a practical environment. It really made me feel a lot more prepared for my first development full time position.
After Git and BASH, I moved on to learning more about things that pertain to the Redline13 platform. In particular how Redline13 works, what the different types of load tests are, and how to write custom load tests. This was intended to give me a view of what a customer sees when using Redline13 in a regular circumstance. The work done here allowed me to have a clearer perspective when working on features later on. I was able to think back to my time at this stage and structure my features to be as useful for Redline13 customers as possible. I actually learned about this concept in one of my Human Centered Design classes. I’ll get into it more further down the blog post.
Finally, it was time to work in the Redline13 code base. I was initially scared to touch the code, but understanding Git and how it version controls made me feel a lot better. I started off adding silly things to the site just to get a feel of how to navigate the code. I learned not only how Redline13 was structured more intimately, but I also learned how to get acquainted with a code base which will be a useful skill all throughout my career. I added some things like getting a funny message from an API request, reordering the tests table to be organized alphabetically, and I also began looking into having a feature that would allow you to rerun your most recent test at the click of a button.
That rerun feature turned into the first feature that I have ever worked on! It presented a number of unique problems that taught me a lot about PHP. I had to use the knowledge I gained from messing around with the Redline13 code base to go through each layer of code. I went all the way from Redline13’s database to the frontend of the website which made me feel very comfortable developing. I also encountered some design challenges, like should there be a confirmation for the rerun button? The issue with that approach was the intention of the rerun button was to make the process of running an older test faster. A confirmation message would make the rerun feature 2 clicks. While this is still faster than cloning a test, which is 3 clicks, I knew that it could be even faster if I forewent a confirmation message. For this reason, there is no confirmation message. It saves users 2 clicks if the test they want to rerun was the most recent one, and it takes the user directly to the view test page for the new test. I also made sure to color the rerun button the same as the clone button to communicate its purpose to users.
The last thing I did in my internship here was to create an alert that popped up if your load test pushed the Agents CPU Usage above 95% for more than 35% of the test. Giving people more information regarding their load tests is always a good thing in my opinion, but sometimes it muddies the waters. This CPU Usage alert feature allows for an important piece of information, the load the CPU is under, to be brought to the user’s attention in circumstances where it matters. Hopefully, this will also give users peace of mind, as if they don’t see a warning the CPU is perfectly fine and at a reasonable load.
Overall, I’ve learned a lot during my RedLine13 internship. Learning Git, BASH, NodeJS, PHP, and APIs will enable me to be more impactful in my career in the future. I really appreciated my time here. I was able to prepare myself for the software development world while, hopefully, contributing meaningfully to the platform.
You don’t need to be an intern to try RedLine13. I hope you like the changes that I made.