Ben Hegarty

Software Development Manager at SEFE Marketing & Trading

London, England, United Kingdom

About

Software Experience: MS Visual Studio C++ 6.0 (4 years), MS Visual Studio C++/C# 7.0 (2.5 years), Borland Builder C++ 6.0 (12 months), COM, STL, VCL, MFC, Symbian CodeWarrior (8 Months), Embedded Visual Studio 4.0, MS Visual Studio 8.0/ 9.0 (5 years), .NET 3.5/4.0, WCF, LINQ, WPF, WinForms, C#, C++/CLI, XML, SQL, Eclipse, Java, JVS, Entity Modelling Framework, OpenComponents 10.2, Oracle 11g, Certified Scrum Master Experience Summary: Commodities trading system of record implementation using Endur with a focus on Back Office and Simulations; Accounting & Back Office Desktop business analysis, configuration and gap development; Project lifecycle understanding – waterfall, PROPS, Agile (SCRUM) & prototyping; Computational Grid development using Endur snapshot technology; C#, OpenComponents Design patterns - MVC, client/server, mesh machines, observers, state machines, command, and event driven architectures; Memory leak detection in legacy and team code (C++/ C#); Code efficiency optimisation, local and network, searching algorithms; Multithreading development and debugging, deadlock resolution, thread synchronisation, client/ server models, active objects; C++ and C# interface design and development for testing applications using class factories; C# and C++/CLI WCF development in single and duplex mode for event driven distributed systems Multi-threading including client/server architectures, embedded threading models and asynchronous request mechanisms; Compiler integration with automated build systems – MS C++, MS C#; Capacity to work in a range of team sizes (solo through 10 person teams); Unit testing – writing specific MFC, C# .NET, Java and Symbian unit test applications; Using the Rational Clearcase, Perforce, SourceGear vault and Team Foundation Server Team Build version control system;

Experience

  • SEFE Marketing & Trading Ltd (12 yrs 11 mos)
    • Software Development Manager
      Sep 2022 - Present · 3 yrs 11 mos

    • Development Team Lead
      Mar 2016 - Sep 2022 · 6 yrs 7 mos

    • Senior Developer
      Sep 2013 - Mar 2016 · 2 yrs 7 mos

  • Developer at BP
    Sep 2011 - Aug 2013 · 2 yrs

    Lead the development of the Endur Accounting implementation while also providing business analysis skills and managing an additional development resource. Endur, C#, VS2010, .NET, WPF, 3.5, Moles (Fakes), Eclipse (JVS), Junit, Endur Accounting Desktop, Oracle 11g. Redesign and implement the confirms and settlements code lines using Open Components (C#) to use Endur standards for these areas. VS2010, .NET 3.5, Endur Back Office Desktop Develop and build stored procedures, packages and views for Endur to extract update and manipulate the Endur Platform. Oracle 11g, SQL Developer. Develop a solution capable of running simulations against previous snapshots of the Endur database to facilitate late arriving prices for curves and re-running the accounting sub-ledger. Custom C# Grid engines, .NET 3.5, Linq. Build a comprehensive unit testing solution for the Endur platform, using Nunit & Junit with TFS, that can be run as part of the nightly build process. Reworked C# version of NUnit to run within Endur, Moq, Moles and MSTest, Junit, JMockit, WIX(Windows Installer Xml). Windows services development for interfacing with external systems using a custom entity modelling framework; C#, .NET 4.0, ADO.NET. Build field notification handlers for the creation of new trades that alter deal attributes at runtime based on the current system state; C# .NET 3.5, Linq Develop an interface to a quant pricing model using C++ without being exposed to the underlying code base, C++/CLI, C++, VS2010, Endur, Commodities

  • Developer at OpenLink Financial
    Mar 2010 - Sep 2011 · 1 yr 7 mos

    Design a architecture wide solution for performing Data load and metrics gathering, C#, Java, C++ Analyse and report on memory leaks, overruns and extraneous CPU use in native C++/ C++CLI and C# (2.0) code Redeisgn C# API and manage the project to construct a universal architecture for file-system access and file type management. Design and create a static reporting tool for APM views that can be executed by an Openlink Platform overnight process. Extend Metadata SQL to add additional pivot and aggregation points. Debug and repair Openlink JVS and AVS for clients Extend Java API’s in ADS for additional reporting into Oracle Coherence Build a comprehensive set of test cases and implement them in QA for APM’s Power Position package (MW, MWh)

  • C++ Developer at Dealogic
    Jun 2008 - Mar 2010 · 1 yr 10 mos

    Build .NET duplex event driven WCF services for reducing load on the datacenter and improving monitoring tools using both C++/CLI and C#, backed onto native C++ events as a source Construct C# real time delivery systems using WCF with custom serialization of flowing SQL information to improve performance and compatibility Move a ‘Managed C++’ code-line to Microsoft’s newer ‘C++/CLI’ Build solutions for isolating memory leaks and modeling excessive memory usage, by replacing C++ memory management functionality Setup automatic build system for maintaining a new master code-line of the datacenter using WIX, TFS Team build and ‘continuous integration’ Break all projects schedules into Sprints using the agile methodology for delivery all work items Win32 Web Server and client development using HTTP and FTP, WinHTTP. MFC MDI application development using Win32 ODBC for datacenter central administration Plug-in models for loading both Web Server drivers and MFC GUI components Resolve issues related to moving from MFC/C++ 6.0 to the MFC/C++ 9.0 runtime Proactively diagnose and resolve issues inside datacenter systems while maintaining SLA’s

  • C++ Mobile Developer at Micros Fidelio
    Apr 2008 - May 2008 · 2 mos

    Multi-threading including message queues and asynchronous update mechanisms; Interface with a proprietary language to communicate with the point of sale; Build an MFC application for Windows CE 4.0 (Pocket PC 2002) capable of communicating with both the Point of sale terminal and an Active X control simultaneously;