Escolar Documentos
Profissional Documentos
Cultura Documentos
Expert:
C++/C, STL, Multi-threading, shell-scripting and tools (perl,
python, awk, sed etc...), Makefiles, Solaris, AIX, HP-UX, Linux. Unix
guru. Clearcase, CVS. Expert debugger. gdb, ddd, adb,
hex/assembler debugging, even printf debugging.
Knowledge:
MySQL, Objective-C, Python (2.7), Kernel internals, dtrace, Java,
JavaScript, HTML/CSS.
Skills and Technologies:
Resilient, scalable architecture. Performance tuning. High
parallelism, Data structure and algorithm design. Market data
decoding. Network development. OO software design. Kernel
development. System administration and security. Linux
development. GUI development. Some Web development.
Experience
2010
Independent Project
iPhone application Diamond Hunt
(alas no longer available in the AppStore)
Ported an old PC game to iPhone (from specs, no old code used).
Used XCode and Objective-C to develop, test and submit to Apple.
Used UIKit for graphics.
2016
2016
Symbolic IO - startup
Freelance Project
Developing Linux (Ubuntu 16) networking configurations for
virtualization environment, using libvirt python API.
2003-2016
Bloomberg LP
Ticker Plant C++ Developer Mentor/Systems designer
Ticker plant is a farm of servers, processing market data from all
exchanges of the world, organizing it in a homogenous way. It
allows user requests, and change notification. It processes about
3.5 incoming million messages, and 600 thousand user requests
per second. All written in C++ with fine tuned distributed and
2002-2003
HSBC.
Technical Leader Contractor
- Overview
Worked in a Fixed Income proprietary investing group. Wrote and
supported Traders desk software: Forest. Developed front-end
applications in Windows. Developed back-end applications in
Unix. Used C++, perl, shell scripts, SQL and Iris middleware.
Designed SQL and Iris schemas.
- Solaris Port
Ported backend running in HP-UX to Solaris, to realize a cost
advantage of Sun servers. Migrated all C++ Forest and 3 rd party
libraries code to Forte 6.2 compiler. Repackaged backend software
for easier maintenance. Moved from ftp to a tar/install script
method. Solved most usability issues in the build environment
and application support. Improved and standardized log-file
layout for all components. Switched to dynamic libraries. Created
new build environment, for shorted software deployment and
patching.
Did most of the work myself and took a manager role for work
allocations, and project planning for the remainder.
- Allocations
Allocations is a project where multiple customer orders are
combined into a single trade.
Wrote Trade Feed Daemon - back-end process to send trader
entered tickets to Bloomberg Order Management System. Written
in C++, this daemon broke up trades into allocations, such that
the trader blotter would show one trade, and IMPACT (accounting
clearing system) would process separate allocations for separate
customers. Integrated the system into existing trading tools, with
strong backward compatibility ties.
- Front End
Increased performance of Forest GUIs Instrument Selector. This is
an MFC dialog, which allows a trader to pick a security from the
database. Decreased dialog open time from 1 minute 45 sec. to
less then 1 sec, by fundamentally changing how data is retrieved
and stored.
- Support
Wrote a ticket monitor in Visual Basic. This monitors the health
of the ticket Queue.
Wrote a heartbeat sensor. This monitors the health of backend
processes.
Fixed numerous bugs in Ticket Processor (P&L calculator), price
publishing scripts, and Risk Calculators.
2001
IGT Inc.
Senior Software Developer Comlink
- C, C++, TCP/IP - (6 months)
Worked on a small team (3 people) to maintain and develop
Comlink, message router that connects Lottery POS terminals to
main host system using TCP/IP. In one month was able to increase
performance of comlink by 50% using profiler, enhancing select()
management algorithm, and better output log buffering.
Enhanced terminal simulator (testing tool) to use threads, and
perform more reliably to test the router throughput. Installed
Doxygen automatic documentation tool. Worked with integration
to move to Clearcase.
1997-2001
Hewlett-Packard
Software Design Engineer HP-UX Itanium Port
- C, IA64 Assembler - (2.5 years)
Worked on a team of 70 people to port HP-UX to the Itanium
processor. Worked on kernel synchronization. Enhanced HP-UX to
run on new Intels weakly ordered architecture.
Worked on MP stability team. As of my departure HP-UX was the
most stable OS on the Itanium platform (compared to Linux and
Windows 2000). Developed workarounds for CPU, compiler, and
hardware bugs. Worked on a wide variety of shipstopper kernel
defects, to meet release deadline. Enabled HP-UX to write crashdumps (used to analyze customer crashes) on Veritas disk
volumes.
- C++(applications), KornShell (scripts) Extended archaic and complicated debugging environment based
on a serial line hookup, to a fully automatic consolidated one
using kernel-gdb. Expanded system to support 60 machines and
100+ developers for kernel debugging. Job included installation of
serial MUX cards, administration and security of an HP-UX server.
This was done under self-initiative, to reduce repeated error prone
tasks for developers.
Software Design Engineer FibreChannel Enablement
- C(kernel), C++(applications) - (1 year)
Extended HP-UX's SCSI subsystem to support FC (FibreChannel).
Implemented changes to support enormous amount of devices.
Designed management interfaces with legacy applications in
mind. Had a duty of a technical lead during product integration.
Software Design Engineer HP-UX Driver Developer
Naturalization