Vladimir Vysotsky


Address: 38115 Parkmont Drive, Fremont, CA 94536
Phone/voicemail: (650)898-7076
E-mail: trivee@gmail.com

19 years of software development experience, including 15 years of C++ and 11 years of Java programming. Several years of technical leadership and software architecture experience. Very strong in the following areas:

My ideal position combines technical leadership (as a system/software architect or team lead) with direct contributions to software design, coding and testing. I enjoy both new and sustaining development of medium and large-scale projects. I could accept some personnel or project management responsibilities, but would prefer to focus on technical aspects of software development.


Professional Experience in Software Engineering

June 2001 - present
Avistar Communications Corporation, San Mateo, CA

Senior Software Architect (2007 - present)
Tech Lead / Staff Software Engineer (2005 - 2006)
Senior Software Engineer (2001 - 2004)

Since 2005, working as a Senior Software Architect at Avistar Communication Corp. in Redwood City, CA and San Mateo, CA. The company develops enterprise video communications software components and systems. In this position I'm responsible for defining system, component and module architecture for most development projects in the company; reviewing and contributing to product requirements; providing development plans and estimates; troubleshooting critical development and customer support issues; directly contributing to projects with coding, bug fixes and code reviews; mentoring other members of the engineering team; and serving as a liaison with remote development facilities. My major accomplishments, in chronological order, include:

Maintaining the legacy Avistar code base (C++, proprietary protocols, 1.5 mln lines of code) through several feature releases, including improved client/server support for reduced network connectivity (home/small office) environments; a major scalability redesign of Avistar software infrastructure comprising release 9.3 of Avistar software; development of the software-based media processing library (as an individual contributor responsible for the library design and H.263 video codec development).

Championing and leading the gradual successful migration from the legacy product suite to the new, component-based system using a number of appropriate technologies: Java server-side code, REST web service architecture using HTTP/HTTPS, XML, JSON, and DHTML/JavaScript/AJAX, audio/video communications using SIP, COM/C++/C# client-side code, integrating a large number of third-party open source and proprietary modules.

Leading and ensuring timely delivery of several custom development projects for customers such as LifeSize and IBM. These involved a range of technologies from enterprise Java on IBM Websphere to C# WPF code on Windows.

I participated in bringing up two offshore development facilities, first in Beijing, China, and later in Kiev, Ukraine. With the bulk of new development happening offshore, I was responsible for most of the technical and sometimes personal communication with remote developers. Throughout my employment with Avistar I was the maintainer of several development resources including the source control system (CVS and later Subversion) and the engineering Wiki site.

Protocols: HTTP, REST, SIP, RTP, H.323

Codecs: H.264, H.263, G.722.1, G.722

Languages: C++, C, Java, C#, Python

Environment: Various Windows versions, WPF, Websphere, VxWorks, Linux, FreeBSD

Tools: Microsoft Visual Studio, IntelliJ IDEA, Windriver Tornado and related tools, Subversion

Between 2001 and 2004, I worked at Avistar as a Senior Software Engineer. For the first 2.5 years, I mostly worked on several embedded digital video products. I was solely responsible for: designing and developing portable C++ libraries implementing SIP (Session Initiation Protocol) for establishment of video/audio connections and RTP (Real Time Protocol) for transmitting and receiving digital video and audio; writing some hardware drivers (PCI bridge, flash memory, custom communication channels) and integrating them with vxWorks kernel and board support package running on a Motorola PowerPC processor; designing and developing the firmware application and miscellaneous tools for firmware configuration and upgrade. I also developed most of the video and audio compression application running on an Equator Technologies DSP. During the driver/board support package development I worked together with hardware design engineers to discover and isolate hardware problems with the embedded board. With the embedded products delivered as Avistar AG4000 and AS300 devices, I started working more on maintenance and enhancements of server infrastructure products written in C++ and, for one legacy application, in Java.

Languages: C++, C, Java

Environment: Windows 2000, vxWorks on PowerPC

Tools: Microsoft Visual C++ 6.0, Windriver Tornado and related tools

Technologies: SIP, RTP, H.263, G.722

March 1998 - May 2001
Matranet, Inc., Redwood City, CA

Software Engineer (2000 - 2001)
Offshore Software Development Contractor (1998 - 2000)

Starting in May 2000, I was employed by Matranet, Inc (CA) at the main office of the company in Redwood Shores, CA. As a Software Engineer, I continued to work on the M>WebTouch project - an interactive, Web-based customer service solution. After relocating to the U.S., I took responsibility for development and maintenance of the database connectivity modules of M>WebTouch (using JDBC to connect to different database engines, including MS SQL Server, Oracle, IBM DB2, and some others). I was also widely involved in other aspects of M>WebTouch development, such as solving the synchronization and concurrency issues in all parts of the server-side code, supporting HTTPS for client-server communications, developing parts of the new XML/XSLT/servlet-based user interface, and any kind of urgent bug fixing. As a long time M>WebTouch developer I participated in architecture design discussions. I was also responsible for the maintenance of the "tracker" module - a custom HTTP proxy program written in C++.

