Marc Durham’s Resume
I am a full stack web & desktop software developer, I code, test, architect, and design software.
I’ve coded and maintained, architected from top to bottom, and built automated tests for web sites, web store fronts, internal dashboards with data crawlers, mobile language translation (app) tools, hydraulic flow calculation & design software, graphical mapping tools, AutoCAD drawing modules, package & deployment scripts, phone system scripts, customer service tracking & estimation systems, job costing & payroll software, and various tools to integrate, or sync data, between different systems and databases.
Over the years, working on complex projects, I’ve learned that programming isn’t just code and algorithms, so I’ve learned, and I continue to learn, various disciplines used in ensuring codebases are clean, tested, and maintainable.
I’ve built these things with teams and independently in both corporate environments and in small businesses. In both environments I’ve learned to appreciate and understand the needs of the business and the relationships with the people I work with.
C#, SQL, REST, HTML, CSS, PowerShell, Entity Framework, ADO, ASP.NET Core & Framework, MVC, Razor, WinForms, Git, Visual Studio, VS Code.
Dec 2018 – Present
- Updating hydraulic fire sprinkler flow & pressure calculation software called LoopCalc to extend it and interface it with newer CAD software. Built using C#, WinForms, NUnit, AutoCAD LISP, VBA. I started LoopCalc in 2010, see X-Fire below.
Dec 2015 - Dec 2018
Freelancing from China
Freelance Full Stack Software Dev (While learning Mandarin)
- Created a desktop WinForms app in C# for an antique jewelry shop (in the U.S.) to download, sync, and catalog their inventory and product images.
- Used ASP.NET Core and Docker to build a web storefront for the same antique jewelry shop hosted on DigitalOcean.com. Integrated with AWS S3 to store new images.
July 2013 - Nov 2015
Insight Global / Microsoft OS Group / Win Phone
SDE & SDET for Windows Phone Engineering Systems & Testing
- Developed internal dashboards and data collectors using C#, jQuery, knockout.js, Entity Framework (ORM), SQL Server, and ASP.NET MVC Framework to monitor varied software automated testing hardware for Windows 10 builds. These dashboards were displayed on kiosk style monitors and placed in visible locations, they enabled managers to see while walking by, at a glance, the color-coded high-level health of various systems.
- Built suites of unit tests for the ASP.NET MVC visualization tools for the Windows Phone OS continuous integration (CI) and test services.
Insight Global / Microsoft Learning
Infrastructure Developer for MLX Labs Project
- Collaborated as a member of an Agile Scrum development team in building a standardized infrastructure for hosting virtual labs for the Microsoft Learning Experience (MLX).
- Created and maintained automated unit tests for Azure web service components.
2011 – 2013
Posh Consulting / Microsoft Windows Enterprise Marketing
Senior Deployment Engineer & Technical Editor
- Architected, coded, and delivered, self-deploying Hyper-V virtual machine kits. Using C#, DISM, MDT, and PowerShell. Shared how-to knowledge with new engineers.
- Collaborated with stakeholders and technical writers to edit, modify, and create step-by-step and explanatory technical documentation for demonstrating various Microsoft Enterprise offerings and built self-extracting demos in Hyper-V VM kits.
2004 – 2011
Developer & Systems Administrator
- Worked with end-users to architect, design, code, and test hydraulic pressure and loop flow calculation and engineering software for domestic fire sprinkler systems using C# / .NET 4.0, WinForms, and NUnit.
- Extended MS-SQL database & Access based solution to track bids, customers & service information.
- Designed and scripted and Asterisk, Linux based, VOIP PBX system, wired, and programmed phones.
1995 – 2004
Guardian Security / D-TECH
Dev, DBA, System Administrator
- Architected, built, and maintained an SQL Server back-end & MS Access front-end system to track bidding, inventory & labor expense, service, testing, and maintenance of thousands of customer’s security & fire systems replacing several company spreadsheets. This system removed huge redundancy in data entry, eliminated paperwork, it recorded who, what, and why for changes to sensitive customer data, and put most data in one place so that it could be reported on.
- Set up and maintained Microsoft BackOffice Small Business Server: SQL Server, Exchange Server, IIS, Proxy & DNS, Debian Linux machines and services: Exim mail server, ,bind9, etc.
Pinyiner (Kotlin, Android)
An Android app, not on the market currently but for my own use and a few friends, that translates simplified Chinese text into a three-line English + pronunciation (Pinyin) + Chinese word groups, different than a full translation app in that it maintains Chinese word ordering and sentence structure. The app allows the user to tap any word in a sentence and change or shorten pronunciation and definition. I used the app myself in China to help me translate text messages to and from Chinese web sites and from the WeChat app, which is popular in China.
SplitReader (Java, Android, EPUB)
If an epub was translated into English and Chinese this Android app, written in Java, would display, side-by-side, two epub files at once, one in Chinese and one in English. It synchronized chapter and paragraph navigation so that the same thing is shown in both languages side by side.
TerritoryMapper (C#, .NET, WinForms)
This was a tool used to draw borders around groups of geocoded addresses on a map to be printed or electronically distributed as PDFs or spreadsheets for visit routes, essentially dividing maps into territories. It had an XML file format that it could synchronize with a MS-SQL database, or export into csv, or synchronize with Google spread sheets. It also was able to import and export Google’s KML files to be used in Google’s map apps.