Graham North BSc, BEng

Downloadable (MS Word format)

SUMMARY

All described below have at least 6 months experience ranging to 30 years:

Operating Systems

Unix: AIX, Solaris, HPUX; Linux: RedHat, SuSE, Debian, Gentoo, Montavista (Kernel 2.2+); Android (Froyo+); IOS; RTOS: VxWorks, AMX, MeOS, MOS; Windows Server, Desktop (from 3.1), Mobile (CE 2.0+, Pocket PC 2000/2002, WinCE 5/6).

Software

ITCH/MITCH, FIX, MoldUDP/MoldUDP64, TCP, UDP, IP, ATM, Ethernet, Linux Kernel, Device Drivers, Real-Time C/C++, GNU toolset, MultiProcess/MultiThreading(pthreads), STL/Boost, OpenGL (2.0+, ES 1.0+), QT (Creator/GCC), Java, DirectFB, Kylix, Assembler, Perl, Python, PHP, TCL/TK, BASH, AWK, Java/JavaScript, Visual Studio6/2005/2008, Eclipse, ELK, Splunk.

Hardware

ARM7/9/11/Cortex/SAM3X, MIPS, Motorola E500/68332, Intel (Pentium/Xeon/Nehalum/Westmere), PIC (16FXXX), Broadcom VideoCore, JTAG, Philips XA (16-bit), ST10 (16-bit), Atmel AVR.

Management

Due to my maturity and experience I have been considered a team lead or team manager.
This included man management: task allocation, performance assessment, also in some roles this extended to hiring and project management.

COMMERCIAL EXPERIENCE

MoD SC Cleared Senior Embedded Real-Time Engineer/Architect (MBDA 12/23 -)

Skills: Embedded C, NXP i.MX 6, TI SoC, PikeOS, ARM TrustZone, RTOS, MISRA C, DO-178, IEC 61508, JTAG, Oscilloscope, Git, IBM RTC/EWM

Developed embedded software for missile guidance systems, employing Embedded C and integrating with Texas Instruments (TI) SoCs and NXP i.MX 6 series processors to meet stringent real-time requirements.
Utilized PikeOS RTOS for its secure separation microkernel architecture, facilitating the creation of embedded systems that met the high safety and security standards required in defense applications.
Implemented ARM TrustZone technology within NXP i.MX 6 platforms, establishing secure execution environments to protect critical software components from cybersecurity threats.
Adhered to MISRA C guidelines, aerospace standard DO-178(B+C), and functional safety standard IEC 61508, ensuring the software's safety and reliability in mission-critical environments.
Held UK Ministry of Defence Security Clearance (MoD SC), enabling work on sensitive defense projects in compliance with national security requirements.
Collaborated with hardware teams to ensure seamless integration of embedded software with NXP i.MX 6 and TI SoC hardware, leveraging PikeOS for system efficiency and performance.
Employed IBM Rational Team Concert (RTC)/Engineering Workflow Management (EWM) for effective project management, source control, and team collaboration in a regulated development environment.
Maintained up-to-date knowledge of embedded systems technologies, security measures, and compliance standards, applying best practices to contribute to project success.

Principle Embedded Real-Time Engineer/Architect (Turbo Electric 10/18 -)

Skills: EV Charging Systems, Vehicle-to-Grid (V2G) Technology, AI and Machine Learning, Advanced Power Electronics, Embedded Systems (OpenGL ES 2.0, Broadcom/VideoCore, AVR, ARM), Optical and Analogue Computing, Cybersecurity, Compliance and Safety Engineering (IEC 61508, ISO 26262)

