How to Start a Career as an R Shiny Developer
So, you want to become an R Shiny Developer? You’re at the right place. We’re Appsilon — An industry leader building the world’s most advanced R Shiny applications for Fortune 500 companies — and this article will summarize everything you need to start a career in R and Shiny.
Make sure to contact us if you check all of the boxes — we’ll be happy to meet you. We’re always looking for new talent, and always have room for new R Shiny Developers.
Table of contents:
- What is R?
- What is Shiny?
- Why are R Shiny Developers in Demand?
- Where are R Shiny Developers in Demand?
- How to Become an R Shiny Developer?
- How to Become an R Shiny Developer at Appsilon?
What is R?
R is a programming language and environment for statistical computing and graphics. It provides a wide array of statistical and graphical methods, including machine learning algorithms, time series, statistical inference, and graphing capabilities that are publication-ready with little or no adjustment.
R is mostly used in academia, but many large companies also use it, including Google, Uber, Airbnb, Facebook, and so on.
There are almost 18k packages stored on CRAN (The Comprehensive R Archive Network), with the most popular being:
dplyr– A go-to package for data manipulation (think Pandas if you’re a Python user).
ggplot2– The easiest and likely the most aesthetically pleasing package for producing publication-ready data visualizations.
shiny– A package for building interactive web applications with R.
We’ll focus on Shiny in this article, but you’ll likely use all three mentioned above when developing Shiny dashboards. After all, you need a way to manipulate the data and you also need a way to visualize it.
So what does Shiny do exactly? Let’s answer that next.
What is Shiny?
Shiny lets you combine the statistical and analytical power of R and the interactivity of the modern web. It is an excellent alternative to static and dull-looking spreadsheets built with tools like Excel.
Shiny applications consist of two components:
- Server – Runs the R code and handles the logic.
- User Interface (UI) – Contains everything you see and interact with on the dashboard, i.e. inputs (text fields, dropdowns…) and outputs.
Once you’ve interacted with a UI input, your instructions are passed to the server which handles your requests, and then renders it in a UI output.
Here’s an example — you can use the following code snippet to build a basic Shiny app with all components mentioned above:
And here’s how it looks like:
It’s nothing to write home about but demonstrates the role of inputs, outputs, UI elements, and server in a Shiny dashboard perfectly. The dashboard looks a bit plain and boring, but that’s because we haven’t added custom styles.
You can style your dashboards however you want with CSS, and you can also use one of Appsilon’s packages to simplify the process even further:
- shiny.semantic — A Fomantic UI wrapper for Shiny.
- semantic.dashboard — A package for easier dashboard development based on
- shiny.fluent — A package to make your dashboard look like Microsoft developed it.
- shiny.react – Enables you to port React libraries in your Shiny apps.
We’ve also developed packages for including routing and translation to your R Shiny apps. Here’s the full list of our open source packages.
To summarize, Shiny provides an almost endless number of options to develop and style your dashboards. Open-source packages take it a step further, by offering new functionality, or by making something easier to implement. Appsilon published 9 open source packages specific to Shiny, and we’re using all of them to develop scalable dashboards for Fortune 500 companies.
Looking for inspiration for your next R Shiny dashboard? Check out R Shiny Demos by Appsilon.
You now have a basic idea behind Shiny dashboards. But why are Shiny dashboards and R Shiny developers in demand right now? Let’s answer that next.
Why are R Shiny Developers in Demand?
Listing and explaining all areas R Shiny Developers can work in would require an article of its own. We’ll focus on two we think are the most applicable for 2021 and beyond.
Does R have a future? Find out more about a career in R Programming and its scope by 2025.
Enterprise Application Development
At Appsilon, we believe that Shiny is the ideal choice for many types of projects. It has unmatched development speed which enabled us to build proof-of-concept (PoC) applications for Fortune 500 companies within 24 hours!
App developer jobs are on the rise. Explore open positions on Jooble.
When compared to spreadsheets, R Shiny gives you the tools to create an attractive user interface and introduce automation in the background. Shiny applications offer additional features like plotting and expandable rows. This way, your data solutions are no longer limited in terms of advanced analytics and data quality or versioning and scalability.
When compared to BI tools, such as Tableau or PowerBI, R Shiny provides full customization and version control. BI tools just can’t compare with the customizability that Shiny offers, especially for enterprise applications.
Explainable Machine Learning
Explainability is a huge trend in data science and it’s here to stay. Customers aren’t completely satisfied with good-performing machine learning models — they also want to know how they work.
That’s where R Shiny comes into play. You can build dashboards around machine learning models to explain why the model predicted some value or category over the other. Explanation dashboards have two obvious benefits:
- It’s easy to understand what impacts the prediction the most — There’s nothing worse than a black-box model. You want to know what triggers your customer, and explainable dashboards built around machine learning models can help you with that.
- It’s easy to detect a model’s shortcomings — Machine learning models are only as good as your data is. If you train a model on low-quality data, you’ll get a low-quality model. Explainable dashboards can help you spot data quality issues and address them before it’s too late.
It goes without saying, but it’s much easier to find patterns when data is presented visually.
You can also build dashboards around computer vision models — Check Appsilon’s ML Building Damage Assessment dashboard.
Where are R Shiny Developers in Demand?
We’ve mentioned already that R is most frequently used in academia. Not everyone can or wants to work in this field, so are there any alternatives available?
As it turns out, you can work as an R Shiny developer in pretty much any industry. So if you have a background in banking, finance, e-commerce, government, pharma, entertainment, or sports, you’re good to go.
At Appsilon, we work with Fortune 500 companies across multiple industries. We developed Shiny enterprise solutions for Merck (pharma), Warner Bros (entertainment), Viacom (entertainment), Bank of America (banking and finance), Happy Cabbage (analytics), Canada’s Natural Resources (government), and many others.
In general, if an industry has historical data of any sort, and is still collecting that data today, you can add value to it with R and Shiny. Becoming an R Shiny developer is truly a jack-of-all-trades type of profession, as you shouldn’t have trouble finding work in any industry.
How to become an R Shiny Developer?
If you’re asking this question, you’re probably searching for a Junior/Mid developer role. We’ll cover the Senior R Shiny developer role in a bit, but let’s go over the requirements of the entry-level position first.
All requirements you’ll see are tailored to Appsilon’s needs but are easily transferable to R Shiny roles in other companies. All resources listed are completely free.
Juniors – Start Here
Looking for a Junior R Shiny developer role? Here are some of the tasks and materials we give to our Junior candidates:
- Advanced R book by Hadley Wickham — It’s fundamental for the points below.
- Using Git — Especially more advanced usage. We use Gitflow Workflow.
- Bash commands on Linux — It’s a bullet you’ll have to bite.
- Mastering Shiny book by Hadley Wickham — The ins and outs of R Shiny on a beginner level.
- Colin Fay’s book on Shiny — Although we don’t use Golem for scaffolding the project.
- Dean Attali’s tips & tricks on Shiny – Can’t hurt to know.
In addition, you should also build demo applications with shiny.semantic and shiny.fluent. It’s always a good idea to build a portfolio showcasing your R Shiny capabilities. Keep reading to see how to do just that.
Feel free to drop us an email at firstname.lastname@example.org once you’re ready. The use of R and Shiny in data science is growing and we’re looking for talented team members. Consider applying even if you’re background is not a ‘traditional’ one. We have a diverse team with varied educational backgrounds – from biology and geology to web design and business analytics.
As a Junior/Mid R Shiny developer, you should generally be open-minded, quick to learn and have familiarity with programming. As your R/Shiny skills progress you should be able to:
- Build visually attractive Shiny apps and understand the bottlenecks of R and Shiny.
- Unit test your code and automate the testing process.
- Design, develop, ship, and maintain features without guidance. Implement clear, concise, and tested code. Write unit tests. Perform rigorous code reviews that are recognized as helpful.
- Take responsibility for Continuous Integration / Continuous Deployment process or deployment process of the app.
- Lead and deliver small projects and isolated parts of the larger project.
- Communicate risks and possible delays in advance. Propose solutions to the communicated problems.
If you’re new to programming that might seem like a lot. But don’t worry. With a little guidance and time invested in practice, you’ll be amazed by what you can achieve in R and Shiny. So where should you start? We’ve prepared a couple of useful resources:
- Advanced R book by Hadley Wickham — It will teach you everything you need to know about programming in R.
- Mastering Shiny book by Hadley Wickham — Awesome free online book by the same author.
- How to Start Shiny video by RStudio — Are you more of a video person? This video is all you need to get started.
In addition to the Appsilon blog, we also have a YouTube channel with plenty beginner-to-advanced R Shiny tutorials.
As a Senior R Shiny developer, you should be able to do everything listed above, plus:
- Build advanced, high-quality Shiny apps independently, especially for large customers.
- Scale Shiny apps to 1000s of concurrent users, understand WebSockets and contribute to performance optimization on different levels.
- Extend Shiny apps with advanced functionalities e.g. using custom bindings, JS events in Shiny, JS-Shiny communication, Web Components, etc.
- Handle a role of a Project Leader in medium and Technical Leader in big-sized projects. You’ll be independently responsible for the entire lifecycle of projects or features including design, development, end-to-end testing, and deployment. You’ll take responsibility for team results.
- Mentor other contributors in various areas of software craftsmanship.
- Take initiative in improving how we work across projects. Take responsibility for engineering maturity and quality.
- Own Continuous Integration / Continuous Deployment process and its improvement as well as the introduction of automation to this process and keeping it up to date with the world standards.
- Communicate with the client, proactively identify problems with requirements, and communicate these issues early.
- Delegate tasks to others and evaluate the delivery.
Most books and courses are written for beginner/intermediate R Shiny developers, so there isn’t a lot of resources we can offer here. Nevertheless, maybe these two will help you learn something new about Shiny:
- Shiny Fluent – Taking Shiny Dashboards to New Heights — Learn how to implement Fluent UI to your Shiny dashboards.
- Mastering Shiny with Appsilon — Speed up, scale, and style your Shiny dashboards with best practices in mind. Almost a 3-hour long video.
Build a Portfolio
An online portfolio is the best way to showcase your work to potential employers. It can be as simple as a GitHub page, or as complex as a custom-tailored website with your professional photos.
Always aim to present yourself and your work in the best possible light. It’s the only way to get noticed among hundreds of other job applicants.
What Can You Expect?
We can’t speak for other companies in terms of salary, recruitment process, work policy, and benefits, but we can tell you our story. Continue reading to find out how you can become an R Shiny developer at Appsilon.
How to Become an R Shiny Developer at Appsilon?
So you want to join Appsilon as an R Shiny developer? Why wouldn’t you — after all, we’re a fast-growing software house and consultancy specializing in decision support systems and machine learning with Fortune 500 clients across the globe.
We are a global leader in R and Shiny, which are used by companies of all sizes to build analytical applications. When companies run into difficult problems or want to initiate large-scale enterprise projects, they come to Appsilon.
Do you want to hear the really good news? We almost always have open positions for R Shiny developers. Head over to our careers page, we bet you’ll find these two listed:
Make sure to read the descriptions for both and apply to the one that better matches your skill level.
Here’s where things get even more interesting — Appsilon is a remote-first company. All positions you’ll find on our careers page are remote and will stay remote, even after COVID. Most of our employees are from Poland, sure, but we also have team members in 6+ countries across three continents.
Don’t worry if you live 8 time zones away — working hours are adjusted to your time zone and family life.
Before you apply, make sure you’re compatible with our core values. You can think of them as soft skills, and having them will ensure Appsilon feels like home:
Here’s what else you can expect from Appsilon, besides a competitive salary and remote work policy:
- Regular employment or B2B contract option.
- 26 days of paid holidays + an equivalent of public holidays in Poland, est. 11 days in 2021.
- +5% of salary in Personal Development Budget to spend on activities that help you grow.
- 4 paid days per year to be used for training/conferences, events, or workshops.
- Private health care insurance (in Poland) or equivalent.
- Projects that have a real impact on the world. More on our Data4Good page.
- Opportunity to work with the prestigious brands where you can see how data science is used
- Opportunity to develop yourself as an independent Shiny expert in a data science community
Our recruitment process is flexible for each candidate, as we adapt it to the requirements for every open position. We stay away from a traditional multiple elimination round hiring process, as these could take weeks or months.
Instead, our recruitment process can be summarized in three steps:
We provide our developers with individual paths to grow, so you’ll always know what’s expected from you to climb up the ladder.
And there you have it — how to become an R Shiny developer 101. We’ve gone over pretty much everything you need to know about a career in R and Shiny, from industries that use R to getting hired at Appsilon. There’s nothing stopping you from joining our growing development team.
All of the listed resources are entirely free and we recommend going through all of them. You’re highly encouraged to find additional materials, but the ones provided by us should get you started building a portfolio in no time.
Are you ready to take the leap?