Paul Parks

An Experienced Software Developer and Team Leader

Address:
21 Rasok Drive, Singapore 737964, Republic of Singapore

Mobile, WhatsApp: +65 8436 3982

Business Email: paul@parkscomputing.com
Personal Email: paul@smartsam.com

Web Site: https://parkscomputing.com/
LinkedIn Profile: https://www.linkedin.com/in/paulmooreparks/
GitHub Repo: https://github.com/paulmooreparks/

This résumé is also available in Microsoft Word and plain HTML formats.

What Makes Me Unique

Core Skills

Leadership: Mentorship and management of diverse teams.
Communication: Excellent writing skills, which I constantly practice in my professional life as well as on my personal blog.
Global Perspective: Experience working with, and communicating successfully with, colleagues and customers across various countries, cultures, and time zones.
Customer Interaction: 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).
Software Delivery: Delivery of mission-critical software to substantial clients; adherence to quality and schedule.
Full Life-Cycle Management: Proficiency in software project management from inception to support, with classic project management, Kanban/Lean, Scrum.
Multi-faceted Development: Various platforms (Windows, Linux, Unix), application domains (desktop, server, command-line, web) and languages (C#, C++, C, JavaScript, TypeScript, etc.).

Technical Skills

Software Domains: Web sites and applications, Web APIs (REST, SOAP), Graphical desktop applications (GUI), Self-service kiosks, Point-of-sale (POS) systems, Server applications and services, Command-line utilities (CLI), Native libraries and APIs
Development Platforms: 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 distributions from early Slackware to current day), DOS (IBM, MS)
Programming Languages: C++ (through C++20), C (ANSI C ‘89), C# (1 through 11), Assembly (6502, 8086, x86, custom), JavaScript, TypeScript, shell (PowerShell, csh, ksh, bash, DOS), Java, LISP, COBOL, Software AG Natural, Basic (Quick Basic, Microsoft Professional Basic, Visual Basic, VB.NET, and my own variant ClifferBasic), Bytecode interpreters
Frameworks & Technologies: .NET 8, .NET 7, Angular, Microsoft Azure, Docker, Entity Framework, Microsoft SQL Server, .NET Razor Pages, ASP.NET, XAML, Windows Presentation Foundation (WPF), .NET Windows Forms (WinForms), .NET/Windows Interop, .NET Framework (1 through 4.7), HTML (through HTML5), HTTP (1.0, 1,1), XML, CSS, ASP, WordPress, REST, SOAP, XSLT, WAP, XML-RPC, Java Servlet Pages (JSP), ESXi, VMWare Workstation, Active Template Library (ATL), Network Sockets, Common Object Model (COM), MFC, Windows API (Windows 3.0 through Win32)

Citizenship and Visa Status

Professional Experience

Corporate Director & Program Manager

Sentience Solutions Pte. Ltd.

Singapore
December 2022 to present

Freelance Software Developer

Parks Computing Services

Singapore
June 2023 to present

Digital Marketing, Web Design, & IT Management

Padma Jairam – Counselling Psychologist

Singapore
April 2021 to present

Customer Success Manager

CloudCover Pte. Ltd.

Singapore
August 2022 to November 2022

Senior Manager

Diebold-Nixdorf

Singapore
September 2021 to August 2022

Technical Consulting Senior Manager

NCR Corporation

Singapore
November 2017 to July 2021

Senior Software Engineer

NCR Corporation

Atlanta, Georgia, USA
March 2016 to October 2017

Senior Software Engineer, Lead

Bsquare Corporation

Atlanta, Georgia, USA
January 2016 to March 2016

Software Technical Lead

SYSGENS, Inc.

Atlanta, Georgia, USA
January 2003 to December 2015

Application Developer

Vorsite Corporation

Seattle, Washington, USA
March 2002 to December 2002

Senior Design Engineer

Intava, Inc.

Bellevue, Washington, USA
January 2001 to November 2001

President

Parks Computing Services, Inc.

Atlanta, Georgia, USA
January 2000 to December 2000

Software Engineer

SYSGENS, Inc.

Atlanta, Georgia, USA
February 1994 to December 1999

Developer I

PC DOCS, Inc.

Tallahassee, Florida, USA
February 1993 to January 1994

Computer Programmer Analyst

Executive Office of the Governor

Tallahassee, Florida, USA
December 1989 to January 1993

A Selection of Personal Projects

Clic

July 2024 to August 2024

Clic began as a sample program to demonstrate and test the REPL (Read-Eval-Print Loop) capabilities of the Cliffer CLI library. It is now a separate project that implements a stack-based calculator. The application stores the stack and variables across multiple invocations, making it suitable for scripting as well as interactive usage. Clic is implemented in .NET 8.0 and runs on Windows, Linux, and macOS.

ClifferBasic

July 2024 to present

Like Clic, ClifferBasic also began as a sample program for Cliffer. It is now a separate project that implements a BASIC programming environment as a command-line application, in the style of classic home computers like the Commodore 64 and the Apple ][. It is capable of editing, storing, loading, and executing BASIC programs, and it can execute BASIC commands interactively. ClifferBasic is implemented in .NET 8.0 and runs on Windows, Linux, and macOS.

Cliffer CLI Library

January 2024 to present

Cliffer is a .NET library built on top of Microsoft's System.CommandLine library that makes command-line interface (CLI) applications much easier to write. It uses attributed programming so that developers can add attribute declarations to their code, and the Cliffer library takes care of all the boilerplate necessary for creating complete, professional-quality CLI applications.

Parkscomputing.com

November 2022 to present

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

March 2020 to present

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#

July 2020 to December 2022

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

November 2015

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

November 2015

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

2015

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

September 2004

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#.