I started using C and Unix in 1983 and started using C++ in 1995.
Aktualisiert am 19.04.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 02.05.2024
Verfügbar zu: 100%
davon vor Ort: 100%
C++
Linux
Embedded
Deutsch
Conversational
Englisch Muttersprache
Mother Tongue

Einsatzorte

Einsatzorte

zurich (+200km)
Schweiz
möglich

Projekte

Projekte

10/2012 ? Present

Software Developer                                                                                              

Contracted to Roche Diagnostics, Rotkreuz, Switzerland

  • I?m developing software for Automation in the Diagnostics Division of www.roche.com. Roche Diagnostics make diagnostic equipment for the medical field and I?m working on a machine that performs blood testing and is used in Testing Laboratories. I?m modifying the software to meet new Regulatory Requirements of the American Food and Drugs Agency (FDA). I wrote the Requirements and then moved on to develop the software in C++. The system is developed and tested on windows using a simulator of the system. Final development and testing is performed using linux before deployment and testing on the embedded linux target system. I?ve also written Perl/Shell/Awk Scripts to test if language files in languages other than English were consistent with the master English Language File. Development is ongoing with new functionality. The design process is Agile with a daily SCRUM.

Tools Used/Skills

C++, Embedded Linux, Boost, STL, Visual Studio Premium 2012, Multithreading, UML, HP-QC, Subversion, Perl/Shell/Awk scripts

05/2012 ? 08/2012

Software Developer                                                                                                 

Contracted to Talaris, Bern, Switzerland

  • I developed software for Automation at www.talaris.com. They produce cash counting machines and I worked on their next generation Bank Teller Machine. It was Real Time Software development in C++ and Linux for mechatronics. The machine has a distributed architecture using their own CORBA over CAN Bus to control 21 stepper motors. UML state charts were used to control all devices. The Bank Notes are stored in 8 Roll Storage Modules, each having two stepper motors, all controlled by its own ARM processor running Keil. The design process was Agile with a daily SCRUM. CppUnit was used for testing with continuous builds. I created new Ruby Test Scripts

Tools Used/Skills

C++, Embedded Linux, Boost, STL, Multithreading, Eclipse, Patterns, UML, Subversion (SVN), Keil, JSON, IBM Rational Team Concert (RTC), Can Bus, Enterprise Architect, Ruby Test Scripts, ARM Cortex M3

07/2011 ? 03/2012

Software Developer                                                                                               

Contracted to Roche Diagnostics, Rotkreuz, Switzerland 

  • I developed software for Automation in the Diagnostics Division of www.roche.com. Roche Diagnostics produce diagnostic equipment for the medical field and I worked on a machine that performs blood testing and is used in Testing Laboratories. I merged the software of two variants of this machine, the standard machine and the HbA1c variant. The machine?s configuration is based on the Bar Code of the rack of chemicals inserted into it. This allows customers to use a machine for both variants instead of having two machine types.

Tools Used/Skills

C++,HPUX, VxWorks, Multithreading, UML, HP-QC, PCVS, IBM Rational ClearQuest, shell/awk scripts

01/2011 ? 06/2011

Software Developer                                                                                              

Contracted to Mettler-Toledo, Nänikon-Greifensee, Switzerland

  • I worked at www.mt.com in a team developing a new Generic Framework which will be used for all future weighing scales for the company. All code was generated from UML and C++ code within the Rhapsody Model. The software used a layered, component based Architecture using Boost Signals2 for event notification. All components were instantiated with the Factory Pattern with relationships contained within Boost Smart Pointers. The design process was Agile with a daily SCRUM. CppUnit is used for testing with continuous builds.

Tools Used/Skills

C++,  Windows CE, Visual Studio 2008 with Visual Assist X, UML, IBM Rational Rhapsody for C++,  MISRA C++, PC-Lint, STL, Boost, Patterns,  Subversion,  CppUnit, Agile, SCRUM, HP Quality Centre

10/2008 ? 12/2010

Software Developer                                                                                                

