Personal Profile

As a highly motivated individual, I enjoy developing software and pride myself on writing code to the highest possible standards. I find planning, writing and debugging software rewarding.

During my time at Bluefruit Software I've implemented new and fixed existing features, run daily stand-ups while working with colleagues to plan work requested by clients, solve problems and review code for merging. Additionally I have demostrated completed work to colleagues to allow for knowledge sharing and peer review.

I am looking for a position within a software development company where I can bring my programming experience to an enthusiastic team and also take the opportunities to develop my current programming skills further.

Programming Skills
Key:    Experienced    Intermediate    Basic |    Learning    Legacy

Programming Languages:
   C (8 years)    C++ (8 years)    C# (5 years)
   Python (3 years)    Perl (12+ years)    Unix shell (Bash)
   PowerShell    Visual Basic
Operating Systems:
   Windows    Debian    Alpine Linux
   mac OS/Mac OS X    OpenSuSE    NetBSD
   CentOS    MS-DOS
Development Software:
   buildroot    CMake    GCC
   Code::Blocks    GDB    Google Test
   Sourcetree    VirtualBox    IAR Embedded Workbench for ARM
   Visual Studio    Visual Studio Code    VMware Workstation
   wxWidgets    Xcode    Moq
   KDevelop
Server Software:
   Apache    Dovecot    HAProxy
   iptables    KVM    lighttpd
   mod_perl    OpenSSH    Postfix
   PostgreSQL    SpamAssassin    Xen Hypervisor
   MySQL
Productivity Software:
   The GIMP    Inkscape    LibreOffice
   Microsoft Office    Scribus
Source Control Software:
   Git    Subversion    CVS
Methodologies:
   Scrum    XP    Lean
   Kanban    Waterfall
Projects

Xestia Address Book
Native CardDAV (RFC6352) address book client which uses vCard 4.0 (RFC6350) with search, sorting, detailed contact management and maintains compatibility with the OSX/iOS address book applications. Written in C++ using wxWidgets, cURL and SFML's audio library.

Xestia Calendar In Development
Native CalDAV (RFC4791) calendar client which uses iCalendar 2.0 (RFC5545) with search, reminders and detailed calendar entry management. Written in C++ using wxWidgets and cURL.

Xestia Gelforn
Gelforn (Cornish for Forge) is a source code management system and has features such as bug tracking, request for enhancements, repository management and source code downloads. Written in Perl and C++ with some Unix shell scripting.

Kiriwrite
Kiriwrite is a web-based (browser-based) interface for creating pages for websites, intended for those who know how to create pages by hand and want to accelerate the process of (re)designing a static-only website. Written in Perl using SQLite.

Qualifications & Courses

Date: July 2016
Location: Bluefruit Academy Summer School (Redruth)
Description: Two week summer course learning Agile development and project management, discussing client requirements and feedback, working in teams, developing new software for a local charity's defibrillator cabinets throughout Cornwall. I helped develop an application to post cabinet status and events (open/close door) to the web server. I also helped develop a way of monitoring a microphone's input to determine if the defibrillator is faulty by listening for its audio beep frequency.

Date: September 2008 - June 2010
Location: Cornwall College St Austell
Qualification: NVQ Levels 2 & 3 in Accounting
Result: Passed

Date: September 2003 - June 2005
Location: Cornwall College St Austell
Qualification: BTEC National Diploma in Computing (IT Practitioner for Systems Support) - NVQ Level 3
Result: Distinction

Work Experience

Bluefruit Software Date: April 2017 - Present
Position: Software Developer
Redruth, Cornwall - Working remote

  • Planning and estimating work with colleagues
  • Writing new code using unit tests
  • Understanding and exploring existing code using unit tests
  • Writing bare-metal code for STM32 single (F1/F2) and dual core (H7) systems
  • Working with clients to implement and fix existing features as required
  • Re-factoring existing code when required
  • Working with colleagues to solve problems
  • Pair/mob programming
  • Reviewing colleague's pull requests and merging code
  • Reviewing release reports
  • Running daily stand-ups
  • Demonstrating completed work to colleagues to share knowledge learnt
  • Writing scripts in Python and PowerShell where required
  • Setting up quality metrics to monitor memory usage and code coverage

Other Work Experience

Date: August 2008 - March 2017
Organisation: Volunteer Cornwall
Position: Transport Co-ordinator (Part time position)
Duties: Dealing with client and public phone calls, allocating and assigning time critical tasks to volunteers, receiving and escalating customer feedback, working with other colleagues, data entry, work flexibly within a small team, providing support in a variety of roles, training colleagues how to use the computer system.

Date: April 2006 - August 2008
Organisation: Unemployed
Duties: Volunteering (Local authority / Volunteer Cornwall) and programming Kiriwrite.

Date: November 2005 - March 2006
Organisation: HM Revenue and Customs
Position: Revenue Assistant (Part time position)
Duties: Data entry, liaising with colleagues when problems occur.

Additional Information

I manage a co-located server using a local co-location provider.
I enjoy taking walks to local beaches, towns and villages.