Name: Hans Nowak
Location: Jacksonville Beach, FL, USA

I am an experienced software developer, specializing in Python and other dynamic programming languages. I have extensive experience with relational database systems, development of desktop and command line applications, and scripting.

Skills and expertise

Over time I have used many different programming languages, tools, techniques and frameworks. The most important ones are:

Python: My primary programming language. I have been using it since 1996, for various purposes, including: GUI development (wxPython, Tkinter, PyQt), database access, scripting, server-side programs, web development (Django, Flask, CherryPy, Google App Engine, Pylons), spidering web pages, data extraction/parsing/ETL, .NET access (via IronPython), automation (via ADO), etc. I have written several articles on Python, and many blog posts.

HTML/CSS/Javascript: Although I am not a web designer, I do regularly create small websites, using HTML, CSS and sometimes Javascript/AngularJS, for personal use and sometimes for customers. More recently, I have also used these for work projects (see below).

Databases: Over time I have worked with most well-known relational database systems, e.g. MS SQL Server, MS Access, MySQL, PostgreSQL, and Oracle. Work involved writing SQL, stored procedures, functions (in Postgres), triggers, optimizing queries, and designing database schemas.

Delphi: This used to be the language I used professionally, for several years, mostly late 90s - early 2000s. (Before that I used its predecessor, Turbo Pascal, on MS-DOS and Windows 95.) Nowadays I no longer use it, but I can pick it up again if the situation calls for it.

In addition to the above, I am familiar with a number of other programming languages. I have started or maintained projects in Ruby, Scheme, C, Prolog, Common Lisp, Forth, C++, D, Pascal, Go, C#, Io and OCaml. Learning new languages and techniques (and, in some cases, implementing them) is one of my main interests. (My open source projects can be found on github, bitbucket and GitLab.)

Professionally I have mostly been working on Windows, but I have developed software on (and for) Mac OS X, Linux and Android as well. I am familiar with version control systems like subversion and git.

Other interests include (computational) linguistics, functional and logic programming, and non-traditional databases.

Work experience

FlightVector, Sherwood, OR
(September 2016 - August 2017; telecommuting)

Implemented new features and bug fixes for various parts of the Flight Vector software, including:

Klickle, Des Moines, IA
(April 2015 - February 2016; telecommuting)

Co-developer and maintainer of the Klickle customer app for Android. This included bug fixing, enhancements, and designing and implementing new screens from scratch; also testing features and performance on various Android devices. Technologies used include Android 4-6, C#/Mono, Xamarin.Forms and FuseTools.

Oasis Digital, St. Louis, MO
(2002-2007, 2009-2015; telecommuting)

Main developer of a complex server-side system for processing work orders ("tickets"), that the customer receives from call centers. This included writing console applications in Python that:

Additionally, the Python code base is supported by a large set of automated tests. All of these programs and tests were written and maintained by me, except for a 2-year interval when I worked for a different employer.

The system uses a MS SQL Server database, which we originally accessed via SQLXML, later switching to ADO for performance reasons, using a custom ORM. The server-side programs run on Windows. In the first few years, I also helped maintaining and updating the client, admin and reporting applications, all of which are written in Delphi. At some point I ported most of the existing code to IronPython.

As the project matured, I worked on a team with other developers to keep the code base up-to-date and well-maintained. This involved code reviews, writing documentation and project management using JIRA. Additionally, I mentored other Python developers who joined the team.

On-Track Solutions, Iowa
(mid-2009; telecommuting)

2-month contracting job, consisting of:

iTrackr, Boca Raton, FL
(2007-2009; telecommuting)

Main developer of the back-end part of the iTrackr website. Tasks included:

Info Vision / CSS Software Development, Heerlen, The Netherlands
(1998-2001; on-site)

I developed four large desktop applications, and was also responsible for their maintenance and related customer service.

Various small contracting jobs


HEAO / HS Zuyd (Sittard, The Netherlands): BA in business & economics.