A Day in the Life of an R/Shiny Developer
At Appsilon, we strive to be the global leaders in R Shiny. We develop some of the world’s most advanced Shiny dashboards and have a team of talented individuals. We asked one of them – Alexandros Kouretsis, R/Shiny Developer about his career path and experiences within the R Community.
Read to find out more about:
- What does R/Shiny Developer do?
- What is a typical day for an R/Shiny Developer?
- What are you currently working on?
- How do you become an R/Shiny Developer?
- What are the biggest professional challenges of the job?
- What is the best part of being an R/Shiny Developer?
- What are the top three qualities of a good R/Shiny Developer?
- What’s Alexandro’s number one piece of advice for people who want to become an R/Shiny Developer?
What does an R/Shiny Developer do?
The main goal of an R/Shiny developer is to build future-proof solutions that allow easy access to data. As an R/Shiny developer, you design tools useful to data scientists and decision-makers. To do that, you must use many aspects of statistics in production and understand complex and domain-specific processes. Our job is quite versatile and ranges from building data pipelines, reproducible reports, and informative data visualizations, to developing packages, or high-quality, state-of-the-art data science applications.
What is a typical day for an R/Shiny Developer?
Normally, I start a day with a strong cup of coffee. Then I jump into some internal meetings to catch up with other team members on what’s going on with the tasks at hand. This is particularly helpful because I work on a distributed (remote) team, with colleagues scattered across five different continents. That’s why internal communication plays such a significant role in ensuring knowledge transfer.
I have regular meetings with clients, as the solutions we develop are quite complex and normally require some domain-specific expert knowledge. I enjoy learning new domain knowledge, but it’s important to work closely with the experts. By keeping clients in the loop and maintaining ongoing communication, we ensure that the development process is on track. This is actually something that makes programming extremely enjoyable for me – being involved in the creation of tools used in a scientific context.
In between my meeting and coding, I take regular breaks. I think it’s really important to dedicate some time for a proper lunch or having some coffee with the team. It can have many long and short-term benefits to your performance and overall team spirit.
Finally, if I have some spare time at the end of the day, I try to do some open-source contributions.
What are you currently working on?
Currently, I’m working on a project in biotechnology. I’m cooperating with a large team comprising several different groups of developers, data scientists, and stakeholders. The main objective of the project is to increase the data science capabilities of a Big Pharma company. Using [tech] we want to enable quick, data-driven decision-making based on the results from clinical and pre-clinical trials. This process requires an integration of diverse big data sets and the development of data science applications. Our goal is to derive new insights about illness targets, investigational medicines, indications, and patient biomarkers.
How do you become an R/Shiny developer?
I have met many successful R developers with a wide range of backgrounds, from engineering and computer science to natural and social sciences. It actually makes me really happy, because it creates real diversity in the R community.
This also means that there is no one formula for becoming an R/Shiny developer. Everyone has the potential to bring new and fresh ideas to the table, making well-coordinated teams of R/Shiny developers as efficient as a Swiss army knife.
My background is in Astrophysics and Cosmology, a topic that combines huge amounts of data from different sources and instruments, with various branches of physics and mathematics. I was gradually exposed to R and finally, I made the decision to leave the academic world and join the IT industry as a data scientist.
From early on, I collaborated with a lot of web developers, and this gave me a very useful and practical skill set. The web is a powerful thing these days, and almost all types of communication within organizations are done via web technologies. At the end of the day, Shiny is also a web framework. Understanding how to handle the complexities of reactivity, and how the client and the server communicate is a one-way road if someone wants to delve deeper into this technology.
If you could start over, what would you do differently?
Tricky question as I am very satisfied with my career path so far and enjoyed my personal development process. Although looking back at my early days in academia, my life would have been much easier had I been exposed to the R ecosystem earlier and used its amazing tools for statistics, data manipulation, visualization, and report writing.
What are your biggest professional challenges at the moment?
One of the major challenges in my line of work is maintaining a high level of code quality while meeting all customer requests with evolving and changing requirements. However, it’s really important to stick to solid practices even when under pressure. Not skipping testing, avoiding shortcuts, and giving peer reviews enough time, always pays off in the long run.
Another professional challenge is to maintain a mindset of a data scientist and a developer at the same time. You must dig into the data and understand the science of the domain you are working on while keeping a high standard of software engineering during the development process which is usually a full-stack job. That makes R/Shiny developer a kind of a dual role at times.
What is the best part of being an R/Shiny developer?
I really enjoy working with highly skilled colleagues with diverse backgrounds. The R community is welcoming, generous, and inclusive. This is also reflected in the R ecosystem, where packages are held to very high standards, delve into a plethora of topics, and have in-depth functionality and great documentation! This environment’s abundance of diversity and vibrancy fosters a “never stop learning” mentality.
What is your biggest achievement to date?
If I had to pick just one, my latest involvement with the pharmaceutical sector would stand out. It’s a very important applied field that has a huge impact on our quality of life. I am proud and thrilled to be a part of the cutting-edge teams working on antibody therapies and drug discovery, developing drugs that can help millions of patients with serious diseases live better lives.
I am also glad that I had the chance to contribute to research and open source.
What are the top three qualities of a good R/Shiny Developer?
The development of data science applications is a complex process with many different groups of stakeholders involved. That’s why good communication and good team spirit are crucial components of success. Having this in mind, some of the qualities that help keep projects on track and can reduce the overall pressure are:
- Kindness is the most important factor for a healthy everyday working environment.
- Willingness to adapt, so that you can change strategy/mindset when new challenges arise
- Positive attitude, to always keep the spirit up in face of difficult situations.
What’s your number one piece of advice for people who want to become an R/Shiny Developer?
My first steps in R were taken with the swirl package, which teaches R right in the console! “Perseverance, that’s the answer.” a quote from there goes.