Stephen Prior
Senior Software Developer

10 Saugatuck Ridge Rd
Danbury, CT 06810
Home (203) 791-9651
sprior@geekster.com (preferred)

Objective
Summary of Qualifications
Experience
Education
Languages
Systems
Personal Development Projects

Objective

To continue to pursue challenging technical work from several possible categories:
  • Distributed Scalable Systems
  • Unix workstations - Linux, Solaris, AIX
  • PC based systems
  • Object Oriented Programming in Java or C++
  • Linux
  • Wireless and Pervasive Computing
  • WAP/WML Based Technologies
  • Home Automation
  • Internet Technologies
  • Collaborative Computing and LAN/WAN technologies

Summary of Qualifications

  • Talented in Object Oriented design and relational data modeling.
  • Built a reputation for architecting, developing, and maintaining highly reliable code, which is trusted on a daily basis with deals worth hundreds of millions of dollars.
  • 5 years worth of Java, SQL, PL/SQL experience on Solaris and Linux.
  • 14 years of C++ and Object Oriented Programming experience.
  • 12 years of AIX technical experience from development to marketing support to network administration.
  • Thoroughly familiar with computer hardware, networking, configuration, and operating systems (Linux, Solaris, AIX, and PC operating systems from Win XP all the way back to PC-DOS 1.1).
  • Contributes to the organization as a whole, researches and champions tools and methodologies which help everyone to be more productive.
  • Skilled communicator/teacher. Thorough in explaining complex technical knowledge to users as well as mentoring junior team members.
  • Establishes positive and productive working relationships with fellow employees.
  • Imaginative in constructing a practical program or process to address a business challenge.
  • Enthusiastic technologist who programs by day and then programs more at home for fun.

Work Experience

October 2001 -
Present
Senior Programmer, Interactive Brokers Group LLC. Development primarily in Java, PL/SQL, C++ and Perl on Solaris and Linux in a company known for its intense planning, implementation, and production work cycles.

Architect and senior developer of system which daily collects the compositions for Exchange Traded Funds (ETFs) and automates their creation/redemption through DTC, NSCC, and the rest of the world.  The company depends on this system daily to manage hundreds of millions of dollars worth of deals where even small errors would mean millions of dollars of risk, while giving the company a unique automated capability and advantage in the marketplace.

Proposed and championed the use of TWiki in the organization.  This has completely transformed the way the company manages project documentation.

Designed, implemented, and maintenance of a highly reliable, dynamic rule based system to collect cash transactions from bank statements worldwide and enter them into Oracle General Ledger every day before 10am.

Senior member of team who developed a system to reconcile external trading statements for IB operations in twelve European and three Asian countries every morning. Design, development, and support for system to calculate profit and loss for all of these and reliably enter it into Oracle General Ledger every day before 10am.

Development and supervision of the flawless transition due to the Canadian Stock Exchange conversion to their new CDSX system. Mentoring and technical lead for new employees in the group known especially for Unix knowledge. Maintain a high level of support and good relations with trading and back office staff.  Researched, prototyped, recommended, and support the installation of Bugzilla for internal bug tracking which was so well received it is now being used for customer support as well.