Led the development of ultra-efficient Level 2 AC and Level 3 DC fast charging protocols for electric vehicles, employing advanced power electronics and innovative control algorithms to maximize energy transfer efficiency and grid compatibility.
Pioneered Vehicle-to-Grid (V2G) systems, implementing AI-driven algorithms for dynamic bidirectional energy flow management, optimizing smart grid interaction, and enabling EVs to participate in demand response and energy trading.
Developed intelligent charging station infrastructure, utilizing AI and machine learning models to predict peak usage times, optimize charging schedules, and implement predictive maintenance, significantly enhancing operational efficiency and user satisfaction.
Engineered user interfaces for charging stations with OpenGL ES 2.0 on Broadcom/VideoCore chipsets, providing a seamless and intuitive user experience across diverse embedded platforms, including AVR and ARM.
Integrated optical and analogue computing techniques into the embedded systems for real-time data processing, exploring novel approaches to enhance computational speed and efficiency in energy management tasks.
Ensured rigorous compliance with IEC 61508 and ISO 26262 safety standards, applying AI-based diagnostic tools to preemptively identify system anomalies and mitigate risks, ensuring the highest levels of safety and reliability.
Collaborated with global standards bodies to advocate for and contribute to the development of interoperable EV charging protocols (SAE J1772, CHAdeMO, CCS), leveraging AI to enhance protocol adaptability and future-proof charging technologies.

Linux Real-Time System Engineer/Architect (Campus Society / Connectt 07/18-10/18)

Skills: Webservers, Android, IOS, Python, Control Automation, Logging, Database, GitLab, Jira, Confluence, Scrum, Kanban, BASH

Experienced Linux Real-Time System Engineer/Architect with a proven track record in evolving complex application stacks and deployment models.
Led the evolution of Campus Society's social media platform from a student-focused application to a high-volume platform suitable for businesses.
Ported the monolithic architecture deployed on permanent cloud servers in AWS to an Infrastructure as Code (IAC) microservices-based cloud architecture on AWS virtual environments, using Ansible for automation.
Implemented continuous blue/green deployment using Terraform and BASH scripting for GitLab CI, allowing live deployments without downtime.
Developed and deployed a new build system using GitLab CI to accelerate product development on Digital Ocean and AWS.
Implemented logging aggregation using ELK (ElasticSearch, Kibana, Filebeat, Metricbeat) on Digital Ocean and AWS, utilizing Docker for containerization.
Conducted performance tuning using Selenium, Celery, Python, and BASH scripting on AWS, increasing the site's capacity from 100 hits/sec to over 1,000 hits/sec, with potential for 10,000 hits/sec with further tuning.
Provided support to community teams, partners, and the public for live issues, ensuring minimal downtime even during major site upgrades.
Utilized Git for version control, GitLab CI for continuous integration/deployment, and managed projects using Jira Scrum and Kanban methodologies. Collaborated on documentation using Confluence.

Linux System Engineer/Architect (QuintilesIMS 05/17-03/18)

Skills: Webservers, Control Automation, Logging, OS, Git/GitLab, Jira, Confluence, Artifactory, Scrum, Kanban, IAC

Dedicated Linux System Engineer/Architect with a focus on delivering efficient and automated solutions for software deployment and maintenance.
Joined the existing engineering team responsible for creating delivery automation for developers working on applications processing medical data for QuintilesIMS clients.
Upgraded an existing product that had reached end-of-life, resolving issues related to manual deployment, inconsistency, and constant maintenance requirements.
Created automation scripts from scratch for deploying software to target environments, ensuring stability and predictability in the platform.
Managed the upgrade of existing legacy builds, stabilizing the software and providing a reliable platform for developers to focus on engineering tasks, thus increasing overall productivity.
Provided continuous support to developers, management, architects, and clients by fixing bugs and delivering customer-oriented solutions.
Engaged in proof-of-concept (POC) projects and analysis for the company's future platform, contributing valuable insights and recommendations.
Utilized GitLab for version control, implemented Kanban workflow using Jira for project management, and utilized Confluence for documentation purposes.
Collaborated with development teams using Scrum methodology and occasionally traveled to provide on-site support to teams in Warsaw and Paris.

Linux Technical Engineer/Architect (Secret Escapes 02/17-04/17)

Skills: Databases, Webservers, Control Automation, Logging, Git/GitHub, Jira, Confluence, Scrum, Kanban