Contracted to Deutsche Börse System, Frankfurt, Germany

  • I worked in the Matching Engine Development Team on a Greenfield Development of a new Options Exchange, Optimise?, for the International Securities Exchange (www.ise.com) in New York a subsidiary of Deutsche Börse Systems (www.Deutsche-Boerse.com).  All development was in C++ under Linux using an Iterative Process. This is a Distributed, Multiprocessor, Multithreaded, Low Latency, High Performance platform utilising WLLM to provide high frequency messaging in a multi-tier system which handles over one million quotes per second. For Iteration 1 I worked on Transaction Processing as well as Failover and Recovery. For Iteration 2 I worked on Requirements Specification with the Head of the Group. For Iterations 3 to 6 I worked on implementation of matching functionality. The whole exchange ran on 550 Servers with the Matching Engine running on 17 Servers.

Tools Used/Skills

C++ using Eclipse, Red Hat Enterprise Linux (RHEL), CentOS, STL, Boost, Multithreading, MySQL, Websphere MQ Low Latency Messaging (WLLM 2.2), FIX Protocol, Subversion, Python, Patterns

04/2008 ? 09/2008

Software Developer                                                                                            

Contracted to EuroClear Bank, Brussels, Belgium

  • First Task: Working within Middleware and Frameworks Development Team I created a Test Tool which enabled the Test Team to do Performance Testing. I implemented a Database Wrapper to a Berkeley DB which simulated message handling behaviour of the IBM Mainframe. They were then able to test the performance of the two Secure Messaging Service (SMS) providers, BT and SWIFT to check if they met the Performance Requirements.
  • Final Task: Development of Asynchronous Delivery of Messages to the MQ Series Client using IO Completion Port on Windows and Pipes on Linux. It transformed AS2 Messages received by Apache over HTTPS and encoded in XML into an MQ Series Message and forwarded to the IBM Mainframe. All code developed in C++ was heterogeneous in that it ran run on AIX, Linux and Windows.

Tools Used/Skills

C++, VC++, Red Hat Linux, AIX, STL, XML, Apache, MQ Series, Berkeley DB, Multithreading, ClearCase, Windows XP, AS2 Messages, C++ Framework Development, Shell and Perl Scripting

10/2007 ? 03/2008

Software Developer                                                                                             

Contracted to Fortis Bank, Brussels, Belgium

  • I joined a Task Force set up to Troubleshoot problems with Fortis´ Diogene Fat Client Trading System written in Forte 4GL but coded generated into VC++. Problems solved included Crashes, Multithreading Deadlocks, Algorithmic Performance improvement through Multithreading and Rogue Processes running at either 0% or 100% CPU Load. Database Performance improvements were the responsibility of another team. Risk Calculations were improved by 35% through Multithreading.

Tools Used/Skills                

VC++, Windows XP, Microsoft SQL Server, Forte 4GL, Citrix Servers, JIRA Error Reporting

04/2007 ? 09/2007

Software Developer                                                                                            

Contracted to UBS Investment Bank, Zurich, Switzerland

  • Implementation & Testing of a multithreaded XML Message Handler which converted an incoming XML Message, sourced via MQ Series, into an internal Object which the rest of the FX Trading system could use.

Tools Used/Skills

C++, UNIX (Solaris and Linux), Windows, STL, UML, ClearCase, XML, Multithreading, Visio, SYBASE, Shell Scripting

07/2006 ? 03/2007

Software Engineer                                                                                                 

Contracted to Fujitsu Telecommunications, Birmingham, UK

  • This was development of multiplexers for British Telecom?s 21st Century VOIP Network.
  • I used C++/Multithreading to speed up Software Download from the Controller Card to Line Cards for Fujitsu?s Fibre Multi Service Access Node (FMSAN) for British Telecom?s 21st Century VOIP Network by simultaneous download to multiple Line Cards of the same type.
  • Design, Implementation and Testing of Ethernet over SDH (EOS) using UML and Rhapsody. Rhapsody code generates UML into C++ but all behaviour was implemented by hand in C++.

Tools Used/Skills

C++, UNIX (Solaris), Embedded Linux( MontaVista), Windows, Multithreading, STL, UML, ClearCase, VOIP, Rhapsody 7.0 for C++, Wind River ICE SX, HP Processor Probe, Shell Scripting, TL1

05/2006 ? 06/2006

Software Engineer                                                                                                

