Joe Hall avatar

Joseph Hall

Joseph Hall has been a professional software developer for more than 30 years. He has worked as a programmer for Microsoft, IBM, and Thoughtworks; he was the software architect for a Fortune 500 bank; he was the CTO of an online ticket sales and servicing company; and he started his own consulting companies in 2006 (Codetopia, LLC, AL) and 2015 (Ososoft, LLC, GA).

Joe makes his living writing desktop, web, and mobile device applications for businesses and governmental agencies, but game programming is his passion, and it was gaming that got him into programming in the first place. He was a member of the original Xbox team and he joined the Visual Studio .NET team just after the Xbox was released in 2001.

He is the author of XNA Game Studio Express: Developing Games for Windows and the Xbox 360, which was published in 2007, and Fauxcabulary: Fake Definitions, Real Funny, which was self-published in 2015 (for eBook and print). He has several new books in the pipeline including a multi-volume series on MonoGame development using Xamarin Studio and a techno-thriller trilogy set in the not-so-distant future.

Today, Joe lives with his wife and three daughters in Newnan, Georgia. Every summer, from 2011 through 2018, Joe taught high school students how to write video games during an intense weeklong course in North Carolina for Landry Academy. In his free time, Joe dabbles in sketching, cartooning, and creating 3D models. When you see his artistic creations, you’ll understand why he makes his living as a programmer.


Ososoft, LLC

Software Developer, Owner
Jul 2016 - Current
Atlanta, GA

In 2015, I moved my family to Newnan, Georgia, for a job with (arguably) the most rabid advocates for agile methodolgies, test-driven development, and pair programming — Thoughtworks, Inc. At that time, it was easier to let my Alabama LLC lapse and start a new company than to transfer the entity to Georgia. Ososoft is the vehicle by which I do all my contract work these days.

Thoughtworks, Inc

Software Developer
Mar 2015 - Jul 2016,
Aug 2021 - Current
Atlanta, GA

I loved my first stint with Thoughtworks in 2015, but I didn’t love the 100% travel. When they contacted me to return to a 100% remote culture, I jumped at the chance. Of all the places I’ve worked, I’ve never learned more than I have during my time with this company. Under their umbrella, I wrote apps in Java, .NET, JavaScript, and Microsoft technologies specifically tailored to the development of chatbots including their brand of NLP, LLM, and OpenAI; and later to include MSFT’s Dynamics 365 CRM.

eSA, Inc

Sr. Java Developer
May 2012 - Mar 2015
Montgomery, AL

I was fortunate enough to work with a great team of developers, writing logistical applications for the Air Force in Java and related technologies.

AL Dept. of Ed.

Sr. .NET Developer
Jun 2008 - May 2012,
Jul 2017 - Oct 2018
Montgomery, AL

At the AL Department of Education, my team was brought in to implement a system for processing the issuance and renewal of teaching certificates. The process was paper-based and it could take as much as 9 months to get a certificate issued or renewed. We were able to radically rework their process, distribute the work load to the field agents, and automate the workflows so that the 9-month process could be completed in around 5 minutes. From application, to payment, to digital issuance of the certificates — Certification Specialists were able to focus their time on exceptional cases (like failed background checks, or missing continuing education credits).

TicketBiscuit, LLC

Chief Technical Officer
Jul 2007 - Jun 2008
Birmingham, AL

I got a call from a programming buddy asking if I wanted to play a role in their startup venture. They were building a business to fill in the gaps left by giants in the area of ticket sales and servicing. Think TicketMaster, EventBright, LiveNation, … but at a much smaller scale. I managed a small team of developers and made the architectural decisions for new tech. I also got to keep my hands in the code, which has always been a requirement of mine.

Codetopia, LLC

Software Developer, Owner
Feb 2006 - Aug 2021
Montgomery, AL

While working for Regions bank, I managed a few contract software developers in addition to my regular duties as the software architect. I became friends with the contractors and decided that I would like to give working for myself a go. With no savings, no prospective clients, and no plan, I left my W2 and stepped into the 1099 world. I never went without work. My only marketing was by word of mouth.

Regions Bank

Software Architect
Dec 2002 - Feb 2006
Montgomery, AL

At Regions, I started out as a programmer in VB6, VB.NET, C#, Java, and C/C++. A couple of mergers later and I was leading the architecture side of the house. I met many strong developers, many of whom I still call my friends.


