Michael Condra

advertisement
October 5, 2015
Michael Condra
1725 Bristol Lane
Tracy, CA 95377
209-362-8425 (cell); 209-836-2475 (home office)
michael.condra@gmail.com
Summary
Windows Developer focusing on C++/MFC and .NET.
Fifteen years as lead developer of active-trader software for the Windows
Desktop.
Environments,
Languages &
Capabilities
Work
Experience

C++/MFC, SDK, .NET WinForms and some Silverlight

Visual Studio 2015, 2010, 6

VMware Workstation 11 (Windows virtualization)

TortoiseSVN, Vault, SourceOffSite

BCGSoft BCGControlBar Pro UI library (MFC). Have modified the
BCG sources to achieve program-specific goals

Am prepared to take an active role in tracking change within a large
project’s source tree

Have a strong remote-development/testing workstation (2 Xeons, 48
GB, 8 monitors, multiple virtual machines)

Have written MultiCharts extension DLLs, and active-trader utilities

Have touched & extended most places in typical desktop charting
programs: studies, annotations, chart-drawing code, chart/orderintegration; account-data presentation, formula language, memory
management, data-conversion, import/export

My preference is reliability by design, and adding code where possible
to dump the state of running programs.
Self-Employed. 4/2015 – present.

Software Contractor. Looking for short- or longer-term development
assignments on C++/MFC/Win32/.NET projects. Am especially
October 5, 2015
interested in the active trader space, and in projects with strong datamanagement aspects.

Self-Directed Trader.
MB Trading. Broker of Stocks, Options and Futures. 4/2008 – 4/2015.

Lead Developer, Desktop Program for Active Traders. Over seven
years built a full-featured charting program, starting from an incomplete
charting program and a symbol- and account-data desktop program.
Worked remotely.
The result had these features:
o
Barset management layer to convert arriving feed data into
symbol and study time series on multiple timeframes
o
Third-party add-ins, such as Trade-Ideas
o
Over 50 studies and 25 drawing tools
o
Chart-line-based order entry and modification. (Compare:
IB/TWS.)
o
Windows that pop out of the MDI frame and can reside on the
desktop
o
User-defined study preferences, e.g., “Blue 20-period EMA,”
displayed on menu and shareable between users
o
Mouse-selectable and editable chart objects, with own context
menus
o
An embedded Silverlight module, communicating with the host
MFC app
o
Alerts at the intersection of annotations, price and studies. Onalert actions include order entry, sound and email/SMS
o
Chart intervals from 1 second upward, 1 tick upward, and range
o
Rebuilds symbol barsets and dependent studies to implement
session filtering, or to cause a bar to begin on a symbol’s session
open
o
Sub-second timestamps throughout
October 5, 2015
o
Controlling working-set size by special-purpose recycling
allocators, and by time-out/recovery of unwatched data
o
Barset cache to minimize latency when requesting previously
watched symbols
o
Reliable and reproducible by design
o
7 years of product history is stored in TortoiseSVN.
The owner of this program is in transition, and has scaled back software
development.
eSignal /Interactive Data Corporation. Hayward, CA. 4/2004 - 3/2008.

Senior Software Engineer / Lead Developer, QCharts 6.0.
Completely reworked the QCharts 5 charting program, so it could
receive data from both eSignal and Continuum data feeds. The main
objective was a new feed translator that receives eSignal data, but
simulates a Continuum server when talking to QCharts legacy code.
Other objectives: 1) managing eSignal symbol subscription lifetimes; 2)
translating Continuum and eSignal conventions for symbol naming and
formatting; 3) recognizing new exchange codes transparently; 4) adding
extensive diagnostic code, so that data structures can be viewed at
runtime.
http://www.qcharts.com

Senior Software Engineer / Lead Developer, Advanced GET 9.0 and
9.1 Dashboard Editions. Responsible for ongoing improvement of
Advanced GET, a well-known stock-charting program for Windows.
Informally coordinated activities of another developer.
http://www.advancedget.com
Developed the code behind a new feature: a multi-timeframe stockscreening Dashboard. The Dashboard compresses into a single window
the result of evaluating a strategy on 20+ stocks and 5 timeframes.
Estimated price of GET including Dashboard: $2,000. The dashboard
has since been moved to the eSignal program's Advanced GET Edition:
http://www.esignal.com/esignal
Wrote several new studies (VWAP Approximation, Woodie's CCI
October 5, 2015
Trend). Added a large number of UI enhancements. Produced installers
for all shipping GET versions.
Environment and Tools: Windows XP64/XP32/2000, Microsoft Visual
Studio .NET 2008/2005/2003, C++, MFC 9.0/8.0/7.1/7.0/4.x,
InstallShield 2008/10.5/6.1/5.5, BCGSoft Business Components Gallery,
Rainbow Sentinel Hardware Security devices, Subversion, TortoiseSvn,
Vault, AQTime.
Lycos Finance / Quote.com. Mountain View, CA. 2/2000 - 4/2004.

Principal Software Engineer/Lead Developer, QCharts (Quote.com).
Responsible for ongoing development of QCharts, a C++ Windows realtime stock charting and day-trading program with 10,000+ paid
subscribers.
Responsible for extending the technical analysis capabilities of QCharts
and, indirectly, of products that use the Quote.com financial data SDK.
Nearly doubled the number of studies and drawing tools available.
Responsible for adding new TA-related time-series operators, on top of
what was provided in a time-series database. The most significant
addition of this kind was an automated Fibonacci pattern finder,
AutoWave.
Supported the client base through frequent postings to the user
communities on Yahoo (2100 members) and Silicon Investor web sites.
Demonstrated QCharts three times per year at investor trade shows
(New York, Chicago, Las Vegas).
Environment: Windows XP/2000, Visual C++ 6.0, MFC. Some Visual
Studio 7, exploratory C#.
KForce, formerly Romac International. San Jose, CA. 3/1999 - 2/2000.