Contracted to Roke Manor Research, Romsey, UK

  • Roke Manor Research (www.roke.co.uk) is a Siemens Company. I worked on subsystem specification of the control plane protocol, using UDP, for Siemens? WiMax Gateway. This was the R6 Interface of the WiMax Gateway (www.WiMaxForum.org). This project was cancelled before the Design Phase due to the merger of Nokia Networks and Siemens Networks into Nokia Siemens Networks (www.nsn.com). The WiMax project at Nokia was chosen over Siemens.

04/2005 ? 04/2006

Analyst/Developer                                                                                               

Contracted to UBS Wealth Management, Zurich, Switzerland

  • Worked as a Business Analyst and Developer by performing Analysis, Design and Implementation of Authorisation for an application called Portfolio Management System (PMS). Previously, PMS did its own Authorisation but UBS implemented a centralised Single-SignOn System on the mainframe with Unix/Windows Applications requesting Authorisation for a User from the mainframe. I wrote the Requirements Specification for the Mainframe implementation of User Roles to be authorized, the Business Requirements Specification to agree with the Business, the Design Document and then implemented in C++ under UNIX. I created a Perl script for the Testers to populate User Profiles.

Tools Used/Skills

C++, UNIX (Solaris), Windows, Multithreading, Standard Template Library (STL), UML, Synergy (Continuus), SQL, Perl Scripts, Shell Scripting

07/2004 ? 03/2005

Software Engineer                                                                                                

Contracted to Nokia Networks, Dusseldorf, Germany

  • Enhancements to Nokia?s AXC, Cross-Connect used for Transmission between Node B and the RNC within UMTS. Features worked on include Circuit Emulation over ATM (CET), Loop to Equipment (LTE), Loop to Interface (LTI) and Performance Management. Investigated and corrected multithreading problems with statistics collected for Performance Management. I implemented AAL2 Protocol enhancements for HSDPA as specified by 3GPP.

Tools Used/Skills

C++, Unix (Solaris and Chorus), Embedded Linux, Windows, Multithreading (PThreads), STL, UML, ClearCase, Rational Rose, Power QUICC, Lauterbach ICE, Spirent AX/4000, ANT-20, Shell Scripting

01/2004 ? 06/2004

Software Developer                                                                                               

Contracted to UBS Investment Bank, Zurich, Switzerland

  • Design, Implementation and Testing of a multithreaded Market Data Feed Handler for a Reuters Feed as part of the Capital Market Trading System (CaTS New Generation a Real Time Trading System for Equities). Reuters Triarch SSL 4.0 is non object oriented(C like) and so the Reuters Exchange Driver had to wrapper the API and provide an Object based API to the existing C++ Framework.

Tools Used/Skills

C++, UNIX (Solaris), Windows, Standard Template Library (STL), UML, ClearCase, Multithreading,

PThreads, Source Navigator, Reuters Triarch SSL 4.0, Rational Rose, Visio, Pub/Sub (Observer Pattern), SYBASE, Unix Shell Scripting

07/2003 ? 12/2003

Software Engineer                                                                                                

Contracted to Nokia Mobile Phones, Farnborough, UK

  • Integration and Testing of Video Streaming for Nokia´s first 3G Handset. A number of Streaming Media Servers were used with s selection of Video content and tested using supported data rates. Error Reports were created in Lotus Notes and sent to the Design Team. New release of software under Continuus, containing fixes for the errors, were included in a new build and retested.

Tools Used/Skills

Windows, UNIX, Continuus, Object Oriented C, Python Scripting, H 264, MPEG-4, Lauterbach ICE, Nokia Debug Tools, UMTS, GPRS

01/2003 ? 06/2003

Software Engineer                                                                                                

Contracted to TTP Com, Aalborg, Denmark

  • The design of a Generic Mobile Phone Software Platform to be sold, under Licence, to various Mobile Phone Companies. Design, Implementation and Testing of a Phonebook Service which was implemented using a C++ Framework. I also created my own test harness to test this Service as there wasn?t an Application ready to use it. It used either the SIM or NVRAM in the handset to store Phonebook Lists.

Tools Used/Skills

Windows, Borland C++, ARM C++, Rational Rose, Visio, UML, Perforce, Patterns, Frameworks

