Peter Vypov

Peter Vypov

Moscow, Russia
Hire Peter
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
Portfolio
Experience
  • SQL, 8 years
  • Perl, 7 years
  • C, 7 years
  • Go, 2 years
Moscow, Russia
Availability
Part-time
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.
Employment
  • Go Developer
    Monax Industries, Ltd. (via Toptal)
    2015 - PRESENT
    • 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: Docker
  • Go Developer
    Leaf.ag (via Toptal)
    2015 - 2015
    • Implemented a heartbeats REST API service for http://leaf.ag 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 (http://developer.deere.com/) to keep track of JohnDeere’s tractors’ and harvesters’ telemetry.
    • Implemented a REST API service to suggest harvesting periods for http://leaf.ag mobile application users based on crop types and weather forecasts (www.wunderground.com).
    Technologies: Docker DynamoDB
  • Lead Developer
    UBS Investment Bank
    2012 - 2014
    • Increased the bank’s revenue by developing and refactoring risk, trading, regulatory. and reconciliation reports (15-year project, ~3 MLOC, Perl, Go).
    • 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 (Groovy + Swing, Perl).
    • Implemented a linear regression algorithm in a tool that checks the trustworthiness of raw trading data (Go).
    • 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
    Kaspersky Lab
    2006 - 2012
    • 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 (Perl).
    • Developed a scaled-down version of a Kaspersky Anti-Virus scanner to use in the testbed (distributed malware scanning, one client/many servers, C).
    • Developed and maintained a continuous automated build framework for building Kaspersky Anti-Virus updates for Non-Intel networking equipment (ARMv7, v9, MIPS Octeon cross-compilers, Perl).
    • Developed a tool to monitor performance of Anti-Virus updates across a pool of virtual machines for the Updates Release department (Perl, Template Toolkit, PostgreSQL+DBI).
    Technologies: Perl, C, Kaspersky and Juniper SDKs, PostgreSQL, Template Toolkit
  • Systems Developer
    Institute of Electromechanics
    2003 - 2010
    • 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 (C, Open Motif, SQLite).
    • 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 (TigerSHARC, C, VisualDSP++).
    Technologies: C, Open Motif, SQLite
Experience
  • 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.).

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