Freelance TCP/IP and Security Software Developer/Senior Firmware Engineer Reading, UK
C/C++ software engineer/architect specialising in embedded IP comms and security software including TCP/IP, IPSec, SIP, WiFi, WPA, SSL/TLS, OpenSSL and lots more.
Security consultant.
| Rating: | Unrated (New) |
| Hourly Rate / Cost: | £44.44 per hour |
| Daily Rate / Cost: | £355.56 per day |
| Available From: | 01 June 2010 |
| Seller ID: | 316578 |
CV (Curriculum Vitae) / Résumé
Employment History
(Oct 2007 & ongoing)
– present
Designed and implemented a SIP stack in C++ in my spare time.
Implemented a RADIUS server for WPA Enterprise (EAP-TLS) using OpenSSL also in my spare time.
(Jun 2007 & ongoing)
TCP/IP and Security Software Developer/Senior Firmware Engineer
Wooburn Green– present
Working on embedded wireless (802.11) modules with integrated TCP/IP stack. Responsible for all comms software including SPI bus driver, wireless driver, serial driver, TCP/IP stack and various TCP/IP applications.
My main job has been the porting/integration, fixing and, in parts, implementation of a WPA/WPA 2 supplicant including PSK and Enterprise modes. In the process I have setup certificate authorities and generated certificates using OpenSSL and setup a RADIUS server for WPA Enterprise testing.
Implemented an SSL API using OpenSSL.
Worked on a new serial driver to make it run at higher baud rate without dropping bytes and integrated the new serial driver onto other products.
Designed and implemented new serial API for use by PPP and Bluetooth and integrated the PPP implementation.
Designed security protocol for in-car wireless telemetry system (WiTS).
Integrated GSM module (MC55i) into WiTS product. Wrote software to talk to its AT command interface and to run PPP.
Currently working on the architecture/design of the device layer for new products.
(1998 & ongoing)
Programmer
Cranleigh Implementing databases in MS Access.
Customer support.
(Mar 2007 to Jun 2007)
Software Developer
ReadingBug fixing and adding new features to a TETRA radio stack written in C++. Software design of a SCIP secure phone using UML. Integration of a SCIP implementation written in SDL.
(Jan 2007 to Feb 2007)
Security Software Developer
RedhillDesign and implementation of IEEE 802.15.4-2006 (ZigBee) security software in C using Visual Studio 2005, Visual SourceSafe and Microsoft Visio. This involved designing and implementing a CCM* library (a modified form of CCM (Counter mode with CBC-MAC) for 802.15.4) and the MAC security aspects of the 802.15.4 specification. For the development work I ported and interfaced to an open-source AES implementation and was involved in discussions with the hardware designers about hardware AES implementations. I also wrote unit tests to work with CUnit.
(Sep 2006 to Dec 2006)
TCP/IP and SIP Software Developer
NurembergResponsible for maintaining, fixing and upgrading IP-based comms software in C/C++ for a SIP-based DECT phone. This ranged from the ethernet driver up to the SIP application, including the TCP/IP stack (lightweight IP) and an in-house SIP stack.
(1998 to 2006)
Software Engineer/Programme Manager (Comms)
ReadingResponsible for all comms-related services in an embedded RTOS environment. The main language used was an assembly language for a virtual processor which is very C-like but with object-orientation. I also did quite a bit of C and C++. I was involved in many technical design and architectural discussions on a variety of subjects.
Worked on an integrated telephony system to work with SIP, GSM and other phone stacks (eg. PHS).
Implemented an OBEX service with an OPP and FTP server as well as an SMTP and POP3 service for the WiPOQ “multimedia messenger”.
Implemented a SIP-based Voice-over-IP service and ported/implemented some codecs (G.711, GSM 06.10, iLBC).
My biggest job for Tao was implementing a TCP/IP stack from scratch with support for TCP, UDP, Raw IP, DHCP, IGMP/Multicast, Ethernet, PPP. I also implemented an ethernet driver and maintained existing ones as well as our modem driver and our PPP implementation.
Added support for IPSec to the TCP/IP stack which involved implementing IKE as well as implementing, porting and modifying various encryption/authentication algorithms including HMAC, RSA, DSA, CBC-mode for symmetric encryption, Triple-DES using an existing DES implementation and Diffie-Hellman. Implementing RSA required enhancements to our large integer libraries. I have ported two freeware AES implementations.
Ported a Bluetooth stack to our OS and implemented a prototype of a Bluetooth stack. That involved implementing the HCI, L2CAP, SDP, RFCOMM and BNEP protocols/profiles. I have implemented JSR-82 Java libraries using the Winsock and Widcomm Bluetooth APIs.
In my role as Programme Manager I have supervised the development of IrDA, SSL, TAPI and a TCP/IP test suite.
For about 6 months I worked in a technical support/project management role on the MyOrigo MyDevice project. This involved responding to customer questions/bug reports and sending software updates as well as regular conference calls, hosting their engineers in our office and a visit to their office. I've had to look at source code to parts of our system that I don't know as well as customer source code and provide fixes. I have done some other customer facing over the years as needed.
In my earlier days at Tao I did assorted device driver work including a sound driver and parts of a multi-processor system. Over the years I have been involved in many design discussions in nearly all areas of our system.
Education
( 1994 to 1998)
Durham University
B.Sc.(hons) Computer Science and Maths
( 1987 to 1994)
Colchester Royal Grammar School
A-levels: Maths – A, Further Maths – A, Physics – B, Statistics – C, Electronics – D + merits in special papers in Maths and Physics.
10 GCSEs
Assignment History
(This Seller has recently been shortlisted or contracted for the following people4 assignments)
- Developer: We are currently expanding our development efforts for our real time drivers for our unique touch screen technology. The developer role will involve working with our touchscreen development team to take the current development and port to other platforms and be able to add new functionality in our core drivers. Providing bespoke customisations and consultancy expertise directly to internal teams and customer projects.
- Software Engineer for lighting system: An immediate start for 1 month - 6weeks to provide a software program at an embedded level for a simple light control system that has to communicate over TCP-IP. We have hardware engineers that you will work alongside. We are based in Bristol but this assignment can be done remotely and sent over to us to be uploaded/downloaded by our hardware engineers.