04/2002 ? 12/2002

Software Engineer                                                                                              

Contracted to Siemens Networks, Ulm, Germany

  • Design, Implementation and Test of Baseband Resource Management for Call Processing in the Siemens UMTS Node B. The Base Band Resource Manager (BRM) functionality was implemented in C++ and wrapperd in an SDL Process. BRM managed the Physical and Logical Resources which supported a Cell. Physical Resources such as Channel Cards and Tx/Rx Cards and Logical Resources such Common Channels and Dedicated Channels were all managed by BRM. I was allocated 3 weeks to re-factor the the code to improve maintainability.

Tools Used/Skills

C++, SuSE Linux, NT4.0, VMWare, ASN.1, SDL, UML, TeleLogic Tau, Visio, Clearcase, VXWorks, Rational Rose, CORBA (ACE TAO), NBAP, 3GPP, 3G, UMTS

07/2001 ? 03/2002

Software Engineer                                                                                                 

Contracted to Nokia Mobile Phones, Ulm, Germany

  • Integration of SyncML into a Client/Server Architecture. Testing over Bluetooth and IrDa for Local Sync between mobile and Server. Testing of Remote Sync between mobile and Server via WAP over and GPRS. I moved across the road to Siemens as they offered me a C++ Development contract.

Tools Used/Skills

UNIX (Solaris), NT4.0, Object Oriented C, WAP, Lauterbach ICE, ARM,  OBEX, Continuus, SyncML, XML, Nokia Debug Tools, XMLSpy, Bluetooth, IrDa, GSM and GPRS

Other projects on request

Aus- und Weiterbildung

Aus- und Weiterbildung

1980

University of South Wales, UK                 

B.Sc. (Honours) Class 2.2                                                                                       

  • Electrical and Electronic Engineering

1992

Open University, Milton Keynes, UK                                                                            

Postgraduate Diploma in Computing        

Full member since 1988

Member of Institution of Engineering and Technology (MIET), UK

Oxford University, UK

  • Postgraduate Software Engineering Program

02/2006

Concurrency and Distributed Systems

06/2006

Software Engineering Mathematics

08/2006

Performance Modelling

10/2006

Specification and Design

07/2008

Massachusetts Institute of Technology, USA               

  • Multi Core Programming                                                                 

Taught by Maurice Herlihy and Nir Shavit covering all chapters of their book ?The Art of Multiprocessor Programming?

      

   

Kompetenzen

Kompetenzen

Top-Skills

C++ Linux Embedded

Produkte / Standards / Erfahrungen / Methoden

IDE:

VisualAge for Java, Borland C++ Builder, Visual Basic, VC++, SNIFF++, Eclipse

 

Protocols:

DKZN-1, 1TR6, ICNS, QSIG, CMIP, CMIS, V5.2, WAP, HTTP, FIX

Methodologies:

Object Oriented Analysis & Design (OOA, OOD), RTSASD, Shlaer Mellor OOA, OMT, SDL, SADT, Octopus, UML

 

Emulators:

INTEL ICE, visionICE, JTAG, XRAY, KONTRON 68000, Hitex 80C186, Microtek 80C186, Softprobe II , Lauterbach

CASE Tools:

Enterprise Architect, ObjectTeam, Teamwork, Nokia?s KISS, Kennedy-Carter IOOA, Rational Rose, Rhapsody for C++

 

Source Code Control:

Clearcase, Continuus, PCVS, Perforce, Sablime, Sourcesave, Subversion, Synergy

 

Betriebssysteme

UNIX (Solaris, Linux, Chorus, HP-UX), Red Hat Linux, SuSE Linux, VxWorks, MTOS, ENEA OSE

Programmiersprachen

C, C++, VC++, Java, Coral, PLM, CHILL, GDMO, ASN1, Visual Basic, awk, Perl, Python, Ruby

Datenbanken

SQLServer, Oracle, SYBASE, ObjectStore, MySQL, BerkeleyDB

Datenkommunikation

ATM
CORBA
Ethernet
HDLC
ISDN
ISO/OSI
RPC
Voice

Hardware

Digital
Emulatoren
HP
IBM Großrechner
Motorola
PC
SUN
VAX

