bemusement.org
Resume of Andrew Bennetts
Experience
Google, senior software engineer
August 2011present
Canonical, developer
May 2004July 2011Sensory Networks, software engineer
April 2004May 2004
Worked on in-house infrastructure such as build systems, using tools such as autoconf and
automake.
FLOW Communications, systems programmer
August 2002March 2004
Lead developer of internal systems, including:
design and implementation in Python of a customer billing system adaptable to multiple
products and pricing structures;
implementation in C of algorithms for record linking and indexing, and writing Python and
Zope ZCatalog extensions to use them;
implementation of an issue tracking system.
I also worked in teams to design and develop systems such as wholesale ordering and
provisioning. All development was done on Debian Linux systems.
A&A Weblink, programmerFebruary 1999August 2002
Designed and developed systems for processing, analysis and delivery of stock market data
to end-users. I wrote libraries implementing WebLink's BullSignal network protocol and the
Australian Stock Exchange's protocols for market data and announcements, and then wrote
systems that processed these feeds in real-time and responded to queries for current,
historical and streaming information.
Skills
Programming skills
Business systems
I have been a developer and designer of business systems such as invoicing, product
ordering and customer issue management.
Network programming
I am keenly interested in network programming, and have:
a solid understanding of TCP/IP;
experience writing networking code in both C and Python;
familiarity with the network representation of several common protocols, including HTTP
1.1, SMTP, FTP, POP3 and XML-RPC;
written both multi-threaded and asynchronous single-threaded code to handle concurrent
connections, often supporting several different protocols in the same process.
Web systems
I have experience developing a wide variety of web applications using ASP (IIS 5), Zope,
Twisted Web, and plain CGI.
Programming Languages
Python
Extensive knowledge of and experience in Python, its standard library, and common 3rd-
party packages. I understand the advanced features of new-style classes, metaclasses,
descriptors and generators that were introduced in Python 2.2. I have written C extensions
for Python, and am also familiar with using tools such as Pyrex for the same task.
I have extensive commercial experience building a variety of products for the Zope 2
platform, at all levels from fundamental ZODB operations up to Zope Page Templates.
C
I have been using C since 1998. I am familiar with its standard library, and with tools
such as gdb, electric fence and valgrind.
Visual Basic
I have experience building VB 6 applications, as well as COM components for use from ASP.
Computing
Linux
I first starting using Linux in 1996, and I have been running Debian Linux exclusively on
my home system since 1999.
Education
Bachelor of Science
University of Sydney, 19982001.
Major studies: Computer science
Other studies: Mathematics, History of Science, Physics.
Community
Twisted
Developer, March 2002 present
Twisted is an open-source asynchronous networking library for Python. My contributions
include the FTP client, an inetd(8) implementation, a Win32 version of the reactor,
documentation, and many other features.
Sydney Free Software Community
Active member of Sydney Linux Users Group (SLUG). I have presented a talk on Python to
SLUG, and talks on Twisted to SLUG's Python Interest Group and at the linux.conf.au 2004
Python miniconf.
References
Available upon request.
Personal
Location
Sydney, Australia
Citizenship
Australian
Contact
Email ******-**@**********.***.
Last modified: 05 April 2012
Powered by backwards