- Self - motivated to streamline development and gain an overall view of the business.
- Led multiple projects, tracking the critical path to avoid single failure points.
- Seek inspiration and techniques from others while pushing towards a common method.
- Reserve time for research to prepare for future projects and suggest opportunities.
Languages: C++/C, Java, MySQL/PostgreSQL, XML, C#, Bash, Python, Make, ...
Environment: s: Linux, Windows, Android, Embedded Micro Kernels, Mac.
Tools: GNU (g++, gdb, …), Intellij, Eclipse, Emacs, Visual Studio, Git/SVN/CVS
Agile: Unit test, code reviews, daily reporting, frequent deployment, client-facing.
Senior Software Engineer
- Java development on convergence MTA application after several company mergers.
- Database load application of client trade files with varying formats and asset types.
- Result logic for analysis of client trades to measure against daily market data feed.
- Market data specialist on Confidential and ActivFinancial systems.
- Direction of legacy TAG system.
- C++ development on market data processing, client trade analytics, feeder workflow system, database load of client Confidential and scrape files, SQL development and administration of PostgreSQL databases, task delegation.
- Coding, deployment, documentation, interviewing, mentoring, maintaining, and triage.
Senior Software Engineer
- C/C++ core with client extensions in Java/.NET using their OpenComponents package.
- Traditionally UNIX developed (Emacs, CVS, Make), but migrated to PC development using Visual Studio and Eclipse IDEs.
- Massive financial/energy/commodities services application utilizing multiple processes and threads to support front, middle and back office users of 200+ big name clients.
- Rewrote the result calculation methods to support client specific formulas.
- Required removal of direct indexing of result tables, replaced with a Key/Measure API.
- Simplified the process of installing new classes of Java/.NET client extensions and wrote a document to provide a working example for other engineers.
- Debugged client issues and reviewed code to pardon developer CVS check-ins.
- Principle developer for embedded linguistic applications using C/C++/assembly under Linux and Sparc. Systems written to run on various micro OSs and hardware platforms.
- Invented a generic matrix compression (Proximity Linguistic Book) to consolidate all book database formats into one complete binary container.
- Company wide database solution for in-house developers, Asian vendors and OEM customers.
- Outsourcing - 6 trips to Hong Kong and China, working with a dozen vendors.
- Confidential SDK - The Confidential is a 24bit RISC processor invented by Franklin to offer small code size, flat address space, fast processing and hardware emulation of 6502 code. The SDK is a CVS managed consolidation of Confidential, Franklin BIOS, PLB Compression/Decompression, Data and Tools under Linux.
- Confidential - Rewrote the Book Authoring System to remove inter-module dependencies and simplify the make process.
- Multilingual GUI, interface state machine, virtual paragraph manager, HTML formatter, word games, embedded floating point and more.
- GPER Corrector - Grep-Prune/Encode-Ranked method for drastically improving spelling correction speed and memory usage without reducing the result quality. eBookman - Touchscreen device for downloading books, music and applications. Uses the Fiasco L4 Kernel, an in-house GUI and Blowfish encryption of data tied to the device key. Wrote the GUI image renderer to support a portrait/landscape switch and the combining of images in various pixel depths. An audio layer as a central interface to CELP, MP3 and other formats. Rewrote MP3 decoder to use integer math, trans-coded the format to allow for 32bit reads, optimized with assembly code, and extensive use of the Confidential DSP multiplier/accumulator. A couple simple C++ game applications.
- Speech Recognition - Reversed engineered assembly to produce a solution for Confidential .
- Used a stable set of recordings to take measured steps to improve results.
- Added quick period start identification to class the speaker's voice frequency and to improve the Confidential results.
- Confidential comparison method from the spelling corrector to improve match results.
- Took over lead of a system for developing 6502 book applications.
- Development consolidation was an ongoing process, due to the variation of the platform display, keys, audio, features and publisher data.
- Taught to seek abstraction in every feature change. Hardware limitation required complex sharing of memory and the continual improvements in data compression.
- Franklin BIOS - Pulled out the hardware interface and interrupt code from an early application and isolated this into a generic BIOS library. Set up the keyboard matrix and other platform settings in application definition tables that continually changed. Success led to the creation of BIOS, UI, Data, Tools, QA and Book Development teams.