Dynamic Linux Technical Engineer/Architect with a keen eye for automating and optimizing existing processes to enhance system performance.
Demonstrated ability in addressing immediate platform issues, optimizing storage speed, and automating manual build/test processes to create a stable and predictable platform.
Strong problem-solving skills and a commitment to iterative improvement, fostering a collaborative environment for developers and testers.
Temporarily filled the role of a permanent engineer at Secret Escapes, focusing on automating their manual build/test processes to create a truly automated platform.
Addressed immediate issues related to poor quality tests by rewriting them in the appropriate framework, significantly improving the reliability and accuracy of testing procedures.
Optimized storage speed by tuning the storage infrastructure, resolving performance bottlenecks and enhancing overall system efficiency.
Automated manual build/test processes, creating a stable and predictable platform for developers and testers to benchmark and iteratively improve, resulting in enhanced product quality.
Stored all code and project documentation on GitHub, ensuring version control and easy collaboration among team members.
Utilized Jira with Kanban management for workflow organization, streamlining tasks and facilitating efficient task allocation.
Collaborated with teams using Scrum management, fostering a cohesive working environment and ensuring seamless integration of work across different teams.

Real-Time Technical Engineer/Architect (Home Office 05/16-11/16)

Skills: C++, Database, Webservers, Control Automation, Git, Jira, Stash/BitBucket, Confluence, Scrum/SAFe

Results-oriented Real-Time Technical Engineer/Architect with a proven track record of successfully integrating existing platforms into new deployment environments.
Experienced in assessing and upgrading Linux development toolsets, coding scripts/modules, and developing network monitoring tools.
Adept at managing projects in fast-paced environments, ensuring seamless workflow using agile methodologies.
Collaborated with Mastek to provide solutions for the Home Office's Immigration Platform Technologies, involving the integration of the existing platform into a new deployment environment.
Assessed the existing Linux development toolset and upgraded it to align with the requirements of the new infrastructure, ensuring compatibility and efficiency.
Coded scripts and modules to port the existing platform to the new deployment environment, ensuring a smooth transition and minimal disruption to operations.
Developed network monitoring tools in C++ to enhance the Home Office's ability to monitor and manage their network infrastructure effectively.
Managed all code and project documentation in GIT/BitBucket (Stash), ensuring version control and seamless collaboration among team members.
Implemented Scrum/SAFe methodologies using Jira for workflow management and Confluence for documentation, streamlining tasks and ensuring efficient task allocation.

Real Time Platform Engineer/Network Architect (CenturyLink 02/13-01/16)

Skills: C/C++, Java/JavaScript, Perl/Bash, TCP/UDP/IP, Ethernet, Cisco, Juniper, Windows, Linux, Team Management

Dedicated Real-Time Platform Engineer and Network Architect with extensive expertise in designing and developing cutting-edge monitoring platforms and providing expert-level technical support for global hosting and network services.
Proven track record in customer-facing roles, collaborating with mathematicians and engineers to optimize real-time applications, generate significant revenue, and enhance customer confidence.
Experienced in team management, overseeing direct reports, and indirectly managing workloads for a team of engineers.
Provided expert-level customer-facing technical support for main customer Thomson-Reuters and their clients, ensuring seamless deployment and operation of global hosting and network services.
Designed and developed a real-time small-formfactor monitoring platform in C/C++ on Linux Intel/ARM platforms, utilizing statistical analysis to assess networks, predict issues, and automatically provide solutions.
Collaborated with client mathematicians and engineers to modify real-time applications, improving algorithm performance and ensuring optimal functionality.
Successfully generated significant revenue and enhanced customer confidence through the implementation of monitoring equipment and application modifications.
Designed and deployed various web-based internal tools using JavaScript, Perl, and Bash on both Linux and Windows platforms, improving information retrieval and providing efficient solutions.
Utilized Remedy BMS software for incident and request management and GIT version control for efficient versioning and collaboration.
Managed a team of 2 direct reports and indirectly supervised the workload of approximately 50 engineers, ensuring efficient project execution and team productivity.

Real-Time LTE Platform Architect (Alcatel-Lucent 11/12-01/13)

Skills: C/C++, Linux, Apache, Python, packages, Bash/Awk/Sed, Jenkins/Hudson, Virtualisation.

