Paul M. Parks, Senior Software Developer
21 Rasok Drive, Singapore 737964, Republic of Singapore
+65 8436 3982 (Singapore mobile, WhatsApp)
+1 678 575 8255 (United States VOIP)
paul@smartsam.com (Personal)
paul@parkscomputing.com (Business)
Also available in Microsoft Word and plain HTML formats.
Professional Summary
Seasoned software developer with over three decades of professional experience in crafting innovative solutions across various platforms. Adept in a range of programming languages, with expertise in software architecture, project management, development, delivery, and support. Demonstrates a powerful command of technology, coupled with a creative approach to problem-solving. Proven leadership in managing projects from conception to completion, ensuring efficiency and quality. Passionate about continuous learning and committed to applying unique skills to drive success in dynamic environments.
Online Presence
Personal Site: https://www.parkscomputing.com/
LinkedIn Profile: https://www.linkedin.com/in/paulmooreparks/
GitHub Repo: https://github.com/paulmooreparks/
Core Skills
Multifaceted Development Experience: Development across various platforms (Windows, Linux, Unix), application domains
(desktop, server, command-line, web) and languages (C#, C++, C, etc.).
Full Life-Cycle Management: Proficiency in software project management from inception to support.
Global Perspective: Experience with colleagues and customers across various countries and cultures.
Team Management & International Leadership: Leadership, mentorship, and management of diverse, internationally
dispersed teams across many countries, cultures, and time zones.
Mission-Critical Software Delivery Experience: Delivery of mission-critical software to substantial clients; adherence
to quality and schedule objectives.
Professional Services & Customer Interaction Experience: Engagement with clients for tailored services and
satisfaction during solution delivery and support; Skilled at translating complex technical matters for non-technical audiences (and vice-versa).
Innovation: Self-taught adherent of continuous learning, experimentation, and new idea implementation.
Broad Development Lifecycle Experience: Classic project management, Kanban/Lean, Scrum.
Technical Skills
The following is only a partial list of the languages, operating systems, and technologies that I have used over my career.
Software Domains: Graphical desktop applications, Self-service kiosks, Point-of-sale systems, Server applications and services, Command-line utilities, Native libraries and APIs, Web sites and web applications, Web APIs (REST, SOAP)
Development Platforms: DOS (IBM, MS), Windows (desktop/workstation from 3.0 through Windows 11), Windows Server (2003, 2008), Windows Embedded (POSReady 2009, Windows CE 6.0), Unix (System V Release 4, Sun), Linux (various from Slackware to current day)
Programming Languages: C++ (pre-ISO through C++20), C (K&R), C# (1 through 11), Assembly (6502, 8086, x86, custom), Bytecode interpreters, JavaScript, Java, LISP, DOS batch files, shell scripting (csh/ksh/bash), Microsoft Visual Basic, Microsoft Professional Basic, JCL, COBOL, Software AG Natural
Frameworks & Technologies: Windows API (Windows 3.0 16-bit API through Win32 API), MFC, .NET Framework (1 through 4.7), .NET 7, .NET Windows Forms (WinForms), Windows Presentation Foundation (WPF), XAML, Common Object Model (COM), Active Template Library (ATL), .NET/Windows Interop, network sockets, XML-RPC, WAP, HTTP (1.0, 1,1), HTML (through HTML5), XHTML, XML, XSLT, SOAP, REST, CSS, WordPress, ASP, ASP.NET, Java Servlet Pages (JSP), Entity Framework, VMWare Workstation, ESXi, Docker, Microsoft Azure
Citizenship and Visa Status
- United States citizen by birth
- Singapore Permanent Resident visa status since March 2022
- Currently reside in Singapore (since October 2017)
Professional Experience
Freelance Software Developer
Parks Computing Services
- Customised software development and consulting.
Corporate Director & Program Manager
Sentience Solutions Pte. Ltd.
- Oversees and coordinates FinTech projects for the banking industry.
Customer Success Manager
CloudCover Pte. Ltd.
- Responsible for ensuring Code Pipes customers are successful at meeting their goals using the product. Advocated internally for the customer and their needs and focus on keeping them successful.
Senior Manager
Diebold-Nixdorf
- Led a team of retail business analysts based in various cities across the Asia-Pacific region. The business analysts are engaged with Diebold-Nixdorf customers across the APAC region in multiple retail projects for point-of-sale, self-service checkout, and loyalty solutions in the grocery, fuel & convenience, health & beauty, and fashion retail sectors.
- Led a team of software engineers based in Singapore developing and maintaining Diebold-Nixdorf's TP.Linux retail point-of-sale application.
- Active participant in the APAC Retail Professional Services management team, reporting to the director of APAC Retail Professional Services.
Technical Consulting Senior Manager
NCR Corporation
- Consulted on multiple retail projects across the Southeast Asia sub-region from pre-sales through delivery.
- Liaised between NCR’s software engineering teams and in-region professional-services teams working directly with the customer to ensure that customer solutions were delivered accurately and in a timely manner.
- Worked directly with customers in the APAC region to identify and resolve issues.
Senior Software Engineer
NCR Corporation
- Led local and offshore development teams in the design, development, testing, and delivery of self-checkout and self-service kiosk software for the retail and postal industries, including NCR’s largest retail account and for a national post office service.
- Worked directly with customers to gather, understand, and clarify requirements.
- Created estimates and project plans for software development projects.
- Provided mentoring and consultation to development teams.
Senior Software Engineer, Lead
Bsquare Corporation
- Worked on-site at Coca-Cola, designing and developing features for the Coca-Cola Freestyle beverage dispenser.
Software Technical Lead
SYSGENS, Inc.
- Led local and offshore development teams in the development of point-of-sale, self-checkout, and self-service kiosk software.
- Worked with NCR Professional Services to gather, understand, and clarify customer requirements.
- Created estimates and project plans for software development projects.
- Architected and designed solutions to meet requirements for NCR customers.
- Designed, developed, maintained, and provided training for key software components and APIs.
- Led integration project for a self-service kiosk for the British post office, Post Office Ltd. Developed an innovative integration of NCR's self-service checkout application with a new, back-end integration to a SOAP web service rather than a point-of-sale system. The kiosk helped Post Office meet savings targets, and it provided a new platform for self-service offerings not found in other integrations of NCR''s self-service checkout.
- Led design and development of a new user interface subsystem, known as Apex, for NCR Advanced Checkout Solution (ACS) to extend my previous work with the UI. The new UI added support for touch devices, hybrid touch/DynaKey devices, and full keyboard devices, while also providing multi-language support.
- Designed, developed, and maintained the integration subsystem between NCR's self-service checkout and ACS, known as ACSIO.
- Designed, developed, and maintained a high-performance, high-reliability, configurable logging and tracing subsystem for use in ACS, ACSIO, Apex, and self-service checkout. Developed native language libraries for integrating the subsystem into C, C++, .NET, and JavaScript applications.
- Architected a new integration subsystem between NCR's self-service checkout and ACSIR, using Apex, allowing integration logic to be developed in JavaScript rather than in C++.
Application Developer
Vorsite Corporation
- Developed intranet web applications and native utilities for Microsoft, a Vorsite contract customer and partner.
- Developed client-side browser controls targeting HTML 4 and DOM 2 browsers, for both ASP and ASP.NET applications.
Senior Design Engineer
Intava, Inc.
- Designed and implemented server products for the wireless Internet industry.
- Implemented XML-RPC specification in Java to support integration of Java server code with multiple web servers via an RPC interface.
President
Parks Computing Services, Inc.
- Created web host pages for Java applet-based system, Witness Systems' eQuality Release 6. Developed a Java servlet system to separate complex JavaScript validation logic from presentation markup, as well as to ease cross-browser web page development, via server-side processing of XHTML web pages containing custom design tags residing in a separate XML namespace.
- Created Java servlet to generate report data selection forms for browser-based application, using XSL stylesheets to format output of XML data. Output of the report form was sent to Actuate reporting engine.
Software Engineer
SYSGENS, Inc.
- Developed software for NCR Advanced Checkout Solution (ACS), a point-of-sale application.
Developer I
PC DOCS, Inc.
- Performed analysis and implementation of software designs for PC DOCS version 4.2 and 4.3.
- Served as technical liaison to customer-support department and provided on-site technical support.
Computer Programmer Analyst
Executive Office of the Governor
- Performed programming and analysis duties for Legislative Appropriations System/Planning and Budgeting Subsystem (LAS/PBS), wrote applications in MVS/ESA environment in Natural 2.1 with ADABAS database, maintained existing COBOL applications, and wrote and maintained related JCL.
- Worked in the Personal Computer Support unit developing and maintaining PC-to-mainframe data transfer utilities in Microsoft Professional BASIC to create Lotus spreadsheets from mainframe-resident state budget data.
- Developed a character-based, windowed user interface for use in transfer utilities.
- Wrote related Windows applications with Microsoft Visual Basic 1.0 and Borland C 3.0.
- Maintained office PCs, and installed and evaluated PC software. Performed limited administration duties on a 25-node Microsoft LAN Manager network.
Volunteer Experience
IT Management, Web Design, & Digital Marketing
Padma Jairam – Counselling Psychologist
- Designed and maintained web site and web content for Padma Jairam - Counselling Psychologist, a psychotherapy practice that began serving clients in June 2021 (https://padmajairam.com). Worked with owner to define digital marketing strategy, then executed that strategy to build a client base. Achieved a full schedule of clients by the first week of June 2021.
- Set up and managed IT resources for the business, including Microsoft 365, cloud tools such as OneDrive and SharePoint, and client relationship management tools (CRM).
A Small Selection of Personal Projects
Parkscomputing.com
- My personal/freelancing web site was previously hosted on WordPress, but this was not sufficient for my needs and interests. I wanted to be able to edit raw HTML and try various web technologies on individual pages, which was difficult to do with WordPress. I wrote my own web site engine with ASP.NET Razor Pages on .NET 7. The site is hosted on Azure Web Services as a containerized application (Docker). I am currently adding the ability for readers to leave comments on pages. This feature is implemented as a RESTful web service hosted on Azure (containerized), with the comments stored in an Azure SQL Server database. I am extending the site engine to retrieve and display comments as well as accept new comments, and I am making a separate application to notify me of new comments so that I can approve or reject them.
Maize Virtual CPU
- This project implements a 64-bit virtual CPU called "Maize". See the file README.md for more details on the Maize CPU assembly language and the simple operating system that runs on it.
- The near-term goal is to implement a set of devices to bridge from the virtual CPU environment to the host machine, create a "BIOS" layer above the virtual devices, implement a simple OS and a subset of Unix/Linux system calls (interrupt $80), and finally port a C/C++ compiler (likely Clang or GCC) that will generate Maize machine code.
Set-Associative Cache in C#
- A C# implementation of a set-associative cache with multiple cache-replacement policies, such as least-frequently used, least-recently used, or most-recently used.
Conway's Game of Life in JavaScript
-
An example of how to write high-performance JavaScript code using the HTML
canvas
element to implement Conway's Game of Life, which is demonstration of cellular automata simulating living organisms.
Dragsens, a Console-based Drag Sensitivity Utility
- A simple utility that allows users to change the number of pixels the mouse has to travel before a drag operation is initiated. Used by private users and by systems administrators to prevent accidental drag-and-drop operations.
EAN-13 Barcode Generator in JavaScript
- A web page that accepts HTTP GET parameters on the URL line and outputs an EAN-13 barcode generated via JavaScript and HTML DOM.
Pbrain Language Interpreter and Compiler
- The pbrain programming language is an extension I made to the Brainf**k programming language that adds the ability to define and call procedures. The site linked above has an interpreter implemented in C++ and a .NET compiler implemented in C#.