Resume 2010

Thomas (Tomasz) Gil
Seattle WA, USA
tgil@dikte.net http://www.dikte.net

Voice Mail: 206.7929570

OBJECTIVE

Projects in software design, development and architecture - systems and applications. My best work is in special-purpose application infrastructure and in attacking difficult problems. My strengths are in problem analysis, generalization leading to a conceptual design framework and construction and organization of code. I am interested in new and emerging technologies – like wireless devices – and emerging architectural paradigms – like Cloud Computing. Can do technical project management work.

EXAMPLES OF WORK:

Concurrency:

-CDG/Boeing: I designed criteria for triggering interdependent database processing operations

-Marchex: I designed and implemented a log processor program that can be run in many instances allowing for trivial scaling


Transactions and persistence:

-Amazon: I introduced autonomous transactions to commit error records in case a work item failed and was rolled back

-CDG/Boeing: I dealt with large updates (150k rows) that needed to be committed in chunks and available to be reversed by another update as if rolled back


Control:

-Marchex: I designed a system for controlling the parameters of advertising campaigns to achieve their best performance - both simple and optimal control

-Sproqit: I designed a flow control system that allowed for media data to be sent in a low-priority channel over the same link as high priority data


Data modeling:

-I frequently offered input on questions in data modeling insisting on verbalizing the nature of relationships between entities driving toward schema normalization.

-Marchex: I designed a data model change that simply captured history of changes to the data by adding time attributes to certain entities and forbidding their deletion


Communication:

-Graphon: led the formalization of the RapidX display protocol and wrote complex code for optimal transmission of graphical quantities

-Graphon (GoGlobal): I designed the layered communication protocol system and the server side use of that system



SKILLS, TECHNOLOGIES:

PROFESSIONAL HISTORY

September 2008 – present - Marchex - Java, MySQL, internet advertising platform, web serving and web event tracking

carried out major implementations of the advertising platform including web serving with variable content, web event tracking and reporting

helped combine capabilities of two projects to increase versatility of the platform with less effort furthering company's goals

designed Java software, SQL queries as well as data models supporting persistence of change history

implemented advertising campaign management system as an automated control system

April 2006 – September 2008 - contract work Boeing/CDG projects - Java, Oracle, XML, web application development

online airplane documentation for 787 and other Boeing airplanes implementing a database supported complex version control system with indexing and searching using TeraXML search technology

worked on a complex system of versioning of structured content for the 787 airplane documentation

created and maintained a custom build and deployment system for use by development and QA based on Ant, Rational ClearCase, CruiseControl and JMX

February 2005 – March 2006 – Sr Software Engineer at Sproqit Technologies, Kirkland, WA; software products providing remote secure access to application data for mobile devices

designed and implemented data transfer feature for delivery of generic binary content and media to/from mobile devices

created a Java/JMX based console to monitor the behavior of Sproqit discovery service

worked in C/C++ under MS Windows needed for multiuser and scalable server features, and on shipping Workgroup Agent Sproqit server product, implemented licensing features for Workgroup

interaction with MS SQL Server, multithreading under Windows, TCP/IP, programming a server with asynchronous event-driven architecture

demonstrated modern software development techniques showing how goals can be accomplished faster and more reliably with appropriate code structure and object orientation, tried to influence practices at the company and make it more effective

June 2003 – February 2005 - Software Development Engineer at Amazon.com, Seattle, WA; support and software development in the area of external fulfillment - interaction with outside vendors

worked on large full-featured top-level business workflow backend application with evolving features interfaced to other business subsystems - order pipeline, payments, customer returns, inventory management, vendor/merchant connectivity, item catalogs - using a variety of connectivity techniques

worked with Oracle databases - using SQL, PL/SQL and Oracle-specific features such as message queues, programming SQL access with Oracle specific accessors with C++, perl and JDBC

use of large-enterprise software techniques and tools: perforce source control, fast and disciplined release cycle management, formalized code review and build systems

design and development of support aspects of the system: structured logging system with C++ instrumentation and tools for exploring information contained in log files, schemes for monitoring data flow using filesystems and databases; definition, collection, analysis and presentation of performance metrics

designed and implemented a support system with a Web-console using JBoss, using EJB's and Java-based auxiliary operations for file replication and index building, implemented a number of JDBC-based tools

stabilized operations and introduced software improvements in the area of magazine subscriptions and customer returns of merchandise

