ALEXEY FEDOSOV
2130 Fulton Street
San Francisco CA 94117
Phone: 415.422.5185 work
E-mail: fedosov at usfca dot edu


Objective

To obtain a DevOps position that will encourage me to continue learning about System Administration and Software Development with emphasis on parallel and distributed systems.

Summary of Qualifications

Experience: 16 years in System and Network administration with emphasis on Linux parallel and distributed computing
Languages: C, C++, Python, Java, x86 assembly
Operating Systems: Linux, Mac OS, Windows
Networking: TCP/IP suite, Ethernet, Infiniband, Routing, Firewalls
APIs: BSD sockets, pthreads, MPI, QT, pcap, OpenGL, SDL, CGI, WSGI
Network Applications / Services: nfs, dhcpd / bootp / pxe, iptables, iproute2, sendmail, postfix, mailman, BIND, samba, autofs, CUPS, Apache, OpenLDAP, MySQL, SVN, AMANDA, OpenStack, Docker

Professional Experience

University of San Francisco, San Francisco, CA
Director of Scientific Computing, College of Arts & Sciences (08/08 - present),
Manager of Scientific Computing, Dept of Computer Science (06/06 - 08/08),
Cluster Administrator, Dept of Computer Science (08/01 - 06/06)

Current projects and responsibilities (2008-present)
* Overseeing and maintaing the computing infrastructure of the College, including several clusters, cloud systems, and specialized scientific equipment
* Serving on various IT committees and participating in drafting IT policies for the entire University
* Created and implemented a disaster recovery plan for College data by setting up data mirroring at an offsite location
* Managing 2 full-time staff and 10+ student workers
* Ongoing development of various web applications needed by the College (see below)

Gnosis Application Suite (2011-present)
* Developed a suite of web applications in Python and WSGI to facilitate data collection and management within the College of Arts & Sciences
* Examples include:
   Gnosis Search - a web app to aid in faculty hiring process and application review. Currently used de facto for all faculty searches in the College of Arts & Sciences.
   Promotion and Tenure - an app for the faculty of the entire University to apply for Promotion & Tenure and for the leadership to review the applications.
   FacTrac - a repository of various faculty data, including evaluations, contracts, ACPs, and PHP applications.
   Faculty Information Portal - a portal for the Arts & Sciences faculty to submit their ACPs, apply for PHP, and other tasks.
   Faculty Development Fund - a web app to aid in the Faculty Development Fund application submission process and review. Built various clones of the app, including a version for the SONHP.
   Syllabi Central - an online repository of all A&S syllabi.
   Faculty Awards - a web app to allow A&S faculty to apply for various faculty awards.

Center for Science and Innovation (2011-2014)
* Participated in the design and specification of the technical aspects of the Center for Science and Innovation building, including three classrooms for Computer Science and a data center for hosting the computing infrastructure of the College of Arts & Sciences
* Oversaw the computing and supporting equipment budget
* Designed and specified the network infrastructure and the student workstations
* Built and deployed several cloud systems used in various Computer Science courses
* Purchased and continuing to administer the IBM PureFlex cloud system used by all disciplines in the College of Arts & Sciences requiring computational resources
* Specified power and cooling requirements to support the new data center
* Interfaced with system vendors to obtain and evaluate quotes and provide direction
* Specified, built, and deployed several Linux clusters to be used for computational research in various science disciplinea, e.g., Chemistry

Linux Clusters for Teaching Parallel Computing (2001-present)
* Lead the specification, deployment, and support of five different Linux clusters of various sizes (from 8 to 64 nodes) over the course of my tenure at USF that are used to teach parallel computing topics to undergraduate students
* Assembled and deployed three clusters from scratch
* Installed and configured various MPI implementations and supporting software and libraries
* Built a server to provide NFS, DHCP, DNS services for the clusters
* Developed a node management tool (in C and Python) to control node allocation to users

Flashmob Supercomputer (2004)
* Set up a test environment to run experiments and preliminary benchmarks
* Contributed code to the custom Linux kernel used on the FlashMob CD
* Oversaw the setup of the computers and network equipment before the event
* Tested sections of the cluster by running Linpack on a subset of nodes, troubleshooting as necessary
* Oversaw execution of the Linpack benchmark once the machine was assembled and ready

Department of Computer Science (2001-present)
* Currently overseeing 64 lab workstations, 64 cluster nodes, and 20+ servers in addition to faculty personal and research systems
* Currently maintaining the department's mail, web, DNS, LDAP, and Samba servers
* Set up and currently maintaining the department's network infrastructure, including a Gigabit Ethernet network, firewalls and routers
* Built and deployed disk images for the Computer Science lab machines via kickstart
* Set up and maintaining LDAP servers and accounts for 1000+ users
* Participated in the design and specification of the Kudlick multimedia classroom
* Provided end-user support (Linux, Mac OS, and Windows) for faculty and students
* Taught courses in Assembly Language and Systems Programming

Education

University of San Francisco, San Francisco, CA
M.S., Computer Science (12/09)
GPA: 4.0

University of San Francisco, San Francisco, CA
B.S., Computer Science, Mathematics minor (5/01)
Magna Cum Laude

Publications

A. Fedosov A Python-based Framework for Distributed Programming and Rapid Prototyping of Distributed Programming Models. Master's Thesis. December 2009.
A. Fedosov, G. Benson Communication with Super-Flexible Messaging. Proceedings of the Parallel and Distributed Techniques and Applications Conference (PDPTA 2007). June 2007.
G. Benson, A. Fedosov Python-Based Distributed Programming with Trickle. Proceedings of the Parallel and Distributed Techniques and Applications Conference (PDPTA 2007). June 2007.
G. Benson, M. Butner, A. Fedosov, S. Padden The Virtual Processor Interface: Linux Kernel Support for User-level Thread Systems. Proceedings of the Parallel and Distributed Computing and Systems Conference (PDCS 2003). November 2003.

Building a Better Netreg. An article on creating a custom wireless registration system with Linux.
Python/QT Tutorial. A tutorial on building Python GUI appplications with QT.

Other Projects
Master's Thesis: A Python-based Framework for Distributed Programming and Rapid Prototyping of Distributed Programming Models (09/05 - 12/09)
* River is a Python-based framework for rapid prototyping of reliable parallel and distributed run-time systems. The simplicity of the River core combined with Python's dynamic typing and concise notation makes it possible to go from a design idea to a working implementation in a matter of days or even hours. In addition, the River core and new extensions can be used directly to develop parallel and distributed applications in Python.

pyRyll (4/05 - 5/05)
* As part of a two-person team, rewrote the Ryll game (see below) in Python and SDL (with pygame). The network layer was written from scratch and uses peer-to-peer networking, based on multicast, instead of a client-server model.

AXEmail (10/04 - 12/04)
* As part of a two-person team, implemented a fully-featured web-based e-mail system in Java with a mySQL backend.

Return to Ryll: A Multi-player game (08/00 - 05/01)
* As team leader on a game project sponsored by Blizzard North, designed and implemented the infrastructure for a cross-platform multi-player persistent-world online action game. Developed a multi-threaded server application to support up to 1024 players.

References available upon request.