Candidate Information | Title | C# Software Engineer | Target Location | US-PA-Norristown | | 20,000+ Fresh Resumes Monthly | |
|
|
| | Click here or scroll down to respond to this candidatercramsden@gmail.comSUMMARYKey strengths in real-time data acquisition, statistical, and video processing; with an emphasis in high throughput, and high reliability systems. Skilled with the use of object oriented design philosophy. Experienced with project management through all phases of the project lifecycle. Extensive experience in distributed front-end systems, device/protocol integration, and secure data transfer. Knowledgeable in the use of open source packages and libraries to enhance Software development efforts.TECHNICAL EXPERIENCEProgramming Languages: C/C++, C#, Objective C, Swift, Python, Lua, HTML, Java, JavaScript, SQL, Assembler (8086 family, 68000, 6502), PascalOperating Systems: Windows NT/2000/XP/2003/7/10, Linux, OSX, iOS, AndroidSoftware Development tools: Visual Studio, Eclipse, XcodeProject Management techniques: Agile, RAD, WaterfallEMPLOYMENT HISTORYFREEDOMPAY, Philadelphia, PA August 2019 June 2023Senior Software Engineer Working on their legacy product. It worked, but relied on old technology, that was becoming an operations issue. I was tasked with bringing it up to date.Rewrote Visual Basic libraries in C#.Wrote CLI interfaces for the C++ libraries, so C++ and C# could call each other directly. Eliminating the need for COM.Rewrote C++ database calls to use C# database objects.Updated applications, a mix of C# and C++ code to use the new libraries. In some cases massively simplifying sections of them, since now they could make calls using CLI C++ objects.Designed and wrote a web app to support a new ACH provider.CONTENTWATCH, Berwyn, PA December 2017 May 2019Senior Software Engineer Working on the new release of NetNanny 10. Primarily responsible for iOS, also Android and OSX. iOS is the problem child, most work done on the iOS client worked without issue on other platforms. For the first 6 months a major measure of my performance was how much wasteful code I could eliminate.Found and fixed major performance issues.Redesigned and wrote the new update subsystem.Redesigned and wrote the new statistics reporting system that uses Amazon Kinesis.Updated the 3rd party libraries to the current versions.Started bringing NetNanny 10 to OSX.PROKARMA, Omaha, NE May 2016 September 2017Software Consultant at PSTechnology a subsidiary of Union Pacific Railroad, Norristown PAWorking on automated rail yards. Routing and controlling switches. Speed control in freight classification yards. Industrial process control computers running QNX, front end systems running Windows. Work done in C/C++, Python, and shell script.Evaluated incident reports, analyze logs, write summary reports advising action.Based on my own and other evaluations implement fixes to be deployed.Supporting legacy systems, including releasing new versions of the old base.Integrate older releases up to a more recent or current code base.Work with product management to evaluate, design, propose solutions, and implement solutions for end user issues.ANALYTICAL GRAPHICS, Exton, PA May 2013 March 2016Software ConsultantIn the STK (System Tool Kit) on Linux project. STK is a simulation and modeling package primarily used in aerospace and defense applications. The project goal is to release on Linux simultaneously with the Windows release, or as near as product testing allows. Using GCC with an interface layer that mimics Windows COM functionality. As work is done in Windows with Visual Studio, the projects are translated to makefiles, and built on the Linux continuous integration system using Quickbuild Work done in C/C++, Python, Lua. The project is reaching successful completion that exceeds original expectations.Designed and developed the Premake portion of the system that builds the makefiles. Including modifying the Premake Lua code, which read pseudo code produced by the Python translation program, to better manage the scope of the project.Documenting and educating the development team in good programming practice for Windows/Linux compatability.Updating and building open source 3rd party libraries from source distros, such as OpenSSL, ffmpeg, Boost, GDAL, POCO, JSON.Converted Windows graphic window to X window for graphical displays that use OpenGL.Supporting and debugging Java user interface, and JNI.Ongoing work keeping the current C/C++ code compliant with GCC, running clean under valgrind, both 32 and 64 bit.HARRIS BROADCAST COMMUNICATIONS, Limerick, PA February 2006 January 2013Software Engineer 3Working on the QuiC Video QA system team from its beginning. Eventually becoming project lead working with 3 engineers in Budapest Hungry. The system supports multiple Windows XP servers each with a custom logic board, designed to run unattended. Analyzing, reporting, and in some cases correcting problems with video files. Supporting the divisions Videotek products running embedded Linux. Became a member of SMPTE, to keep up with advances in the industry. Work primarily done in C/C++.Designed and developed the control service that scans for new files, dispatched jobs to be analyzed, collected results, provide status of files to be analyzed, in process, and the results.Wrote a published API used with broadcast automation systems.To operate in conjunction with the Harris Nexio video servers, wrote an interface that queries and updates the Nexio's internal database.Wrote a multi-threaded FTP client library that streams files directly in the application, to achieve maximum throughput.Developed code to read and write industry standard file formats (LXF, GXF, MXF, Quicktime, MPEG-2).Upon becoming responsible for other components of the system, reworking existing code to fix problems. Which in some cases required re-designing portions of the application.When new formats were introduced or existing ones modified, extending the system to handle them.Added handling of 10 bit video. Which required translating between 3 different 10 bit formats for what decoders, custom logic board, and encoders handled.As the system grew in complexity over time. XML configuration files, and result reporting in XML which via XSLT could produce CSV and HTML files, was added.Added capability to process audio and rebuild AV files without re-encoding video to help comply with federal loudness regulations, and not suffer quality loss from video re-encoding.Used several video codecs (DV, MPEG-2, H.264, DNxHD, ProRes(decode only)), and audio codecs (MPEG, AAC, AC3, Dolby E).Wrote applications and support libraries for other devices running embedded Linux.COMCAST CABLE, Radnor, PA January 2005 February 2006Senior Software EngineerContinued performing QVC duties, after Comcast acquired the TargetTV division. Work done in C/C++ embedded SQL, JavaScript, and HTML.Researched, architected, speced an iSCSI SAN network system.Wrote Web interfaces with dynamically generated JavaScript, CSS and HTML. Based on a system of templates, which define data definitions and presentation, allowing easy change of end result presentation without binary code modification. Some pages used asynchronous display and forms through scripting, a type of AJAX.QVC, West Chester, PA January 2000 December 2004Senior Software EngineerIn the TargetTV division, a joint venture between Comcast & QVC, contributed in design, developed, modified and enhanced server side programs. Work done in C/C++, embedded SQL, JavaScript, and HTML.Conceived and implemented anonymous tracking system for privacy assured data gathering of television viewing behavior. This allowed tracking of an individuals viewing behavior, without being able to know who they are. A patent has been applied for this process.Re-designed the TargetTV Viewership server software and data structures to be dynamically extensible and support aggregation, allowing the processes to scale by adding additional inexpensive servers.Developed server side support services for interactive television, for cable systems using Scientific Atlanta and Motorola systems digital cable boxes (STBs).Developed and enhanced DLLs and CGIs for Microsoft, IIS for chart display, as well as, display of past transactions and interactions through STBs or computer browser.Designed and developed interactive commerce transaction collection, forwarding, archiving, and historical reporting.Created and developed an encrypted http (non-HTML) request and response for a web CGI serving a custom client, for use where https and other secure protocols were not available.BAJA SYSTEMS, Aston, PA September 1990 December 2000Senior Software EngineerAt the time I left the company was responsible for all software development, with 4 engineers under me.. Designed, wrote, and maintained statistical, billing, operations, and customer support software for telephone carriers, primarily cellular and long distance. Work done in C, Unix shell script and Informix SQL.Worked with customers to develop custom solutions to meet their needs.Projects used various software tools including TCP/IP sockets, RPC, C-tree, an ISAM file systems I developed, Informix, X.25.Developed data collection software to read call records from digital switches manufactured by Lucent, DCS, Nortel, Alcatel, and Motorola. Transport protocols included X.25, HDLC, RPC, TLI, and serial.Internal and external data transfer systems using raw sockets, FTP, and uucp.Created a real-time usage monitoring system with usage level alerts, and automatic customer shutdown, for an inexpensive debt or pay as you go billing system.Designed and developed a real time database system for customer service, engineering, and law enforcement that stores and reports on all call activity in the system. Capable of handling over a gigabyte of data per day on an inexpensive Pentium based server, with a true two-tier client server application suite.Held responsible for data translation, which converted raw call records to various external formats.Automatically updated external devices via their human or computer-to-computer interfaces. Connections via serial, telnet, raw sockets, and X.25.Compiled various statistical reports on call and statistical records from digital switches.Wrote an alarm, status monitoring and reporting system, with automatic paging on critical levels and an interface to a GIS display system.Used serial and telnet interfaces to automatically and manually communicate interfaces to external devices.ADP-BISG, Moorestown, NJ May 1988 June 1990Member Technical StaffModified and enhanced the LifeNet network operating system running on IBM PS/2's using IBM NetBIOS and Token Ring. Most work performed in C, 8086/286-Assembler.ARCHIMEDES, Philadelphia, PA May 1987 May 1988Software EngineerDesigned and wrote an object-oriented Information Management System for MSDos, all work completed in C.MCTEL, Philadelphia, PA May 1984 May 1987Software EngineerDesigned and wrote software, firmware, and drivers for a 68000 based telecommunications processor. Work performed in C, and 68000-assembler. Various projects for MSDos in C, and 8086-assemblerUNIVERSITY OF PENNSYLVANIA MEDICAL SCHOOL, Philadelphia, PA May 1983 May 1984Computer SpecialistWorked in Pascal on a Z80 based CP/M system and 6502 assembler on an Apple II.EDUCATIONPhilosophy program, University of Pennsylvania 1979 - 1983Strong concentration in Computer Science.Work 95% complete |