Languages: Java, C++, XML, XSL, SQL

Environment: Windows 2000, Windows NT, Windows 95, Linux, Solaris; MS SQL Server 7.0, Oracle 8.0, IBM DB2 7.1

Tools: JDK 1.0 - JDK 1.3, Microsoft Visual C++ 6.0, EGCS

Technologies: JDBC, CORBA, SSL, Servlets, XSLT

Between March 1998 and May 2000, I worked for Matranet as an offshore contractor. I took part in development of M>WebTouch. Using SSH and CVS to access remotely (from Kiev) the source code repository, I implemented large parts of the M>WebTouch GUI in Java using first AWT and later Swing. I used CORBA for interfacing between the user applications and the server. I participated in design and implementation of the reports module for M>WebTouch using the Servlet API. I was also involved in extending the C++ "tracker" module.

Languages: Java, C++, HTML, XML.

Environment: Windows NT, Windows 95, Solaris, Linux

Tools: JDK 1.0 - JDK 1.2, Microsoft Visual C++ 6.0, Rational Rose 4.0

Technologies: CORBA, servlets, HTTP, Swing

1999
ERRIU, UOIP; Kiev, Ukraine

Software development consultant

August - October 1999: Contract with ERRIU (Kiev). As a Lead Software Engineer/Analyst, I designed and took part in the development of a prototype for the European Commission-sponsored project "Electronic Information Services in Countries of Central Europe/Newly Independent States". The proposed prototype consisted of an Oracle database for storage and indexing of XML documents, and several Java servlets for data entry, search and retrieval. The system provided for automatic translation of the input and output documents for a number of European languages. XSL was used to create the output.

Languages: Java, HTML, XML, XSL, SQL

Environment: Windows, Linux

Tools: JDK 1.2, Oracle

Technologies: Servlets

March 1999 - June 1999: Contract with Ukrainian Office of International Projects(Kiev). As a Project Lead, I designed and implemented a C++ software library containing several digital mapping and computational geometry modules (multi-point interpolation, DXF file format input/output, Delaunay triangulation, Voronoi polygons) for European Commission-sponsored CIVERT project. During a visit to the Joint Research Center in Ispra (Italy) worked in an international team to integrate the developed software modules into a common framework.

Languages: C++

Environment: Windows NT

Tools: Microsoft Visual C++ 6.0

Technologies: STL

August 1994 - September 1998
SPE "Topaz-Inform", Kiev, Ukraine

Software Engineer

July 1997 - September 1998: Full-time employment with Topaz-Inform, Department of information technology. As a Software Engineer, took part in several projects, including the development of an electronic messaging system for military applications and a space imaging database. I wrote parts of GUI for Windows including applications, libraries and ActiveX controls, using C++. I designed and implemented several network libraries and applications, including a batch FTP client, a remote procedure call library for use with military communication devices, and a custom DNS server. I also designed and implemented a vector map viewer applet in Java.

Languages: C++, Java

Environment: Windows NT, Windows 3.11

Tools: Microsoft Visual C++ 1.5 - 6.0, Microsoft Visual Basic 4.0-5.0, JDK 1.0 - JDK 1.1

Technologies: Windows 16 and 32 API, COM/DCOM/ActiveX, MFC, ATL, Winsock, Internet protocols, applets

August 1994 - June 1997: Part-time and later full-time employment with Topaz-Inform, Department of land use and land registry. As a Software Engineer, took part in design and development of informational, analytic and prognostic systems in the fields of land use, agriculture and radioecology.

Languages: C++

Environment: Windows NT, Windows 95, Windows 3.11

Tools: Microsoft Visual C++ 1.5 - 5.0

Technologies: Windows 16 and 32 API, COM.

September 1991 - July 1994
Institute of Foreign Languages, Kiev, Ukraine

As a part-time Software Developer, I implemented several educational programs for language study.

Languages: Pascal, Assembler

Environment: DOS

Tools: Borland Turbo Pascal

September 1990 - August 1991
Kiev State University, Kiev, Ukraine

As a part-time Laboratory Assistant, I developed several programs for automation of scientific experiment.

Languages: Fortran, Assembler

Environment: DEC PDP-11

Technologies: BLAT, LINPACK, LAPACK


Education

1995 - 1998 Institute of Metal Physics, Academy of Sciences of Ukraine. Graduate student.
1990 - 1995 T.G.Shevchenko Kiev University (former Kiev State University), Radiophysics department. Graduated with Honors diploma (all grades - excellent, equiv. to GPA 4.0). M.Sc. in radiophysics and electronics.