Programmer / Writer, SDET
Oct 1998 - Dec 2002
Redmond, WA

I was using Java since the time it was in beta, so I was a great fit for the Visual J++ team at Microsoft. In those days, MSFT was pushing the concept of managed code, rooted in the Java language. Then the Sun lawsuit hit and MSFT decided to pivot to creating their own managed code tools and languages. I was using C# before it was released to the general public. In fact, I trained the Java developers on migrating to C#. Shortly thereafter, I landed my dream job — as a Programmer/Writer on the original Xbox team. Once the console launched, I moved over to the Visual Studio .NET team, as an SDET on the performance team.


Multimedia & Web Programmer
Sep 1995 - Sep 1998
Atlanta, GA

I started with IBM as a multimedia programmer (yes, that was a thing) working in a technology called Icon Author, and I transitioned to a web developer around the time Java was coming into its own as a client-side web technology. In addition to Java, I wrote kiosks, screen savers, and the plumbing for internet-connnected applications (like World Book Encyclopedia) in C/C++.

Interactive Entertainment

Tech. Director
Sep 1994 - Sep 1995
Rochester, VT

I was fortunately in the right place at the right time to land a job as the Technical Director for a CD-ROM-based, monthly gaming magazine. It was billed as, “the only gaming magazine that stays crispy in milk!” At the time, multimedia programming was a new tech, building on the recenly-introduced software-only video playback. Seeing the ultra HD streaming services of today, it’s amazing how far we’ve come.

University of Alabama

Multimedia Programmer
Sep 1992 - Sep 1994
Tuscaloosa, AL

I was the senior developer on a for-profit arm of the university that was combining tech with their amazing group of content creators to make a CBT for high school and college-level Mathematics concepts.

U.S. Steel

Programmer (Co-op)
May 1991 - Sep 1992
Fairfield, AL

My first professional programming gig found me working on applications that were much older than me. COBOL was the language of the job, but I was able to create several apps (including one for inventory management) in Pascal, backed by DBase.


University of Alabama

Computer Science maj.,
Mathematics min.
Sep 1992 - May 1994
Tuscaloosa, AL

With a bit of professional experience in programming, and a new job at the U of A, I made the trek to Tuscaloosa to major in Computer Science with a minor in Mathematics. It was here that I met and married my much, much better half. After four years of college, I kept getting better and better jobs. I did not graduate.

University of Montevallo

Mathematics maj.,
Computer Science min.
Sep 1990 - May 1992
Montevallo, AL

I graduated high school in 1990. I never planned to go to college. My parents didn’t. Their parents didn’t. But, I was able to land a music scholarship that would take me through my first two weeks as a Music major. I didn’t really want to be a performer or a director, but I was pretty good at playing the trombone and baritone. Once on campus, I was offered a Math scholarship, so I immediately switched majors and selected Computer Science as my minor. In the first two years, I completed the senior level courses in the CS department and found that I had a passion for it. I moved on to the University of Alabama to major in CS and minor in Math. I did not graduate.


XNA Game
Studio Express

May 2007
800 pages

XNA Game Studio Express: Developing Games for Windows and the Xbox 360 is the ultimate resource for hobbyists and students who want to write games for Windows and the Xbox 360 game console. Learn how you can create your own games using these free game development tools and APIs from Microsoft, based on the incredibly popular Visual Studio IDE. You’ll begin with an introduction to the XNA platform and the Game Studio Express development environment. From there, you’ll examine many different game genres to develop your own working games from scratch. To get the most out of this unique guide you will need a working knowledge of programming, but readers with a variety of backgrounds will still benefit from the comprehensive coverage found inside.


Aug 2014
472 pages

Fauxcabulary: Fake Definitions. Real Funny. is a collection of terrible puns by a self-avowed word nerd. If you’re looking for a humorous tome that you can pick up and put down on a whim, you need this title on the back of your toilet. The rules for this collection of puns are simple.

  1. The words are real.
  2. The definitions are fake.
  3. The hilarity is optional.


Secret Clearance

Oct 2013 - Oct 2023

For my stint with eSA, where I worked on code for the Air Force, I needed Secret Clearance. In 2021, I had a similar background check run for my work on Veterans Affairs ( systems.


Oct 2015

At one point, I wanted to be a trainer of software developers in the corporate space. I obtained all my certifications through the MCT, but never actually taught a course. I did, however lead the training for several of my programming gigs, and I taught high school students how to program video games for several summers between 2011 and 2018.