Innovative and detail-oriented Real-Time LTE Platform Architect with a focus on building robust firmware environments and Linux kernel layers.
Expertise in developing initial boot environments, bootloader systems, and firmware deployment solutions for LTE small cell platforms.
Skilled in resolving firmware bugs and ensuring seamless operation in telecoms and mobile networks.
Experienced in Scrum (agile) managed environments and version control using ClearCase.
Contributed to building the firmware initial boot environment and lowest layer of the Linux Kernel and uboot bootloader in C++/C using GNU tools for a new LTE small cell platform.
Developed the initial boot stages and image payload deployment system in C/Assembly using GCC, ensuring smooth firmware deployment and operation in the field.
Fixed firmware bugs in the existing port of uboot and Linux kernel primary boot sequence, resolving memory/stack setup issues in C/Assembly using GCC.
Collaborated within a Scrum (agile) managed environment, ensuring effective teamwork and streamlined development processes.
Utilized ClearCase version control for managing files and ensuring versioning integrity throughout the development process.

Embedded System Architect (Qualcomm 02/12-09/12)

Skills: C/C++, Linux, Windows, SMB/CIFS, Apache, Perl, PHP, Javascript, DEB packages, Bash/Awk/Sed, Virtualisation, Team Lead.

Dedicated Embedded System Architect with a proven track record in designing and deploying cloud hosting environments and client machines for silicon producers in the mobile phone industry.
Skilled in team leadership, I have successfully managed the deployment of automated tests, ensuring company-wide services and seamless operations.
Experienced in administering git source control, bugzilla, apache, documentation services, and automated testing platforms.
Adept at cross-platform integration and implementing secure filesystem solutions.
Designed and deployed a cloud hosting environment and client machines for a development project, meeting company requirements and ensuring efficient cloud provision for mobile phone silicon production.
Managed a combination of Windows XP, Windows 7, and Debian Linux client machines, conducting automated tests on developed software using cross-platform tools and bash/DOS batch scripts.
Set up the Debian server to share company and local filesystems using SMB/CIFS via its Apache webserver, ensuring seamless access and data integrity.
Administered git source control, bugzilla, and documentation services, maintaining version control, issue tracking, and comprehensive documentation for efficient project management.
Implemented automated testing services, ensuring the reliability and accuracy of developed software, thereby enhancing overall product quality.
Utilized Active Directory (LDAP/Kerberos) for security measures and ensured secure access to company filesystems stored on a NetApp filer.
Managed a team of 1 direct report, reporting to the Program Manager, ensuring effective communication and streamlined project execution.

Embedded System Architect (AceAxis Ltd 07/11-09/11)

Skills: C/C++, Linux, XEN, LTE Layer 1.

Detail-oriented Embedded System Architect with expertise in debugging layer 1 and hardware issues for radio masthead LTE systems in the mobile device industry.
Skilled in utilizing GNU tools and working on Linux platforms.
Proven ability to diagnose and resolve complex problems, ensuring seamless operation of critical systems.
Collaborated with AceAxis Ltd to develop and debug radio masthead LTE systems for the mobile device industry.
Utilized C/C++ on Linux platforms to diagnose and resolve layer 1 and hardware problems, ensuring optimal performance and functionality.
Worked with XEN virtualization technology to test and validate system configurations, enhancing system stability and reliability.
Employed GNU tools for efficient debugging and problem resolution, ensuring seamless operation of LTE Layer 1 components.
Played a key role in identifying and addressing critical issues, contributing to the successful deployment of radio masthead LTE systems.

Embedded Test System Architect (ST 11/10-06/11)

Skills: C/C++, Linux, OpenGL, DirectFB, PXE, Perl, RPM, Bash/Awk/Sed, Team Lead.

Dedicated Embedded Test System Architect with extensive experience in designing and deploying testing systems for cutting-edge DVB products in the microelectronics industry.
Skilled in team leadership and collaboration, successfully working with Linux Kernel developers to debug coding problems and deploying continuous integration testing systems.
Experienced in designing and implementing bespoke automated testing environments, ensuring the quality and reliability of Linux Kernel OpenGL and DirectFB video drivers.
Adept at utilizing GDB, Eclipse, Hudson, Jenkins, and GIT source control to enhance system performance and streamline development processes.
Designed and deployed a comprehensive testing system for a new DVB product, ensuring high-quality performance and reliability for the microelectronics market.
Collaborated with Linux Kernel developers, utilizing C/C++ and debugging tools such as GDB and Eclipse to identify and resolve coding problems, ensuring seamless operation of the product.
Deployed a continuous integration testing system in Java, leveraging Hudson/Jenkins, to automate testing processes and enhance the efficiency of development workflows.
Designed and implemented a bespoke automated testing environment for Linux Kernel OpenGL and DirectFB video drivers, ensuring rigorous testing and validation of critical components.
Utilized GIT source control, implementing it on a VirtualBox private cloud, to enhance version control and collaboration between team members and Kernel developers.

