Jeff Winkler
***************@*****.***
Lewisville, TX
September 2023 - Present: Sr. Software Engineer at Trunade Solutions Trunade Solutions is a company I made to handle contract work. Accomplishments:
● Did a Windows application in C++ for a large client, involving ~100 screens and custom network protocols. Used PostgreSQL database.
● Did some contract work for a large Fortune 500 company, making improvements to point-of-sale and payment network protocols. Used Python and C# for testing. October 2022 - August 2023: Sr. Software Engineer at Unbroken Studios Optimized a AAA game title (Quidditch Champions) for maximum performance and scalability. This game and another from a partner studio were launched successfully, after solving performance issues. Accomplishments:
● Improved the frame per second rate by about 80%.
● Achieved 60 fps on mobile platforms.
● The tools I used were C++, SIMD intrinsics, and various profilers for game platforms like Nintendo and Sony.
● The games are written using Unreal Engine as the framework. I fixed multiple performance bottlenecks in Unreal Engine code, making the multiplayer experience much better.
● Invented and used a custom memory manager.
● Used Blueprint and C++ for the game logic.
May 2021 - March 2022: Sr. Software Engineer at Dapper Labs Responsible for inventing solutions to all software performance bottlenecks on the primary NFT blockchain protocol for Flow.
Accomplishments:
● Customized a Keccak crypto algorithm to use a C++ component that was optimized for Intel processors and SIMD.
● Invented a faster merkle tree search.
● Found and fixed places in the codebase where the Go compiler didn’t optimize the output well. This includes topics like copy elision, loop unrolling, jump table generation, heap escapes, and mutexes.
● Made performance improvement proposals in open source software, for Ethereum, libp2p, badgerDB, and Golang/crypto.
● Created a complete suite of software that used perf and a set of other performance tools to measure and discover subtle bottlenecks in Go code, including dynamic heap thrashing, goroutine, mutex, and cpu profiles.
● Used SQL, bash, regex, and C# as needed. With the tools in place, I found code errors, and bottlenecks..
● Worked with the Center of Excellence team from Intel to improve hardware utilization. May 2020 - Dec 2020: Sr. Software Engineer at Matrix Resources Responsible for improvements on several C++ and Java projects. Accomplishments:
● Used Python daily.
● Updated some legacy programs to use the latest version of OpenSSL.
● Wrote build scripts for CI/CD, using Artifactory and Jenkins. The environment was cross-platform for both linux and Windows, and managed many terabytes of data.. October 2017 - May 2020 : Lead Software Engineer at MagicLeap MagicLeap makes Augmented Reality goggles, similar to HoloLens. Accomplishments:
● Responsible for inventing solutions to all software performance bottlenecks on the device. This included:
GPU shaders (GLSL), custom DSPs, SHVs (with VLIW / MDK), Computer Vision algorithms
temporal budgets, I2C resource scheduling, Android linux kernel (zero-copy), disk caching
C/C++ code, JavaScript native integration, Python integration
C# for Unity--processed-to-native-code.
Created 400+ Jira tickets, along with fixes. I was promoted to Lead after version 1.0 was successfully released with no significant performance issues..
● Invented a vectorized version of a bitonic sorting network, leading to a 20% algorithm improvement.
● Customized bsearch, fopen, and std::map for the hardware, leading to a 30% improvement
● Flow control improvements across the codebase, moving loop-invariant code up, improved cache-line semantics. Several pervasive changes.
● Found an I2C saturation issue that led to a million-dollar savings, and a 6-DOF performance boost.
● Learned quaternion calculus, MDK and related VLIW / assembly language. Applied related optimizations that led to a 5% improvement pre-silicon.
● Applied copy-on-write to improve memory usage. Created a medium-resolution mutex.
● Made a pervasive change to advanced algorithms involving square root operations, leading to a significant improvement.
● Applied NEON intrinsics to the Audio IIR and FIR filters, leading to a 4:1 improvement.
● Invented a way to improve compressibility of serialized data, leading to a 35% bandwidth improvement. Integrated it with a NEON-enabled gzip library. Found performance bugs from NVidia and other third parties by reading the disassembly. Invented fixes.
● Found a performance bug in the VMM in the Linux Kernel (ARM64 Android-specific). Invented a fix.
● Optimized algorithms for the hardware. The list includes Nelder-Mead, lerps, bilerps, slerps, Cholesky, Kalman filters, High-Order EMI data correction, and an entire vectorized math template library for SLAM and computer vision.
● Used godbolt, simpleperf, systrace, nvidia gpu profiler, and other tools Dec 2015- June 2017 : Sr. Software Engineer at Alkami, Inc. Responsible for integrating dozens of banking software packages, using C# / Java / C++. Optimized processes and queries, resulting in a large improvement in performance. Technologies I used include WCF, WebAPI, HTML, jQuery, SQL stored procedures, PowerShell, and Git, in a full-stack environment, with millions of users. I also worked with the mobile team, to create APIs specific to mobile platforms.
May 2013 – Dec 2015: Sr. Software Engineer at Trunade Solutions Trunade Solutions, Inc. is my corporation to handle fast-paced project work for various clients. Accomplishments:
● Invented a tool for devops that sped up the build using NTFS primitives to replace the xcopy command in Windows.
● Invented a way to bypass route and firewall filters for localhost traffic that speeds up internal microservices communications by about 18x.
● Worked on a team and created an Android application and website for use at large music events.
● Designed a scalable way to handle video streaming, using Adobe Media Server and AWS.
● Created an android app for a client for measuring items with camera images and uploading the images and data to a secure website. The android app uses OpenCV, and is in production.
● Designed an Android system for controlling a smart home network, using C++, GDB and the Android NDK, for ARM platforms.
● Created an Android application in Java along with a website. The device uploads periodic sensor information for reporting to hospital administrators. Reporting is done at the website level.
● Made improvements and optimizations to a stereoscopic computer vision application used in sporting events. Specifically, the improvements were to the 3D calibration routines. This was in C++ on Linux.
● Made C++ optimizations for Genymotion's remote Android cloud offering. I used a custom memory allocator and sped up the communications significantly.
● Created a prototype pick-and-place application for operating an electronic robotic assembly unit.
● Used a custom C++ third-party library, in Linux, for an object finding algorithm that would then determine the necessary alignments to send to the XYZ controllers, in radian increments.
● Created a license-plate reader for both 64-bit Windows and Linux.
● Prototyped an application in both iOS / Objective-C and Android / Java, for a dating app startup.
● Wrote a GPU/SIMD and MFC(using C++) app in Windows that calculates customized MACD indicators and triggers in near real-time for all major stock tickers for a trading operation in Hong Kong.
● Created an OpenCL application for a client that speeds up regular expression searches by using parallelized code on GPUs.
● Created and optimized Linux C++ code for a server farm that operates a European search engine. Wrote and optimized a per-core web crawler that boosted throughput by 30%. Changed the search algorithms for text searches to use the Moore algorithm, boosting it by over 15%.
● Optimized the multi-threaded code, and I installed and used Mono (C#) inside C++ to apply a bicubic extrapolation graphics algorithm against all image files to create thumbnails for the index engines. Configured it all to use a memory ramdisk, and boosted the throughput by over 50%. Invented an STL vector class backed by a memory-mapped file to improve efficiencies. By the time the optimizations were finished, the site used half as many servers, and they achieved their next round of funding.
● Created and optimized a FIR filter for a wearable fitness and sleep monitor device, in C++ on ARM. The optimization resulted in a 5x improvement in battery life.
● Optimized code in C for a PIC microcontroller in a safety device that prevents trailers from swerving in icy road conditions. The optimizations and bug fixes resulted in a 2x improvement in battery life. The unit went to production.
● Responsible for automating and improving a multi-million dollar accounting system, as well as integrating with Epicor, a third-party ERP. The application handles millions of dollars of transactions each month in production. The technology stack includes:
SQL Server – I wrote hundreds of stored procedures, and acted as the DBA
C# / ASP.Net / MVC 4
HTML 5 / CSS 3 / AJAX / jQuery / AngularJS
● Created a website for an application connecting hybrid work teams around the globe. The site uses .Net, AngularJS, MySQL, and MongoDB. It uses a custom RMTP streaming and relay server. The site is designed to use an ESP8266 module (WiFi IoT device) in a telepresence application. September 2011 – May 2013 : Lead Software Engineer at Solera Solera operates websites that integrate with various US states’ agencies to handle vehicle transactions. These are responsible for reducing or eliminating the line at the DMV in several states, for millions of customers.
Responsibilities:
● Architected solutions so that the title/registration websites operate seamlessly
● Created a website for lienholder transactions.
● Used full SDLC – the software is running successfully in production
● Used the Microsoft technology stack – ASP.Net for the public-facing website, C#/WWF/MSMQ for a high transaction server, WPF for some diagnostic and administration applications, T-SQL / Powershell for database operations
● Created custom AJAX web controls and used MVC whenever needed
● Gave technical interviews to potential new hires
● After being promoted to Software Architect, I managed a team of developers.
● Managed production servers. Provided tier 3 support
● Created a failover / redundancy HA solution for production
● While there, revenue increased exponentially, and the project became profitable. The owner sold, and made millions.
November 2009 – September 2011 : Sr. Software Engineer at Enertia Enertia sells an ERP application in the oil and gas industry that is extraordinarily large. Responsibilities:
● Architected solutions to problems such as thread race conditions, nested message pumps, deadlocks, improper recursion, memory leaks, Remote Desktop optimization, and reference leaks. Used WinDbg to find and fix leaks created by other developers.
● Worked on a multi-threaded, multi-platform ERP software package, written for WinForms and for the Web / IIS .
● Used .Net and Visual Studio, using C# and VB.Net, to create a framework for extensible and extraordinarily flexible applications.
● Used SQL Server 2008 extensively
● Used UML diagrams to communicate with other developers
● Architected and created custom UI controls for other developers to use.
● Made improvements to a graphics/mapping application for wells, optimizing it for use within a .Net shell. Used some C++ and assembly, as well as optimized C# code. The optimizations allowed the application to run about twice as fast.
● While I was there, the company had a 30% revenue increase / yr. June 2009 – October 2009 : Sr. Software Engineer at RamQuest I wrote software for a title application in the Real Estate industry, on a contract basis. The software is one of the top 3 packages in the country, with thousands of users. Accomplishments:
● Designed and implemented custom WinForms controls
● Implemented features for a large .Net 3.5 WinForms application, using C# / Visual Studio 2008. The application has hundreds of custom screens.
● Used DevExpress extensively, as well as data-bound controls and grids.
● Used SQL Server 2008 extensively, creating T-SQL stored procs, dynamic SQL, UDFs, and queries
● I wrote and implemented use cases and other UML diagrams daily
● Successfully completed the work using a full software development lifecycle. March 2009 – May 2009 : Sr. Software Engineer at Frito-Lay Accomplishments:
● Made improvements to a .Net mobile application, using .Net 3.5 / C#
● Used Sybase SQL to access data from the application June 2008 – January 2009 : Sr. Software Engineer at Samsung Mobile Telecommunications Laboratory
Accomplishments:
● Acted as the architect for a project involving the re-design of the presentation layer on Samsung mobile phones so that they can use Scalable Vector Graphics (SVG).
● Worked in a team of Windows developers to create an integrated development environment
(similar to the WinForms Designer in Visual Studio) for use by Samsung engineers in Korea.
● Designed an application so it would generate SVG specific to Samsung’s phones. The application is similar in size and scale to Adobe Photoshop, with about 1.2 million lines of C++ and C# code.
● Created utilities for enabling SVG animations using .Net 3.5 / WPF
● Gave technical interviews to potential new hires.
● Worked on several pervasive changes to the main application, adopting a programming model similar to ASP.Net user controls, which enabled inheritance and polymorphism. The end result is that Samsung can create entire libraries of widgets and mini-applications that can be extended and that will run on multiple phone models.
● Successfully released version 1.0
October 2007 – June 2008 : Sr. Software Engineer at RealPage Accomplishments:
● Acted as the DBA and senior software engineer (there were only 2 developers on the project). I worked with an expert network engineer and business analysts to create an internal website, a public website, integration, provisioning, and web services. Used Espial script to program TV screens and menus for a triple play project (IPTV + Phone + Internet) that is currently in production.
● Designed an internal website using a web desktop concept (see extjs.com). I used C# for all new projects like this.
● Created a set of ASP.Net user controls that generated Javascript for the TV screen presentation layer. The encapsulation enabled much faster development.
● Created a set of ASP.Net user controls that worked together to enable a network provisioning system. Some encapsulated the .Net GridView.
● Administered several new SQL Server 2005 databases, and wrote hundreds of scalable stored procedures. Gained expertise in SQL Server features.
● Used the latest features in .Net 3.5, especially Ajax, to create usable web applications and extraordinarily scalable interfaces (like an Ajax’d grid using Prototype/VB.Net capable of a billion rows).
● Created a sockets component to shell into customers’ routers for configuration by customer service representatives.
● Used .Net Membership, .Net Profiles and Reflection to create the public e-Ordering website.
● Used VM technology extensively to integrate with third-party vendors on Linux environments. I used Linux development environments to complete certain tasks.
● Handled the successful deployment of version 1.0 of the system.
● Wrote a web-based marketing application to manage ad placements, using MooTools August 2006 – October 2007 : Sr. Software Engineer at Harte-Hanks, Inc. Accomplishments:
● Architected and implemented a new application for marketers to send digital media to potential customers on a scheduled and parameterized basis. It sends millions of emails for Fortune 500 clients daily. It resembles Constant Contact, but is more flexible.
● Wrote web pages as needed using ASP.Net. The web application creates workflows in real time. The application uses Windows Workflow Foundation extensively. It’s multi-threaded.
● Wrote a custom administration program to handle configuration and support across the web farm. Used Winforms and C#.
● Gave technical interviews to potential new hires. Advised CIO on technical issues. December 2005 – August 2006 : Sr. Software Engineer at Jack Henry, Inc. Accomplishments:
● Architect of an application used by mid-sized banks to allow their customers to deposit checks remotely via the Internet. The application is currently in production.
● It was a branded application written in ASP.Net 2.0, with parts written in Winforms, and with a complex installation component written in ATL 7.0. It uses SQL server, Remoting, web services, VSS, NUnit, and more.
● Gave technical interviews to potential new hires.
● Gave a presentation to a group of bank presidents about the application. It was well-received. September 2004 – November 2005 : Sr. Software Engineer at Citadel Investment Group Citadel is an elite hedge fund that is the main market maker for the SPY and QQQQ options, the most commonly traded options in the world. The operation dwarfs other hedge funds, as there are hundreds of developers working there, on hundreds of servers.
Accomplishments:
● Designed a framework for allowing drag and drop between applications, as well as a common look and feel.
● Invented and implemented a multi-threaded caching framework for the trading applications. This improved the productivity of the traders by an order of magnitude.
● Did a real-time convertible bond trading application, using Visual Studio. I worked in the Global Credit group, using a bond-pricing model that controls billions of dollars in capital, along with delta hedging. The trading GUI used GDI+ features to quickly present complex information useful for delta hedging.
● Gave technical interviews to potential new hires. March 2004 - September 2004 : Sr. Software Engineer at ACS Accomplishments:
● Acted as software architect for ACS, working for 7-Eleven, in a Architect group.
● Developed a framework in C# for use in thousands of retail convenience store sites around the world.
● Gave technical interviews to potential new hires.
● Integrated a .Net application with Acrobat, Developer Express, Infragistics, OJB.Net (ORM tool), Ibex, and InstallShield.
● Wrote core components with unit tests written for NUnit.
● Wrote multi-threaded components and a complete toolbox full of custom controls for WinForms.
● Responsible for the design and documentation of all custom GUI components as well as other components.
September 2003 – February 2004 : Trunade Solutions, Inc. Created various programs using VC++ and MFC. One is a utility to automate form data entry. Created a bitmap graphics editor, using a command pattern to enable undo operations. Created a code obfuscator using a LALR parser.
Architected a debugging assistant, similar to BoundsChecker, but coupled with a database. This allows me to track down unpaired usage of Windows API calls, using Dll hook-injection. Created a set of custom data compression algorithms. One involves compression for small packets, using a variable base-n inside Huffman. Also wrote code in OpenCL / C++, to run inside kernels on the NVidia graphics cards and ATI cards. This speeds up compression by several orders of magnitude. Created a program for the Department of Homeland Security for emergency planning procedures. Wrote a program for converting mp3 files to music score in HTML format, using digital signal processing techniques, including Wavelets and FFTs. I created an optimized FFT in X86 Assembly. November 2001 – August 2003: Verizon
At Verizon's headquarters, I was part of a team of hands-on software architects assigned to multiple, parallel projects used throughout the department. The projects were both standalone and team projects. Responsible for a scalable framework for the site. The framework involved page flow management, scalability initiatives, object models for the processes in place, .NET interoperability, product catalog presentation and modeling, asynchronicity, and persistence. My components are running 24x7 and are high-throughput, real-time, low-level components.
Solely responsible for various pervasive changes in .Net, VC++, and VB that made the site scalable and better performing.
Solely responsible for performance enhancements that made the site 800% faster and reduced the need for the purchase of additional hardware by an order of magnitude. Responsible for 60 web pages, written using ASP, VB, JavaScript (using regular expressions for input validation) and VC++ that generated millions in revenue. The architectural changes I implemented allowed the Verizon.com site to replace the call center application for a user base of 200 million customers. The company subsequently offered severance packages to 50,000 phone operators.
February 2001 - November 2001: Onex
Acted as lead architect for the user interface team (5 people). The user interface consisted of about 300 screens, of various complexities. We used MFC, ATL, Stingray, and various other technologies. My responsibilities included delegating tasks, estimating tasks, mentoring, object design, and implementation. Assisted with architectural decisions across the application. The application has over 1.5 million lines of C++ code, is componentized, and is an AutoCAD plug-in for structural design engineers. Solely responsible for a logging component (as well as a control panel applet) that was configurable at runtime and thread-safe across server processes. I used the ATL and Win32 API. Created custom controls using the Win32 GDI, for use within the Stingray grid. Designed and created COM interfaces for major portions of the application. Created a DCOM component to communicate with the server. Performed interviews for potential new hires and contractors. Created a prototype OpenGL viewer to view various parts, using 3D transformations. Used the ObjectStore object database extensively.
Oversaw the successful first release of the software product. April 2000 - February 1, 2001: WorldCom
Architect for the user interface of a legacy inventory application, using VC++, Java Servlets, CORBA interfaces(both in Java and C++), and Oracle 8.1.6. Solely responsible for the design and implementation of a GUI for the purpose of standardizing the look and feel of GUIs across the enterprise. It uses a combination of MFC-style COM with extension DLLs to maximize code reuse. It also allows for asynchronous network access on a separate thread. I used ADO over Access to emulate database activity.
Worked on n-tier server components using C++ on AIX/Tuxedo for a provisioning project. Solely responsible for several owner-drawn custom controls for the provisioning GUI. Solely responsible for 4 ATL-based ActiveX controls for the provisioning GUI. Wrote Unix scripts and ad hoc utilities to speed development. Used Rational Rose and UML to design new components and to communicate ideas to other developers Solely responsible for the design and implementation of a nightly build process that involved interfacing with two separate source code repositories and writing 17 programs, one of which uses a Windows Journal hook to automate InstallShield.
Used PL/SQL and SQLPlus to access the database for testing and debugging. Gave technical interviews to potential new hires and contractors. Mentored a development team. I assisted them with Use Cases and UML. February 1999 - February 2000: NexTrend, Inc.
Solely responsible for the design of a multi-threaded ActiveX document/container application to back-test trading strategies.
Used STL and MFC to write the trading strategies application Designed and developed a Heat Map control using MFC and CGdiObject-derived classes. Wrote a JavaScript to C++ bridge with the NetScape JavaScript API to allow users limited access to financial data so that they could write their own trading strategies. Member of a design team for a multi-platform, day-trading, distributed, fault-tolerant server farm. Maintained and added new features to a Decision Support system for day-traders. Used MFC and VC++ 6.0 to create a horizontal ticker control Created a smooth scrolling waterfall ticker.
Converted news feed to HTML for easier reading.
Added font changing capability to the entire application and all applets within it. Used BoundsChecker to fix GDI resource leaks
Added real-time 'Export to Excel' capability.
Wrote a server-based application that was completely automated to format MarketGuide and Zacks news information into 60,000+ HTML web pages. Wrote an ASP page, an ISAPI module, and a COM encryption component to do it.
Added an Edgar Online feature using a browser ActiveX control. Designed and developed an application to self-upgrade when a newer version was available. Wrote a Wise InstallMaster installation for the client. Prototyped a real-time parametric search method against 26,000 symbols and related data. Prototyped an intelligent memory cache architecture that sped throughput in the GUI using reference-counted, cache-owned, objects.
Price Imaging, Inc., August 1998 to January 1999
Senior developer on the AppIntegrator product for GTE (now Verizon). Wrote thousands of lines of stored procedures in Oracle 8 to speed up data retrieval Maintained and added features to a custom distributed data API using ADO, Winsock, and MFC. Made improvements to custom router and server software that accessed an Oracle database. Wrote a Control Panel applet to modify server or router settings in real time. Wrote a module with a global memory segment to interface with the control panel applet. Wrote an ActiveX scheduling control to meet business requirements. Solely responsible for an ATL control that would enumerate the computers and users in a network. Solely responsible for an application that allowed for remote installation, startup, and monitoring of NT services.
Solely responsible for an ATL/COM control that would parse WHERE clauses in SQL statements and convert them into a tree that was useful to a VB app.
Citadel Technology, October 1997 - August 1998
Fixed and readied a very large office productivity disk organization package for off-the-shelf retail. The package included a VXD driver and an NT service. Most of it was written in MFC. Added capabilities to the productivity software utilizing the Xerox lexicographic analyzer and the INSO API for handling multiple data formats.
Fixed problems associated with the DAO database module. Maintained and fixed a large software product for network administrators. Wrote InstallShield scripts for all the software.
Ported a Novell NLM to an NT service
Solely responsible for an application that would record mouse clicks and keyboard input and save the information into a custom scripting language that could be used and modified for later playback. Solely responsible for a service for NT using COM, MFC, and Winsock that would run multiple custom scripts simultaneously using multiple threads.
Added functionality to a custom scripting language to aid in automating network administrators tasks. Migrated some projects to UNICODE.
NEC Networking Systems Laboratory, May 1997 - October 1997 Ported the Socks 5 VPN API to support Windows.
Worked on adding additional security to sockets on windows via dll hook-injection. Wrapped all of Winsock with the SOCKS 5 protocol.
Maintained code that was for AIX, SCO UNIX, Linux, Solaris, and other UNIX types. Worked on a port of the Socks 5 Server to NT with Visual C++. NationsBank (now Bank of America), September 1996 - May 1997 I was the software engineer for the Network Engineering department. Converted a login utility from Zinc-based to DOS-based Converted 30+ utilities using the 16-bit Novell 3.1 client to use the 32-bit Novell 4.0 API. Wrote a screen saver with additional network security using MFC. Wrote a 16-bit out-of-process COM object using VC++ 1.52 to use the Novell API until the company upgraded to Client32. Wrote a multi-threaded utility using VC++ and MFC that would collect login and system information from 10,000+ desktops and would organize it into a database. Wrote a program to replace the existing login batch files that would speed up login from 5 minutes to 1. HBS Accounting and Business Systems, November 1995 - September 1996 Wrote a UNIX shell script to disseminate price file information and to aid in automation. Created or maintained over 100 manufacturer price file conversion executables, using C / Unix. Solely responsible for writing utilities to convert unknown dealership accounting systems to a new format under time constraint - within 5 business days, by reading the binary format in a hex editor and extracting the schemas.
Fixed bugs in accounting software and Canadian tax calculation software. Education:
Graduated Magna Cum Laude, from Wichita State University with a Bachelor's degree in Finance and a minor in Accounting.