Remote Developer Jobs

The fastest and lightest remote job board for developers
Browse by your favorite tech stack or company name

Principal Reverse Engineer - Product at Scrapinghub

About the Job:

As a Principal Reverse Engineer at Scrapinghub, your key objective will be to find sustainable and scalable solutions to power Scrapinghub's product offerings. You will be using reverse engineering, static, dynamic analysis in conjunction with Scrapinghub’s best in class tools including Crawlera, the world’s smartest proxy network, designed specifically for web crawling and scraping.

You’ll have a fair amount of autonomy in this role, but the responsibilities will likely include: establishing & maintaining technical and quality standards, and collaborating with other Scrapinghub teams to ensure that your work is having the biggest impact possible.

Your measures of success will be your ability to iterate quickly and produce knowledge that is useful to other Shubbers.

Job Responsibilities:

  • Reverse engineer obfuscated Javascript to understand the underlying browser fingerprinting techniques
  • Perform static, dynamic or concolic analysis and fuzzing to determine tracking behaviour
  • Create and execute well designed tests (repeatable, multiple treatments, testable variables, controls, replication)
  • Create best practice product usage guides and reports based on your findings
  • Drive creation of tools and workflows for prototyping successful and scalable solutions
  • Steer product and infrastructure changes based on your findings

Job Requirements:

This is a brand new team at Scrapinghub which means that you’ll be responsible for establishing most of the goals, measures, and processes for this team. You should be excited by the inherent uncertainty in this, and the ability to set your own path.

  • A strong knowledge of Javascript/NodeJS and Python along with a broad general programming background;
  • Strong problem solver.
  • Familiarity with techniques and tools for crawling, extracting and processing data, asynchronous communication and distributed systems
  • Knowledge of Javascript frameworks such as Angular, React and tools such as webpack
  • A hacker mentality to quickly produce proof of concepts in order to get results.
  • Take a logical, measurement-backed approach to prioritizing projects, and enjoy working with others that do the same.
  • Strong research, debugging, fuzzing and reverse engineering skills including static, dynamic and concolic analysis
  • Strong understanding of operating system and computer networking concepts
  • Understanding of browser engines, browser fingerprinting and ad-blocker mechanisms
  • Excellent communication in both spoken and written English.

Bonus points for:

  • Experience with Decompilers, IDA Pro and C/C++
  • Core contributions to Mozilla or Chromium projects
  • Knowledge of Headless browsers - performance tuning and benchmarking