Daniel Cornejo

Senior Hands-On Developer · Financial Services & Energy Sectors · 25+ Years Experience
www.proceve.com www.proceve.ai www.investing4all.com

Summary

Daniel is a very senior, hands-on developer with more than 25 years of commercial software development experience in the Financial Services and Energy Sectors. He is one of those rare developers who is technically proficient across a wide range of development languages, middleware and other technologies. Daniel has proven time and again that he can pick up and run with new technologies in a matter of hours and still manage to personally code tens of thousands of lines of code per year.

Professional Experience

Proceve

2021 – Present
Chief Scientist

As Chief Scientist, Daniel explores new technologies, algorithms and methodologies and recommends them to the CTO for use in the Proceve tech stack. He is responsible for tackling complex roadblocks in support of the engineering team across the whole suite of Proceve’s products.

Daniel also provides technical guidance to the offshore development team.

SunGard Energy Systems / FIS

2005 – 2021
Senior Developer

Senior Developer on the Aligne Trading and Risk Management (TRM) team, responsible for development of new features and maintenance of the product, all aspects of the high performance analytics software and the maintenance of the Graphical User Interface.

IT/System Accomplishments

  • Automated all aspects of the software configuration management and build process for a range of SunGard products
  • Handled all major critical situations for customers, including onsite troubleshooting, for complex systems problems at major energy clients
  • Merged the functionality of multiple acquired software products into one coherent software package
  • Ported all software from a range of development languages into one common base with new development standards
  • Converted all software to run on a range of new hardware and software platforms (including 32 and 64 bit Windows, Linux and Unix)
  • Trained offshore teams of developers on the various products at both the functional and source code levels
  • Acted as primary development liaison between the US and offshore development teams
  • Developed software across the whole stack using C++, C# and Java depending on the components
  • Implemented a scheduling and orchestrator system to enable and manage the grid capability of the FIS pricing engine

Nebility

2004 – 2005
Principal Engineer

Primary person responsible for the hands-on development of Nebility’s internal software products, as well as much of the software development for customer projects, including:

  • SOA Proof of Concept for BMO (Calculator as a Service): implemented in Java using Netezza, ZeroMQ messaging, and Kryo/Protocol Buffers serialization for high performance data transfer. A custom Authentication service returned encrypted tokens passed to all subsequent services, enforcing secure single sign-on at all levels of the stack. Some services were implemented in .Net, interfacing with Java via SOAP web services and high performance bulk-data interfaces using ZeroMQ and Protocol Buffers. A .Net UI served as a test harness for the POC.
  • Survey system for psychology surveys and universities supporting customized survey types for medical practitioners. Required to exceed HIPAA security requirements. Implemented using SOA with SOAP and RESTful interfaces to a web-based UI. Technologies included Java, .Net, SQL Server, HTML5, CSS3, Silverlight and Javascript.
  • NebulaBlocks Component Designer (NCD): Daniel implemented virtually all of the code himself. NCD is a custom Rapid Application Design and Development (RADD) system that uses a UML-style User Interface to design data-driven applications and automatically generate the code for the complete software stack, from the database layer through to the UI.

Database

  • Automatically generates all DDL, queries and stored procedures for: SQL Server, DB2, Oracle, MySQL, SQLite

Service Components

  • N-tier system implementing most core logic in the service component layer, including all security/entitlements logic, database interaction, object relational mapping and cross-service calls. Generated code allows manual extension and retains manual logic across generated versions.
  • Service components can be generated in C++, C# or Java, for multiple target platforms simultaneously, including Windows, Unix and Linux.
  • Inter-process communication via SOAP, RESTful services or messaging such as MQ Server and ZeroMQ. Data serialization via XML, Protocol Buffers, Kryo and other object serializers.

Service Interfaces

  • Supports multiple service interfaces simultaneously from a single Service Component: SOAP and RESTful services in C# and Java using XML payload, and binary message payloads using base64-encoded binary data in the XML payload or as a MIME attachment for higher performance and larger data.
  • Binary messages can be encoded using language-specific serializers from C++, C# or Java, as well as Kryo or Protocol Buffers; new interface protocols can be added as needed.