Branchen

Branchen

  • Automation
  • Clearance Banking
  • Investment Banking
  • Stock Exchange 
  • Telecommunications

Einsatzorte

Einsatzorte

zurich (+200km)
Schweiz
möglich

Projekte

Projekte

10/2012 ? Present

Software Developer                                                                                              

Contracted to Roche Diagnostics, Rotkreuz, Switzerland

  • I?m developing software for Automation in the Diagnostics Division of www.roche.com. Roche Diagnostics make diagnostic equipment for the medical field and I?m working on a machine that performs blood testing and is used in Testing Laboratories. I?m modifying the software to meet new Regulatory Requirements of the American Food and Drugs Agency (FDA). I wrote the Requirements and then moved on to develop the software in C++. The system is developed and tested on windows using a simulator of the system. Final development and testing is performed using linux before deployment and testing on the embedded linux target system. I?ve also written Perl/Shell/Awk Scripts to test if language files in languages other than English were consistent with the master English Language File. Development is ongoing with new functionality. The design process is Agile with a daily SCRUM.

Tools Used/Skills

C++, Embedded Linux, Boost, STL, Visual Studio Premium 2012, Multithreading, UML, HP-QC, Subversion, Perl/Shell/Awk scripts

05/2012 ? 08/2012

Software Developer                                                                                                 

Contracted to Talaris, Bern, Switzerland

  • I developed software for Automation at www.talaris.com. They produce cash counting machines and I worked on their next generation Bank Teller Machine. It was Real Time Software development in C++ and Linux for mechatronics. The machine has a distributed architecture using their own CORBA over CAN Bus to control 21 stepper motors. UML state charts were used to control all devices. The Bank Notes are stored in 8 Roll Storage Modules, each having two stepper motors, all controlled by its own ARM processor running Keil. The design process was Agile with a daily SCRUM. CppUnit was used for testing with continuous builds. I created new Ruby Test Scripts

Tools Used/Skills

C++, Embedded Linux, Boost, STL, Multithreading, Eclipse, Patterns, UML, Subversion (SVN), Keil, JSON, IBM Rational Team Concert (RTC), Can Bus, Enterprise Architect, Ruby Test Scripts, ARM Cortex M3

07/2011 ? 03/2012

Software Developer                                                                                               

Contracted to Roche Diagnostics, Rotkreuz, Switzerland 

  • I developed software for Automation in the Diagnostics Division of www.roche.com. Roche Diagnostics produce diagnostic equipment for the medical field and I worked on a machine that performs blood testing and is used in Testing Laboratories. I merged the software of two variants of this machine, the standard machine and the HbA1c variant. The machine?s configuration is based on the Bar Code of the rack of chemicals inserted into it. This allows customers to use a machine for both variants instead of having two machine types.

Tools Used/Skills

C++,HPUX, VxWorks, Multithreading, UML, HP-QC, PCVS, IBM Rational ClearQuest, shell/awk scripts

01/2011 ? 06/2011

Software Developer                                                                                              

Contracted to Mettler-Toledo, Nänikon-Greifensee, Switzerland

  • I worked at www.mt.com in a team developing a new Generic Framework which will be used for all future weighing scales for the company. All code was generated from UML and C++ code within the Rhapsody Model. The software used a layered, component based Architecture using Boost Signals2 for event notification. All components were instantiated with the Factory Pattern with relationships contained within Boost Smart Pointers. The design process was Agile with a daily SCRUM. CppUnit is used for testing with continuous builds.

Tools Used/Skills

C++,  Windows CE, Visual Studio 2008 with Visual Assist X, UML, IBM Rational Rhapsody for C++,  MISRA C++, PC-Lint, STL, Boost, Patterns,  Subversion,  CppUnit, Agile, SCRUM, HP Quality Centre

10/2008 ? 12/2010

Software Developer                                                                                                

