Funds Consultant Resume
Denver, CO
SUMMARY:
- Over 15 years of professional IT experience. Nine years of Python development experience. Strong emphasis on software quality, using these coding ethics:
- Separation of concerns to leverage functional composition (think: “S.I.C.P.”)
- Holistic code strengthening as opposed to “bugfixing by band - aids”.
- Modular development, documentation and testing of application business logic
TECHNICAL SKILLS:
Techology and Tools: Python, SQL (Oracle, Sybase, MS-SQL, SQLite and MySQL), Ab Initio, HTML, XML, and Linux.
PROFESSIONAL EXPERIENCE:
Confidential, Denver, CO
Funds Consultant
Responsibilities:
- Designed a relational data model for check reconciliation. Also created scripts to seed the database with data, relational views and stored procedures. Modeled the relational schema in the SQLAlchemy ORM.
- Developed an object-oriented graphical user interface to the object-relational check reconciliation data model. Use of Reahl eliminated the need to write javascript, html and css, allowing me to focus on connecting the high-level object-relational model to high-level graphical widgets.
- Developed deployment scripts to re-package the app for deployment to AWS.
Confidential, Atlanta, GA
Consultant
Responsibilities:
- Developed ETL scripts in Python to reconcile financial records of the VivaCoin cryptocurrency project. Project involved querying and summarizing data from the Steemit blockchain.
- Developed algorithmic cryptocurrency trading programs in Python for a Canadian firm.
- Sole developer of SurgeTraderBot, a Python-based FOSS algorithmic trading bot that trades cryptocurrency and provides daily reports of results.
- Developed documents for acquiring and investing in cryptocurrency.
- Streamlined the bulk email process for a small business funding company leading to a 5x jump in efficiency.
Confidential, New York, NY
Python Developer
Responsibilities:
- Implemented widgets to specialize the behavior of the graphical user interface as a function of the product type being traded. Did so in a completely clean manner as opposed to the gaggle of if-thens and implicit types previously used for the same purpose.
- Added new business trade logic and insured that the trade data was supported at data and visual level in all aspects of the main application (searching, matching, rendering, validation, storage, retrieval, etc) as well as migration and reconciliation of the data.
- Assumed ownership of a large project that facilitated the exercise of index options.
Confidential
Python Developer
Responsibilities:
- Developed behavior driven development code in Python to automate several phases of software testing in an Application Lifecycle Management tool. Test automation included automating GUI interactions as well as consuming and developing REST APIs. Developed feature files and implemented the feature file specifications in Python using the behave Behavior-driven development tool.
Confidential, San Jose, CA
Python Technology Lead
Responsibilities:
- Developed a web user interface for a database-driven parsing engine. The parsing engine was responsible for parsing free form text files whose content was stereotyped into several content styles. These content styles were modeled as a hierarchy of business objects and mixins. The business objects leveraged polymorphism for stepwise rendering and validation of the user interface as well as stepwise creation and storage of new database-backed parser types.
- ETL Python programs to estimate claims were ported from Windows to AIX and Redhat Grid servers. Abstracted the filesystem using Python singleton objects as a domain-specific language and wrapped the native file operations leading to a highly DWIM inline code body.
- Developed Python scripts to archive and copy directories between machines.
Google, Cambridge, MA
Software Development Engineer in Test
Responsibilities:
- Developed software to test the user interface for the Google Play for Project. Abstracted pagination for reuse across multiple parts of the site using iterators. Refactored authentication for improved readability.
Confidential, Jersey City, NJ
ETL and GUI Developer
Responsibilities:
- Developed stateful GUI components to record job details. Converted job details to a pipeline of ETL SQL queries. Reused the SQL generation for the GUI for batch SQL jobs. Prototyped job control dependency using Quartz's dependency tracking.
Confidential, New York, NY
Middle-tier Developer
Responsibilities:
- Participated in a 5-week proof-of-concept project. Participated in providing 1 of 4 candidate solutions to replace the existing business process management tool. I implemented the event-driven middleware between a graphical user interface and the Java and PL/SQL business operations. The middleware was responsible for responding to graphical job initiation by forwarding requests to the business layer. It polled the business layer for results and communicated them to the GUI. Implemented decorators to improve the re-use of code to trap and report exceptional behavior.
Confidential, New York, NY
LAMP Developer
Responsibilities:
- The work in this group was very routine. It consisted of adding a new feature to a web application by migrating the database schema and providing a new URL to map the new functionality to. Some of the heavily interactive front-end functionality exposed a serious design question: how to synchronize data models when the front-end and back-end language differ.
- Database design and development
- Developed GUI and programmatic interface to the Quickbooks SDK from Perl
- Generated Excel spreadsheets detailing the transport of products
Confidential, Boca Raton, FL
Data Engineer
Responsibilities:
- Specialized in customer billing in the Ordering, Provisioning and Billing group
- Wrote SQL, DML and DDL to improve relational integrity and provide business logic
- Simplified release control and DML generation via scripts
- XML-RPC API development and debugging
Confidential, Columbus, OH
Data Engineer
Responsibilities:
- Wrote and modified SQL to retrieve and display student financial aid eligibility data. Because of the sensitive nature of the functionality, the program was rigorously tested.
Confidential, Columbus, OH
Developer
Responsibilities:
- Developed a concurrent lead vending system. Created XML data feeds from relational data and submitted the data to multiple partners for bidding.
- Co-developed a Perl/CGI website for intranet CRM and reporting/billing.
Confidential, Columbus, OH
ETL Engineer
Responsibilities:
- Replaced Perl programs designed to detect money-laundering with Ab Initio graphs.
- Built a Python/Perl record linkage system to do using fuzzy matching and parsing.
- Used DB Visualizer to analyze stored procedures and convert to Ab Initio graphs.
Confidential, Tampa, FL
Data Engineer
Responsibilities:
- Confidential .com - implemented a configurable suite of object-oriented Python and Perl data processing programs. These programs used heterogeneous access and parsing methods to regularize a jungle of vendor data for commit it to our MS-SQL database for uniform front-end search.
- Confidential .com - wrote a Python program to email a newsletter of recent relevant search results to each customer.
- Confidential .com - performed database and CGI program maintenance as well as some front-end web design (with a DOM approach to HTML templating).
Confidential, Southern California and New York City
LAMP and Data Engineer
Responsibilities:
- Authored perltest.pl, which generated and formatted the questions for the Oracle India Perl Competency test. Also responsible for more than 50% of the actual questions used.
- Sole developer of ARUFTPD, an virtual file-system FTP server. This server was derived from the CPAN Net::FTPServer to provide navigation and retrieval of files and directories on a remote file system with an FTP front end. Authentication and authorization were handled via SQL queries on an Oracle database.
- Used libwww-perl to write a "web spider" to simulate browser navigation across multiple screens (including login and authentication) in order to allow command-line based download of patch files. My initial implementation visited several pages in succession, parsing each page for its action to decide on the next page to request. The redesigned version subclassed the existing download class with a batch derivation and the resulting LWP script made one page call and the derived class called all the screens by calling the Perl methods to generate each screen. In my eyes, my initial approach was better, but higher management preferred the latter. Wrote a regression test suite to ensure usage under normal and exceptional cases.
- Developed a mod perl handler, which allowed for partial-content (resumable) downloads.
- Wrote a PL/SQL program which scanned all Oracle product families for those with upload responsibilities and added these responsibilities to the appropriate administrators.
Confidential, New York City
LAMP and Data Engineer
Responsibilities:
- Designed a multi-table MySQL database in which to store log entries.
- Wrote a Perl/DBI script to parse Apache logs and store them in the created database.
- Wrote a Perl/DBI script to query the database. Queries made of use table joins. Complex queries were handled by creating temporary tables.
- Developed a web interface to the Perl/CGI query script.