Oleg Pryadko

Expert Python developer with web and Linux background.

Contact Info

Cell: 909-918-6534 (by appointment)
Location: Vallejo, CA, USA
Website: https://olegpryadko.com
Email:

Software developer with 7 years of advanced Python development and 10 years of total experience in Linux, OOP/ patterns, PHP, JavaScript, web, databases, and APIs.
  

  • Dabbled in C, C++, Java, networking, electronics, and embedded development.
  • Trained developers (6+ years) and end-users (9+ years). Led small teams (1.5 years).
  • Worked with various industries, especially nonprofit, e-commerce, gaming, vending, and consulting.
  • Clear communicator, self-starter, self-teacher, loves feedback, constantly learning.
     

Currently looking for a change to gain new skills and experience

  • Available on a two weeks notice.
  • Prefer remote/ telecommute work due to long commute times from Vallejo.
  • Open to occasional travel within the US.
  • Happy to consider part time, temporary, and startup roles with learning opportunities.
      

Experience opportunities could greatly decrease the expected rate. Particularly interested in:

  • low-level: C programming, networking, hardware/ drivers, embedded, RTOS, IoT
  • high-level: AI/ machine learning, distributed/ cloud, NoSQL, Java, C++, new languages
     

Skills

Python 2 & 3, OOP/ patterns, asyncio/ threads, testing, Linux (servers, workstations, and embedded), systemd/ shell, SQL/ PostgreSQL/ MySQL/ MongoDB, Docker, microservices/ WAMP/ Crossbar, RPC/ JSON/ XML, SCXML, ERP/ Odoo/ Tryton, Django, UI/ graphic/ animation design, full-stack web/ LAMP/ PHP/ HTML5/ CSS3, JavaScript, NodeJS, basic C/ C++/ Go/ Java, Photoshop/ GIMP/ Inkscape, IntelliJ/ PyCharm, Apache, NGINX, Markdown, git, SVN, tar, rsync, ssh, netstat, nc, ifconfig, dig, whois, nethogs, and MANY other Linux command-line tools
 
Spoken Languages: English (perfect), Russian (almost fluent), Spanish (some)
 

Experience

Casinfo Systems & Gaming Technology Group (NV)

Senior Python Developer/ Project Lead (contract, mostly remote)

Sep 2011 - PRESENT (2019)

Summary:

  • Became the lead (often solo) developer for a complex, in-house Python framework (ERP/ ORM/ MVC/ APIs/ services) and the systems built on it. 
  • Developed dozens of Python/ Linux daemons, scripts, components, libraries, and integrations.
  • Assisted with developing drivers, installers, packages, and microservices for embedded boards (SMIBs) running a custom Linux distro.
  • Provided developer training and support, Linux server administration, web/ UI/ animation design, and other tasks as needed.
     

Designed and developed Python system components, including:

  • A new slot machine player tracking and rewards system that uses MDNS, persistent sockets, and RPC to control embedded Linux boards with animated touch-screen displays, card readers, and slot machine serial interfaces.
    • Challenges included optimizing large data sets and streams, a complex state machine with concurrent events, synchronizing state/ data changes with remote display animations, and integration with changing external components.
  • A custom unit test framework for ORM functions that required a real database and full system initialization. 
    • Challenges included ignoring commits, synchronously running threaded and asynchronous functions, and restoring the configuration and global environment after each test.
  • A library that allowed the same functions to be used with different types of main loops (asyncio, GLib, gbulb, and legacy GTK).
  • A custom XML/ ECMAScript file format to allow non-Python developers to configure complex business logic. The format supports unit tests, IDE syntax highlighting, and schema validation.
  • User interfaces for runtime configuration and administration of logging, timing, connections, etc....
  • User interfaces for auditing and adjusting massive PostgreSQL data sets gathered from slot machines and player sessions.
  • A GUI report generator that allowed non-developers to create custom PDF reports on a legacy database using ODF file templates and MSSQL query templates. 
  • Custom JSON-RPC APIs for integration with legacy systems.

 
Refactored and improved existing Python code base:

  • Troubleshooted, cleaned, and improved complex, undocumented code.
  • Migrated software from Python 2 to Python 3.
  • Improved and expanded existing XML-RPC & JSON-RPC APIs.
  • Wrote unit and functional tests.
  • Bridged and adapted software to use a custom in-house RPC library.

 
Other duties:

  • Trained, supported, and assisted other developers.
  • Hired, trained, and supervised subcontractors.
  • Configured and maintained Linux development servers.
  • Resolved miscommunications between colleagues.
  • Worked with clients and testing labs to pass certifications.
  • Wrote documentation and how-to articles.
  • Created graphic and web design to showcase products.
  • Designed user interfaces for touch screens and administration tools.

 
Main technologies: Python, PostgreSQL, Linux

Supporting technologies: MDNS/ Avahi, Bash, Apache, Mikrotik, ODBC, Perl, C/ C++, WAMP/ Crossbar, GLib, GTK+, Qt, OpenWRT, GRUB, SSH, PXE (network boot), VNC, Linux tools, systemd, asyncio, ECMAScript, XML/ schemas, JSON/ RPC/ APIs
 

