Name of position: Software Engineer
Pay: $50,000 - $75,000 (pro-rated for 6 months, based on $100,000 - $125,000 annual salary)
Type of position: 6-month contractor with option to extend
Deadline to apply: Applications accepted on a rolling basis
Start Date: ASAP
Location: Remote (global, preferably from UTC+1 to UTC-8 time zones)
Description
ASL19, Persian for Article 19, is a technology and media organization that helps people access information, circumvent censorship and counter misinformation. Our team is based in Toronto but currently working with remote and hybrid options. If you enjoy working with a dynamic team, taking initiative, and have an adaptable, easy-going personality, we look forward to hearing from you.
We are recruiting an Intermediate Software Engineer to work on our VPN products. The work involved is mostly development, however the familiarity and proficiency with the protocols mentioned below is important.
We are looking for a passionate, self-driven and positive individual with the ability to work independently as well as part of a team.
As our projects incorporate high user security and privacy protections, we require the successful candidate to understand user privacy and discretion, and can hold themselves to high standards of confidentiality and integrity. Our team is highly collaborative, and we will do our best to support your work and provide room for growth.
Responsibilities
- Collaborating closely with designers and other developers
- Creating high-performing and fast code to enhance our code base
- Using test-driven development to write well-tested code
- Fixing bugs fast while taking sufficient time and efforts to solve more complex technical problems
- Contributing to the open source community
Required Qualifications:
- Experience: 5+ years in software engineering work, VPN technology, or related fields.
- Technical Skills:
- Strong proficiency in Go language development
- Strong proficiency in Socket/Network programming
- Strong understanding of network protocols (e.g., TCP/IP, UDP, SSL/TLS).
- Familiarity with new protocol and standards such as QUIC
- Experience and understanding of VPN and proxy protocols
- Experience with network analysis tools (e.g., Wireshark, tcpdump).
- Troubleshooting Expertise: Skilled in diagnosing complex networking issues, especially protocol interference and network restrictions.
- Security Knowledge: Familiarity with cybersecurity best practices related to VPNs, encryption, and secure tunneling.
- Analytical Abilities: Strong skills in analyzing traffic and detecting network anomalies.
- Documentation Skills: Ability to clearly document network configurations and troubleshooting processes.
Preferred Qualifications:
- Certifications: Relevant certifications (e.g., CompTIA Network+, CCNA) are a plus.
- Experience with Restricted Network Regions: Familiarity with network restrictions and censorship bypass techniques is a significant advantage.
Additional Qualifications (Strongly Preferred):
Technical Skills and Expertise:
- Shadowsocks Protocol Expertise: Since the products are Shadowsocks-based, experience with Shadowsocks configuration, optimization, and troubleshooting is essential. This includes familiarity with its encryption methods, protocol specifics, and bypassing methods for network restrictions.
- Go Programming Language: Since the technology stack primarily uses Go, strong proficiency in Go is crucial for development, configuration, and troubleshooting within the application’s codebase. Look for candidates with direct experience in network programming in Go.
- Network Protocols:
- Deep understanding of TCP/IP, UDP, and SSL/TLS protocols is necessary to manage connections, troubleshoot issues, and optimize performance.
- Proficiency with VPN protocols (e.g., V2Ray, OpenVPN, WireGuard) can also be beneficial if the role expands to include multiple VPN implementations.
- Network Traffic Analysis Tools: Experience with traffic analysis tools, such as Wireshark, tcpdump, and NetFlow, is critical for monitoring, identifying bottlenecks, and resolving protocol-specific issues.
- Firewall and Network Security Configurations: Knowledge of firewall configurations, NAT, and network routing will help in troubleshooting connectivity issues and optimizing security for data traffic.
Troubleshooting and Analytical Skills:
- Network Diagnostics and Troubleshooting:
- Proven experience in diagnosing and resolving complex networking issues like network throttling, interference, or restricted access, especially in high-censorship regions, is critical.
- Skills in analyzing packet loss, latency, jitter, and throughput issues, and familiarity with techniques to circumvent these issues, are essential.
- Anomaly Detection:
- Ability to identify traffic anomalies and patterns associated with censorship and throttling is key.
- Knowledge of techniques to bypass censorship (e.g., obfuscation methods) will be valuable.
Knowledge in Network Security and Privacy:
- Data Privacy and Encryption:
- A strong understanding of encryption methods used in Shadowsocks, as well as broader data privacy practices, is critical.
- Knowledge of privacy-focused practices (e.g., zero-logging policies, end-to-end encryption) enhances the candidate’s ability to maintain and improve user trust and service integrity.
- VPN Security Standards: Familiarity with security standards specific to VPNs, including various encryption techniques and tunneling protocols, is essential for secure VPN product management.
Innovation and Continuous Improvement Skills:
- Problem-Solving and Innovation:
- Looking for candidates who demonstrate proactive problem-solving skills and a history of proposing innovative solutions for performance issues or restricted access challenges.
- Candidates should be capable of evaluating current protocol configurations and suggesting optimizations, especially for performance enhancement in low-bandwidth or censored environments.
- Experience with Restricted Regions:
- Candidates with experience deploying or supporting VPN services in restricted regions (e.g., China, Iran, Russia) are highly valuable. Familiarity with region-specific interference and throttling techniques and successful mitigation strategies can greatly benefit us.
Communication and Documentation Skills:
- Documentation Proficiency:
- Candidates should demonstrate skill in documenting configurations, changes, troubleshooting steps, and other network activities. This is especially important for maintaining consistency and clarity across the team.
- Communication Skills:
- Clear communication skills, both written and verbal, are vital for collaboration within cross-functional teams and for sharing findings, especially regarding complex network configurations and troubleshooting.
What We Offer:
- Competitive salary and benefits
- Positive, flexible, and dynamic work environment
- Family-friendly, flexible work hours
- Chance to do meaningful work in a growing, diverse team
How to Apply
To apply, please send your resume and cover letter to apply-dev@asl19.org with the position in the subject line. Due to the volume of applicants, we are unable to respond to all applicants. Only those who are invited to interviews will be contacted.
Equal Opportunity Employer
Diversity is our strength. As an equal opportunity employer and an organization dedicated to the values of human rights, ASL19 Inc does not discriminate on the basis of gender, sexual orientation, race, religion, marital status, age, national origin, physical or mental disability, or any other status protected under Ontario Human Rights Code. We are committed to providing a work environment of mutual respect and growth; we encourage those who are underrepresented in the industry to apply.