Python Developer

Remote

The Company: Rubix Agency

We created Rubix because we wanted something different than what traditional agencies offered. We are a group of individuals worldwide solving performance marketing problems. Our clients are some of the fastest growing and most successful e-commerce businesses, and if they're not yet, it's our goal to get them there. 


Rubix has assembled individuals with experience building in-house marketing teams and working at full-service agencies. Our backgrounds give us the know-how to help clients navigate and scale in today's competitive performance marketing landscape. Some of the challenges are marketing-based, while others revolve around improving UI/UX or design issues. Our blended business model consists of wholly-owned in-house brands and software products, plus agency services that combine to work as one functional and multi-faceted team. 


Developing culture in a fully remote agency is difficult, but with active Slack-channels, weekly trivia stand-ups and shared Spotify playlists, we're making it happen. We are looking for marketing-minded entrepreneurs and individuals who crave something different but want to be a part of something incredible. 


At Rubix, we work hard to build systems and processes that make us one part agency and one part incubator. Here, creative means anything from robust data analysis to asset ideation through guidance on creative that will live on multiple channels.


If you feel like the word creative too often is applied to artists and not often enough to individuals with skills like yours, then you're in the right place.



The Position: Python Developer

In this position, you will work directly with the product owner to review, evaluate, estimate, and develop features based on requirements (written, verbal, and/or visual).  The Python Developer will collaborate with other developers on the team and the technical product owner to discuss and evaluate technical options, help with problem-solving, and ensure sound technical decisions are made and executed.


About You 


  • Three years of experience using Python to consume 3rd party APIs
  • Two years of experience parsing files and conducting data manipulation in Python
  • Two years of experience using Flask or a similar framework
  • Two years of experience with PostgreSQL, MySQL, or a similar RDBS
  • Experience with AWS or a similar cloud provider implementing FaaS or CaaS
  • General availability between 8 AM - 5 PM EST for Zoom meetings and Slack


The Project

Our Insights team is dedicated to building a cutting edge marketing analytics and reporting platform. We use machine learning, forecasting, goal tracking, and programmatically surfaced actionable insights in this effort.


Our Tech Stack


Python, PostgreSQL, AWS ECS Fargate, Docker, AWS Lambda, React JS 

 

The Team

The team operates in four working groups:

  • Stakeholders own the product vision and the product road map.
  • The data team consumes 3rd party APIs and prototypes data visualizations; sanitizing data, performing calculations, and producing client-application consumable data
  • The design team defines the UI/UX and visual aesthetics of the product (look/feel/flow)
  • The development team collaborates with all these teams and implements the approved requirements


Interview Process 

With a solid understanding of this position, the next step is to know our interview process. 

 

The hiring process is broken down into three steps: 

  1. Challenge and application to the position.
  2. Phone interview with the hiring manager and the technical team leader. 
  3. Offer letter extended. 

 

Step one

 

To provide you with a better understanding of the things you will be working on, we have included a challenge, a requirement, for applying to this role. If you think you are a good fit and are excited about this role, please complete the application by submitting the challenge using the linked form below. 


Step Two

 

Upon completion and submission of the challenge, a developer or manager associated with the position will review your work. The hiring manager will reach out to schedule a call to review the work you have completed and conduct a phone interview. Please come with any questions you might have about the project, the role, or the company. We are happy to spend as much time as is needed to get to know one another. As the work you will submit during the interview challenge will represent your thought process and technical skills, this is really more about getting to know one another more than a technical interview. We genuinely believe that every team member should be passionate and excited about the project and work with one another to find success. 


Step Three

Should we decide to proceed, we will notify you.


The Challenge:

Please choose either challenge option 1 or challenge option 2


Challenge Option 1: 

Context:

Besides consuming 3rd party APIs, this position requires experience scraping, parsing, and conducting text manipulation. A terrific way for candidates to demonstrate their abilities in this endeavor is by scraping a web page and returning information meeting specific criteria.


Basic Problem Statement: 

We'd like to know when a refurbished 13" Apple Macbook Pro is available with 16GB of RAM for under $1,250.



Challenge: Scraper with notification

  • Write a scraper that produces an email notification when a refurbished 13" Apple Macbook Pro with 16 GB of RAM is available for under $1,250 - within 25 minutes of product availability on Apple's refurbished US website. This functionality needs to operate automatically as well as be available for on-demand requests.
  • Extra Credit: ensure a notification is only sent to the same email address once per day.



Expected deliverables 

  • Produce a functional prototype written in Python which meets or exceeds the requirements specified above.  This should include:
  • source code for the prototype and,
  •  any associated artifacts which describe how your prototype operates



Challenge Option 2: 

Context:

Besides consuming 3rd party APIs, this position requires experience scraping, parsing, and conducting text manipulation. A terrific way for candidates to demonstrate their abilities in this endeavor is by scraping a web page and returning information meeting specific criteria.


Basic Problem Statement: 

We would like to be able to programmatically understand who is and isn’t an influencer on instagram. We have established that anyone who has over 10,000 followers is probably an influencer. Therefore we would like to understand the Influencer landscape of intragram at large.

 


Challenge: Scraper with notification

  • Write a python scraper that consumes and stores instagram profile information. Starting with one instagram profile - The Infatuation. It should be able to consume this profile's follower list and sort and bucket it in a variety of ways. Save only any followers that also have more than 10,000 followers to a list, spreadsheet or database. Furthermore we have identified that Inflencencers have an unusually high engagement rate. Filter these results and only present profiles whose posts have a greater than 5% engagement. Engagement is defined as Comments and Likes on a post. Bonus Points for sorting profiles by industry, ex Fashion, food, lifestyle ect. 


Instagram Profiles to start with: 

  1. https://www.instagram.com/infatuation/?igshid=1vcj3zjc9teh


Expected deliverables 

  • Produce a functional prototype written in Python which meets or exceeds the requirements specified above.  This should include:
  • source code for the prototype and,
  •  any associated artifacts which describe how your prototype operates
  • Also acceptable would be ways to accomplish this task without writing a single line of code. 



Submission 

Use the link below to submit your application and challenge-response. 

  • Ideally, the response to the challenges is a single document with sub-links to relevant work.
  • We are very flexible on specific formats and tool choices: Google docs, HTML, Figma, Plain text, ect.


Apply by clicking below and submitting your work and all other required fields. 


Apply here