Software Engineer (BBC 07/10-08/10)

Skills: Software Design, C/C++, GNU toolset, MultiProcess/MultiThreading, STL(Boost), Kernel 2.6, Perl, RPM, HD, MPEG, H264, Bash/Awk/Sed, Team Lead.

Here the project was to deploy 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 months to 5 weeks) due to a change in the business requirement.
Tasked to design and deploy an automated deployment/release and test mechanism.
During the short time I was on the project I created a fully automated nightly remastered DVD deployment from scratch from the CVS checkout.
I also created a full matrix automatic test system for all the current and future video+audio formats Ingex supports.
The Ingex code was written on object oriented C++ with STL plus other toolkits.
It was built mainly using autoconf/automake as is standard with GNU stuff.
I worked with the R&D team to create the automated test plan and used the CVS, SVN and GIT repositories.
I also was required to deploy a separate GIT repository for the release code.
Direct reports:1 Reporting to: Project Manager

Application Developer/Support Contract (Schlumberger 12/08-01/10)

Skills: Software Design, C/C++, device drivers, GNU toolset, MultiProcess/MultiThreading, STL/Boost, OpenGL, Perl/PHP/Java, Kernel 2.4/2.6, Deployment, RPM, Virtualisation, Perforce, PVCS, Scripting automation, SNMP, Team Lead.

Schlumberger are the leaders in providing and support high performance simulation software to the oil industry in which I was:
Worked with NetApp to improve Fiber thoughput.
Supported and mentored engineers.
Worked closely with High Performance Computing (HPC) department for C/C++ mathematics modelling.
Access to and developed on several Linux High Performance Computing clusters (64 node, multicore).
Used my engineering experience to advise on controllers in company wide build servers.
Wrote many GUI application in Perl/Java.
Wrote high spec OpenGL C/C++ STL/Boost application for real-time cluster visualisation.
Wrote many scripted tools in Perl/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 (VMWare/VirtualBox) strategies.
Responsible for maintainence of Build servers.
Responsible for internal network 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 corporate network support teams.
Used company Perforce/PVCS source control.
Worked within company Agile/Scrum enviromment.
Deployed and maintained Linux machines as needed.
Direct reports:1 Reporting to: IT Manager

Embedded/Kernel Software Engineer (Frazer-Nash 02/08-10/08)

Skills: Software Design, C/C++, GNU toolset, cross-compiling, MultiProcess/MultiThreading, STL/Boost, OpenGL ES, DirectFB, Device Drivers, Kernel 2.4/2.6, Perl/Java, Virtualisation, Windows Development, Embedded, CANBUS, PIC, Team Lead
Reason Leaving: Agreed salary increments not honoured, plus no pension or heath benefits.

Installed many Linux and Windows development machines.
Created many GUI interface and support tools in Perl/Java/C/C++.
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 C/C++ STL/Boost, multithreading and OpenGLES/DirectFB.
Worked on high power IGBT brushless DC motor control hardware, software and testing.
Worked as a member of a team to resolve issues with motor power and timing.
Modified embedded Space Vector Modulation control software in ST10 chip to improve BLDC performance.
Modified embedded CANBUS interface C/C++ code to improve debugging of embedded 16-bit brushless motor controller.
Interfaced advanced display to hardware via PIC.
Direct reports:3 Reporting to: Director Software Engineering

LINUX/UNIX Developer/Support Engineer (Siemens 07/07-12/07)

