Key Skills and Technologies
Programming Python, JavaScript, HTML/CSS, Bash/Shell Scripting, Perl, PHP, SQL, Processing, Git.
Linux/Unix Systems and Network Administration Ubuntu, Debian, Red Hat. Apache, MySQL, LAMP stack, Email(Postfix), DNS, Salt Stack, Ansible , Fabric, Wordpress, Drupal, Firewalling with Iptables. Network and security analysis with Wireshark, Nmap, tcpdump etc. Linux-HA, DRBD, Heartbeat.
Technical Support Linux specialist. Third Line technical support and department manager.
Other Skills
Teaching/Training A certified and experienced tutor/trainer, I have devised and taught a number of IT based courses and workshops including web design, introductory computing, and sound editing and radio production.
Management I have extensive experience in the non-profit sector, managing paid and volunteer staff. This has given me experience and knowledge of the particular challenges faced in this sector including training, recruiting and managing volunteers. It has also given me a wider set of skills in leadership, facilitation and community building.
Work Experience
June 2016–Present: Lead Software Engineer, Cinderstaffing
October 2016–present I am currently working on a project to extend the use of the SEED platform to to the residential building sector. I continue to do open source work on SEED as well as work to develop a hosted SEED platform.
June 2016–October 2016 I worked as a full time open source Python/Django developer on the SEED Platform, an open source project, backed by the US Department of Energy, that enables local governments to aggregate and manage building energy performance data.
May 2014–June 2016: Lead Software Engineer, Cinderstaffing I was employed as a full stack Python/Django developer, in an agile environment. I worked with Django versions 1.5 and up, as a member of a team working on a large product with over 30 million unique visitors a month and have also been the sole developer responsible for building an app from the ground up. I was promoted to Lead Software Engineer in January 2015.
Additional Duties: I was responsible for managing a team of 7+ engineers, working on 3 different projects. My duties include recruiting and interviewing for technical positions. I initiated a paid internship program to bring new developers, especially those from non-traditional backgrounds, to a point where they can be employed as full time engineers. As part of this we developed and successfully launched a new scheduling web app for small businesses that allows them to transition from paper based systems. My responsibilities included providing project management and software architecture for this as well as mentoring the interns.
September 2013–June 2104: IT Consultant, Northwest Workers Justice Project Donated time as IT Consultant to a Portland based non-profit on a ground up rebuild of their server infrastructure.
- Developed configuration management using Salt Stack.
- Implemented replacement for hardware setup using virtual machines built on QEMU/KVM/Libvirt and Debian GNU/Linux.
- Wrote custom code in Python to transition data off legacy software.
- Created open source Python module for interacting with CiviCRM REST API.
November 2010–December 2013: Technical Support Specialist/Coordinator, Free Geek Free Geek is a non-profit that donates 1000 Ubuntu machines a year to non-profits and others with free tech support.
- Managed tech support department providing hardware and software support.
- Provided third line support (Ubuntu Linux).
- Created a suite of tools for automating tech support tasks including a tool for automatic backup and system and data replication across different hardware. (Bash/shell).
- Wrote a Python library to interact with ticket system api for data reporting purposes.
- Developed data recovery process.
- Implemented use of electronic ticket system, replacing paper system.
- Developed and documented tech support procedures.
- Linux system administration (Ubuntu and Debian GNU/Linux. Apache, MySQL, RT, Postfix).
- Joint manager of organization.
April 2010–November 2010: Tutor, SUN project Ron Russell Middle School Worked as part time tutor at an after school project teaching IT related courses (e.g. web design).
February 2009–May 2010: Relocated to the USA. Worked as a volunteer (due to contractual obligations and visa status) in a number of roles including IT consultant and teacher.
Sept 2005–January 2009: Systems Administrator, Red Snapper Ltd. Full service web development agency.
- Managed multiple servers providing hosting for clients using Apache, MySQL and in house CMS.
- Implemented replacement high availability cluster using Linux-HA, Heatbeat and DRBD for full mirroring across all servers for > 99.9% uptime and <5s failover times.
- Provided DNS and Email using Postfix/MySQL and TinyDNS for clients and internal use.
- Managed and implemented internal services such as vsftpd, LDAP, SVN, IP tables firewall etc.
- Sole responsibility for Linux systems administration (Debian).
- Worked with developers on managing internal software releases.
- HTML/CSS coding.
September 2003–September 2005: Tutor, Bristol Wireless Co-operative Taught courses, did design work and assisted systems administration for one of Europe's largest non-profit wireless networks using Linux.
June 2000–December 2002: Systems Administrator, 2Bet Ltd. Responsible for all systems and network administration for a software development company running Tomcat, Apache and MySQL (Linux/Solaris).
June 1998–June 2000: IT Development Worker, BPEC Set up the UK's first low cost public Internet access facility for an educational and environmental non-profit using Linux server with Windows clients..
September 1996–May 1998: IT Coordinator, River Ocean Research and Education Responsible for IT for an environmental non-profit (Linux/Windows).
Professional Affiliations
ACM Member (Association for Computing Machinery).
Community Service and Artistic Practice
IT & Open Source: I donate time to non-profits as an IT consultant and I am a contributor to, and author of, open source projects.
Artistic Practice My artistic practise art is based around using the web as technology for conceptual art. My current focus is on (producing software for) mapping as a tool for digital storytelling and the exploration of the invisble and the intagible in the world around us.
Board Service. I have served as a board member for a number of co-ops and non-profits.
Performance I trained for three years in Dance and Performance, and have performed at a semi-professional level.
Radio production and presentation I have five years experience of working in community radio.
Graphic design I have done graphic design work on a voluntary, and occasionally professional, basis for many years.
Mechanic Volunteer mechanic in community bike projects. Volunteer at Repair Cafe.