Brian Barcus
6 Winslow Court
Saint Peters MO 63376-4502
Telephone: (636) 542-8086
E-Mail: brian@barcus.org


Senior Software Engineer

January 2008 to Present             ThomsonReuters
  • Started on the RDFD Core framework development team. The RDFD product supports High Frequence Trading platforms by normalizing exchange data into the Reuters Data Format. The system can handle tens of thousands of exchange messages per second with a maximum of 15 millisecond end-to-end latency. The system started on Windows and was ported to Linux maintaining the same latency requirements.
  • In addition to the porting and refactoring parts of the libraries, I rewrote the build system to simplify our use of CMake and Jenkins build servers when we moved to Linux. I also provide user and application support on one of the Linux development servers used by programmers in North America.
  • Support work as part of the framework team includes working directly with programmers in North America, Great Britain, and China. Support includes regular teleconference meetings with those development teams to help them use the libraries.

  • Environment/Tools: GCC, GDB, Linux, MS Visual Studio, C++, Windows XP, Boost Libraries, OOD, OOP, Subversion, Git, Bash

    Senior Software Engineer

    June 2006 to December 2007             FlightSafety International
  • FlightSafety makes flight simulators for training airplane pilots. I joined the tools group that develops a variety of utilities that are both delivered to customers and used internally. My first assignment was to port existing programs from Unix/g++ to Windows using MS Visual Studio v7 while maintaining source code compatibility with both platforms. I also worked on software development guidelines to be used in a Department of Defense contract. These included a coding guidelines and peer review processes that met the requirements for an ISO9000 compliant project.

    Environment/Tools: MS Visual Studio, C++, Windows XP, GNU C/C++, Boost Libraries, OOD, OOP, CVS, Rational Purify.
  • Software Engineer/Consultant

    December 2003 to March 2006             Volt Technical Resources
  • Returned to the Digital Communications System project that I had worked on when I was at Boeing the first time. This system handles messages used to coordinate combat action between F/A-18 fighter jets and other aircraft or ground forces. This phase of the project involved adding new features and new message types. My job included writing new code, enhancing existing code and writing and implementing test plans to cover unit testing, system tests, regression test and validate new code.

    Environment/Tools: C++, Windows 2000, BSD Sockets, MS WinSock Sockets, OOD, OOP, Rational ClearCase, Rational ClearQuest, CodeWizard.
  • Software Engineer/Consultant

    August 2003 to December 2003             Volt Technical Resources
  • Designed and implemented an automated source code generation tool for use in a unmanned weapon systems software development. The software was designed as a filter framework for which plugins were written to support each type of code to be generated. The initial toolset converted interface and design specifications from a tool used by system designers into Ada95 source code. This was a two person project team where I played the design lead. (Boeing)

    Environment/Tools: C#, .NET, Windows 2000, ClearCase
  • Software Engineer/Consultant

    December 2002 to July 2003             Innovative Staffing, Dallas TX
    Worked on a major upgrade and daily maintenance of a data warehouse system. (MasterCard)
  • I joined the conversion project about half-way through requiring me to quickly become familiar enough with both the old and new systems. Most of the work was updating existing programs for loading and extracting data and generating reports. Detailed regression testing was required to verify that updated report programs produced the same output as on the old system. The upgrade consisted of a completely new database and a ten-fold increase in the number of data items stored.
  • Wrote software to filter XML data before sending it to customers.
  • Made customer-specific modifications to the data warehouse applications to handle special processing needs. Requests for these changes typically arrived within one or two days of when they were needed and had to be designed, coded and tested quickly.
  • Modified existing report programs written in perl.
  • Wrote ksh scripts to drive the report programs.

    Environment/Tools: C++, Unix, Sun Solaris, Windows 2000, XML, Oracle, Pro*C, Ksh, Perl
  • Software Engineer/Consultant

    April 2002 to October 2002             NextGen, St. Louis MO
    Responsible for maintaining code written in C and C++. (Southwestern Bell)
  • Maintain and enhance a suite of C++ programs that automates error corrections on customer orders.
  • Assisted in the design of a version control and release management strategy for a project team ranging from Illinois to California.
  • Converted a set of old K&R C programs to ISO/ANSI C and replaced Unisys tape I/O with Unix disk I/O as part of the conversion.

    Environment/Tools: C++, C, Unix, Sun Solaris, Windows NT, Sun Forte`, Unisys OPE (Unix hosted on a Unisys mainframe)
  • Software Engineer/Consultant

    June 2000 to February 2002             Berger-Nowlin, St. Louis MO
  • Developed a network using Jabber to emulate radio communications between airplanes and ground systems. The system connected multiple desktop computers to emulate different airplanes in a fighter group. (Boeing)

  • Worked on the Digital Communications System used by F/A-18 fighter jets. The system managed communications between airplanes and the ground. Part of my job was mentoring several other programmers who were new to C++ and Object-Oriented design. This usually involved guiding subsystem redesigns where the original designs had not aged gracefully. (Boeing)

    Environment/Tools: C++, Solaris, Windows NT, VxWorks, Jabber, XML, OOP, OOD, Rational Rose, Purify, ClearCase, CodeWizard.

  • I participated in the design and development of a network load balancing system to work with Cisco routers. Our software probed network services to measure the availability of each system in a server farm. (Impact Technologies)

  • Created a multi-threaded XML database. The database included an API that allowed local programs to make real-time updates and a SOAP API for use by remote applications. The system was written in standard C++ to provide portability between Windows NT/2000 and Solaris. (Impact Technologies)

    Environment/Tools: C++, Windows 2000, XML, Solaris, SOAP, BSD Sockets, MS WinSock Sockets, HTTP/HTPS (secure sockets), OOD, OOP.

  • Software Engineer/Consultant

    May 1999 to June 2000             Preferred Resources, St. Louis MO
  • Developed a Unix server program to calculate charges for client programs running on Windows. The program is used when customers redeem coupon-style certificates or points. A variety of business rules are applied based on the requested merchandise and account. The server also charges one or more customer credit cards to complete the transaction. (MasterCard)

  • Converted Oracle stored procedures to external programs to improve maintainability and add new features. (MasterCard)

    Environment/Tools: C++, Solaris, DBTools.h++, Oracle, SQL, Paylinx, Unix Shell, PVCS, OOD, OOP.

  • Software Engineer/Consultant

    December 1994 to May 1999             Comsys, St. Louis MO
  • Worked on an NT service to enhance a dial-up network used by all wholesalers throughout the United States. Replaced a MAPI based system with one that used FTP for moving data. The new system improved network efficiency by more than 90% and proved to be far more reliable during a period when usage increased ten-fold. (Anheuser-Busch)

  • Converted from MS Access databases to Oracle for server side configuration and network profiling data. The migration included a complete redesign of the database tables to incorporate relational techniques. The system is hosted on Microsoft Windows NT servers that exchange data with IBM S/390 and SP2 systems on the server-side. (Anheuser-Busch)

  • Assisted in establishing version control, build management and testing procedures. (Anheuser-Busch)

    Environment/Tools: C++, OOD, OOP, SQL, Windows 95, Windows NT, MAPI, MS Access, Oracle, Visual SourceSafe.

  • Researched and documented a distributed order entry error handling system that processed 40,000 errors a day. The system had grown beyond it's original specifications and the research was preparation work for creating a replacement. (MCI)

    Environment/Tools: OS/2, Visual Basic, MS Word

  • Analyzed the Configuration Management needs for a new client/server environment involving more than 4,000 servers and 8,000 users (small offices) as well as the Software Configuration Management (SCM) needs for a development staff of 200 programmers. (Edward Jones)

  • Designed and developed an Object-Oriented class library to be used for Application Security. This library allows developers to access an database of applications and features with security records matching users with the features they are allowed to use. (Edward Jones)

  • Wrote utility programs to replace existing shell scripts that were found to be too resource intensive and slow. (Edward Jones)

    Environment/Tools: C, C++, Solaris, X Windows, Motif, Oracle, Pro*C, Unix Shell, OOD, OOP, SQL.

  • Developed a user-interface for a Sales-Force Automation System. This involved replacing text-mode screens with a Windows interface. (Saleskit Software)

    Environment/Tools: C++, Windows NT, Visual Basic, MS Access, SQL.

  • Senior Programmer/Analyst

    September 1994 to December 1994             Gencare Health Systems, St. Louis MO
  • Evaluated and recommended development tools for use in converting the company from host-based systems to client/server computing.

  • Maintained of a system of programs used for incoming EDI.

    Environment/Tools: C, C++, Windows NT, OS/2, HP-3000, COBOL.

  • Programmer

    November 1989 to July 1994             Computerized Business Systems, Moberly MO
  • Developed a database library similar in purpose to ODBC. The library allowed SQL calls to be embedded into C and C++ programs and included a C++ class framework for database services.

  • Co-designed and wrote C++ class framework for writing Windows programs (this was before MFC existed).

  • Developed a variety of Windows programs and reports in C, C++ and SQR for use in the purchasing, accounting and advertising departments.

  • Ported the VAX SMG$ library to MS-DOS.

  • Ported an in-house spreadsheet written in VAX C to MS-DOS (used the SMG$ library).

  • Administered Project Management system on a Gupta SQLBase for OS/2 server. Included both database and OS/2 server administration.

  • Instructed a class in basic Object Oriented design and C++ for other staff programmers.

  • Administrator for a system of production databases on OS/2 servers.

  • Member of team that evaluated and selected version control tools.

  • Developed R:Base application to track manufacturing engineer time across multiple projects and departments.

  • Supervised implementation and staff training for a hotel management system.

    Environment/Tools: C, C++, Windows API, SQL, Gupta SQLBase, MS SQLServer, Windows 286, Windows 3.0, Windows 3.1, Windows NT, OS/2, Vax VMS, SQR, SMG$ Library, IBM LAN Server, OOD, OOP, R:Base, DEC Pathworks, Visual Basic, Smalltalk, MS Access, Watcom VX*REXX, Novel Netware.

  • Technical Support

    January 1989 to November 1989             Az-Tech Software, Richmond MO
  • Wrote utility programs that were also sent to customers as sample code.

  • Wrote program in Paradox PAL to evaluate efficiency of advertising using customer database.

  • Provided telephone technical support for customers using Az-Tech's tools.

    Environment/Tools: Paradox Database, Paradox PAL, C, C++, Pascal, MS Basic, EverLock.

  • Software Engineer/Consultant

    May 1988 to November 1988             Sureway Trucking, Moberly MO
  • Provided onsite training and technical support for staff of Sureway Trucking company.

  • Developed a program to assist Sureway Trucking dispatchers by matching available cargo with empty trucks.

    Environment/Tools: MS-DOS, C, COBOL.

  • Operating Systems

    Windows 2000, Windows NT, Windows 95, Windows for Workgroups, Windows 3.x, Windows 2.x, OS/2, VAX VMS, Solaris, Sun OS, Linux (Debian, SuSE, Redhat, Slackware), MS-DOS, VxWorks.

    Programming Languages / Environments

    C, C++, C#, Fortran, BASIC, COBOL, Visual Basic, Pascal, Unix Shell, REXX, SQL, Pro*C, Visual C++, Visual Studio .NET.

    Databases

    Oracle, Gupta, MS SQLServer, MS Access, Jet, DAO, RDB, R:Base.

    Development Tools

    MS Visual C++, Borland C++, Sun C++, Sun SparcWorks, Sun Teamware, Rational ClearCase, Visual SourceSafe, Rational Purify, Parasoft CodeWizard, Rational Rose, Rogue Wave Tools.h++, Rogue Wave DBTools.h++, make, vi, emacs, sccs, rcs, cvs.