Contracted to Deutsche Börse System, Frankfurt, Germany

  • I worked in the Matching Engine Development Team on a Greenfield Development of a new Options Exchange, Optimise?, for the International Securities Exchange (www.ise.com) in New York a subsidiary of Deutsche Börse Systems (www.Deutsche-Boerse.com).  All development was in C++ under Linux using an Iterative Process. This is a Distributed, Multiprocessor, Multithreaded, Low Latency, High Performance platform utilising WLLM to provide high frequency messaging in a multi-tier system which handles over one million quotes per second. For Iteration 1 I worked on Transaction Processing as well as Failover and Recovery. For Iteration 2 I worked on Requirements Specification with the Head of the Group. For Iterations 3 to 6 I worked on implementation of matching functionality. The whole exchange ran on 550 Servers with the Matching Engine running on 17 Servers.

Tools Used/Skills

C++ using Eclipse, Red Hat Enterprise Linux (RHEL), CentOS, STL, Boost, Multithreading, MySQL, Websphere MQ Low Latency Messaging (WLLM 2.2), FIX Protocol, Subversion, Python, Patterns

04/2008 ? 09/2008

Software Developer                                                                                            

Contracted to EuroClear Bank, Brussels, Belgium

  • First Task: Working within Middleware and Frameworks Development Team I created a Test Tool which enabled the Test Team to do Performance Testing. I implemented a Database Wrapper to a Berkeley DB which simulated message handling behaviour of the IBM Mainframe. They were then able to test the performance of the two Secure Messaging Service (SMS) providers, BT and SWIFT to check if they met the Performance Requirements.
  • Final Task: Development of Asynchronous Delivery of Messages to the MQ Series Client using IO Completion Port on Windows and Pipes on Linux. It transformed AS2 Messages received by Apache over HTTPS and encoded in XML into an MQ Series Message and forwarded to the IBM Mainframe. All code developed in C++ was heterogeneous in that it ran run on AIX, Linux and Windows.

Tools Used/Skills

C++, VC++, Red Hat Linux, AIX, STL, XML, Apache, MQ Series, Berkeley DB, Multithreading, ClearCase, Windows XP, AS2 Messages, C++ Framework Development, Shell and Perl Scripting

10/2007 ? 03/2008

Software Developer                                                                                             

Contracted to Fortis Bank, Brussels, Belgium

  • I joined a Task Force set up to Troubleshoot problems with Fortis´ Diogene Fat Client Trading System written in Forte 4GL but coded generated into VC++. Problems solved included Crashes, Multithreading Deadlocks, Algorithmic Performance improvement through Multithreading and Rogue Processes running at either 0% or 100% CPU Load. Database Performance improvements were the responsibility of another team. Risk Calculations were improved by 35% through Multithreading.

Tools Used/Skills                

VC++, Windows XP, Microsoft SQL Server, Forte 4GL, Citrix Servers, JIRA Error Reporting

04/2007 ? 09/2007

Software Developer                                                                                            

Contracted to UBS Investment Bank, Zurich, Switzerland

  • Implementation & Testing of a multithreaded XML Message Handler which converted an incoming XML Message, sourced via MQ Series, into an internal Object which the rest of the FX Trading system could use.

Tools Used/Skills

C++, UNIX (Solaris and Linux), Windows, STL, UML, ClearCase, XML, Multithreading, Visio, SYBASE, Shell Scripting

07/2006 ? 03/2007

Software Engineer                                                                                                 

Contracted to Fujitsu Telecommunications, Birmingham, UK

  • This was development of multiplexers for British Telecom?s 21st Century VOIP Network.
  • I used C++/Multithreading to speed up Software Download from the Controller Card to Line Cards for Fujitsu?s Fibre Multi Service Access Node (FMSAN) for British Telecom?s 21st Century VOIP Network by simultaneous download to multiple Line Cards of the same type.
  • Design, Implementation and Testing of Ethernet over SDH (EOS) using UML and Rhapsody. Rhapsody code generates UML into C++ but all behaviour was implemented by hand in C++.

Tools Used/Skills

C++, UNIX (Solaris), Embedded Linux( MontaVista), Windows, Multithreading, STL, UML, ClearCase, VOIP, Rhapsody 7.0 for C++, Wind River ICE SX, HP Processor Probe, Shell Scripting, TL1

05/2006 ? 06/2006

Software Engineer                                                                                                