part of interdepartmental team charged with integrating a large number of new outside vendors into the Amazon system

part of interdepartmental team charged with refactoring of Amazon legacy code to changing needs

acted as SDE on-duty providing backup to support engineers and system operators

February 2002 - December 2002 - senior software engineer at Hynomics Corp, (now Clearsight Systems), Bellevue, WA; design and implementation of software components containing mathematical algorithms for optimization of business operations

defined and maintained the platform in a very mixed environment with Java, Windows, UNIX, XML, JNI , shared libraries, dealt with development tools, performance instrumentation, supporting data input/output in dual form: Java objects and XML documents

responsible for negotiation of Java API interface features with customer - a large software firm; wrote product requirements, software design documents, led team programmers in implementation, also designed and lead implementation of an XML-based Web-services-like API interface and framework for hosting the same optimization algorithms

technical lead for a group including algorithm C++ programmers, mathematicians and control engineers; contributed greatly to refactoring of core code

acted as QA lead for the operational features of the product; documented operational testing procedures, wrote a lot of supporting test harness code - mostly in Java and scripts - and defined QA procedures

led a porting effort from the Windows platform to UNIX/Linux - port was performed very quickly

June 1998 - September 2001 - senior software engineer at Graphon Corp., Bellevue, WA; products: GlobalHost, Bridges for UNIX, GO-Global UX - application server software

principal engineer in design, implementation and maintenance of the protocol middleware, analogous to CORBA and with features similar to J2EE, which defined much of the platform with I/O, threading and synchronization utilities; the sophisticated object-oriented middleware code provides seamless interoperability between UNIXes, Win32 and Java, facilitates new application protocol extensions and adaptation to new communication network topologies; instructed and mentored engineers on appropriate uses of the protocol framework, operating system resources, threads and synchronization methods

architected the server-side of Bridges and GO-Global as a 3-tier system; it is now ported to many UNIX flavors (Solaris, HPUX, True64, AIX, Linux); it involved PostgreSQL database, FlexLM license manager, dynamic shared libraries, and X Window system - product earned the SunTone certification on Solaris; specified and implemented the authentication, authorization, and execution aspects of the server; dealt with a variety of UNIX authentication issues including AFS; mentored QA in complex areas such as authentication and security, IP networking

led the formalization of the Graphon display protocol (RapidX); wrote complex code for optimal transmission of graphical quantities; provided technical leadership through written specifications, design documents and explanatory papers emphasizing the development of concepts and design flexibility; influenced entire product strategy and overall architecture

instrumental in integration of Corel Corp. technology acquired by Graphon

effective in technical sales and customer support in troubleshooting problems with application integration; traveled to customer sites to resolve problems - performed reliably and successfully under scrutiny from other respected software vendors requiring distributed system integration - demonstrated a bug in iPlanet using IP packet analysis

April 1994 - May 1998 - senior software engineer at Exodus Technologies/Connectsoft, Bellevue, WA; product: NTERPRISE application server for NT3.51

wrote a complex and unique video device driver producing output on a device connected by network; implemented sophisticated caching and error handling; rearchitected major components of NTERPRISE for Windows NT4.0 with a kernel-level video device driver; worked with advanced Win32 and NT kernel API's: multithreaded/multiprocess port of Xlib, "thunking/hooking" of Windows "USER" services, communication between user-level and kernel-level code

implemented a secure version of NTERPRISE based on the Secure Shell (SSH); the first SSH server for Windows NT

extended the protocol to work with both X11 terminals and Java-based clients

September 1991 - April 1994 - Lawrence Livermore National Laboratory and National Energy Research Supercomputer Center, 1991-1994, Livermore, CA

worked on large quantum chemical problems using Cray supercomputers; implemented a distributed/parallel scientific program running on a number of Sun workstations under PVM

May 1985 - September 1991 - research work as doctoral candidate and postdoctoral associate on computational projects: Indiana University 1985-89, Princeton University, 1989-90; Ohio State University 1991

OTHER SKILLS AND ACCOMPLISHMENTS:

EDUCATION

(a) PhD. in chemical physics, Indiana University 1989; specialized in computations of electronic structure and interactions of molecules; (b)one year of graduate computer science coursework - Ball State University, Indiana; (c)doctoral candidate - University of Gdansk, Poland; (d) Master's of Physics, 1981, Nicolaus Copernicus University, Torun, Poland

PUBLICATIONS, PRESENTATIONS, MEMBERSHIPS ETC.