Giter VIP home page Giter VIP logo

dasb-interview's Introduction

DaSB-interview

Click here to launch interactive Notebooks Binder

Link here for the Pull Request in Python

Link here for a Conversation using Issues on the code changes

Requirements

  • Demonstrate expertise in developing quality code (in R or Python)
  • Illustrate the ability to review others’ code in pull requests (also known as merge requests in GitLab).
  • Play the part of a senior data scientist providing a code review for a junior colleague.
  • Do not rewrite their code.
  • Give feedback on any coding or data practices that can be made more reusable and reproducible.
  • Demonstrate how you think, how you test and evaluate the work of others, and how you communicate.

Instructions

  • The instructions for the exercise are in the ReadMe of the repository.
  • There are two pull requests (one for R and one for Python).
  • Select whichever pull request in the programming language of your choice.
  • It shouldn’t take more than an hour and a half to complete the exercise.
  • Please return it at least 24 hours before your interview.

dasb-interview's People

Contributors

christinab avatar

Watchers

 avatar

dasb-interview's Issues

Junior Colleague (@jcoll) Request

@jcoll wrote:

Hi 👋

Thank you so much for helping me get the driver data prepped before I plug it into the model. As you recommended earlier, I separated my download and processing code into two different scripts. I can't wait to share this with the project team - they have been looking for a way to use code to prep their files in a more reliable way! Here I am following your advice of submitting a pull request with my initial effort so you can take a look at it before I move on to the modeling steps.

I haven't downloaded data from this site before, so I may have missed something obvious for how to download the precipitation files. I ended up doing it manually for all 42 years of data and then wrote my code to look for those files locally. I made a comment indicating this manual step in the download script. Finally, I added a plotting step to visually verify that my annual summaries are working properly.

I am using some common libraries in python so hopefully you can get those installed and run this yourself. Thanks, again! I know you are super busy and I really appreciate you taking the time to help me out.

😊

Reproducible Versioning

Here are two dev steps for setting up Binder.

Note on using Binder: Do not do dev work here - or if you do, save it manually. All data and code will be deleted after use!! Binder is just a great way to quickly run and test code without installation hassles. It also is a great way to test if your work is reproducible on different cloud platforms.

  1. Click on a Binder badge and see what happens! It's magic!
  2. Set up the Badge in the README.md. You can use badge anywhere, but I also always include it in the first line of repositories that I have Notebooks set up for users who can't/won't be likely to run the code locally like a developer. It avoids all the software environment issues that are usually frustrating for users who are not developers.
    [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/ChristinaB/DaSB-interview/main)
  3. Set up the requirements.txt This is the instruction file for Binder Cloud App to rebuild your software environment so your code will run on their platform.

Driver Data Prep Tutorial Notebook

@jcoll
I am so glad you asked for my help!! Especially before you spent too much time downloading the files manually again!
It is important to investigate the source location and files - but repeating it 42 times would be tiresome.
The good news is that once you get some practice with these methods, you will never download files one by one again!

I built you a Jupyter Notebook to break down the data download steps so you can run the code yourself without having to install or change your software environment.

You can work through the download_USGS_precip.ipynb locally OR in the cloud (launch in Binder by clicking on the badge in the first line of my Readme).

Be sure to check the Input/Output working directories so the work is happening where you want it. Location confusion is the simplest but most common glitch.

I am sure you will have suggestions and improvements on my comments, explanations, and code. You are welcome to fork the repository and make your own branch and pull request, I would be happy to merge any edits you have for this tutorial.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.