Contracted to Roke Manor Research, Romsey, UK

  • Roke Manor Research (www.roke.co.uk) is a Siemens Company. I worked on subsystem specification of the control plane protocol, using UDP, for Siemens? WiMax Gateway. This was the R6 Interface of the WiMax Gateway (www.WiMaxForum.org). This project was cancelled before the Design Phase due to the merger of Nokia Networks and Siemens Networks into Nokia Siemens Networks (www.nsn.com). The WiMax project at Nokia was chosen over Siemens.

04/2005 ? 04/2006

Analyst/Developer                                                                                               

Contracted to UBS Wealth Management, Zurich, Switzerland

  • Worked as a Business Analyst and Developer by performing Analysis, Design and Implementation of Authorisation for an application called Portfolio Management System (PMS). Previously, PMS did its own Authorisation but UBS implemented a centralised Single-SignOn System on the mainframe with Unix/Windows Applications requesting Authorisation for a User from the mainframe. I wrote the Requirements Specification for the Mainframe implementation of User Roles to be authorized, the Business Requirements Specification to agree with the Business, the Design Document and then implemented in C++ under UNIX. I created a Perl script for the Testers to populate User Profiles.

Tools Used/Skills

C++, UNIX (Solaris), Windows, Multithreading, Standard Template Library (STL), UML, Synergy (Continuus), SQL, Perl Scripts, Shell Scripting

07/2004 ? 03/2005

Software Engineer                                                                                                

Contracted to Nokia Networks, Dusseldorf, Germany

  • Enhancements to Nokia?s AXC, Cross-Connect used for Transmission between Node B and the RNC within UMTS. Features worked on include Circuit Emulation over ATM (CET), Loop to Equipment (LTE), Loop to Interface (LTI) and Performance Management. Investigated and corrected multithreading problems with statistics collected for Performance Management. I implemented AAL2 Protocol enhancements for HSDPA as specified by 3GPP.

Tools Used/Skills

C++, Unix (Solaris and Chorus), Embedded Linux, Windows, Multithreading (PThreads), STL, UML, ClearCase, Rational Rose, Power QUICC, Lauterbach ICE, Spirent AX/4000, ANT-20, Shell Scripting

01/2004 ? 06/2004

Software Developer                                                                                               

Contracted to UBS Investment Bank, Zurich, Switzerland

  • Design, Implementation and Testing of a multithreaded Market Data Feed Handler for a Reuters Feed as part of the Capital Market Trading System (CaTS New Generation a Real Time Trading System for Equities). Reuters Triarch SSL 4.0 is non object oriented(C like) and so the Reuters Exchange Driver had to wrapper the API and provide an Object based API to the existing C++ Framework.

Tools Used/Skills

C++, UNIX (Solaris), Windows, Standard Template Library (STL), UML, ClearCase, Multithreading,

PThreads, Source Navigator, Reuters Triarch SSL 4.0, Rational Rose, Visio, Pub/Sub (Observer Pattern), SYBASE, Unix Shell Scripting

07/2003 ? 12/2003

Software Engineer                                                                                                

Contracted to Nokia Mobile Phones, Farnborough, UK

  • Integration and Testing of Video Streaming for Nokia´s first 3G Handset. A number of Streaming Media Servers were used with s selection of Video content and tested using supported data rates. Error Reports were created in Lotus Notes and sent to the Design Team. New release of software under Continuus, containing fixes for the errors, were included in a new build and retested.

Tools Used/Skills

Windows, UNIX, Continuus, Object Oriented C, Python Scripting, H 264, MPEG-4, Lauterbach ICE, Nokia Debug Tools, UMTS, GPRS

01/2003 ? 06/2003

Software Engineer                                                                                                

Contracted to TTP Com, Aalborg, Denmark

  • The design of a Generic Mobile Phone Software Platform to be sold, under Licence, to various Mobile Phone Companies. Design, Implementation and Testing of a Phonebook Service which was implemented using a C++ Framework. I also created my own test harness to test this Service as there wasn?t an Application ready to use it. It used either the SIM or NVRAM in the handset to store Phonebook Lists.

Tools Used/Skills

Windows, Borland C++, ARM C++, Rational Rose, Visio, UML, Perforce, Patterns, Frameworks

04/2002 ? 12/2002

Software Engineer                                                                                              

