This position is open only to Ukrainian residents currently living in Ukraine (preferably Kyiv or Lviv)
Our product team is looking for an experienced Rust Developer. You’ll help create robust, mission‑critical systems. We’re primarily looking for mid-level specialists. However, if you’re more senior and have a background in cryptography, security, or systems programming, we’d be happy to talk.
Technical stack #
- Rust (product code) & Python (scripts/simulations)
- Protobuf/gRPC, WebSockets, HTTP2/HTTP3, Mavlink, IEC 60870‑5‑104/IEC 60870‑5‑101, Modbus.
- Bash scripting and Makefiles for build automation.
- OS: Linux Debian (mostly). Alpine, other distributives just for Docker images and test environments.
- DB: PostgreSQL, SQLite3, redb, Redis.
- CI/CD: GitHub, CircleCI, Buildbot.
What you’ll do #
- Take part in feature discussions and influence architecture/design decisions.
- Build and ship new features in our core infrastructure products.
- Write unit and integration tests.
- Document new functionality clearly and concisely.
- Share implementation examples for other engineers.
- Contribute to code reviews, design sessions, and test case design.
Requirements #
- Strong knowledge of Rust (3+ years): syntax, idioms, and common patterns.
- Solid understanding of engineering fundamentals including algorithms, concurrency, multithreading, data structures, design patterns, networks.
- Experience with PostgreSQL or MySQL/MariaDB: basic knowledge of SQL and practical experience with DBMS (at least one of them).
- Experience with embedded databases (e.g., Redb) within Rust applications.
- Solid understanding of network protocols: TCP/UDP, HTTP2, WebSocket.
- Comfortable working with Python, Bash and Makefile to read, write, and maintain scripts.
- Practical knowledge of Docker: writing Dockerfiles, working with images/containers.
- Confident debugging skills: practical experience in diagnosing problems at any level (application, network, server, database, OS).
- Background in computer science.
- Good spoken and written English (B2+) for team communication and code documentation.
Nice to have #
- Golang/C: some of our products written with C/Golang. It would help your work if you’re able to read/maintain/review code.
- Working with MAVLink: parsing, building, and extending messages for flight‑control or ground‑station applications.
- Embedded firmware development.
- Security & cryptography: basics of information security, symmetric/asymmetric cryptography, TLS.
- Linux: understand how application communicates with OS, difference between userspace & kernelspace, how to deal with blocking operations.
Don’t see yourself in every requirement?
We’d still like to hear from you.
Hiring Process #
- Resume review – up to 7 business days.
- Test task – estimated time 4-8 hours.
- Introductory meeting with the Head of development & solution engineering.
- Technical interview with several team members.
- Background check.
- Offer discussion.
What to expect from us #
- We build applications for clients, write code for developers, and document how it all works — for both.
- Everyone on the team is happy to help, but we also respect each other’s time and know how to find answers ourselves.
- Tech writing isn’t our favourite task, but we do create solid technical documentation when needed, and we’re lucky to have a tech writer to help with that.
- We prefer doing things right the first time over patching things endlessly later.
- We value healthy perfectionism, a sense of beauty in engineering, and a good sense of humour.
What we offer #
- Opportunities to work across technologies and projects: cryptography, software engineering, information security, ML security controls, cryptographic protocols, hardware protection, reverse-resilient mobile apps, and web apps for millions of users.
- Quarterly performance reviews, regular one-on-one meetings with your manager, and ongoing support to help you succeed and grow professionally.
- Quarterly compensation reviews, aligning pay with performance and market benchmarks.
- Performance and reward bonuses.
- 21 business days of vacation, plus sick, mental health, and emergency days to use when genuinely needed.
- Combination of in-office and remote work as needed, flexible scheduling, and a winter slowdown period.
- Conferences, books, courses, internal knowledge sharing, workshops, writing blog posts and research papers, giving talks, and contributing to open-source parts of our products — choose what aligns with your professional goals.
Why work at Cossack Labs? #
You’ll work alongside PhDs in information security and cryptography, contributors to infosec community standards, specialists in rare security topics, and business-centric security engineers with broad experience. Some have worked in infosec since the 1990s, helping shape the industry and write the standards it relies on today.
For newcomers, we offer detailed onboarding during the first weeks. At Cossack Labs you’ll discover what works for you and what you need to learn next, developing through hands-on work on challenging problems, mentoring, and continuous learning with personal development plans to guide your growth.
Working at Cossack Labs, you’ll be at the cutting edge of technology and real-world security projects alongside highly skilled professionals who genuinely care about building a safer and more secure future.