Go Automation (CA)

Senior Python Developer/ Small Team Lead (contract, mostly remote)

Sep 2016 - Mar 2017

Worked with the owner of Go Automation, who is also the lead embedded developer for Casinfo Systems, in developing custom software for a vending machine distributor.

  • Led a small team of remote contractors in creating a custom vending machine management platform using Odoo (a Python ERP framework)
  • Implemented an animated, touch-screen vending machine customer interface on top of Python microservices in embedded Linux boards.
  • Designed and implemented an API to allow the central Odoo server to securely pull data from and push configuration and software packages to the remote embedded boards.
      

Main technologies: Python, Odoo, PostgreSQL, MongoDB, WAMP/ Crossbar, Linux

Supporting technologies: ECMAScript 6, NodeJS, XML/ schemas, Qt, networking, SVN, RPC, ORM
 

Independent Consultant, 20+ clients

Web Framework Specialist/ Lead Web Developer

Jan 2012 - Jan 2019

Offered specialty consulting for MODX, an open-source PHP web framework.

  • Provided emergency support and custom module development for MODX websites.
  • Provided management, developer training, and support for MODX-based projects.
  • Hired, trained, and supervised subcontractors.
  • Configured and maintained Linux servers.
  • Released open source components and contributed to MODX framework development.
     

Recent clients: Blue Mountain Center of Meditation 2013-2019, Education Law Center 2017-2018

Main technologies: Linux, Apache, PHP, MySQL, MODX, HTML, SASS/ CSS, JavaScript

Supporting technologies: Python, Photoshop, e-commerce, various APIs (e.g. Google Drive, Vimeo, Dropbox, payment gateways, ...), ORM, git, CPanel, Apache, NGINX, Bind
 

Independent Consultant, 40+ clients

Solo Web Designer/ Developer

Sep 2008 - Dec 2011

Designed and built custom, dynamic websites for dozens of small business and e-commerce clients. Provided full-stack web development (Linux/ Apache/ MySQL/ PHP/ JavaScript/ HTML5), custom graphic design, wireframing, requirements gathering, and end-user training.
 

Education

Self-Taught

Everything above.

2008-Present

Currently studying electronics, automotive mechanics, and cloud architecture.
 

University of California, Riverside

Unfinished/ No Degree

2003-2008

Progress towards double major in Plant Biology and Anthropology.
 

Other Experience

Go Automation (Joshua Tree, CA)

Internship (on-site, 30 days, unpaid)

Feb 2019 - March 2019

Work on several active projects to gain experience in C programming, Linux kernels, networking, RTOS, embedded/ control systems, electronics, SMT, and other topics.
 
Technologies: Linux, C, RTAI (real-time Linux), PID loops, SMT, reflow, kernel/ modules/ drivers, Mikrotik/ RouterOS, PPP/ OpenVPN, iptables, routing, LinuxCNC, HAL (hardware abstraction layer), Autotools/ Makefiles/ compiling, BIOS, GRUB, automotive mechanics, avionics, wiring, electronics, Python, XML/ schemas, git
 

Educational Projects

Skills for Low-Level Programming

JUNE 2017 - Feb 2019
  • Electronics breadboard projects (LAoE), including practice in soldering, using oscilloscopes/ function generators, and figuring out circuits.
  • Automotive repair practice.
  • C programming practice.
     

Educational Projects

Linux DevOps & Networking

Jan 2016-Sep 2016

Hired several experienced consultants to get tutored in practical Linux DevOps and networking. Practiced using and configuring dozens of programs and tools, including:
 

  • networking: iptables, ip, rinetd/ xinetd/ inetd, tcpdump, Wireshark, nmap, ethtool, arp, PXE, iptables, OpenVPN, PPPT, PPPD, DNS, DHCP, Mikrotik, sipmask, what, rsync, ssh, netstat, avahi-browse, nc, ifconfig, dig, whois, nethogs, dig, sshfs, and more...
  • virtualization/ containers: KVM/ libvirt, QEMU, LXC, OpenVZ, Docker, VirtualBox, Vagrant
  • configuration management: Puppet, Ansible
  • packaging: Ubuntu/ Debian packages, FPM, stdeb, Makefiles, Checkinstall
  • Linux: BIOS, GRUB, PXE (network boot), live CDs, package management (apt, dpkg, opkg), consoles, file systems, RAID, LVM, lsblk, fstab, fdisk, dd, parted, Alsa/ PulseAudio, lspci, lsusb, systemd, X-server, and more...
  • dev tools: gcc, gdb, nm, readelf, ldd, strace, ltrace, hexedit, lsof, ld, rr, valgrind
  • build: Jenkins
  • monitoring: Zabbix
  • servers: BIND, Postfix, Apache, NGINX, PGP, SPF, Exim, DoveCot, BIFF, and more...
  • backups: Bacula, Amanda, duplicity, rsync, rdiff-backup, rsnapshot, and more....
     

Interviewed or worked remotely with consultants from many countries and timezones. Successfully adapted learning and communication style to consultants who did not have teaching experience, good English skills, or even good internet connections.