System-level developer @ Cossack Labs
Kyiv. Full time. Remote now, office & flexible remote later.
Cossack Labs is looking for a systems engineer to extend our core product team and take care of core low-level libraries.
We are a data security solutions company, developing software products (open-source and proprietary), as well as providing custom bespoke solutions to innovative development teams around the world. Our mission is to make strong security methodologies and approaches convenient within modern infrastructures and, as the software is eating the world, help it eat the world responsibly, without leaking customer’s data.
Among our customers are power grid operators, payment processors, legal companies, million-user customer applications. We cater to young ambitious startups and well-established enterprises, who use our software and solutions as core part of their security arsenal.
Our mission would be impossible without brilliant engineering force, and we’re looking to grow it.
- Work as part of our core product team, designing and implementing product features, along with deployment schemes and instrumentation.
- Improve already working low-level code, the way it's built and distributed.
- Make product and design decisions that impact real-world applications and hardware for years.
- Write readable, documented code, review other team members’ code. Write tests and documentation.
- Collaborate with the entire company, surrounded by experienced software engineers, security engineers, cryptographers.
- Manage your work by setting your own goals, prioritizing and executing them, and taking ownership of tasks and projects.
We would expect you to have:
- Strong CS knowledge. Knowledge and skills matter more than a diploma.
- 3+ years of low-level programming: C, C++, Rust.
- At least 6 years of software development experience in general.
- Understanding of POSIX and low-level system internals to some extent.
- Desire to learn Go if you don’t know it yet.
- Desire to learn cryptography a bit, if your existing knowledge will be insufficient.
- Understanding of operation systems, compilers, libraries, etc.
- Solid understanding of systems programming for unix-based systems (kernel, libraries, linking, processes, compilers, etc.).
- Results-oriented mindset.
Please note that you can be a perfect fit even if not everything we’ve outlined above applies to you. If you have any questions, please don’t hesitate to ask – everyone is unique.
Other skills which might impact compensation, area of work and level of fun:
- Understanding of computer security, cryptography and adjacent subjects.
- Fluent knowledge of (pick one, pick any, pick many) → Rust, Java, Python, Ruby, Node.js, modern PHP.
- Understanding of the modern development ecosystem: CI/CD, automated testing, feature flags, etc.
- Friendly and experienced team: smart people to learn from, great people to build with. Each of us is unique, we value and support each other.
- Trust: schedule, reporting, bureaucracy is kept at reasonable minimum. We hire smart people and trust them to do the right thing. When things go wrong, we help rather than punish.
- Shared decision making: this business is driven by engineering excellence, so engineers are important part of tactical and strategical business decisions.
- Friendly to humans: not just a formal vacation and sick leave quota. Feel like your mental or physical wellbeing needs care? Take some time off. Feel like working a few days from home? Sure. As long as you're in line, we are here to support you when you're not.
- Team that facilitates internal learning and growth all the time.
- Interesting technologies to work with — sometimes, even unique ones (we design applied cryptography schemes and techniques and novel ways to use them).
- Ability to grow into one of the fastest growing industry sectors (computer security) with a team of experienced professionals.
- Management attention to help you improve upon your personal goals (through regular 1:1s and mentoring).
- Competitive compensation with flexible bonus scheme.
- You choose your benefits package — pack of goodies or straight cash.
- Conferences, books, courses — we encourage learning and sharing with the community. Our team members share a lot in talks, workshops and blog posts.
Not sure but considering? Talk to us.
If you see yourself fit but a few things are off — don’t hesitate to talk anyway. It might be that your unique combination of skills and knowledge would be perfectly fitting for our environment, but we both just don’t know it yet.
How to apply.
As a bare minimum, we will need your CV to start the conversation. A supporting letter explaining what makes you tick as an engineer, what's your story, what you have done in the past and what kind of work you find interesting would help, but is not necessary. If there is public code you authored (or co-authored) you're specially proud of, links would be much appreciated. But a simple CV would suffice as well.
Looking for more details? Check out our recent case study:
Bear: end-to-end encryption and multi-device data synchronisation for 6M users
Case-study: encrypting data for Apple Design Award-winning application while focusing on performance and usability.