User Interface

  • Automatically generates client classes for Java and C#, with work done for Javascript, ObjectiveC and Android-specific Java.
  • Automatically generates UI forms based on design metadata; currently supports Silverlight and WPF XAML, with ongoing work for iDevices, Android and web technologies such as PHP, Javascript and JQuery using HTML5 and CSS3.

Investing4All Financial Services

2003 – 2004
Lead Developer

Provided individuals and smaller investment firms with financial models and technologies, as well as consulting services in quantitative support and financial software. Daniel personally implemented significant portions of almost every aspect of the company’s systems.

IT/System Accomplishments

  • All CPU-intensive software written in un-managed C++ to maximize performance, exposed through managed C++ wrappers to the rest of the .NET components written in C#
  • All software written using OOA/OOD in an n-tier architecture
  • CPU-intensive applications threaded to take advantage of all available CPUs
  • ADO.Net used to communicate with SQL Server for all back-end database functionality
  • All web pages written using ASP.Net with C# code-behind DLLs
  • Web pages generated on the fly using C#, with keywords, titles, etc. pulled from XML data files to allow rapid SEO tuning without changing the pages themselves
  • Designed and implemented a custom message queue for efficient communication amongst .NET Windows Services
  • Developed a custom shopping cart as well as a custom C# interface to Authorize.Net’s payment gateway API

Duke Energy

2000 – 2003
Senior Risk Programmer

As part of Corporate Risk Management, responsible for supporting all of Duke’s global subsidiaries in the areas of Quantitative Modeling and Quantitative Software Development.

IT/System Accomplishments

  • Implemented a new extensible trade capture and position keeping system capable of capturing the complete range of Duke’s structured contracts
  • Implemented an extensible analytics server capable of accommodating Duke’s most complex valuation models
  • Software implemented using Microsoft .Net: C#, managed C++, un-managed C++ and Compaq’s FORTRAN 95; GUIs combining ASP.NET web forms and Windows Forms in C#
  • All analytics implemented using C/C++ and/or FORTRAN 95, running on Windows or Unix (IBM AIX)
  • Components architected as full 3-tier systems with thin clients talking to servers via .Net remoting over TCP/IP channels; communication to databases via ADO.NET to SQL Server
  • Components included a Trade Capture Server, Position Keeping Server, Analytics Server, Asset Description Server, Curve Server and User Authorization Server
  • All components and classes designed using UML object modeling tools
  • Evaluated and compared Message Passing Interface (MPI 1.2) and threads with .Net remoting for parallel computing clusters

SABRAS Ltda

1997 – 1999
Developer

Accounting firm where Daniel redesigned and rewrote their custom in-house accounting software to modernize it and make it more flexible and user friendly.

Universidad Privada de Santa Cruz

1994 – 1996
Developer

Worked at the Physics lab designing and implementing software that interfaced with specialized equipment to capture, store and analyze data captured during experiments.

Education

Ingeniería de Sistemas Informáticos

(Computer Engineering)

Universidad Privada de Santa Cruz

IT Skills

Programming Experience

Go, C/C++, C#, VBA, VB, VB.Net, ASP.Net, ADO.Net, WCF, Web Services, .Net Remoting, SOAP, REST, Protocol Buffers, ZeroMQ, XML, Windows Forms, WPF, Silverlight, Web Forms, .NET Windows Forms Visual Components, .NET Web Forms Visual Components, .Net Threading, SQL Server, FORTRAN 77, FORTRAN 95, Object Pascal, MPI, PERL, Java, JDBC, JAX-WS, ObjectiveC, Android, JQuery, JSP, CSS3, HTML5 and many others

Financial & Numerical Libraries

FEA, NAG, IMSL, Numerical Recipes, TNT, SAS, Tech Hackers, Boeing, C-PLEX

Software Management & Design Tools

UML, OOA/OOD, Enterprise Architect, Visio, Visual Source Safe, PVCS Professional, Source Gear Vault, FogBugz, AccuRev, InstallShield

Database Experience

PostgreSQL, SQL Server, Oracle, MongoDB, MySQL, DB2, Cassandra