Paul Parks

Paul Parks

$75/hr
Senior-level Software Developer
Reply rate:
-
Availability:
Hourly ($/hour)
Age:
55 years old
Location:
Singapore, Singapore, Singapore
Experience:
34 years
Paul Parks Experienced Software Developer and Team Leader Location: Singapore Mobile, WhatsApp: - Business Email:-Personal Email:- Web Site: https://parkscomputing.com/ LinkedIn Profile: https://linkedin.com/in/paulmooreparks/ GitHub: https://github.com/paulmooreparks/ What makes me unique • 36 years of professional software-development experience covering a broad range of languages, platforms, libraries, technologies, and application domains. • Experience leading multi-cultural teams, working across countries, cultures, and time zones. • An eye for continuous improvement of technologies and processes. • A talent for explaining technical matters to a non-technical audience. • A lifelong learner who is continuously exploring and experimenting with new technologies, new approaches, and new experiences. 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# (1 through 11), C++ (through C++20), C (ANSI C ‘89), 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 • United States citizen by birth • Singapore Permanent Resident visa status since March 2022 • Currently residing in Singapore (since October 2017) Professional Experience Freelance Developer Parks Computing Services June 2023 to present Singapore Custom software development and consulting. Current project is as a senior developer and support engineer for Agile Bridge, providing support and development services for Korean and Japanese users of the Abacus product, a web-based micro-service calculation engine used for financial calculations in the automotive industry. Technical stack is .NET and C# back end with Entity Framework and Razor Pages, with an Angular front end. Corporate Director and Program Manager Sentience Solutions Pte. Ltd. December 2022 to present Singapore Oversee FinTech projects for the banking industry. Current project is managing a program to provide a web portal and web services giving access to banking and remittance services for overseas foreign nationals of a sub-Saharan African nation. Digital Marketing, Web Design, and IT Management Padma Jairam – Counselling Psychologist April 2021 to present Singapore Design and maintain web site and web content for Padma Jairam – Counselling Psychologist, a psychotherapy practice that began serving clients in June 2021 (https://padmajairam.com). Work with owner to define digital marketing strategy, then execute that strategy to build and maintain client base. Achieved a full schedule of clients by the first week of July 2021. Set up and manage IT resources for the business, including Microsoft 365, cloud tools such as OneDrive and SharePoint, and CRM tools. Senior Manager Diebold Nixdorf Singapore Pte. Ltd. September 2021 to August 2022 Singapore Led a team of retail business analysts based in various cities across the Asia-Pacific region. The business analysts work directly with Diebold-Nixdorf’s retail customers to specify solutions in the grocery, fuel, convenience, specialty, 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 Asia Pacific Pte. Ltd. October 2017 to July 2021 Singapore 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 March 2016 to October 2017 Atlanta, Georgia, USA 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, and provided mentoring and consultation to development teams. Software Technical Lead SYSGENS, Inc. January 2003 to December 2015 Atlanta, Georgia, USA While contracted to NCR Corporation, led local and offshore development teams in the design, development, testing, and delivery of point-of-sale, self-checkout, and self-service kiosk software. Designed, developed, maintained, documented, and provided training for key software components and APIs. Among my contributions were continuing the development and support of the ACS DynaKey interface, developing a graphical configuration tool in Windows (C++) for DynaKey, and designing and developing a new graphical subsystem for NCR Advanced Checkout Solution point of sale which supported touch screens, DynaKey devices, and traditional point-of-sale keyboard interfaces with a single source base. Application Developer Vorsite, Inc. March 2002 to December 2002 Seattle, Washington, USA Developed intranet web applications (C#, .NET) and native Windows services and utilities (C++) for Microsoft, a Vorsite contract customer and partner. Among my novel contributions were a set of client-side web controls in HTML, when this concept was still very new. These controls connected to back-end data and simplified the development of web applications and reports. Senior Design Engineer Intava, Inc. January 2001 to November 2001 Bellevue, Washington, USA In a small startup environment, implemented the HTTP 1.0 specification in Java to provide a web-application server platform focused on mobile phone development. The system allowed for the creation of mobile applications which would run on a broad range of early mobile devices. President Parks Computing Services, Inc. January 2000 to December 2000 Atlanta, Georgia, USA As an independent consultant, developed a Java servlet system for Witness Systems, Inc. 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. Software Engineer SYSGENS, Inc. February 1994 to December 1999 Atlanta, Georgia, USA While contracted to NCR Corporation, developed software for NCR’s Advanced Checkout Solution (ACS) grocery point-of-sale systems, both platform and application. My first significant contribution here was designing and developing a subsystem to allow the core point-of-sale (POS) application, a legacy DOS application, to run unmodified while taking advantage of a new hardware interface, the NCR DynaKey, which could accept input from the user in novel ways the core system was not coded for. This extended the life of the application by years while opening a market for the new hardware and improving the user experience. I then went on to develop applications and services for retail systems on Unix System/V, Windows Server, and Windows POS/Ready 2009. Developer I PC DOCS, Inc. February 1993 to January 1994 Tallahassee, Florida, USA After spending a few months learning PC DOCS, a DOS-based document-management system, by performing customer support and travelling to customer sites, I moved into development creating features for PC DOCS using the C programming language. I continued to serve as a technical liaison to the customer-support department and provided remote and on-site technical support. Computer Programmer Analyst Executive Office of the Governor (Florida) December 1989 to January 1993 Tallahassee, Florida, USA Developed and maintained PC-to-mainframe data transfer utilities in Microsoft Professional BASIC to manage mainframe-resident state budget data. I wrote my first windowed user interface here, in Microsoft Professional Basic, which became the UI library for applications written by the PC Support Unit. From there, moved to the mainframe division and developed features the Legislative Appropriations System/Planning and Budgeting Subsystem (LAS/PBS), a mainframe-based system written in Adabas Natural and COBOL. A Selection of Personal Projects Xfer Language https://github.com/paulmooreparks/Xfer August 2024 to present Xfer is an experimental data-serialization language that is designed to be a more flexible and more strictly typed alternative to JSON. The GitHub repository contains a basic specification for the language along with a parser, an object model, and a serialization/deserialization utility. Clic https://github.com/paulmooreparks/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 https://github.com/paulmooreparks/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 https://github.com/paulmooreparks/Cliffer https://www.nuget.org/packages/Cliffer/ 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. This approach significantly reduces the surface area of code to write and test for a working CLI. Personal Web Site https://parkscomputing.com/ https://github.com/paulmooreparks/parkscomputing 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, so 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. Sudoku https://parkscomputing.com/page/sudoku September 2023 to October 2023 This is a web implementation of the game Sudoku implemented solely with HTML, CSS, and JavaScript. It also implements an editor for creating or modifying Sudoku game boards. As the board is edited, the URL is updated to reflect the current state of the board, so that sharing new boards is as simple as sharing the URL. Game play is recorded the same way, allowing even in-progress games be shared or saved, complete with notes. Each modification to the board is added to the browser history, thus allowing the player to undo and redo moves by moving backward or forward in the browser history. Maize Virtual CPU https://github.com/paulmooreparks/Maize March 2020 to December 2021 This project implements a 64-bit virtual CPU called "Maize," along with an assembly language, machine language, and an assembler to compile Maize assembly to binaries that the CPU can execute. See the file README.md file on GitHub for more details on the Maize CPU assembly language and the simple operating system that runs on it. Set-Associative Cache in C# https://github.com/paulmooreparks/SetAssociativeCache July 2020 to December 2020 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 https://www.parkscomputing.com/webapps/conways-game-of-life/ November 2015 An example of how to write high-performance JavaScript code using the HTML5 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 https://www.parkscomputing.com/applications/dragsens/ 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 https://www.parkscomputing.com/applications/barcode-generator/ 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 https://www.parkscomputing.com/applications/pbrain/ 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. Site linked above has an interpreter implemented in C++ and a .NET compiler implemented in C#.
Get your freelancer profile up and running. View the step by step guide to set up a freelancer profile so you can land your dream job.