Senior Software Engineer Resume
Cambridge, MA
SUMMARY:
Lead/Principal/Senior Software engineer with extensive application and architecture design and development in all aspects of the full product life cycle for diverse products/applications including 3D graphics applications, military simulations, graphics drivers, radar, games, and web applications among others. Particular strength in multi - threaded and serial algorithm development; enjoy user support, system test bed development, education, and user interface. Extensive background in mathematics, especially numerical, complexity, and geometric algorithms as a specialty.
TECHNICAL SKILLS:
- C++, C, Java, Python, C#/.NET, Go
- Javascript, AngularJS, KnockoutJS
- GUI with .NET/Win Forms, FLTK, Qt, Swing, HTML/Web Frameworks
- RESTAPI, Web Sockets, Nancy Server, Pyramid, Confidential, XML, JNI, Applets
- Mongo, Cassandra, Couchbase, Redis
- SQL, MySQL, Postgres, ODBC, JDBC
- Eclipse, Visual Studio, Maven, Make, Ant
- Git, Subversion, CVS, Clearcase, Perforce, etc.
- Object Oriented Design Methodologies posix, STL, BoostLinux and Windows System Level Programs
- Advanced Numerical Algorithms, Matlab
- UML, Doxygen
- Real Time, Parallel Algorithm Design
- Graphics Systems and Computational Geometry:
- Games Development
- Graphics Drivers; Mesa, ATI, Wddm
- Digital Signal and Image Processing
- 3D Studio, Renderman, Kadara, Maya, Softimage
- 3D Modeling and Parametric Surfaces
- OpenGL/GLSL/Vulkan, Direct3D/DirectX/HLSL
- Babylon, FBX, Roblox, glTF
- Motion Capture and Motion Systems
- Rendering Systems
- Systems:
- System Administration
- Python, Perl, Shell Programming
- TCP/IP, Sockets, Networking/Distributed Systems
- Linux/Unix, Windows, Mac OS X
- Systems Design
EXPERIENCE:
Confidential, Cambridge, MA
Senior Software Engineer
Responsibilities:
- I have assisted in design of and implemented the user interface for the MMOCT project in C#.
- I have created the ability for the interface to interchange with the back end using standard sockets and memory mapped files. This includes both implementation in C# and a temporary test back end in C# and in C++.
- I developed a spline interpolation algorithm in C# with the Spline Interpolation Wiki to interpolate lumen edges of the OCT images in the GUI. I also created the ability to fully edit the spline interpolations.
- I implemented an edge detection algorithm for assistance in coregistering angioography and OCT images associated with a pullback event.
- I worked on the 3D rendering of vessels for the longitudinal vessel view for the MMOCT project using both Direct 3D and OpgenGL, and using two algorithms, a faster direct triangle rendering made possible from polar coordinate data, and volume rendering of the slices.
Confidential, Wakefield, MA
Lead Full Stack Developer
Responsibilities:
- I have implemented the security/authentication portion of the back end system in C#.
- I designed and implemented a test suite UI for testing the backend with a front end in KnockoutJS.
- I am overseeing the day-to-day activities of the backend development with one additional developer.
- I implemented in C# using RESTAPI/Nancy Server and web sockets, an entire API interface for the helicopter tracking system.
Confidential, San Francisco, CA
Senior Development Consultant
Responsibilities:
- I setup a backend installation including the automatic installation with make of thrid party tools such as Neo 4J, Titan, Redis, Cloud 66, etc..
- I analyzed 3D development tools including Babylon, FBX, glTF, Collada, Roblox, etc. for their game engine.
Confidential, Wenham, MA
Senior Software Engineer
Responsibilities:
- I worked on automation of their installation using various thrid party tools for installation which included vtk, Qt, python, g++, etc..
- I wrote python code for their interface to their database.
Confidential, Cincinnati, OH
Senior Python and Web UI Interface Developer
Responsibilities:
- I designed and implemented an AngularJS web interfacing reporting tool within the application’s portal. This tool retrieves data from the Couchbase no-sql database via a Pyramid interface to Python, and then presents the date in tabular and chart forms.
- I designed and implemented a Threat Assessment Center Screen layout for the Web Portal in AngularJS.
- I designed and created a python interface for the middle layer of the application for generating reports regarding system alerts.
Confidential, Boston, MA
Senior Software Engineer
Responsibilities:
- I developed for the Mongo API between C backend and PHP frontend using python. This includes adding the interface functionality for the full TAP process, e-mail quarantine based on suspicion algorithms. This includes Confidential data passing, Mongo database collections and grid file systems. The PHP/python interface is the RESTFUL interface.
- I have developed backend functionality in C for the e-mail security product including TLS preferred network e-mail handling, some proprietary information scoring handling, system avoidance of looping message quarantining, personal information redaction, etc.
- I modified substantially the quarantine notification PHP e-mail message system.
- I wrote several test bed scripts for use in testing the system’s larger components including, a general mongo gridfs testing of the python interface for handling messages and their information, and a shell script for quick testing of PollyC formatted language internal interface for the system.
Confidential, Wakefield, MA
Senior Software Graphics Consultant
Responsibilities:
- I developed the ability to perform specific functions on an OpenGL/GLSL rendered ear canal product in OpenGL using Microsoft Visual C++ in MSVS 2010 with a Qt interface. The implementation involved working with frames commonly beyond the OpenGL context inside of Qt as well as inside of Qt.
- I helped modify an alternate version of this system that used basic Windows frames, and glut functionality. This included extensive work with the rendering pipeline and material selection process.
- I wrote a specific algorithm for computing plane cross sections of a given ear canal, and displaying these slices along with the 3D object.
Confidential, Maynard, MA
Software Consultant
Responsibilities:
- I am designing and implementing gears build process for the mpx radar system.
- I worked on bugs in Ada and C for the cx radar system.
Confidential, Bethel, ME
Software Developer in C++
Responsibilities:
- I benchmarked VirtualBox for 3D graphics for use in conjunction with NxTop.
- I wrote 3D tests for benchmarking in OpenGL and Direct 3D. Some use shaders languages and some do not.
- I worked on resolving bugs in the VirtualBox Windows build in order to be able to test the Wine interface.
- I worked on the WDDM driver for Windows 8 using Visual Studio 11.
Confidential, Malvern, PA
Senior Software Developer
Responsibilities:
- I fixed bugs for the ATI R500, R600, and R800 ATI drivers for the MacOS, both Snow Leopard and Lion. This involved both client and kernel side debugging.
- I wrote simple shaders for testing purposes to determine where bugs were being generated from.
Confidential, Cambridge, MA
Senior Software Developer
Responsibilities:
- I implemented an interface for the VrForces application startup. This was initially installed as part of the Gui startup, and then was modified to a command line setup.
- I wrote Gui and backend functionality to save and load line-of-site diagrams onto the terrain for both general and entity locations.
Confidential, Cambridge, MA
Senior Python Programmer and Developer
Responsibilities:
- I contributed Python code and pyunit tests for this code for the back end of a Websphere Confidential Centennial project for advanced web search.
- I have written Confidential related objects and associated Python code. The back end interfaces with a Java front end, and a Cassandra database.
Confidential, Reading, PA
Senior Software Consultant
Responsibilities:
- I designed and fully developed, and integrated an authoring tool for all scenarios run in the simulator/trainer. This development included the graphical user interface and all backend functionality including database and networked systems communication.
- I implemented and developed the automated startup/shutdown procedures for this simulator/trainer including multiple networked systems and applications including the Windows and Unix systems.
- I designed and developed modestly advanced algorithms for ballistics including free-falling, parachute free-falling, self-propelled, and guided munitions. These algorithms included some advanced three-dimensional movement with matrix algebra for the guided munitions.
- I developed integrated interface for communication of the simulator/trainer with the Raytheon HLA system for communications for weather and other effects for the images in Fidelities Image Generator systems. This included an OpenGL interface as well.
- I wrote code for XML reading and writing of files of many forms for the system scenarios.
- I wrote plane route calculations for bombing runs/missions.
- I designed the primary database for the JTC-TRS Simulator and trainer.
Confidential, Burlington, MA
Senior Software Engineer
Responsibilities:
- Developed in Java, C++, COM, and STL for Dictaphone enterprise product; supported customers; Integrated modules in C++ for Dragon Naturally Speaking.
- Worked on development of server-side implementation of multiple-pass word recognition.
- Created tests for mobile phone, voice mail, and voice search algorithms, compared to research results and modified as needed in Python.
Confidential, Lexington, MA
Senior Software Developer/Technical Consultant
Responsibilities:
- Assisted in design of multi-language OASIS radar architecture. Worked on C++ implementation. Initial implementation in Java.
- Wrote Java radar cluster algorithms with plotting carried out using JfreeChart/Java 2D/Java Swing tools. Designed and implemented an original radar track correlation routine, written in Java, and interfacing with C++ via JNI.
- Designed the multiple language discrimination architecture for a Java plug-and-play architecture for easy comparison of discrimination algorithms. Interface to Java from C/C++ and Matlab using JNI and Matlab compiler.
- I worked on the OpenGL ballistic intercept simulation on IRIX for the Air Force.
- Created and edited the team’s software coding standards.
- Participated in the development of a real-time, embedded radar software application. Involving detailed use of multithreads and parallel processing across 64 CPUs; interface with a non-real-time component. This system was heavily multi-threaded with POSIX and non-POSIX threads, OpenGL, FLTK.
- Translated and reworked more detailed data association and detection algorithms from Matlab 6.5 to C++ (gnu and Intel compilers); real-time data integration/ initial detection used standard Kahlman filter processing; plotting routines used Matlab 6.5 interfacing with Python, and C++.
- Wrote benchmark tests to test the effectiveness of numeric parallel algorithms for both the IRIX and SUSE Linux operating systems running on SGI Origin and Altix hardware.
- Wrote and tested an entire numerical library to match numerous Matlab calls in C++. This library used the STL.
- Wrote a code line counting script in Python for counting lines of code in C++, C, Matlab, python. This application is being used by various team members.
Confidential, Hudson MA
Senior Software Developer
Responsibilities:
- Participated in the development of a real-time, embedded early warning radar software application. Work involved detailed use of multithreads and parallel processing across 96 CPUs (final result was scheduled to be run with 128 CPUs). Designed several synchronization mechanisms for application. Assisted with compiler optimizations (Origin 3000, Windows NT, SGI/IRIX C++, POSIX, Python, Matlab).
- Designed all but the interface of a generic queue module for real-time data handling of large sets of data.
- Designed machine check handler to handle system exceptions and floating-point exceptions as a subgroup.