← Állások

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

Költségvetés: $15.0 - $35.0 HOURLY / PART_TIME ⭐ 4.89 (13) United States

golang, python, ubuntu, android, system-programming, docker, websockets

Preferred qualifications

  • Location: Ukraine
  • Experience: Expert
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
Megnyitás Upworkön

AI proposal draft

Generate a short cover letter for this job. Edit before sending.

Sign in to generate an AI proposal draft.

Bejelentkezés