Scroll To View More
Peter Vypov

Peter Vypov

Moscow, Russia
Member since June 6, 2014
Peter is a systems developer with around ten years of experience, fluent in C and Perl and passionated about Go. He has been developing Linux network daemons, SDKs, automated financial reports, and testing frameworks, and has developed and verified critical software for atomic power plants.
Peter is now available for hire
  • SQL, 9 years
  • C, 7 years
  • Go, 4 years
Moscow, Russia
Preferred Environment
Linux, Mac, Vim
The most amazing...
...thing i've developed is a piece of software that monitors and shuts down a nuclear power reactor.
  • Go Developer
    2016 - PRESENT
    G&L Geißendörfer & Leschinsky GmbH (via Toptal)
    • Developed a Nagios-like, REST API accessible, TOML config based monitoring software to monitor and manipulate data of a pool of audio and video encoders; the software contained polling, caching, and state flapping detection capabilities.
    • Implemented an extendable facility for the monitoring software to support various third-party authentication schemes implementable within the config itself; successfully used it with Elemental and Akamai APIs.
    Technologies: Go
  • Go Developer
    2015 - 2017
    Monax Industries, Ltd. (via Toptal)
    • Developed and architected a Docker container orchestration tool for simple interaction with blockchains.
    • Removed more lines of code than added while introducing new functionality.
    • Ported the tool to the Windows platform, significantly improved unit test coverage, and solved many long-standing Unix terminal and Docker “volumes” and “volumes-from” related issues.
    • Provided assistance as a nice and helpful local Go language guru.
    Technologies: Go Docker
  • Go Developer
    2015 - 2015 (via Toptal)
    • Implemented a heartbeats REST API service for to store tractor and harvester coordinates and kept track of the harvested crop areas (Go + DynamoDB, migrated from Django).
    • Implemented a proxy REST API service to JohnDeere API ( to keep track of JohnDeere’s tractors’ and harvesters’ telemetry.
    • Implemented a REST API service to suggest harvesting periods for mobile application users based on crop types and weather forecasts (
    Technologies: Go Docker DynamoDB
  • Lead Developer
    2012 - 2014
    UBS Investment Bank
    • Increased the bank’s revenue by developing and refactoring risk, trading, regulatory. and reconciliation reports.
    • Reduced the bank's liabilities by fixing and adjusting reports to FCA and SEBI regulators.
    • Improved and extended IB’s primary risk valuation software to address new trading and regulatory requirements.
    • Implemented a linear regression algorithm in a tool that checks the trustworthiness of raw trading data.
    • Led Scrum stand-up meetings, conducted technical interviews, trained new programmers on the topics of the project, and created presentations and led workshops for them.
    Technologies: Perl, Bash, Go, Groovy, Sybase
  • System Administrator and Developer
    2006 - 2012
    Kaspersky Lab
    • Released, tested, and verified Kaspersky Anti-Virus updates for major technological partners around the world. They never failed on customers’ networking equipment (Juniper Networks' SRX, SSG, and NetScreen series devices, most importantly), and no major SLA violation was ever claimed.
    • Designed and maintained a testbed for testing Kaspersky Anti-Virus updates on various networking equipment; created a failover and load-balancing harness to reduce false negatives and downtime.
    • Developed a scaled-down version of a Kaspersky Anti-Virus scanner to use in the testbed (distributed malware scanning, one client/many servers).
    • Developed and maintained a continuous automated build framework for building Kaspersky Anti-Virus updates for Non-Intel networking equipment.
    • Developed a tool to monitor performance of Anti-Virus updates across a pool of virtual machines for the Updates Release department.
    Technologies: Perl, C, Kaspersky and Juniper SDKs, PostgreSQL, Template Toolkit
  • Systems Developer
    2003 - 2010
    Institute of Electromechanics
    • Led a team through a V&V process initiated by the Indian government to accept systems software for the Kudankulam atomic power plant, based on industry IEC 60880 and IEC 61508 standards.
    • Developed a specially-tailored Linux distribution for atomic power plants with higher reliability requirements in mind (developed a watchdog-timer-based master/slave failover daemon).
    • Introduced a software verification method of using a strace utility on critical sections of software and checking against expected sequences of read/write and shmget/shmat/shmdt calls.
    • Developed a program to measure and manage parameters of VVER-1000 atomic reactor control rods, a decision support tool for technical staff.
    • Designed a LiveCD-based crash recovery tool for Linux-geared diagnostic equipment for Russian atomic power plants in Bushehr, Kalinin, Kudankulam, and Tianwan. The tool included an initial setup procedure and hardware detection capability.
    • Implemented an xLMS filtering algorithm for active noise control of custom industrial actuators.
    Technologies: C, Open Motif, SQLite
  • RedHat-based Linux distribution for atomic power plants equipment (Development)

    A tailored-down version of RedHat Linux with custom network drivers, installation procedure, and systems daemon for monitoring, accounting, failing over, and automatic reinstalling of the system.

  • Testbed for network devices that use Kaspersky Anti-Virus SDKs. (Development)

    A testbed for automated, distributed testing of Kaspersky Anti-Virus updates on partners' networking equipment that internally use Kaspersky SDKs such as Juniper Networks' SSG, SRX, and Netscreen gateways.

  • Nuclear reactor control rods management tool (Development)

    A tool to monitor the parameters of actuators that move nuclear reactor graphite up and down to set the nuclear core heat output and to drop them to shut the reactor off. The tool allowed for monitoring and setting of the rods' positions, alone and in groups, and also checking and setting the supporting networking equipment state (relay from master to slave, etc.).

  • Languages
    C, Sed, Bash, AWK, Go, SQL, Perl, Python, HTML, XML, Tcl, Groovy, XSLT, JavaScript
  • Libraries/APIs
    itertools, jQuery
  • Tools
    Vim Text Editor, Vagrant
  • Platforms
    FreeBSD, Docker, Linux, Kubernetes, OpenBSD
  • Storage
    SQLite, PostgreSQL, DynamoDB, InfluxDB
  • Other
    IEC 61508, Functools, IEC 60880
  • Paradigms
    Agile Software Development, Scrum, Concurrent Programming, Test-driven Development (TDD)
  • Frameworks
  • Specialist degree in Embedded Systems and Control Theory
    1997 - 2003
    Institute of Radioengineering, Electronics, and Automation - Moscow
  • ITIL v3 Foundation
  • RHCE
    DECEMBER 2008 - AUGUST 2014
I really like this profile
Share it with others