Last modified January 2023.
Professional Objective
A DevOps or Architect Position
Software
Programming: Tcl/Tk/DP, C/C++, PHP, Python, Java, JavaScript, SQL, sh and csh, OpenMP, AMD64 Assembler (gas).
Software Packages: Ansible, Bloomberg Server API, CVS and Perforce, Apache (configuring, modules) and Squid, MediaWiki, PHPBB, Distributed Python (dispy), Drupal, Puppet, PVM and MPI, sendmail and libmilter, NIS/YP, Kerberos, bind, ssh/sshd, Kerberos/Active Directory, MySQL, PostgreSQL, Rational/IBM Purify and Quantify, LSF/Platform, Varnish.
Murex: cache, RTBS, load-balancing, macro-recording, database manipulation, performance and stability debugging.
Operating Systems: FreeBSD(project member), Solaris, any other Unix and Linux.
Private networks: Secure virtual networks, tunneling, wireless networking.
Also well familiar with: Amazon Web Services (AWS), JIRA and Confluence.
Employment History
Murex Architect
BNY Mellon
December 2017-current
Achievements:
- Automated creation/updating of Murex installations using Ansible
- Designed and developed a customized system for parallelization of
computations accross multiple computers (C++, Python)
- Designed and implemented (in Python) a daemon forwarding Murex' journal files to Splunk
- Converted Murex-services to run under systemd
- Ported legacy C++ code to newer Linux to ensure warnings-free builds
- Advised colleagues on best practices of communicating with Murex services,
including import/export of data
Senior DevOps Engineer
Refinery29
June 2017-December2017
Achievements:
- Ensured compliance of the company's logging practices with European privacy regulations (GDPR) - Ansible, Logstash, Elastic
- Designed and implemented rolling package upgrades for production servers (Ansible, Jenkins)
Senior DevOps Engineer
Humedica (Optum)
March 2016-March 2017
Integration of hardware, virtual machines, and applications, as well as assisting in software-development process and monitoring (Linux).
Achievements:
- Automated and otherwise improved management of Atlassian applications (Jira, Confluence, FishEye/Crucible, Bamboo).
- Implemented utility-scripts for internal tasks, such as generation of SSL-requests, etc.
- Designed network-wide implementation of Sensu monitoring system.
- Advised developers of internal tools on best practices.
Senior Infrastructure Engineer
Time, Inc.
August 2009-August 2015
Researching, designing, and
implementing means of running the company's
front- and back-end web-servers (Linux and Solaris).
Achievements:
- Designed and implemented (in C) a
command-line utility for flushing Akamai's cache
of the company's content.
- Researched and implemented (in C) a fast algorithm
for checking, whether a given string contains
one of the multitude of substrings.
- Employed the above string-matching
algorithm in a custom Apache-module to quickly detect
mobile-devices.
- Upgraded the company's FTP-server,
adding the WebDAV functionality. Added sorting
functionality to Apache's mod_ftp.
- Added custom function (in Ruby) to Puppet to help
prevent multiple cron-jobs from firing at the same time.
- Developed (in C) a Varnish module to support
Akamai's G2O authentication protocol.
- Created scaled Drupal-installations for some
of the company's magazine titles.
- Fixed the Sybase back-end of Apache's apr-dbd.
- Implemented (in C) a plugin for MySQL to enable
user-authentication against LDAP-servers
- Implemented (in Java) a custom plugin for corporate JIRA
to auto-update certain fields based on business-rules
- Implemented (in PHP) custom scripts for migrating a variety of
other issue-trackers into JIRA
- Customization (in Groovy) of Jenkins-jobs to dynamically
populate menus for software developers
- Implemented (in Ruby, Python, and sh) several customized
Icinga monitors (i.e. GlusterFS)
- Minor fixes for GlusterFS
to help monitoring -- and packaging GlusterFS RPMs for internal use
- Migrated various services to AWS
- Implemented backups for all of the company's AWS Virtual
Machines (EC2) onto S3 storage (using Amanda)
- Implemented JSON-parser for TCL in C (YACC) -- open source
Technical Murex consultant
Millennium Partners (MLP)
August 2007-January 2009
Managing the technical side of
running Murex production, QA, and development
environments. Designing, implementing, and
overseeing implementation of scripts and
utilities to interface with Murex, Operations
Warehouse, and various market-data suppliers.
Investigating and debugging performance and
stability problems in Murex application.
Providing general Unix-expertise.
Achievements:
- Re-wrote Murex processing script-running utility
to provide clear reporting of errors (sh).
- Greatly increased the processing
throughput of the installation by balancing the
production's load across multiple servers.
- Wrote a program to manipulate prices
and other data in Murex cache-pages based on the time of day,
the securities' markets and other parameters (Tcl).
- Implemented periodic pricing of a
variety of bonds against Bloomberg service (Java).
- Implemented periodic processing of
CDS-curves against Bloomberg service (Java).
- Oversaw and helped facilitate the
upgrade of the firm's Murex installation to a new version v3.1.13 (C).
- Helped design and implement a plugin to notify external software
of price-updates arriving to Murex' RTBS (JavaScript, .net).
- Implemented processing of SuperDerivatives data and loading it into
Murex at market closings (sh, Java, XML).
- Designed and implemented a web-based system for collecting
sign-offs from various departments before commencing the End-of-Day procedure
(Tcl for sending out notices, PHP for processing sign-off "clicks").
- Automated and reorganized the End-of-Day workflow to perform
independent jobs in parallel and without human interaction.
Murex enhancement and upgrade (consultant)
Metlife
March 2007-August 2007
Assisting with Murex upgrade. Devising new
hardware configuration to allow better hardware utilization
and ease future expansion and scaling (sh, Java, Tcl, C).
Performance and Stability Engineer,
sysadmin
Murex North America
2002-December 2006
Responsible for troubleshooting and optimizing the
company's application installations for a variety of
customers and their environments on Solaris, Linux,
AIX; as well as the application's interactions with
the Sybase back-end (C, Java, Purify, Quantify, XML).
Achievements:
- Analyzed and solved complex customer-specific
network and operating system problems.
- Designed, developed, and built a centralized
backup system for the Company's many Sybase databases; this consisted
of Sybase backup-plugin, which allowed DUMPing to a central
fast-CPU machine, where assembler-optimized zlib compresses the
data for long-term storage, and a TCL-program to backup all changed
databases from all known servers (C, Tcl/Tk/TclX).
- Participated in the design and implementation of the
Python plug-in for the Company's application (C, Python).
- Conducted a comprehensive study comparing the
company's own proprietary approach to parallelization with
the industry standard PVM (C/C++, PVM).
- Upgraded the company's FTP server to offer Secure
FTP and WebDAV
(over SSL) to allow the customers to upload all kinds of
data without resorting to shipping the sensitive materials
on tapes or other media. This required modifying an existing
Apache module for painless access control based on SSL-certificates.
- Trained and mentored customers' personnel in efficient deployment,
maintenance, and monitoring of the Company's application.
- Configured Solaris, Linux, and FreeBSD servers to act as Kerberos-clients of the existing
Active Directory servers.
Software Engineer, sysadmin
(consultant)
Private Labs, Inc. (another unfortunate
Internet start-up)
2000-2002
The company initially intended to print the digital
photos, mainly those uploaded over the Internet by
the users of various digital cameras. The users would
be able to edit the pictures, share the albums with
others, etc.
Later it switched to general purpose on-the-fly image
generation and processing.
Achievements:
- As a system administrator planned and set up the start-up's
network, e-mail, web, backup, and domain name services.
- designed and set up the "single login" on the network,
based on NIS and amd (automounter).
- As a software engineer designed the redundant and self-recovering
storage system for the users' photos. The system consisted of a fleet of the "off the
shelf" PCs running FreeBSD, with each file being
stored on two different machines -- storage servers.
- Designed and developed the "Uploader" part of the system
-- based on
TclHTTPD --
which would handle the files as they are uploaded and push them to a
randomly picked pair of the storage servers.
- Participated in design and implementation of the image
processing core.
- Designed and participated in the implementation of the
general purpose on-the-fly image processing server (Apache, Squid, mod_perl; C, Perl).
Software Engineer, sysadmin
(consultant)
Cisco Systems, Inc.
January 1999-January 2000
Development of Tcl/Tk scripts for automatic and testing of the new
Cisco hardware using Cisco's proprietary Tcl extensions and drivers on
FreeBSD (C, Tcl).
System administration, including OS (FreeBSD) installations
on a number of testbeds; configuring a cluster with server and a
fleet of such testbeds using NFS, NIS, amd; setting up backups (using
Amanda)
Achievements:
- Configured the fleet of previously standalone
FreeBSD-based testbeds into a cluster using NFS, NIS, amd (sh).
- Set up backups for the testbeds (using
Amanda).
- Simplified deployment of new versions of the
in-house software to avoid complete reinstall of the Operating
System (sh).
- Instituted user accounts on the FreeBSD-based
hardware testbeds to simplify file-transfers and other mundane
tasks (sh, Unix administration).
- Designed and implemented scripts for automated
hardware testing to greatly reduce the amount of manual testing
and increase test coverage. In addition to controlling the
hardware under test, the scripts also controlled third-party
hardware through serial port(s) to simulate phone calls and
other signals.
Software Engineer, sysadmin
(consultant)
Video Collage, Inc.
November 1995-January 1999
Tcl/Tk/Tcl-DP programming for different platforms: Irix,
FreeBSD, WinNT
Custom extensions to Tcl; Software design, implementation,
porting and maintaining; maintaining Concurrent Version System (CVS)
repositories for a number of client's software projects
design and implementation of
SoftWish
- a Tcl/Tk plug-in for SOFTIMAGE|3D
Unix systems administration (FreeBSD, Irix)
Testing/Benchmarking Engineer
(consultant)
NEC Technologies, Inc.
June 1995-November 1995
OS fine-tuning to achieve maximum performance of multi-
and single-processor machines running Solaris and NT (on MIPS
and x86)
Development of cross-platform benchmarking/demonstration
suite in Tcl/Tk/Tcl-DP on NT (MIPS, Alpha, PPC, and x86), Solaris,
and SGI machines. The suit was also used by Digital Equipment during
the Comdex '95
Performance testing of NEC MIPS machines (running NT)
against a variety of NT and UNIX based competitors
Earlier experience (1987-1995) available upon request
1987-1994
Education
- MS in Computer Science, August 1998
UMass Boston - BS (equivalent) in Computer Science/Applied Math, June 1992
Kyiv Polytechnic Institute
(Ukraine)
Prize-winning places in city and other
Olympiads in computer programming and mathematics
during high school years at the Kyiv's Math/Physics
High School #145
Interests
- Member of FreeBSD Ports Team. I have personally created and/or currently maintain
several dozens of FreeBSD ports of various software. I also routinely
submit patches for the software I use to its authors and/or its FreeBSD
ports maintainers.
- Other programming. SKEM is the State
KEeping Milter I wrote to
remember hosts, which tried to send spam so as to deny new e-mails
from them for several hours (C). — Sybpipe
- a plugin for Sybase's backup server, that allows the dumps to be written to/read from
stdin/stdout of a command-line or a host:port combination (C). — Customizing a private MediaWiki installation for distributed editing
of a book (PHP).
- Recreation. So long as it does not adversely affect the earlier
listed interests, I find travel, horseback riding, and diving to be
very enjoyable
Copyright © 2001-2023 by Mikhail Teterin.
Please, no Internet redistribution of the content.
Link (URL), paper, or fax redistribution encouraged