Developed and support processing for various regulatory, executive, and customer reports. Known for high quality object oriented designs and implementations that run trouble free in production. Technologies used include Hibernate, Oracle, Eclipse, CVS (at work, I've upgraded to Subversion at home), Oracle General Ledger, JDBC.
August 2000 -
June 2001
Server Development, Portalvision. Responsibilities include server code development in C++ and some Java on the Solaris platform. Also responsible for technical knowledge and integration of Internet technologies such as Apache, Jserv, GnuJSP, and NNTP(INN) into the Portalvision server system. The core Portalvision server uses a message passing interface over middleware to facilitate this distributed and highly scalable platform. I re-architected and re-factored the Instant Messaging server code from C based code into an Object Oriented C++ implementation that greatly reduces bugs and facilitates verifiable correctness and future code maintenance. I designed and implemented a distributed and cached headline server which allows for news and messages to be sent to the client platform based on user subscriptions, allowing for different priorities of messages and delayed start and expiration dates. I researched technology for, designed, and implemented a message board server system which allows for scalability, integrated it into the Portalvision server security framework, yet leveraged the open source INN server to allow for very rapid implementation. I delivered all of these projects on time on very aggressive schedules. I used UML (especially sequence diagrams) to document these projects.
I developed a reputation for new creative ideas for future features that would provide compelling value for Portalvision and could be implemented with technologies I researched on my own time. While working aggressively to successfully meet the delivery date of the message board server, on my own time and initiative I did a prototype implementation of one of those ideas to the delight and surprise of the Portalvision executives. At the CEO's request I then implemented a custom version of the prototype for demonstration to one of our bigger potential partners as a vision of what future value Portalvision can provide to partner companies above its current capabilities. Management was considering me to head a future research department.

IBM Work Experience

October 1997 -
August 2000
Deployment Support, IBM National Industrial Information Infrastructure Protocol (NIIIP)- Poughkeepsie, NY. Government contracted project to enable collaboration between organizations on the Internet. Responsibilities include Win NT/95/98 and AIX LAN management, installation and maintenance of multiple web sites and Internet based production and development systems, network security including firewalls, hardware/software inventory control, support, planning, and acquisition. Planning, installation and maintenance of disaster recovery systems and procedures.
November 1990 -
October 1997
IBM Engineering Design Systems, Poughkeepsie and Fishkill, NY. ProFrame Development - C++, Lex, and YACC Programmer in a CAD Framework project. Responsibilities include design, implementation, and documentation of flexible and easy to use object oriented designs for components of a design integration/management system. Local guru for telecommuting technologies, Win95, PC systems, and industry trends. NIIIP - C++, AIX 4.1. Responsibilities include research of new technologies to be used in implementing the project, and development. Other responsibilities - evaluating new workstation environments such as Taligent, Windows NT, OS/2, Windows 95, and development tools such as Borland C++ and Microsoft Visual BASIC. Technical liaison for joint study project with Carnegie Mellon University. IBM representative to CAD Framework Initiative - an industry standards organization for electrical CAD frameworks.
Spring 1992 -
Fall 1994
C++ Instructor - Developed class materials from scratch for a C++/OOP course and taught it twice at IBM and once as a credit-free course at Dutchess Community College, Poughkeepsie, NY.
May 1989 -
November 1990
IBM AIX/370 Marketing Support/Applications Strategy Group, Danbury, CT. Technical staff preparing demos and providing technical insight into marketing support issues for AIX/370. Provided show support for Uniforum '90, the RISC System/6000 launch, Siggraph '90, Share 75, and TCA '90. Facilitated AIX/370 GraPHIGS port and demos to support SIGgraph '90. Challenges include advising vendors on the advantage of AIX/370 enhancements over other Unix products.
IBM AIX/370 Marketing Support/Applications Support Group, Danbury, CT. Technical staff assisting vendors in porting Unix applications to AIX/370 and AIX PS/2. Challenges included advising vendors on the advantage of AIX/370 enhancements over other Unix products.
January 1988 -
May 1989
IBM AIX PS/2 Development - Compiler development, Danbury, CT. Achievements include development of test suite for the dbx symbolic debugger, dbx development, publications review for dbx, research and planning of the XWindows followon to dbx called xdbx, and initial development of xdbx.
Also responsible for planning, implementation, and maintenance of TCP/IP Token Ring network for the compiler group. This network was the first in the building used for development.
October 1987 -
December 1987
IBM Federal Systems Division, Owego NY.  Academic year part time assignment to help plan and develop a networked parallel artificial intelligence system in Prolog to aid threat analysis and response in attack aircraft. When presented with the challenge of Turbo Prolog opening files in a non-shareable mode I suggested and implemented a DOS TSR that translated non-shareable DOS file open calls into shareable ones.
Summer 1987 IBM White Plains, NY. Assignments included planning, development, and support of a network version of the "Standard Configuration" of PCDOS programs that I developed the previous year. The network extension to this system was a natural addition due to the flexibility of the initial design.
Spring 1987 -
during school year
MicroAge, Endicott, NY. Sales, support, and training. Responsibilities included sales and demos for potential customers, providing technical assistance after the sale, and developing and teaching small training courses. Classes developed and taught included Microsoft Word, and structured design for BASIC programmers.
Spring 1987 -
also during school year
Independent consultant for PC Applications. Responsibilities included machine configurations and customer training (beyond the scope of MicroAge offerings). Received referrals from MicroAge for some of this business.
Winter Break, Jan/1987 IBM White Plains, NY. Developed addin pre-configured applications for the "Standard Configuration" developed the previous summer (below). Also provided end user support.
Summer 1986 IBM White Plains, NY. Assignments included planning, development, documentation, and support of a standalone "Standard Configuration" of PC-DOS programs to provide a workable turnkey environment for non-technical executives. The system became the standard operating environment for that location.
Winter Break, Jan/1986 IBM Research, Yorktown Heights, NY- Advanced Workstations Group. Two week assignment to develop a VERY user friendly install process for the PC-DOS standard research operating environment in Yorktown. Challenges included having one version of PC-DOS install another, and incorporating several reboots into the install process.
Summer 1985 IBM Research, Yorktown Heights, NY. Automated the data-taking from a physics experiment using an IBM XT.

Pre IBM Work Experience

Summer 1984 -
Spring 1985
Computerland, Mt Kisco, NY. Initially a Summer job, but turned into a part time job during the following school year. Responsibilities included being the service department, and providing technical assistance to salespeople and customers. Worked heavily on the sales floor with customers as a salaried (not commissioned) salesperson.
Previous Employment Prior Photo Service. Founder of small photo finishing business during high school. Provided all photographic services to Arden Communications-- a publishing company. Also worked as a staff photographer for Arden going on location for landscape as well as car and truck photography. Shot the covers of two issues of "High Performance Cars" magazine.

Education

Graduated 5/1997: Rensselaer Polytechnic Institute
MS Computer Science - GPA 3.60
Graduated 12/1988: SUNY at Binghamton
BS Computer Science - Information Science
Certificate in Business

Keirsey Temperament Sorter type: eNTp

Languages

Java, Oracle PL/SQL, C++, Visual Basic, Perl, Prolog, C, lex, yacc, and Unix Shells.

Systems

Linux, Solaris, AIX/6000, Windows 9X&NT/2000, AIX PS/2, IBM AIX/370, PC-DOS/Windows 3.11, VM/CMS

Personal Development Projects

Linux
6 years of personal experience in configuring Linux systems at home to provide network server functions such as DNS, sendmail based email, multiple virtual hosted web server with Java/JSP support self tailoring to desktop, wireless, and cell phone web browsers, web based email access, NAT Internet access sharing and security, and MySQL database server. This system became so functional that at one point I cloned the system at Portalvision to provide a jump-start to the message board development project. I started this on top of Red hat 6.2 but eventually decided to build my own server Linux distribution from source code using guidelines from www.linuxfromscratch.org as a starting point - this distribution provides the base system services to implement all of the above without the clutter of a mainstream distribution.

Wireless Internet Technologies
Survey of wireless technologies for use with the Home Automation System. This has ranged from a home control interface based on email with a 2-way pager (functional Spring 1988), through WAP/WML based interface using cell phones to wireless access with a PDA, Web Clipping Apps (PQA), plus a prototype Java Server Page system at home.geekster.com which determines the capabilities of the user browser (Desktop, Palm, or cell phone) and automatically provides content appropriate for that device (screen size, color, JavaScript, WML).

Internet Based Home Automation system at home with status reporting, email filtering and response, and active control of lights, appliances, computers, video capture, and my alarm clock.

Designed matrix and object oriented graphics libraries in AIX and PC-DOS in C.

Designed, built and programmed a voice synthesizer card for the IBM AT.

Developed a small assembler for PC-DOS in Turbo Pascal.

Developed a FAST memory resident set of graphics primitives in assembler
for the IBM Enhanced Graphics Adapter.

Automatic reminder package in Turbo Prolog for PC-DOS.

Back to my home page.