Contracted to Siemens Networks, Ulm, Germany

  • Design, Implementation and Test of Baseband Resource Management for Call Processing in the Siemens UMTS Node B. The Base Band Resource Manager (BRM) functionality was implemented in C++ and wrapperd in an SDL Process. BRM managed the Physical and Logical Resources which supported a Cell. Physical Resources such as Channel Cards and Tx/Rx Cards and Logical Resources such Common Channels and Dedicated Channels were all managed by BRM. I was allocated 3 weeks to re-factor the the code to improve maintainability.

Tools Used/Skills

C++, SuSE Linux, NT4.0, VMWare, ASN.1, SDL, UML, TeleLogic Tau, Visio, Clearcase, VXWorks, Rational Rose, CORBA (ACE TAO), NBAP, 3GPP, 3G, UMTS

07/2001 ? 03/2002

Software Engineer                                                                                                 

Contracted to Nokia Mobile Phones, Ulm, Germany

  • Integration of SyncML into a Client/Server Architecture. Testing over Bluetooth and IrDa for Local Sync between mobile and Server. Testing of Remote Sync between mobile and Server via WAP over and GPRS. I moved across the road to Siemens as they offered me a C++ Development contract.

Tools Used/Skills

UNIX (Solaris), NT4.0, Object Oriented C, WAP, Lauterbach ICE, ARM,  OBEX, Continuus, SyncML, XML, Nokia Debug Tools, XMLSpy, Bluetooth, IrDa, GSM and GPRS

Other projects on request

Aus- und Weiterbildung

Aus- und Weiterbildung

1980

University of South Wales, UK                 

B.Sc. (Honours) Class 2.2                                                                                       

  • Electrical and Electronic Engineering

1992

Open University, Milton Keynes, UK                                                                            

Postgraduate Diploma in Computing        

Full member since 1988

Member of Institution of Engineering and Technology (MIET), UK

Oxford University, UK

  • Postgraduate Software Engineering Program

02/2006

Concurrency and Distributed Systems

06/2006

Software Engineering Mathematics

08/2006

Performance Modelling

10/2006

Specification and Design

07/2008

Massachusetts Institute of Technology, USA               

  • Multi Core Programming                                                                 

Taught by Maurice Herlihy and Nir Shavit covering all chapters of their book ?The Art of Multiprocessor Programming?

      

   

Kompetenzen

Kompetenzen

Top-Skills

C++ Linux Embedded

Produkte / Standards / Erfahrungen / Methoden

IDE:

VisualAge for Java, Borland C++ Builder, Visual Basic, VC++, SNIFF++, Eclipse

 

Protocols:

DKZN-1, 1TR6, ICNS, QSIG, CMIP, CMIS, V5.2, WAP, HTTP, FIX

Methodologies:

Object Oriented Analysis & Design (OOA, OOD), RTSASD, Shlaer Mellor OOA, OMT, SDL, SADT, Octopus, UML

 

Emulators:

INTEL ICE, visionICE, JTAG, XRAY, KONTRON 68000, Hitex 80C186, Microtek 80C186, Softprobe II , Lauterbach

CASE Tools:

Enterprise Architect, ObjectTeam, Teamwork, Nokia?s KISS, Kennedy-Carter IOOA, Rational Rose, Rhapsody for C++

 

Source Code Control:

Clearcase, Continuus, PCVS, Perforce, Sablime, Sourcesave, Subversion, Synergy

 

Betriebssysteme

UNIX (Solaris, Linux, Chorus, HP-UX), Red Hat Linux, SuSE Linux, VxWorks, MTOS, ENEA OSE

Programmiersprachen

C, C++, VC++, Java, Coral, PLM, CHILL, GDMO, ASN1, Visual Basic, awk, Perl, Python, Ruby

Datenbanken

SQLServer, Oracle, SYBASE, ObjectStore, MySQL, BerkeleyDB

Datenkommunikation

ATM
CORBA
Ethernet
HDLC
ISDN
ISO/OSI
RPC
Voice

Hardware

Digital
Emulatoren
HP
IBM Großrechner
Motorola
PC
SUN
VAX

Branchen

Branchen

  • Automation
  • Clearance Banking
  • Investment Banking
  • Stock Exchange 
  • Telecommunications

Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das GULP Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.