Senior Go/Python engineer for self-healing Android device infrastructure

Posted 2 hours ago

Worldwide

Summary

We operate a small physical Android device lab used for browser automation over cellular connections 📱Our current setup includes six Samsung Android phones connected by USB to Ubuntu hosts, using ADB, Android Chrome, Chrome DevTools Protocol, and Playwright Today, device management is mostly manual and automation workers interact with devices directly. We want to build a reliable host-level control system that manages device availability, health, allocation, and recovery. For this reason, we are looking for a senior Go or Python systems engineer to validate the proposed architecture and implement this infrastructure ⚠️ We will only consider candidates with hands-on experience building similar device-fleet, self-healing, or hardware-control infrastructure 🚫 General backend, QA automation, or Android development experience alone is NOT sufficient The work combines: 1. Physical Android device-fleet reliability 2. ADB and USB lifecycle management 3. Linux services and process supervision 4. Chrome DevTools Protocol 5. Browser automation 6. Device health state machines 7. Lease-based resource allocation 8. Automated recovery and incident logging ⚠️ The architecture should work well for six devices today and scale cleanly as the fleet grows. Each Ubuntu host should run one authoritative device supervisor responsible for the phones physically connected to that host The supervisor will own: 1. Device discovery 2. Stable serial-number-to-CDP-port mappings 3. The host’s ADB server 4. ADB forwards 5. Device health checks 6. Recovery actions 7. Device leases 8. Per-device locks, retry limits, and cooldowns 9. Cellular connection verification and IP rotation 10. Structured incident logging 11. Quarantine and escalation behavior Automation workers should request a healthy device through a defined interface. They should not independently scan ADB, assign ports, restart Chrome, rebuild forwards, reboot devices, or toggle cellular radios. The system should identify which layer is actually broken and apply the smallest safe recovery at that layer 💡 For example: 1. A missing page should not reboot a phone 2. A missing ADB forward should be recreated without restarting Chrome 3. A stopped Chrome process should be relaunched and verified 4. A USB-disconnected phone should not trigger recovery actions on unrelated phones 5. A shared USB-hub event should be handled as one correlated incident rather than several competing device recoveries ✅ Every recovery must be followed by verification that the device is actually usable again ‼️ We would like to begin with a paid architecture-validation and implementation milestone. The selected engineer will review the existing project plan and Ubuntu/device setup, validate or challenge the proposed implementation choices, and build an initial working vertical slice 📍 The initial milestone should include: 1. Confirm supervisor and worker boundaries 2. Finalize the implementation language and local RPC approach 3. Create a static device registry using serial numbers as persistent identity 4. Implement fixed serial-to-CDP-port assignments 5. Implement non-disruptive device discovery 6. Establish one supervisor-owned ADB server per host 7. Create a basic supervisor service running under systemd 8. Expose liveness and readiness status 9. Implement a lease-based worker interface 10. Demonstrate health checks and safe recovery actions 11. Provide a realistic estimate for the remaining implementation phases ✅ The proposed architecture also includes a supervisor-owned lease proxy that gives workers temporary CDP endpoints instead of direct access to canonical ports. When a lease expires, existing CDP connections must be terminated, not only new access blocked ‼️ We expect the engineer to VALIDATE this approach and either implement it or PROPOSE a clearly safer alternative ⬇️ To apply, please include: 1. The largest physical Android device fleet you have personally worked with 2. What you personally designed and implemented 3. Your experience diagnosing ADB, USB, and device connectivity failures 4. Your experience with Android Chrome and Chrome DevTools Protocol 5. An example of a self-healing, recovery, or device-control system you built 6. Your preferred implementation language, Go or Python, and why 7. Your availability over the next 4-6 weeks 8. Your hourly rate 9. A brief explanation of how you would approach the initial milestone ‼️ Please apply ONLY IF you have directly built similar device-fleet or self-healing infrastructure

  • Less than 30 hrs/week
    Hourly
  • 3-6 months
    Duration
  • Expert
    Experience Level
  • $15.00

    -

    $35.00

    Hourly
  • Remote Job
  • Complex project
    Project Type

Contract-to-hire opportunity

This lets talent know that this job could become full time.
Learn more
Skills and Expertise
Mandatory skills
Golang
Python
Ubuntu
Android
Activity on this job
  • Proposals:5 to 10
  • Last viewed by client:1 hour ago
  • Interviewing:
    6
  • Invites sent:
    17
  • Unanswered invites:
    9
About the client
Member since Dec 19, 2018
  • United States
    Portland5:12 AM
  • $125K total spent
    25 hires, 7 active
  • 6,878 hours
  • Mid-sized company (10-99 people)

Explore similar jobs on Upwork

Docker
Python
PostgreSQL
HIPAA
Healthcare IT
Cloud Computing
Software Architecture & Design
DevOps

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo