Nikolai Golikov
Born: 1983, Moscow
Residence: Tbilisi, Georgia
Software Developer, System Architect
Main Areas: Embedded systems, Operating systems, InfoSec
Skills:
- Experience in designing both software and hardware architectures (at the IP-block level)
- Experience with architectures: ARM (v7, v7-m), MIPS (32, 64), NIOS II, Xtensa, AVR, PIC18
- Main programming languages: C, C++, assembler (for any architecture with documentation)
Education:
-
2021-2022 Moscow Anthropological School
-
2012 Summer System School (Ksys Labs in collaboration with TU Dresden and Genode Labs GmbH)
-
2010-2015 Russian Technological University
-
2004-2007 Moscow Timiryazev Agricultural Academy
-
2002-2004 D.I. Mendeleev University of Chemical Technology of Russia
Previous and Current Places of Employment:
Keen Association
2016-…
Embedded software developer. Software development for electronic musical instruments.
Keen Association forum
Tasks:
-
Firmware development (microcontrollers: Kinetis, Esp32, atmega, pic18, languages: C++, C, assembler)
-
Development of a custom lightweight drivers library (C++)
-
Profiling and optimization of real time code
Scientific Technical Centre “Atlas”
2018-2022
System architect on a network processor chip project. Technical lead.
Project slides (ru)
Tasks:
- Designing part of the chip architecture: data plane for processing ESP protocol traffic at 10Gb/s, key management protocols accelerator, security controller
- Designing the entire software stack: user space for data plane management, Linux driver stack, firmware for processor cores handling traffic, key exchange, and trusted boot, as well as their interaction protocols
- Designing and developing a modified version of qemu for software testing tasks
- Leading and participating in software and test development
- Planning the development process together with the team leader, code review, interacting with the hardware development team and other administrative-technical tasks
Scientific Technical Centre “Atlas” / Ksys Labs
2012-2018
System Programmer. Development of solutions based on microkernel operating systems and system software for Linux.
Tasks:
- Participation in porting the seL4 kernel to the MIPS architecture. Porting the CAmkES framework
- Development of a user space daemon for handling ESP protocol traffic under Linux
- Integration of Russian cryptographic algorithms support to the Strongswan IKEv2 daemon. Integration with user space data plane
- Decomposition of the Linux kernel: transferring the device mapper subsystem to a user space service for the Genode OS
- Development of drivers and services for Genode OS Framework
- Creating firmware based on L4Re and L4Linux
Publications:
Vasily Sartakov, Nikolai Golikov. Approaches to the Fragmentation of the Paravirtualization System. // Proceedings of the International Scientific and Practical Conference on Tools and Methods for Program Analysis. – 2014. – pp. 184–190
https://tmpaconf.org/images/pdf/2014/vasily sartakov nikolay golikov ksys labs odintsovo_.pdf