Resume of Ray Gregoire

(available for contract or perm 8/1/2009)
Team Leader, Senior .NET Developer, American Citizen, Fluent in English
|
Location: Jersey City, NJ |
| Email: info@webbug.com |
| Cell: (201) 314-5189 |
| Objective | ||||||||||||||||||||||||||||||||||
| Senior C++ and C#.NET developer. Expert in multi-threaded and sockets programming, winforms, webforms, managed and unmanaged code environments, efficient multithreaded user interfaces in Windows. Leader and Mentor. Clarinet, Piano. | ||||||||||||||||||||||||||||||||||
| Education | ||||||||||||||||||||||||||||||||||
| Tufts University Electrical Engineering (BSEE 1991) | ||||||||||||||||||||||||||||||||||
| Boston University (Graduate courses in Computer Science) | ||||||||||||||||||||||||||||||||||
| Skills | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
| Experience: Trivium, Inc. (6/1996 –present) Principal Developer and Team Lead |
|
Southwest Microwave (6/2009-present, Tempe, Arizona) Lead developer for a manufacturer of electronic perimeter intrusion detection systems of nuclear power plants, military bases and industrial facilities. Implementing the next generation installation, deployment and diagnostic software in C# and .NET 3.5 with WPF and WCF to communicate with microwave sensors over both RS422 and TCP\IP. Designing a UI that is multithreaded, highly event responsive, fault-tolerant, intuitive, and internationalized for European languages, Kanji, Hangul and Arabic implementations. Porting 10+ year-old MFC\C++ code to work in a managed CLR environment. Architecting an entirely new .NET solution that will simplify an unmanaged codebase, and improve user experience. Daily interaction with embedded, DSP and microwave engineers and upper management. Agile mode. Lifelock (1/2009-6/2009, Phoenix, Arizona\New Jersey) Team lead of ASP.NET technologies used in the next generation of the Lifelock.com web portal. Designed a system from the ground up to enhance user experience and maintain bullet-proof security for a high profile, high volume web portal. Followed an agile development process in collaboration with a Java back-end team, delivering 2 builds per week. Produced a highly maintainable, loosely-coupled gold deliverable after six-months. The Service Oriented Architecture (SOA) consisted of an Oracle\Java back-end which was exposed via WSDL to .NET consumers. Hands-on work included designing the site to thwart SQL injection attacks using a suite of custom validators in C#. Wrote scores of regular expressions to ensure data integrity. Designed a facility to obtain querystring parameters from banners that deep-linked to the site, then used these parameters to load custom content. Used AJAX for textcontrols to provide autocomplete capability. Used ASP.NET MVC, JQuery and NUnit extensively throughout the site. Ogilvy & Mather, New York City, NY (9/2008-12/2008) Team lead for an SOA framework to supply geospatial XML content to both Flash and Silverlight WPFclients. This framework enabled geospatial services discovery and composition in a semantic, client-agnostic manner. WCF provided discovery information similar to a WSDL. Hands-on work included building a data access layer purely in LINQ and C# with .NET generics, StringBuilder and Microsoft Enterprise Library 4.0. Team leader for several Unilever brands including, Ragu, Ponds, Slimfast and Vaseline. Coordinated with creative to manage client expectations in an aggressive agile development mode.Young & Rubicam, New York City, NY (3/2008-9/2008) Team lead and developer for a 3-tier ASP.NET application for Dell Computer. This application functioned as an automated storage repository for advertising briefs. Implemented the presentation layer using Webforms in C# and a database layer with SQL Server 2005 stored procedures. Acted as liason with the creative department to solidify a coherent application design based upon changing user requirements. Functioned as the technical lead\mentor for a 5 person development team. Extensive use of the Infragistics Web Grid, Microsoft Enterprise Library 4.0. Implemented hundreds of stored procedures, functions and triggers and the associated C# wrappers. Used the SQL XML data type to construct queries with variable-length parameter lists. All development was conducted in an Agile mode. Delivered and deployed application on time.Merrill Lynch, New York City, NY (8/2007-2/2008) Senior .NET developer position building portions of a real-time trade blotter application in Winforms in C#.NET. Developed different subsystems within this application including a query builder to construct complex SQL queries using a simple graphical metaphor. These queries were shipped to a Gemfire real time server and results were populated into a blotter. Developed a blotter business rules class using a model-view-presenter design pattern. Designed this so UI Control data value changes in forms would invoke this class to adjust things like field visibility, enabled condition, field and list box contents etc. All rules were contained in an XML file that BAs could easily change. Developed a class that inherited from errorprovider to perform robust data validation. Data validation occurred at both the field and at the form levels and rules were contained in an XML file. Developed a class to use obtain reference data using C# reflection. Stored reference data in a .NET DataSet for consumption throughout the lifetime of the blotter. Source control used was Subversion. Barclays Capital, New York City, NY (10/2006-8/2007) Senior .NET developer position building a suite of C# Winform applications for the fixed income trading desk that provided graphical representations of real-time bond data from KDB ticker plants. Engaged in weekly dialog with bond traders to refine and enhance application features. Developed stored procedures in the q language to extract real-time KDB ticker data to a multiplicity of Winform front-ends. Examples of the analytical tools included swaps matrix intraday which would display swaps, bond buy\sell aggregates for the 2, 3, 5, 10 and 30-year instruments, desk on\off per trader. Provided features like zoom, nested graphs, export to Excel, persistence of last-selected user settings. Provided 2nd-tier support to both the NYC and London desks for issues related to BTEC, eSpeed and Bloomberg connectivity. TD\Ameritrade, Jersey City, NJ (5/2006-10/2006) Technical Lead providing development expertise to add new features to an online trading application in an equity trading environment. Primary modules in this system were based upon a Facade design pattern with numerous factories. Added features and enhancements to an ISAPI DLL in C++. CIOView, Maynard, MA (1/2006-5/2006) Technical Lead developing a high performance XLL in C++ to implement a user-defined function (UDF) suite to extend the functionality of Excel. Developed an application in C#.NET to convert XML files into XSLT files. The XML files were created in Word and contained tags identifying data items that the translation utility recognized and replaced with the XSLT value-of API. Base64 encoded image files and embedded them directly in XHTML using a CDATA tag for browser rendering without the image binaries. Developed a splash screen in C#.NET to fade in during application load and fade out when the application was finished loading. Used .NET form opacity to control. Displayed text strings using a GDI+ drop-shadow penumbra with successive blitting for animation. Developed an application update facility in C#.NET. This Windows service communicated with an update server using .NET remoting to obtain product updates. Incorporated a second .NET remoting interface to allow the service to be controlled by a system tray application. MAPFRE Insurance, San Juan, Puerto Rico (9/2003-12/2006) Technical Architect developing a middleware component in both C++ and C# to obtain Credit, C.L.U.E.¢ç Property, MVR and other information products from Choicepoint. Designed this to function as a Windows service or as an ActiveX control and to be driven programmatically by applications written in C++\C#\.NET, Delphi, Visual Basic or even by Excel, Word or Lotus 123. Integrated this into a legacy insurance application. Designed the multithreaded architecture for both managed and unmanaged environments. Applebees, Kansas City, MO (4/2002-2/2003) Technical lead for a 5 person team of C++ developers. Architected and developed a multi-threaded Windows NT service in Visual C++ 6.0 that functioned as a communication layer for a high-volume point of sale (POS) application. When touch-screen terminals recorded credit card swipes, data files would be generated that the service would detect.and subsequently perform asynchronous communication to AMEX, VISA, and MASTERCARD. Designed a facility to handle protocol failures and make attempts until success. Virtual CAD Toronto, Ontario (1/2002-4/2002) Technical lead to build a system to generate 3-dimensional jpeg renderings of mechanical parts from input data from a web page. Developed a Windows NT service in C++ to detect when input data from a web page was received. Sent this data using COM++ automation to a 3rd party CAD application which then generated a jpeg file. Boston Universiy Medical Center, Boston, MA (2/2000-12/2001) Technical lead to develop a web-based clinical trial application using Active Server Pages (ASP) and SQL server 2000. Created a control panel to provide quick access to clinical trial data for researchers and physicians. Developed a facility for patients to register online and enter journal-based reports of their health status over a period of weeks and months. Developed a form generator which allowed researchers to design data entry forms by dragging and dropping form elements. Independent Development Projects (6/1996-present) Developing a WCF service and an associated WPF client to display in real-time, where web server activity originates from. Developed a browser-based inventory control, customer tracking and online sales system in ASP.NET. This included a custom shopping cart which upon purchase would update inventory levels. Integrated this technology into a legacy system for a major distributor of government surplus.Developed a real estate listing service application, a Yankee Auction application and an automobile insurance vending application. Each of these applications were built using Active Server Pages, ADO, MSSQL 7, Visual Interdev, Frontpage and Photoshop. Each application had an administration area to allow the site to be customized visually and functionally. Sold these applications to clients and integrated functionality into respective frameworks. Developed several Internet applications with Visual C++, MFC and Windows Sockets including: a TCP/IP Connection stay-alive windows system tray application; a test tool that simulated large numbers of URL hits in short, user-definable bursts to simulate high traffic browser use; an IP communication layer for an Omnivox telephone menu system extension DLL to send data obtained from a phone menu system; An ATL COM control that generated an event containing the URL that browser user chose. An ISAPI DLL that generated HTML output based upon a user-configurable template file which contained placeholders (a precursor to Active Server Pages) Varian,Gloucester, MA (1997) Senior Software Engineer position developing a real-time event logging system in Visual C++. This layer was responsible for storing very large quantities of data sent from an ION Implant system's sensors. The data was then used for post fabrication analysis. Database logic used both ActiveX Data Objects (ADO) and OLEDB. Picturetel, Andover, MA (1997) Senior Software Engineer position integrating Internet Explorer into a video-conferencing computer server. Provided a keyboard-only method to send events to the IE since a mouse was absent. Developed a diagnostic application in Visual C++ query type library information directly from instantiated COM objects and display the results in a view pane. Internationalized a single binary executable to display differently depending on which Windows language version was being used. This supported Kanji, Hangul and English. Created a set of resource DLLs and performed a Loadlibrary so the program could display in a different language "on the fly". FAA (via Unisys) Cambridge, Massachusetts (2/1995-8/1996) Senior Software Engineer position developing parts of the GUI for the Safety Performance Analysis System (SPAS). This application was used by the Federal Aviation Administration to allow aviation inspection line operators to be alerted of potential safety problems before they occurred by applying risk based heuristics to quantitative airline performance measures. Developed using Win32 with Visual C++ 2.1. Implemented document serialization code, several nested views in the interface, custom controls, a roll-up painting algorithm using several of the MFC collection classes, in-place editing for tree and graph data items, mouse and mnemonic connections to all GUI commands, tabbed dialog boxes and image list controls. Added print support for all of the views with support for headers, footers and color output. Connected context sensitive help using the Windows 95 help compiler. Developed an HTTP server and an HTML browser in C++. The completed system was used as an internal company news system. Used Visual Parse (TM) as a lexer for the HTTP 1.0 spec. This lexer parsed input from an asynchronous socket connection. The server accommodated multiple connections, and each socket connection operated within it's own thread for efficiency.Purespeech Cambridge, Massachusetts (8/1994-1/1995) Senior Software Engineer position using Visual C++ to develop a Windows application to pipe text via DDE 3.0 from a natural language processor to the Symantic Act!(TM) contact manager. Used hidden child windows to handle DDE-executes and DDE-requests. Exposed a simple API so a user at a microphone could send voice-based queries to Symantic Act!. Monitor Company Cambridge, Massachusetts (1/1994-7/1994) Senior Software Engineer position using Visual C++ to develop a Windows application to pipe text via DDE 3.0 from a natural language processor to the Symantic Act!(TM) contact manager. Used hidden child windows to handle DDE-executes and DDE-requests. Exposed a simple API so a user at a microphone could send voice-based queries to Symantic Act!. Symbiotics, Cambridge, Massachusetts (3/1993-1/1994) Developer position implemented the Netbios protocol in C into a multi-protocol abstraction layer. This layer included FTP sockets 2.1, 2.2 and 2.3 TCP/IP and IPX. Developed portions of networked Dynamic Data Exchange (DDE) between OS/2 2.1, Windows 3.1 and Artisoft’s Lantastic LOS. Created networked DDE demos using Word, Excel and Freelance. Lotus Development, Cambridge, Massachusetts (9/1990- 2/1993) Senior Quality Assurance Engineering position. Developed unit test automation in MSTest to test the color and font subsystems for Lotus 123 for Windows. Developed a CRC file comparison DLL in C 7.0. This sent screen bitmaps through a high order polynomial CRC to MStest. Provided training to QA Engineers to use this new tool. Wrote test outlines, designed automation based on these outlines in native 123 macros. |