I finished my 6-month internship at the BSU on January 31, 2021. Prior to starting, I had just finished my MPhil in Epidemiology at the University of Cambridge, so I knew about the BSU since it was right above where we had our classes at the East Forvie Building. I remember looking through the job posts and seeing an open internship position with David Robertson. It caught my eye because it wasn’t epidemiological in nature, but rather it tasked the hire with building a Shiny app. I was extremely excited to put my R skills to the test and learn some new things.
The reality is that due to COVID-19, my BSU work experience was somewhat incomplete, just as how an unfinished painting may have the lines and form completed, but without color, it’s not the same. The COVID-19 outbreak and resulting restrictions meant that I was unable to work inside the BSU, and unfortunately, I wasn’t able to meet many of my BSU colleagues in person. However, the BSU worked hard to ensure that the pandemic didn’t crush team morale, and I definitely enjoyed Zoom quizzes and chatting with everyone. David was a fantastic mentor, and I at least was able to meet him for our in-person weekly meetings before the Cambridge weather turned inhospitable for outdoor meetings in the picnic area behind the BSU.
I had a fantastic work experience. What I loved about working with David was that he was extraordinarily patient and receptive to new ideas. I know many people who would’ve criticized my mistakes more readily or chastised me for wrong/inaccurate ideas, but David embodied the patient teacher ideal. Another important mentor I had was Colin. His R and C++ wizardry helped me more times than I can count. Again, I was in awe of his patience, that he wrote detailed emails addressing my queries or would hop on hours-long Teams calls when he could’ve easily told me to Google things (as certain StackExchange people do). I loved that the BSU was fundamentally a teaching work environment. I think it’s wrong to tell beginners to Google things. Beginners won’t know what to Google, and furthermore, how to vet information on the Internet (i.e. which textbooks or articles they should look at). But, having teachers to guide and provide information is priceless.
During my internship, I was able to rewrite a lot of the onlineFDR (an R package) algorithms in C++ (a programming language that has faster performance), contribute new algorithms to the onlineFDR package, and create two Shiny apps that allowed non-coding users to explore the package algorithms to control FDR and FWER. I wrote about the project itself in a Medium article, but in a technical capacity, I came out of the internship being a full believer in online control, and I now feel I have an obligation to “spread the word”.
I gained the following technical skills from this internship:
- Developing an R package (writing vignette documentation, unit tests, and understanding the nuances of how to incorporate Rcpp)
- Rcpp, which is the R wrapper for C++ code
- Writing faster R code (really appreciating that R is vectorized)
- Improved my Shiny skills (I am now confident that I have the ability/understanding to create a potentially production-grade Shiny app)
- Learned basic HTML, CSS, and JS
- Working with Git and continuous integration
- Taking math from a paper and translating it into code
- Debugging
- A workflow that minimizes error (which I’m still working on). You want your code to not throw errors, and then when it doesn’t throw errors anymore, you want your code to actually do what you want it to do.
- An understanding of the new paradigm of online FDR control
I’ll be starting a new role as a data scientist at Merck, working on their deep learning team. Every single one of the skills I had gained during my time at the BSU was instrumental in helping me get this job and will continue to be important to my success in my new role. The BSU does amazing work that is truly world-renown and cutting-edge, and I’m happy to say that when online FDR control becomes the standard (hopefully, unless something even more magical comes out), then I can proudly say that I was lucky enough to stand at the forefront of its advancement. Cambridge will always have a place in my heart, and who knows, maybe I’ll be back!
For the article summarizing what I did during my internship, please do have a look at this Medium article.