Sope Ogundipe is a second year MS in Computer Science student graduating this spring 2020.
Sope came into the program from the University of Lagos with a Bachelor of Science in Systems Engineering. Over the summer he was a Software Engineering Intern at Arista Networks in San Francisco. In addition to his internship, he was a Code2040 fellow. He learned a lot of lessons about work and life in general during that summer. lessons that he hopes will take with him for the rest of his life. When asked what he learned during his summer internship he gave great insights into what he learned.
Code Style & New Tools:
I learned about writing proper code that followed the style guidelines for Golang and Python. I remember there were so many corrections during my first code review, but they got better over time. I also learned how to use Gerrit for code reviews and Jenkins for testing, while gaining more experience using git for some more complex functions than just pushing and pulling.
Reading and debugging code:
It’s much harder to practice DRY when your codebase contains over a thousand go files. I had to check for duplicates before implementing any helper function; because chances are such a function already existed. I enjoyed debugging code during my time in Arista. One particular scenario that stands out is when I had to debug an open-source library named “goxpath” to figure out an issue with wrong values being populated in AST trees. It took about two days of diagramming and writing out functions on a whiteboard while stepping through an unfamiliar codebase but I eventually fixed it and made a pull request. It was exhilarating 🙂
Arista is a Network company, so I learned a lot about network concepts through my work and even just by being around and having conversations with people. Arista also had routine tech talks which helped a lot with this.
When reflecting on how his education at USF contributed to getting and excelling in his internship he stated:
A bunch of classes I’d taken up until when I started my internship really helped me both secure my internship and excel in it. “Principles of software development” instilled in me the virtue to write quality code and think about performance and scalability from the outset. “Algorithms” was sure useful (I had to implement an algorithm that checked if two trees are equal as part of a test case I designed). The Blockchain course introduced me to Golang which happened to be the major programming language used by my team in Arista.