Position: Senior C developer
Category: C++
English level: upper
Years of experience: 7

- Unifying and making portable a lot of legacy code.
- Several services, libraries and components responsible for essential userspace functionality.
- Many design papers and rationales, shared internally as documentation.
For the last few years (3y 8m), I've been developing a proprietary OS working in TrustZone at Samsung.
My primary expertise was developing userspace services and proper userspace interfaces from kernel.
The last year has been dedicated to refactoring the core part to keep them in sync with Orange Book and TCB concepts.
This part of work was partly dedicated to the role of S/W architect, so I had written several designs and proposals.
The things I worked on include:
- service for initial userspace bootstrap (init.d-like scripts);
- custom libc (mostly POSIX-compliant, even though not certified);
- service to detect trusted application version rollback;
- uniform I/O event loop library (socket-based, cross-platform);
- multithreaded userspace drivers;
- bits on kernel support where userspace needed this;
- preparing proposals and designs on new components and libraries;
- making the code as cross-platform as possible.

Previously I used to work in InfoTeCS (1y 9m), where I developed a proprietary firewall. Bits I worked on include:
- adopting netfilter-based driver to recent Linux kernel versions;
- maintaining and extending custom firewall rules editor and configuration manager;
- developing other userspace components (daemons, libraries and so on);
- backporting CVE fixes into glibc and other OSS components.

Before that, I worked on behalf of Auriga outsourcing at Intel site (1y 5m). My work there included:
- extending some bits on Python support;
- updating code for Simics components;
- some quite basic models for CoFluent for demos;
- some more advanced models, like parts of IOSF and NHM decoding pipeline.

Before I started working full-time, I participated in Google Summer of Code (twice, 2012 and 2014).
In GSoC-2012, I re-implemented gnulib-tool from shell into python; this work is currently used by wget2 project.
In GSoC-2014, I implemented support for strcoll/strxfrm routines (this code has been dropped in favor of code from DragonflyBSD implementation).
An ideal project would be:
- An operating system which is aware of Orange Book and TCB, and tries to follow these principles to at least some extent.
- Mostly userspace activities, like libc development, implementing miscellaneous services, perhaps even RPC to some degree.
- It'd be perfect if I could operate on kernel/userspace boundaries, e.g. implementing new system calls or other kernel<=>userspace interfaces.
- Preferably the significant part is written in C; other languages are not a problem, C is simply the favorite one.
- The project has some space for an architect.
- The job is remote.