Consulting Software Engineer, Siemens ICN, 6/1999 – 2/2000.
Completed the UI of an Outlook voicemail form for the Xpressions
phonemail product. Built an email-address-aware rich-text control that
remembers a list of validated/unvalidated email addresses, protects them
from edit, and grows or shrinks as needed. Added full rich-text edit
behaviors to the message area, including edits of bold, italic, bulleting,
paragraph indent, alignment, and font attributes. Added a smaller RTF
editor for signatures. Added context menus and keyboard shortcuts for
most edit operations. Added mechanism for storing per-user preferences
October 5, 2015
in the registry. Added support for Outlook-style message flags and
due/completion dates, including popup calendar control.
Environment: Windows NT/2000, MSDEV, C++, MFC, Exchange
extensions, Outlook 97/98/2000, ActiveVoice library.

Software Engineer, Third Voice, 3/1999 - 6/1999. Worked at an
Internet startup in Redwood City whose browser-extending product was
previewed in Red Herring and Fortune magazines. Added features and
resolved bugs in a downloadable HTML/HTTP proxy for Netscape
clients; extended the proxy's content-filter class hierarchy; added a fast,
streaming mode to the HTML content filter. Wrote a Javascript
obfuscator in Java/C++ and an importer for Netscape LDIF addressbook data. Set up a common build process and a release-build debug
procedure for testers.
Environment: Windows NT/9x, MSDEV, C++.
Seattle Lab, Kirkland WA. 2/1998 - 3/1999.

Software Developer / Lead. 2/1998 - 3/1999. Wrote web-based
administration packages for Windows NT-based internet server
products, SLmail and RemoteNT. Through this feature, servermanagement functions could be performed via web browsers. The
projects consisted of several ISAPI HTTP server extension DLLs, 60+
web page templates, a downloadable Java applet, a custom HTTP server,
and an optional CGI-ISAPI bridge that runs administration DLLs out of
the server process. Ensured compatibility with a range of browsers,
including Netscape Navigator 3-4 and Microsoft IE 3-5.
Responsible for new-features development on existing product line. Led
a group of 4 developers. Coordinated a 40-project build process.
http://www.seattlelab.com
Microsoft Corporation, Redmond WA. 2/1994 - 12/1997.

Software Development Engineer, Windows NT Setup Group. 6/1996
- 12/1997. Worked on a Windows NT 5 setup module that migrates user,
system and application settings from an existing Windows 9x
installation on the same machine. Contributed components to identify
installed applications, migrate user profiles, manage migration-support
DLLs, and identify users of unsupported system calls. Worked with
East-Asian versions of Windows 9x and NT; routinely debugged on
October 5, 2015
Japanese and Chinese configurations.

Software Development Engineer, Localization Tools Group. 2/1994 6/1996. Worked on the Espresso no-recompile software-localization
package (C++/MFC). This is an internal-use product that allows nearsimultaneous release of a product into many language markets.
Responsible for support and bug fixes to the version that localized all of
Windows 95. Was responsible for completing the Win32 resourceparsing features of the Win32 version of Espresso; wrote the subsystem
that handles MS Office compressed string resources.
Developed a diagnostic tool for resource localization, used by Microsoft
Outlook's localized build process and localization contractors.
Hewlett-Packard. Boise, ID. 9/1993 - 2/1994.

Software Engineer, Boise Printer R&D Division, 9/1993 - 2/1994.
Worked on a font-management subsystem for LaserJet printers. Left HP
to go to Microsoft.
Consultant and Contract Programmer. Beaverton, OR. 4/1993 - 8/1993
Relocated to Pacific Northwest.
Xerox Corporation. El Segundo, CA. 3/1983 - 2/1993.

Senior Programmer, Standards Group. 12/1990 - 2/1993.
Responsible for the database-publishing effort of the ISO 10646 multibyte character standard (the ISO counterpart to UNICODE). On a Sun
workstation, wrote a series of C/sh applications to manage characterimage files and produce camera copy for the 630-page standard in Xerox
InterPress format.

Senior Programmer, Font Center. El Segundo, CA. 3/1983 - 12/1990.
Wrote software to support the editing and delivery of digital fonts for
high-end Xerox laser printers. Worked on font editors and tools running
on Xerox Alto and Star workstations. Wrote tools and scripts for DEC
VAX using C and DCL. Wrote applications for Sun workstation that: 1)
automatically regularized the winding order of Postscript Type-1
contour typefaces; 2) generated font libraries on demand for various
October 5, 2015
high-speed printers.
Information International (subsidiary of Volt Information Sciences). Culver
City, CA. 12/1981 - 3/1983

Programmer, 12/1991 - 3/1983. Using PDP-15 assembler, worked on
file-conversion apps for this vendor of high-resolution digital-publishing
systems.
Autologic (subsidiary of Volt Information Sciences). Newbury Park, CA.
12/1979 - 12/1981.

Education
Software Engineer, 12/1979 - 12/1981. Using Nova-like assembler,
worked on a series of applications that supported the editing and
delivery of fonts for this vendor of high-speed CRT-typesetting systems.
Wrote the company's first visually interactive raster font editor.
MSCS. West Coast University. Los Angeles. AI focus. 1988.
Bachelor in CS. Coleman College, San Diego. 1979.
BA, Linguistics. Revelle College, U. of California, San Diego. Emphasis on
Russian. 1974. Honors.
Other Info
800 (perfect) on SAT Math Achievement test.
Russian: 75% (active).
Spanish: 75% (active).
Download