Swift/C++ iOS Developer - Remote

Remote • Posted 4 hours ago • Updated 4 hours ago
Contract W2
Contract Independent
No Travel Required
Remote
Depends on Experience
Fitment

Dice Job Match Score™

📋 Comparing job requirements...

Job Details

Skills

  • iOS Developer
  • C++
  • RAII
  • ASIO

Summary

Title:Swift/C++ iOS Developer - Remote
Location:Remote
Length:Long term
Restriction:w2 or c2c
 
 
Description:

Job Description:

Role Overview

We are seeking a specialist to own the design and implementation of the OpenVPN 3 tunnel adapter for a production iOS VPN application. In this contract role, you will be responsible for a self-contained Objective-C++ module that wraps the OpenVPN 3 C++ library and integrates it seamlessly with Apple''s Network Extension framework. While the surrounding Swift application and product lifecycle are handled by the core team, you will have complete technical ownership of the adapter: from cross-compilation to the bidirectional packet I/O loop.

The Technical Challenge

The iOS Network Extension environment is notoriously constrained. You will be operating within a sandboxed process with a 50 MB memory ceiling (iOS 17). Success in this role requires disciplined buffer management, allocation hygiene, and the ability to navigate limited debugging support in a high-pressure networking environment.

Core Responsibilities

  • Library Architecture: Cross-compile OpenVPN 3 and its dependencies (mbedTLS, standalone ASIO, LZ4) for iOS arm64 (Device & Simulator).
  • Tunnel Implementation: Subclass OpenVPNClient from the OpenVPN 3 API and implement the TunBuilder interface, covering routes, DNS, MTU, and dual-stack IPv4/IPv6.
  • Packet Processing: Implement and manage the bidirectional packet I/O loop between NEPacketTunnelFlow and the OpenVPN encryption pipeline.
  • Network Resilience: Tune the ASIO transport to handle network transitions (Wi-Fi to Cellular, Airplane Mode) and edge cases in the sandbox.
  • Memory Optimization: Profile and optimize allocations with Instruments to ensure the module stays strictly under the 50 MB process limit.
  • Interface Design: Define and document a narrow Objective-C delegate header to act as the single integration point for the Swift-based container app.
  • Lifecycle Management: Implement the connection lifecycle (connect/pause/resume) and surface structured logs and byte-count statistics for diagnostics.

Project Timeline & Stabilization

  • Primary Phase (Weeks 1–8): Core development and initial integration.
  • QA & Retainer Phase (Weeks 9–14): Iterate with the team through the stabilization phase. Write unit/integration test scaffolding for the adapter. Perform sustained load testing and memory profiling. Address race conditions and packet I/O edge cases surfaced during network transition testing.

Required Skills

  • Modern C++ Mastery: Expert knowledge of C++17, including templates, RAII, smart pointers, and concurrency primitives.
  • Mixed-Language Development: Experience shipping iOS libraries that integrate C++ code. You must be proficient with Objective-C++ (.mm) and understand how to link mixed-language projects in Xcode.
  • Xcode Build Systems: Proficiency in cross-compilation targets, static library linking, and framework packaging.
  • Memory Management: Deep understanding of Apple''s ARC and how it interacts with C++ object lifetimes.
  • Constrained Debugging: Experience debugging in restrictive environments (App Extensions, embedded systems, or sandboxes).

Highly Valued Experience

  • Direct experience with the OpenVPN 3 client library or similar tunneling protocols (WireGuard, strongSwan).
  • Deep familiarity with Apple''s Network Extension framework (NEPacketTunnelProvider).
  • Prior work with standalone ASIO or Boost.Asio event loops.
  • Knowledge of OpenVPN protocol specifics (Control/Data channels, TLS handshakes).
  • History of cross-compiling complex C++ dependencies for iOS arm64.

Why this role is unique

This is a "pure engineering" contract. We have removed the overhead of UI development, product management, and QA coordination from your plate. You are being hired for your expertise in low-level networking and your ability to make a C++ engine thrive within the unique constraints of iOS.

 

Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.
  • Dice Id: msyca001
  • Position Id: HTZ - RJS-7-26
  • Posted 4 hours ago
Create job alert
Set job alertNever miss an opportunity! Create an alert based on the job you applied for.

Similar Jobs

Remote

2d ago

Easy Apply

Third Party, Contract

Depends on Experience

Remote

Today

Easy Apply

Contract

Depends on Experience

Remote

Today

Easy Apply

Full-time, Part-time, Third Party, Contract

Remote

17d ago

Easy Apply

Contract

Depends on Experience

Search all similar jobs