Begun as a thrown-together free WordPress blog in 2011 to have somewhere to post my experiences in travelling to Finland. It's now a catch-all personal site for me.
I'm Neil McAlister, a software developer living in Helsinki, Finland. Born and raised in California, I moved to Finland in 2015, and have been here ever since. I program stuff for fun and, if the title of this blog didn't make it abundantly clear, enjoy travelling.
You can also find me on GitHub as PingZing or Twitter as @pingzingy.
Want to hire me?
Click or tap here to check out my resumé!
Senior Server Software Engineer
About Me(but professionally, this time)
I'm proficient in a number of programming languages. I'm most comfortable in C#, Rust, and TypeScript. I have a great deal of experience with Microsoft's modern XAML-based UI frameworks, including WPF, UWP and Xamarin. Other notable technologies I have experience with include Azure, AWS, Entity Framework Core, MongoDB, Azure Service Fabric, ASP.NET Core, NestJS, NodeJS, and Angular (with the usual smattering of HTML and CSS).
Outside work, I enjoy hacking on personal projects, reading, weird indie video games, and writing fiction. I'm comfortable with public speaking, and love travelling (at least when there's not a pandemic about).
Next Games OyjHelsinki, Finland
Senior Server Software Engineer
Jan 2020 - Present
In this position, I have:
- Worked extensively with C#, .NET Core, Service Fabric and Azure
- Helped migrate the system from a multiple separate repositories and .NET Core 2, to a monorepo and .NET Core 3
- Extensively reworked the platform's CI system as part of the migration
- Rewritten the system's bootstrapping process, streamlining and simplifying it
- Enhanced the platform to automatically provision and deploy notification services
- Collaborated with various game teams to address their needs
- Been part of the regular on-call rota for platform support
- Been scrum master
Futurice OyHelsinki, Finland
Apr 2015 - Jan 2020
Some of my accomplishments there include:
- Development and maintenance of a large ASP.NET Core backend that served several hundred thousand requests per day
- Development of Windows Phone applications for large telecoms
- Development of multiple cross-platform applications using Xamarin Forms and Unity 3D
- UWP development for apps with user bases in the 10,000 range
- Frequent, close collaboration with clients and stakeholders
- Technical blogging and public speaking
AvadineBakersfield, CA, USA
Jun 2013 - Apr 2015
In this role, I:
- Rewrote a WPF application with frequent stakeholder input
- Introduced version control to semi-technical clients' workflow
- Modernized an ASP.NET Web Forms application
Zindagi GamesCamarillo, CA, USA
May 2012 - May 2013
- Manual testing of the games
- Communicating issues to developers and producers
- Managing the issues backlog
Education & Certifications
B.Sc. Computer ScienceCalifornia State University Channel Islands
Microsoft Certified Azure Developer AssociateObtained June 30, 2020
Valid through June 30, 2022
Trippit is a journey planner for the greater Helsinki metro area. It hooks into city-provided APIs, and is written as a UWP app. I attempted to follow best practices in MVVM architecture and overall design.
It was originally meant to be a phone-first app with desktop capabilities, but then Windows 10 Mobile went the way of the dodo. It's probably my most complete application, though it never found much success due to the abrupt death of its target platform.
Offprint is a community-driven, open source website for writing fan fiction, original stories and blog posts. It strives to foster an inclusive, welcoming environment, and actively polices content counter to its policies.
Offprint's backend is written in TypeScript on top of NestJS, and its frontend is written TypeScript on top of Angular 2. I've been contributing to Offprint since mid-2020, and contributed across the stack, and have written significant parts of the infrastructure as well.
Solene is a text-based choose-your-own-adventure game. This was a more recent project undertaken as a creative exercise, and an attempt to see if I could make a monorepo project using .NET from top to bottom. I'm happy to say that I was!
It's a full-stack .NET application. It uses Xamarin.Forms for the Android and UWP applications, Azure Functions as a serverless backend, and has a pure-UWP admin client. One big advantage of the shared stack was the ability to share data models, and even some business logic between all the components.
Scannit is a Rust-based library for reading NFC-based travel cards used by Helsinki Regional Transport in the greater Helsinki area.
It has a C-based FFI that any other language that can "speak C" is capable of interfacing with. It also has C# bindings in the form of ScannitSharp (
https://github.com/pingzing/ScannitSharp), and an unfinished Android app implemented in Xamarin Forms in the form of Scannit (