Graham North BSc
I have been in the IT industry for over 30 years and worked with some well-known global organisations.
- MOBILE: +44 (0)779 321 1967
- EMAIL: cvreply at netlinux dot co dot uk
The roles I tend to succeed at are clients who need to take a project or their business to the next level in Cloud/DevOps space.
Vast experience solving problems and engineering solutions in any IT space, including business/logistical issues.
Currently aspiring to CTO role in a startup or an architect role in a mature organisation.
All described below have at least 6 months experience ranging to 30 years:
Financial (Forex/Hedge/Fixed), Networks (TCP/UDP/IP/Multicast), Cisco, Juniper, RAID, Clusters, Farms, Cloud (AWS/EC2/ESX/vSphere/HyperV/XEN/VirtualBox), Containers (Docker/Kubernetes/Chroot/Rancher).
Developed/Administered many different complex real-time global systems including financial trading systems and high-volume well-known website systems.
More than 15 years in customer-facing support roles on global systems for BBC, Sony, Ericsson, Centurylink, plus others.
Worked as a DevOps (before it was called DevOps) and automation Engineer deploying to various cloud platforms including AWS and ESX.
Unix: AIX, Solaris, HPUX; Linux: RedHat, SuSE, Debian, Alpine (from Kernel 2.2); Windows: Server (from NT 3.51), Desktop (from 3.1), IOS, JUNOS.
Due to my maturity and experience I have been considered a team lead, team manager and solution architect.
This included man management: task allocation, performance assessment, also in some roles this extended to hiring, project and budget management.
Senior DevOps Engineer/Architect (Lloyds Banking Group 11/18-current)
Lloyds Bank Group (LBG) are moving to a Open Banking platform.
I am require to support their developers deploy this new strategy for public consumption.
This includes standing up many services associated with building, scanning, verifying and deploying the development output.
Tools include: Jenkins, Sonar, Selenium, Nexus, (Go)Harbor, Urban Code Deploy and Veracode.
Lloyds are currently deploying on IBM Bluemix (SoftLayer) and using Cloud Foundry PaaS.
They are also looking at Google Cloud and some proofs of concept are being pursued.
Source control is Gerrit and GitHub Enterprise.
Team Management is Jira.
Documentation is Confluence.
DevOps Engineer/Architect (Campus Society / Connectt 07/18-10/18)
Campus Society (Connectt Ltd) produce a social media platform originally targeted at students, but are expanding is as a platform for businesses.
My role there was to evolve the development showcase to a high volume platform suitable for world class businesses.
Their application stack was AngularJS frontend to Django middleware and MongoDB/Postgres (RDS) backend.
They also used ElasticSearch for results caching.
This involved porting their monolithic architecture deployed to a set of permanent clouds servers in AWS using Ansible to an IAC microservices based cloud architecture in virtual environments on AWS.
This also involved evolving their legacy discontinuous deployment which required a maintenance window for deployment, to an IAC continuous blue/green deployment which was used to deploy live without downtime, coded in Terraform and BASH for Gitlab CI.
The new deployment stack and model I coded up with the developers input to ensure smooth transition, to evolve the workflow and increase productivity over time.
I also needed to code and deploy a new build system using Gitlab CI to remove deployment contention and accelerate product development on Digital Ocean and AWS.
I also coded up as IAC logging aggregation using ELK: ElasticSearch, Kibana, Filebeat and Metricbeat on Digital Ocean and AWS.
All this was using docker for containerisation into AWS and Digital Ocean.
Once this was completed I did performance tuning on the result using Selenium, Celery, Python and BASH on AWS.
I managed to take a site barely capable of 100hits/sec with rare deployments due to downtime to one which exceeded 1,000 hits/sec with daily deployments and had the potential to reach 10,000 hits/sec with further performance tuning and up to 20 deployments per day.
Also a site which suffered from downtime on an unpredictable daily basis, to one where downtime was a rare and very manageable even during major site upgrades.
SCM was Git using Gitlab, Continuous Integration/Deployment was GitLab CI, project management was Jira Scrum and Kanban, documentation was Confluence.
I was also required to support their community teams, partners and the public for live issues.
DevOps Engineer/Architect (QuintilesIMS 05/17-03/18)
QuintilesIMS globally collect and provide medical data.
My role was to join their existing DevOps team which were creating the full continuous deployment pipeline for developers.
The developers were creating applications for QuintilesIMS clients to ingest, view and prepare reports on medical data.
This was to upgrade an existing product which was past end-of-life.
The team had problems with their existing infrastucture which was manually deployed, inconsistent and required constant maintainence.
I was asked create deployments for all the middleware in Docker Swarm using Jenkins Pipelines on an existing virtual infrastructure on VMWare ESXi.
This included coding up IAC deployments for Kafka, Zookeeper, Elastic search, Logstash and Kibana (ELK stack) in BASH and Ansible.
I created the deployments from scratch to deploy to development, integration and production environments.
I was also asked to adapt existing legacy Jenkins builds to Jenkins IAC continuous deployment Pipelines builds.
I managed to stabilise the middleware and create a predictable IAC continuous deployment pipeline which allowed the developers to focus on the application and increase productivity.
Part of my role was to support developers, management, architects and clients fixing bugs and providing customer solutions as needed.
One of these solutions was to create a deployment of Jira Service Desk, which was also in Docker and IAC continuous deployment using Jenkins Pipelines on VMWare ESXi.
This also involved costing and presenting the project to senior management of operations.
I was also involved in some POC and analysis for the company's future Mesos platform.
Servers were configured with Ansible and maintained with Puppet.
All code was controlled in GitLab.
Continuous Integration/Deployment was Jenkins Pipelines.
The teams were managed as Kanban using Jira for all workflow and Confluence for documentation.
Development teams used Scrum workflow which DevOps supported.
The role required some travel to support teams in Warsaw and Paris.
DevOps Technical Engineer/Architect (Secret Escapes 02/17-04/17)
Secret Escapes are a holiday trading website and re-seller.
They were really looking for a permanent DevOps so I was hired to fill the role while they were recruiting.
During my stay I was automating their existing manual build/test to a true CI pipeline in Jenkins pipelines on AWS.
There main issue was the poor quality tests, which were written in Groovy using the Grails framework.
Also they had issues with the speed of their MongoDB which required tuning
I was tasked to fix immediate issues with the build pipeline and then automate it as much as I could.
Automation was written in Jenkins Pipelines and Ansible on AWS.
I managed to create a predictable continuous deployment pipeline which the developers and testers could benchmark and then iteratively improve, allowing the product to improve.
Also some deployment was build out with Terraform.
Worked on ELK creating RESTful API queries.
All code was stored on GitHub.
All workflow was in Jira using Kanban management.
Other teams were using Scrum management.
DevOps Engineer/Architect (Home Office 05/16-11/16)
Skills: Docker, Kubernetes, ELK, Rancher, Alpine, CoreOS, Postgres, Hadoop, Apache, Tomcat, Java, Continuous Integration/Deployment, Puppet, Heira, R10K, Ansible, Jenkins, CloudFormation, Terraform, AWS (VPC/EC2/RDS), Git, Jira, Stash/BitBucket, Confluence, NodeJS, Scrum/SAFe
Mastek worked with the Home Office onsite in Fleet Street to provide solutions in their Immigration Platform Technologies.
Their main issue was the layers of legacy hacked deployment strategies which were now impossible to maintain.
I was asked to provide a solution encompassing their existing Puppet/RPM solution into a new Kubernetes/Docker/AWS continuous deployment environment.
This involved assessing their existing Puppet/Jenkins(JJB)/RPM/Nexus development toolset and porting it to Terraform/AWS/Jenkins/Docker/Nexus.
Modules which were written in Java for Apache Tomcat were wrapped into Docker containers and regression tested on the new AWS platform with Jenkins Pipeline scripts.
Postgres Database scripts which were written in Liquibase were ported to AWS RDS service which was also regression tested by Jenkins Pipeline scripts.
Also the Hadoop cluster was moved to the AWS EMR service which was also regression tested.
As DevOps I was involved in the coding of the scripts to port to the new infrastructure
Working as part of a team I managed to port most of the infrastructure to the new model which mean the developers could focus on improving the product with shorter deployment cycles.<
Also working with another consultant we coded up a logging aggregation solution as IAC in Jenkins for ELK: ElasticSearch, Logstash and Kibana.
The AWS estate was coded and deployed using Terraform and CloudFormation.
Servers deployed as IAC with Ansible and maintained with Puppet Heira.
All code was controlled in GIT/BitBucket(Stash).
The teams were managed as Scrum/SAFe using Jira for all workflow and Confluence for documentation.
Lead Real-Time DevOps Technical Engineer/Architect (CenturyLink 02/13-01/16)
Skills: Financial (Nasdaq, NYSE, LSE, BME, TSE, +others, Equities, Derivatives, Forex), MetaTrader 4+, ITCH/MITCH, FIX, MoldUDP/MoldUDP64, ATM, RIP, OSPF, IS-IS, STP, BGP, MPLS, Ethernet, Cisco, Juniper, Windows, Linux, Puppet, Chef, VMWare (ESX/vSphere), HyperV, AWS (VPC/EC2/S3/IAM).
Reason for Leaving: Business shrunk causing reversal of granted career move.
CenturyLink (formerly Savvis) provide global hosting and network services to financial and other clients.
Hired to provide expert-level technical support for their main financial customer Thomson-Reuters and their customers.
Thomson-Reuters customers include RBS, HSBC, Barclays, Lloyds, Meryll Lynch, Ava Kapital, plus many other banks and financial organisations.
Develop and provide fixes for network and hosting problems.
Work with Thomson-Reuters engineers and management to maintain their customer trading platforms.
Their main problem was loss of data and traffic on international under sea connections.
Required to understand financial applications at kernel/device level to work with customer developers in C++/Java on Linux and Windows.
Also required to understand IP, ATM and MPLS networks at CCIE level to work with suppliers on static and dynamics routing global networks.
Administered cloud systems on ESX (LabView/vSphere), HyperV and some on AWS (VPC/EC2/S3/IAM) for customers.
Applications were deployed as Docker containers and chroot jails onto ESX and AWS.
As lead worked architects to refine new solutions and senior leadership to SVP level to manage the customers needs.
Using specialised equipment of my own design, I managed to provide insight into the details of the network issues, which meant solutions were then forthcoming in a predictable and manageable way.
This retained a lucrative delicate customer contract with Thomson Reuters and other financial businesses, including banks, which were in trouble since I joined.
Provided consultancy services for Thomson Reuters developers to help them adopt DevOps culture.
Required to use Remedy BMS software for incidents/requests also Puppet Enterprise and Chef for deployment/administration.
Direct reports:2 Reporting to: Global Senior Manager
Indirectly managing approx 50 Engineers workload when required.
Cooperatively managing a budget of £110million.
LTE Platform DevOps Engineer (Alcatel-Lucent 11/12-01/13)
Skills: Linux, SMB/CIFS, NFS, DHCP/DNS, Apache, Python, packages, Bash/Awk/Sed, Jenkins/Hudson, Docker, chroot, VMWare (ESX/vSphere).
Alcatel-Lucent provide telecoms and mobile networks world wide.
Hired to work on the continuous integration testing systems which are on Jenkins/Hudson.
Developed python/bash test scripts for LTE platform builds to test on virtual machines on ESX.
Worked on existing deployment and testing system to improve coverage with Jenkins, Puppet, and both chroot and Docker on ESX.
Also worked on fixing bugs in the build to pass tests.
System involved fixing package builds (debian and tar).
Worked on a Scrum (agile) managed environment.
Worked on files in clearcase version control.
System DevOps Engineer (Qualcomm 02/12-09/12)
Qualcomm are silicon producers for the mobile phone industry.
They needed server provision for a development project.
Their main issue was a temperamental product which had technical instability which blocked the progress.
I created and deployed the virtual machine hosting environment and client machines as per company requirements.
I solely administered: git source control, bugzilla, apache, documentation (service) and automated testing service.
All the facilities are company wide services.
I also created and ran automated tests on the developed software using Puppet and chroot/Docker for HyperV.
Working with a hardware engineer, I managed to debug technical issues and stabilise the product so they could move the project to completion.
The client machines were a combination of Windows XP, Windows 7 and Debian Linux.
As part of the testing, jobs were run from the Linux machine to run Windows applications using bash/DOS batch and remote desktop.
I also set up the debian server to shared company and local filesystems using SMB/CIFS via it's apache webserver.
Company filesystems were held on a NetApp filer and used Active Directory (LDAP/Kerberos) for security.
Direct reports:1 Reporting to: Program Manager
Embedded System DevOps Engineer (AceAxis Ltd 07/11-09/11)
Skills: RedHat Linux, XEN, Puppet, Docker, chroot, PXE, Perl, RPM, Bash/Awk/Sed.
AceAxis produce radio masthead LTE systems for the mobile device industry
Worked on Linux platform to debug issues with their systems.
Deployed test infrastructure on LAMP and XEN virtualisation using Puppet.
Continuous integration and deployment using Hudson, Puppet and chroot on Xen.
Test System Developer/Administrator/Architect (ST 11/10-06/11)
Skills: RedHat Linux, Puppet, WordPress, Drupal, PXE, Perl, RPM, Bash/Awk/Sed.
ST are a global embedded silicon manufacturer.
Test system design, deployment and management.
Asked to deploy and support Wordpress and Drupal environments.
Deployed a continuous integration on VMWare using Puppet and Hudson/Jenkins.
Required to manage 2 teams of developers
Media System Developer/Administrator/Architect (BBC 07/10-08/10)
Skills: SuSE Linux, PXE, Yast, Perl, RPM, Puppet, Bash/Awk/Sed, ESX.
Here the project was to deploy/administer Ingex as a commercial product in a similar way to the Sony product on which I was working 2005-6
This contract was cut short (6 moths to 5 weeks) due to a change in the business requirement.
I was tasked to create/administer an repeated deployment/release and test system using Puppet on ESX.
During the short time I was on the project I created a fully automated nightly remastered DVD deployment from scratch.
I also created a full matrix automatic test system for all the current and future video+audio formats Ingex supports.
I worked with the R&D team to create the automated test plan and worked with their CVS, SVN and GIT repositories.
I also was required to deploy/administer a separate GIT repository for the release code.
Direct reports:1 Reporting to: Project Manager
Cluster Administrator (Schlumberger 12/08-01/10)
Skills: Puppet, Apache, Tomcat, Jira, RHEL 4/5/6, Kickstart, RPM, Server Administration, Virtualisation (ESX/vSphere/Oracle), Active Directory, Clusters, NAS, Perforce, PVCS, Scripting automation, Cisco Networking, Nagios, SNMP.
Schlumberger are the leaders in providing and support high performance simulation software to the oil industry in which I was:
Responsible for 32Tb NetApp Filer.
Responsible for user disc allocation across the whole company.
Worked closely with High Performance Computing (HPC) department.
Responsible for administration of several Linux High Performance Computing clusters (64 node, multicore).
Deployed and administered company wide build servers using Puppet.
Wrote many management and maintainence web interfaces in Perl with AJAX.
Wrote many automation systems in Bash/sed/awk.
Required to research and deploy virtualisation solution for testing team, including leaseing with testing team project managers.
Responsible for deployment and administration of virtualisation solution for testing team.
Provided advice to senior management regarding virtualisation (ESX/Oracle) strategies.
Responsible for maintainence of Apache/Tomcat servers.
Responsible for Cisco switch maintainence.
Deployed and maintained Nagios monitoring across most servers and clusters using SMNP and wrote plugins.
Worked closely with PC support team to provide integrated Linux/Windows deployment and support strategies.
Worked closely with Windows server and corporate network support teams.
Working with Perforce, deployed Linux Perforce/PVCS server and integrated it to the existing Windows Perforce source control strategy.
Deployed and maintained Linux servers as needed.
Direct reports:1 Reporting to: IT Manager
Network Architect/Software Engineer (Frazer-Nash 02/08-10/08)
Reason Leaving: Agreed salary increments not honoured, plus no pension or heath benefits.
Installed and maintained RedHat virtualisation.
Installed and maintained RedHat web server for internal hosting testing (EC2).
Installed and maintained Windows terminal server (virtual server) and added to Active Directory controller.
Installed and maintained web facing RedHat project collaboration server.
Worked with the network management and intranet team to provide additional support for Linux-based tools.
Provided advice, support and training.
Key software engineer on a Windows development project including QT4 development.
Developed Advanced GUI which is used an in-car display, using multithreading and OpenGL.
Worked on high power brushless DC motor control, modified embedded Space Vector Modulation control software to improve BLDC performance.
Modified CANBUS interface code to improve debugging of embedded 16-bit BLDC controller.
Interfaced advanced display to hardware via PIC.
Direct reports:3 Reporting to: Director Software Engineering
LINUX/UNIX Technical Support Specialist on BBC.CO.UK (Siemens 07/07-12/07)
Reason Left: Probation period, unsuitable role (training not provided as arranged)
Siemens manage the web sites for a number of customers including BBC and ONS
Largest was BBC website farm of approx 500 servers which are balanced in groups
The role involved working on Remedy tickets raised by the customers and problems raised by system monitoring.
Most of the work involved resolving machine outages, hardware, DNS and streaming issues, and web application problems
Configured caching farms and load balancing web/application servers using DNS.
Used virtualisation tools (vmware) and built and maintained large scale application stacks.
An element of the role required me to be 24 hour on-call for one week periods.
Solaris training not provided as agreed in interview which held back my progress in the role.
Direct reports:5 Reporting to: Team Manager
Linux Development Contract (Datapulse 02/07-06/07)
Applied a firmware modification to Philips XA processor based Nortel PABX client in Embedded C/Assembler.
Revised a modified Debian distribution for USB embedded EPIA10000.
Applied software fixes to Linux services in GNU C++/Perl/Bash.
Successfully undertook major refactoring of Windows client side code in Visual C++ 6 ActiveX and DLL.
Fixed long outstanding bugs (2+ years).
Provide Linux Mentoring.
Set up documentation server on LAMP stack (RedHat Linux/Apache/MySQL/PHP) using MediaWiki/Doxygen/HTdig.
Used the companys Visual SourceSafe source control system and PRF (in house) bug tracking system.
Direct reports:3 Reporting to: Project Leader
Linux Development, Administration and Support Contract (Sony 06/05-12/06)
Debugged and documented MIPS DVB target embedded Linux platform using GNU tools.
Provided mentoring services for colleagues (as part of contract requirement).
Wrote Installation software for RHEL3 Linux target in TCL/TK and Bash/Awk/Sed.
Adapted a Linux cluster management system using Condor/Bash/Awk/Sed.
Administered RedHat media server to work with Window XP and Mac clients via Samba/CIFS and NFS in BASH/Perl.
Package management via the RedHat Network.
Repackaged RPM builds for deployment.
Adapted web based account administration tool in Perl/CGI/XML/Awk/Sed/Bash.
Created RAID system and web-based RAID management system in Linux using Linux RAID and PHP/BASH.
Debugged and redesign system to add co-operation between Windows 2K/2K3 Domain Controller, RedHat ES Server, Windows XP and Mac clients using Samba/CIFS, Active Directory and NFS in Bash/Perl/Awk/Sed.
Adapted RedHat install CD/DVD to install Sony media system as well as RedHat OS as an media server build system using CD remastering tools and Python.
Involved(paired) in writing/adapting/debugging of DV/HDV MPEG format converters (ffmpeg/avilib/quicktime) in C/C++/Java.
Involved in project level implementation details of Java video codecs (Quicktime).
Included security key system to CD/DVD installer to lock installs to hardware using Linux network drivers and MD5 checksumming in Bash/C.
Adapted CD Linux distribution to create a server disaster recovery solution using Knoppix/Gentoo, KDevelop/QT and CD remastering tools.
Collaborated development with Sony's Californian team using Skype/email/CVS/TestTrack.
Used company's CVS, Clearcase, etc source control systems, project management/bug tracking software (Bugzilla/TestTrack).
Provided general Linux site support and mentoring.
Direct reports:1 Reporting to: Project Manager
Embedded DAB Contract (Frontier Silicon Ltd 03/05-06/05)
Skills: Embedded C, GNU toolset, Bash, Awk, Sed, Device Drivers, DAB, JTAG, VHDL, Logic/Scope Analysis
Wrote flash drivers using GNU tools and Lauterbach JTAG on embedded hardware target.
Wrote PC based emulation of hardware with GNU Tools in Bash/Awk/Sed/C/C++.
Worked with Hardware Engineers to diagnose/debug FPGA using logic analyser, scopes and simulation.
Adapted drivers to use DMA drivers provided and PC emulation with GCC/GDB/DDD.
Integrated software (file access layer and block layer) provided by Samsung to provide file system.
Used company's CVS source control system.
Mobile Handset CRM Contract (Ericsson Mobile Phones Ltd 11/04-02/05)
Skills: CRM, Clearcase, GSM, UMTS, Visual C++, Problem Solving, Perl
Processed Ericsson's Customers' requests adapted code.
Performed source and product merges in Clearcase using Ericsson produced Java/Perl tools.
Processed requests via Ericsson's incident tracking software.
Adapted source code on Ericsson's GSM and UMTS ARM products and PC emulation software for their customers written using Visual Studio in C/C++ and Object C.
Tested and exercised solutions on a evaluation board, on customers handsets and in PC emulation using internal test and calibration software.
Used Company's Clearcase source control system.
Embedded Linux/PowerPC Contract (Accton UK Ltd 06/04-10/04)
Skills: Motorola Book E/E500 core complex (8540), Assembler, Linux Kernel, Device Drivers, JTAG, CVS
Tested bootloader (Motorola U-Boot) and Montavista Linux distribution on a pre-delivered Motorola development board with GPL code using a BDI debugger and JTAG Tools.
Obtained and tested boot loader source for Motorola development board (DENX U-Boot) using JTAG Tools.
Modified bootloader code to add comprehensive scripting engine using Linux GNU tools in embedded C.
Adapted scripting engine to be emulated on both Linux and Windows environments using QT/GNU, Borland command line tools and a Windows emulation in C and C++.
Ported bootloader source to be used on an Motorola router board which the company is manufacturing using GNU tools in embedded C and Assembler.
Wrote driver code in the bootloader to allow network port crossover at TCP layer 2 (MAC) to assist the hardware team in testing using GNU tools in embedded C.
Worked with and supported the hardware and software teams and used the company's CVS source control.
German Project Management Contract (Sci-Worx GmbH 12/03-02/04)
Skills: Project Management, Effort Estimation, MS Project, MPEG4, CVS, Clearcase, Linux
Learned the companys protocols and used technical knowledge for specification negotiation.
Wrote a plan for the client and then follow this through supporting and giving assistance as necessary.
Re-negotiated deadlines in absence of the program manager.
Learned extra technologies and how they fit with the firmware in order to guide the engineers.
Learn and present implementation details of MPEG4 CODECs to engineers and management.
Used the companys document and code control CVS and Clearcase. Also learned some German.
Direct Reports:10, Indirect Reports:25, Reporting to Project Director.
Senior Project Engineer (Domain Dynamics Ltd 01/02 - 07/03)
Skills: Visual C++, Embedded C/C++, VB, Pocket PC, Matlab,signal processing, Linux, Device Drivers, JTAG, CVS, IT Administration, CVS
Reason Left: Company in severe financial crisis. Made redundant as part of shrinkage. Has since folded.
Wrote signal processing algorithms in Matlab, Visual C++/MFC and embedded C++ using Embedded C++ 3.
Ported Voice authentication C++ application to WinCE/Pocket PC platforms.
Wrote C++ applications for Linux and Symbian (short test project only) to assess platform porting feasibility.
Redesigned and rewrote the current core development kit as an ActiveX SDK in Visual Studio.
Wrote ActiveX sound API driver and LPT device drivers to go with SDK for Win98/2000 in Visual Studio.
Ported a number of algorithms from Matlab to Visual Studio as ActiveX controls.
Adapted to include smart card voice authentication using time warping applet on the card.
Wrote a smart card ActiveX control for use with the applet for voice authentication on a PC in Visual Studio.
Built and maintained a Linux server used for development and was the companys FTP server.
Managed several projects and a small but variable team of project engineers.
Was involved in recruitment and client contract assessment, faced clients, wrote promotional and demo software and documents, involved in marketing campaigns including TV productions for the BBC.
Used to companies CVS source and document control system.
GPRS PC Card Contract (Option International NV 05/01-12/01)
Skills: Real-Time Embedded C/C++, Device Drivers, ARM, Clearcase
Re-wrote PCMCIA embedded boot driver to boot ARM7 card, download FPGA configuration and download CIS via cards system bus from internal memory in target time of 1 second (PCMCIA Spec) in embedded C.
Re-wrote a UART driver for the ARM7 card in real-time embedded C.
Designed a method for in field reprogramming of the firmware using VHDL and embedded C/C++.
Managed some of the companys staff on this project and used the company's Clearcase version control system.
GSM Layer 1 Contract (TTPCom 10/00-04/01)
Skills: Real-Time Embedded C/C++, RTOS, GSM Layer 1, Device Drivers, ARM, JTAG
Built simple OS and device drivers on ARM 940T platform in embedded C and ARM assembler.
Wrote hardware interrupts vector handlers, set-up memory and stacks in ARM assembler and interfaced functions from the assembler for second layer in embedded C using ARM SDT, JTAG.
Wrote Layer 1 embedded device drivers for LCD display, phone keypad, RF & audio DACs & ADC, JEDEC drivers for flash memory, UART I/O, ALU register access, interrupt controller, PCI Bus controller, plus other system resources in embedded C.
Wrote a user interface menu system application layer in embedded C to be accessed via the primary UART using a terminal emulator.
Wrote bootstrapper which had 2 UART drivers (one user, one debugging) and a flash driver in assembler.
Provided spec for hardware layer to the AMX Kadak kernel to provide a generic (portable) kernel interface.
Used the project version control system (PVCS).
Belgian Embedded RTOS Contract (ERG Transit Systems/AES Prodata 06/00-09/00)
Skills: Real-Time Embedded C/C++, Device Drivers, Motorola 68332, Linux, UNIX.
Wrote applications and device drivers for Motorola 68332 target in real-time embedded C.
Wrote test tools in C++, and upgraded and tested device drivers using Metrowerks in embedded C/C++.
Modified the embedded magnetic card/printer driver to account for unusual ticket loss.
Tested the amended the embedded device drivers on the Motorola target via UNIX debugging suite.
Ported DOS console applications to Windows dialog applications using Visual C++ 6.
Reverse engineered applications to operate on a variety of Windows platforms.
Projects were held on a Solaris UNIX server, were written on a UNIX terminals, Linux PCs and under TEAMWARE source control.
Windows CE Contract (Milton Keynes Council 12/99-05/00)
Skills: Embedded C++, device drivers, Smart Card, WinCE, SQL Server 7, Oracle 8, Visual Studio
Wrote applications that interface with a smart card reader to read and store information on bus passes (smart cards) in Visual Studio and embedded C++ for WinCE 2.11 HPC target (Phenom palmtop).
Implemented a portable system that comprises a HPC device, an ASCII receipt printer and a smart card reader to give the user a portable station to issue, withdraw and update the passes.
Wrote device drivers for the smart card access built up 4-layer stack (hardware/ network/ transport/ application layer) in embedded Visual Basic 3 then in embedded C++ 3.
Wrote management tools using Visual Basic 6 to access the database through an ODBC connection either direct to the Oracle 8 server or via MS SQL 7 Server, enabling the viewing and printing out reports for accounting purposes.
VB/SQL Contract (The Planning Inspectorate 06/99-12/99)
Skills: SQL Server 6.5, MS Access, VB, VBA, ActiveX, Sourcesafe
Adjusted the requirements, high-level and low-level designs and wrote pseudo-code and products.
Managed the team in coding of the application and was responsible for ensuring conformity protocols design.
Assisted in beta testing and user feedback.
Ported and redesigned database from Access to SQL Server using ODBC and Visual Basic 6.
Wrote form based application to integrate MS Word and MS SQL 6.5 Server in VB and VBA.
Wrote database management tools for database administrators to maintain/amend SQL Server letter data in VB/ActiveX using Visual Basic 6 under MS Sourcesafe.
Bangor Website Contract (Bangor City Council 12/98-04/99)
Skills: HTML, TCP/IP, ActiveX, Linux
Worked with the clients to iterate page designs and wrote web pages for Bangor Council and local businesses for IE and Netscape (on SuSE Linux) in HTML using a text editor, an image editor and browsers.
Worked with the ISP to establish a server running ActiveX in London and remotely supported from Wales.
Internet Cafe Contract (The Green Room Cafe 06/98-12/98)
Skills: Linux, TCP/IP, Ethernet, Server and IT Support, CRM, Customer Facing
Set up and ran an Internet cafe from within an existing popular cafe.
Designed and wrote marketing application which presented the company imagery, fired up several productivity applications to replace MS Explorer in C++ and MFC using Visual C++ 5.
Designed and implemented system including network fax server and a proxy firewall server.
Bailrigg FM (at University), 09/96-06/98
Skills: VC++, Borland C
Reason: Left due to degree finish
Reverse engineered the DOS C database system in C++.
Designed an developed database and debug logger database in C++ and MFC using Visual C++ 5.
Help Desk (Lancaster University 01/98 - 04/98)
Skills: NT Administration, UNIX Administration, Customer Facing, Customer Support
Reason: Left due to degree finish
Set up users accounts and solved access problems on Sun Solaris UNIX server and the NT server.
Demonstrated to customers how to access email via ELM and PINE on both UNIX and NT workstations and operate printing services through the NT print server.
The PCs were UNIX disk less terminals, Windows for Workgroups 3.11, NT3.51, NT4.0, and SUSE Linux.
Repair/Conversion/Installation Engineer (Self employed 06/85 - 09/94)
Skills: RF, Electronics, Support, Customer Facing, CRM, 240/415VAC Power, IT Installations
Reason: Finish to start degree
Trained and worked on mains installations, wiring office buildings for mains supply.
Installed IT client/server networks into offices.
Trained, built and repaired RF and audio amplifiers, power supplies also analogue and digital tuning circuits.
Built, repaired and tuned several different designs of antennas including beam and wide-band.
Repaired domestic equipment, repaired and adapted PMR and HAM radios.
Lancaster University, 09/95 - 06/98
Qualifications: BSc Computer Science
Degree modules included GUI Design, Natural Language Processing, Telecommunications, Presentation & Documentation, Computer Systems Architecture, Communication, High Level Programming, Software Engineering and Databases.
Design methodologies used during the degree included OOD (Object Orientated Design), Waterfall Design, Black Box Testing and CASE Tools.
UNIX experience included Sun Solaris and SuSE Linux.
High level work on Ingress, SQL, C, C++, Visual C++, MFC, Active X, HTML.
Designed and built robot devices in assembler, C, C++ on embedded targets with decision making abilities.
Designed and wrote device drivers for DIO controllers, RS232 ports and 418MHz RF radio modules.
Lancaster & Morecambe College of Further Education, 09/94 - 06/95
Qualifications: BTEC National Diploma Electronic Engineering Course
Passed at distinction (highest) level: Microprocessor Control, Information Technology, Electronic Principles, Electronics and Mathematics.
School: Heysham High School, Limes Avenue, Morecambe, Lancashire, 09/78 - 03/85
Qualifications: A Levels, O Levels and CSEs
O Levels: Maths A, Physics B, Computer Studies C, Control Technology B, Technical Drawing C.
A Levels: Maths, Physics, Computer Science, Genera Studies.
CSEs English II, French II.
INTERESTS AND HOBBIES.
Keen interest in music, cycling, skydiving, weight training, cars (mechanics) and electronics. Host local organisations on private cloud for over 10 years at www.netlinux.co.uk.
Nationality: ENGLISH, but also speak some French and German
Date of Birth: 01/04/1967
Marital Status: Married with 2 Children and live in Reading, UK