Skills: Software Design, C++, GNU toolset, MultiProcess/MultiThreading, Kernel 2.6, Perl/Java/PHP, Real/Windows Streaming Audio/Video Development, MPEG, SCSI, RAID, Customer Facing, Remedy, Scripting automation, Team Lead
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
The role involved working on Remedy tickets raised by the customers and problems raised by system monitoring.
Most of the work involved resolving application problems and providing software solutions.
Responsible for configuration of Linux development machines.
Worked with the multimedia streaming team to design and deploy MPEG solutions for the BBC in Perl/C++.
Used virtualisation tools (vmware) and built and maintained large scale applications.
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/Kernel Development Contract (Datapulse 02/07-06/07)

Skills: Software Design, C/C++, GNU toolset, cross-compiling, MultiProcess/MultiThreading, STL(Boost), Kernel 2.6, Perl/Java, Embedded Linux, 16-bit (Philips XA), H323, Bash/Awk/Sed, VC6, ActiveX, DLL, Team Lead.

Applied a firmware modification to Philips XA processor based Nortel PABX client in Embedded C/Assembler.
Revised a modified embedded Debian distribution for USB embedded EPIA10000.
Applied software fixes to Linux services in GNU C++/STL/Perl/Bash.
Successfully undertook major refactoring of Windows client side code in Visual C++ 6 ActiveX and DLL.
Fixed long outstanding bugs (2+ years).
Worked closely with electronics team and company directors to adapt circuit design to lower noise levels in audio electronics.
Provide Linux Mentoring.
Set up documentation server on LAMP stack.
Used the companys Visual SourceSafe source control system and PRF (in house) bug tracking system.
Direct reports:3 Reporting to: Project Leader

Linux Kernel and Multimedia Development/Support Contract (Sony 06/05-12/06)

Skills: Software Design, C/C++, GNU toolset, cross-compiling, MultiProcess/MultiThreading, STL(Boost), Kernel 2.4/2.6, Perl/Java, clusters, MIPS, RPM, DVB, HD, MPEG, H264, Bash/Awk/Sed, Team Lead.

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.
Designed/Developed Linux media server to work with Window XP and Mac clients via Samba/CIFS and NFS in BASH/Perl.
Repackaged RPM builds for deployment.
Developed GUI account administration tool in Perl/CGI/XML/Awk/Sed/Bash.
Refactored GUI tool to PHP/JavaScript/XML from Perl.
Designed/Developed RAID system and GUI RAID management system in Linux using Linux RAID and PHP/BASH.
Debugged and redesigned system to add co-operation between Windows/Linux Server, Windows/Mac clients in Bash/Perl/Awk/Sed.
Designed/Developed install CD/DVD to install Sony media system as well as Linux OS using CD remastering tools and Python.
Involved(paired) in writing/adapting/debugging of DV/HDV MPEG format converters (ffmpeg/avilib/quicktime) in C/C++/STL/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).
Worked within company Agile/XP enviromment.
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/C++, cross-compiling, MultiProcess/MultiThreading, STL, 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++/STL.
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++, GNU toolset, cross-compiling, MultiProcess/MultiThreading, STL, 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 GNU C/C++/STL 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), cross-compiling, GNU toolset, MultiProcess/MultiThreading, Assembler, Linux Kernel, Device Drivers, JTAG, CVS, Team Lead

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.
Direct reports:2 Reporting to: Project Manager

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.
Direct Reports:10, Indirect Reports:25, Reporting to Project Director.
Used the companys document and code control CVS and Clearcase. Also learned some German.

Senior Project Engineer (Domain Dynamics Ltd 01/02 - 07/03)

Skills: Visual C++, Embedded C/C++, GNU toolset, cross-compiling, MultiProcess/MultiThreading, 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++, GNU toolset, cross-compiling, MultiProcess/MultiThreading, 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++, GNU toolset, cross-compiling, MultiProcess/MultiThreading, 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++, cross-compiling, Multiprocess/MultiThreading, 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, cross-compiling, 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.

EDUCATION

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.

University of Central Lancashire, 09/90 - 06/93

Qualifications: BEng Electronic/Mechanical Engineering

Degree modules included Maths, Mechanics, Electronics, Injection Molding, Metals Engineering / Fabrication.

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.

Personal Life

Keen interest in music, cycling, skydiving, weight training, cars (mechanics) and electronics. Run Linux server and cloud systems for over 20 years at www.netlinux.co.uk.

Other Information

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