Hans Nowak's resume

Name: Hans Nowak
Current location: Archer, FL
Email: zephyrfalcon at gmail dot com

I am an experienced software developer, specialized in Python (and, to a lesser extent, Delphi), with extensive knowledge of modern database systems. I have developed and deployed several client-server applications, initiated numerous open source projects, and written a number of Python-related articles.

Over time, I've worked on several projects (both professional and personal) that deal with crawling the web and extracting data from web pages and other files, so this has become somewhat of a specialty of mine.

Skills and expertise

  • Programming languages: Python (12 years experience), Delphi (9 yrs), Scheme, Ruby, Javascript, C, C++, Pascal (16 yrs), Lisp, Objective Caml, VBScript
  • Databases: MS SQL Server 7 and 2000, Postgres, MySQL, MS Access
  • Operating systems: Windows (95/98/NT/2000/XP), Mac OS X, Linux
  • Web design/development: VBScript, ASP, Ruby on Rails, Pylons, Javascript, CSS, HTML, XHTML, XML, RSS
  • Tools and applications: MS Word, Excel, Powerpoint, Adobe Photoshop, Macromedia Dreamweaver
  • Python-related technologies and skills: Tkinter, wxPython, SQLAlchemy, Beautiful Soup, mechanize
  • Other technologies: XML-RPC, SOAP, CVS, Subversion, Borland MIDAS, ADO, COM, SQLXML, XMLHTTP, unit testing

  • Open source projects: Wax (GUI toolkit using wxPython), Firedrop (client-based content management system), Tarantulon (webcrawler), Kaa (weblogging tool), Charm (Python editor/IDE), Mygale (news-gathering webcrawler), MoxRuby (database/search engine for CCGs); smaller projects include a text-to-HTML conversion format, a Lisp interpreter and a testing framework. (Most of these are written in Python. More information here.)
  • I was the mentor of a student participating in the Google Summer of Code (2005).

  • Currently learning: Adobe AIR/Flex/ActionScript; Chicken Scheme

Work experience

(Note: All of the jobs I have had in the US so far were done via telecommuting. The reason for this is that it's rather hard to find decent jobs in the area where I live.)

7/2007 - present: iTrackr, Boca Raton, FL

Main developer of the back-end part of the iTrackr website. Implemented web crawlers in Python to fetch product info from a number of websites, and several daemons to send notifications to users (by email and SMS). Work included updating the database (first MySQL, later Postgres), adding/changing tables as necessary, writing triggers, and minor Linux administration tasks. Also worked on a small XML-RPC server (part of the larger website written in Pylons).

1/2002 - 9/2007: Oasis Digital, St.Louis, MO

Main developer of the server side of complex system for the management of "tickets" (text files containing certain work orders, coming in through email or FTP). This included:

  • parsing information off the tickets (which vary greatly in format)
  • assigning them to employees, based on a set of rules ("routing")
  • responding to the call center that sent the tickets, via telnet, FTP, email and XMLHTTP
  • implementing and maintaining often-changing business logic rules
  • automating database integrity checks
  • implementing a "watchdog" system that warns if certain conditions are not met
  • implementing a deployment mechanism usable by the customer

Developed in Python/SQL Server, with heavy use of unit testing. System originally used SQLXML; after a while we switched to ADO a custom object-relational mapping library. I also helped maintaining and updating the client, admin and reporting applications (all of these were written in Delphi).

1/2004 - 3/2004: Estuardo Solis, Guatemala

Created and compiled various Python extension modules, written in C/C++, using Cygwin gcc. (Some of these I wrote myself, others were auto-generated using SWIG.)

12/2002 - 2/2003: Positiontech, IL

As an independent contractor, I developed a multithreaded webcrawler in Python which takes links from a MySQL database and checks if they are valid.

5/2001 - 11/2001: CSS Software Development, Heerlen, the Netherlands
9/1998 - 5/2001: Info Vision Europe BV, Hoensbroek, the Netherlands

(In May 2001, Info Vision was taken over by CSS, so I'm listing them as one item.)

  • Co-developer of a management system for safety tools, for a large chemical company. Developed interfaces to specialized hardware, like card printers, bar code scanners, and hand-held terminals. Written in Delphi/Oracle.

  • Main developer of a sophisticated system for registration and management of credit limits, written as a three-tier application in Delphi/SQL Server (using Midas). This included a "decision support" form that helped users when granting new credit limits; also included an interface to a large online documenting system, and a flexible report generator. Developed an Intranet interface later, in ASP/VBScript. (letter of recommendation)

  • Main developer of a system for the registration and statistical analysis of accidents, again for a large chemical company. Delphi/SQL Server.

  • Main developer of a system for specialized allocation of costs, for a bus company. Delphi/Access.

  • Maintained and updated stored procedures, imports and exports for an implementation of the Onyx platform. SQL Server.

1995 - 9/1998:

During this time, I had a few jobs unrelated to software development.

1993 - 1995: HVB Computerservices, Barneveld, the Netherlands

As an independent contractor, I sold around 60 DOS-based programs to this company. Most of these programs were written in Turbo Pascal and Turbo Basic. One important condition was that they should run on every PC (at that time), even very old ones with no sound and CGA graphics.

Education

  • 1991 - 1997: HEAO BE (Bedrijfseconomie, Business Economics)
    BA in Business Economics, at the HEAO in Sittard (Netherlands).

  • 1985 - 1991: Gymnasium A (comparable to high school with honor roll).