Analytics Developer (R/shiny)

Todd Brett
Todd Brett
Last updated 
Company Introduction

Aggregate Genius, Inc. is a well respected, lean analytics team that enjoys bringing relevant insights to our customers through a myriad of approaches and technologies.  Our experts have collaborated on projects ranging from Smart Cities to Pharmaceuticals, each time making a lasting difference through the focused application of our talent and knowledge.  We are globally distributed, with members based throughout North America, Europe, and the Asia-Pacific.  If you are passionate about enabling customers by creating insightful platforms, being empowered, and collaborating with diverse and talented peers then this position is for you!

Job Description

We are looking for a mid-career Shiny Developer who is experienced and excited about enabling insights on large data sets (we often address biological constructs—think Gene Expression and other similar data).  Shiny applications are collaboratively developed using a variety of types of data connections, and dataset sizes ranging up to several GB.  Competent R data manipulation skills as well as a working understanding of scoping and reactivity is required.  Javascript familiarity will be helpful as a number of the packages we work with are javascript-based.  This position is development-focused with data manipulation and visualization creation.  Minor analytics work is periodically performed, but this role generally implements algorithms and models provided by dedicated analysts into our shiny/R code.  You must also be familiar working with and updating R packages.  We work almost completely in RStudio Server Pro - so a good internet connection is essential.  Since we have a widely distributed team, you must be flexible, comfortable working and solving problems on your own, and able to be proactively communicative.

Responsibilities
  • Update existing shiny applications based on changes to functionality as detailed by the project manager.
  • Create new shiny applications based on requirements.
  • Debug and test shiny applications on multiple versions of R and various packages.
  • Investigate, test and use new (e.g. unfamiliar to you) packages.
  • Create, update and build R packages.
  • Create and run tests for R packages.
  • Run performance tests and report on improvements needed for Shiny applications.
  • Conform to required code standards and styles—we don't have a strict set of code rules but we do have some firm package preferences and other stylistic guidelines that need to be followed.
  • Clearly communicate minimum reproducible examples as necessary to detail bugs or questions in code.
  • Make suggestions about improvement to application flow, data preparation, etc.
  • Utilize github and proper branch/merge/PR strategies for shiny projects.
  • Work entirely on AG servers—code and data stays on our servers and repositories and is accessed entirely over secure web connections rather than on a local machine.
  • Communicate questions and suggestions in a clear, concise manner.
  • Assure a high degree of quality in your delivered work.

Skills And Qualifications

Development:
  • Shiny and R Expertise:
    • Competent understanding of shiny applications and reactive programming paradigms
    • Experienced in the use of RStudio.
    • Experienced in R data manipulation on large datasets, especially using the paradigms set for by packages by Hadley Wickham and colleagues.
    • Understand scoping inside shiny applications.
    • Comfortable with creating quick RMD documents and visualizations.
    • Familiar with a variety of visualizations and, in general, how they would be used.
    • Familiarity with the R package build process.
  • Development Expertise:
    • Familiarity with code versioning and good development practices.
    • Understanding of what a minimum reproducible example is and how to generally create one.
    • Proficient in debugging code in R and Shiny.
    • Comfortable communicating bugs or defects and able to clearly communicate the research or steps tried to work around or through the issue.
    • Serious about an attention to detail, especially when reusing code.
    • Basic comfort querying SQL databases.
  • General:
    • Comfort interacting with distributed teams, including the use of collaborative meeting and project solutions.
    • Able to reliably track and document time spent on each project or high-level task.
    • Able to work iteratively on a task and to be flexible to changing requirements.
    • Familiar with a variety of operating systems and browsers.
    • Enthusiastic about meeting the challenge to create performant apps on large datasets that are used in a scientific setting to find new insights.
Education and Years of Experience:
  • Degrees and Certificates:
    • A bachelor's degree or better in computer science, economics, any  science, etc. that can be related to or connected to this type of work.
  • Experience:
    • An emphasis on shiny and R use and development over the recent years, ideally with examples of applications or reports you created.
    • Experience working in an iterative development scenario to design/build/test/deliver incremental value.
    • Ideally some contributions to open-source CRAN or Github R packages - bug fixes, documentation, etc.—if you are involved in the community we want to know how!
Location

Aggregate Genius, Inc. is a globally distributed company that emphasizes your talent over location.  We work in small agile teams collaborating using tools such as video conferencing; enterprise Github and similar engineering portals; and business portals such as Basecamp.  We are happy to have you work with us from any well-connected location when you are enthusiastically involved!

Hours

This position can be full-time or half-time (20+ hours) based on your needs and desires, with a multi-hour overlap for the Pacific time zone (UTC-8/7) in the morning or afternoon.  Canadians are welcome to be employees or independent contractors, but global citizens are also welcome as independent contractors.  Your work can be done from any time zone or location, regardless of your home base, so long as we can meaningfully collaborate and coordinate!

Applying

Reach out to us at opportunities@aggregate-genius.com and reference the job posting you are interested in, plus attach your résumé and a letter about your background and skills.  One of our team members will get back to you in a few business days.