Back end Software Engineer (web scraping/data acquisition)
Role details
Job location
Tech stack
Requirements
-
Must have 10 years of Software Development experience
-
Must have 2+ years of experience with TypeScript/NodeJS and deep understanding of writing well-typed, object-oriented code
-
Must have experience running container based applications (Docker, Docker Compose)
-
Must have 2+ years experience leveraging HTTP knowledge and client skills, e.g. got, cURL, axios * Must be highly proficient in unit testing methodologies, e.g. with Jest or Vitest
-
Must have hands on experience coding applications that run and reside on AWS hosted solutions
Related Qualifications
-
Experience with Dependency Injection/DI containers
-
Knowledge about best practices relative to end-to-end testing with e.g. Playwright, Puppeteer, Cypress, Selenium
-
Experience with Redis/Elasticache
-
Experience with DynamoDB
-
Broad Linux knowledge
-
Hands on experience setting up Monitoring/observability platforms, e.g. Datadog, New Relic
-
Must be familiar with using LLMs to increase engineering velocity while still maintaining high coding standards and developer-friendly code
Nice to haves
-
Experience with man-in-the-middle techniques (Proxyman, HTTP Toolkit, Wireshark), reverse engineering, understanding decompiled code
-
Understanding of fingerprinting techniques (browser, OS, networking stack, etc.) * Work experience running applications on ECS/EKS
-
Has utilized and written Serverless functions (Lambda)
-
Knowledgeable about Queueing systems, e.g. SQS, BullMQ
-
Familiar with GitHub Actions
-
Has experience with Domain Driven Design/Clean Architecture
-
Has experience with Java/Android Studio
-
Worked with Front end frameworks, e.g. React, Vue
-
Has hand rolled infrastructure as code, e.g. CDK, SAM, CloudFormation, Terraform
Education
-
Minimum of 5-10 years of experience in a software engineering role
-
Bachelor of Science Degree in Computer Science or commensurate experience
Core Qualifications
-
Assist team members with problem-solving complex use cases and systems; while leading technical change and transformation in parallel.
-
Must be passionate about creating solutions, and solving problems - in the right way, at the right time, and for the right reasons.
-
Must be teachable, give and receive feedback, and demonstrate success in their discipline on a consistent and transparent basis.
-
Must be able to work on a team whose work is not cookie-cutter. Creative solutions are always needed, and there aren't straightforward answers to every question. Everyone on the team needs to be a confident, motivated self-starter who can work through difficult problems.