photo Curriculum Vitae
James Kanze

PERSONAL DETAILS


Date of birth: 6th July, 1948
Marital Status: married, three children
Nationality: American (wife Italian)
Address: 9 place Pierre Sémard
78210 St.-Cyr-l'École
France
Email: james.kanze@free.fr
Web address: gabisoft.free.fr
Telephone:
home: +33 (0)1 30 23 00 34
cellular: +33 (0)6 30 90 45 38
Languages:
English: read, write and speak fluently.
French: read, write and speak fluently.
German: read and speak fluently, write well.
Italian: speak fluently, read well.

PROFILE


James is a software developer with over 30 years experience. He is an internationally acclaimed expert in C++ and object oriented design, is highly proficient in Unix shell programming and Java, and is also familiar with technologies such as SQL and Corba. James is used to working on software which must run 24 hours a day, 7 days a week; he is thus very concerned with software engineering issues and writing software that is robust and maintainable. He has also worked in large teams, and understands the importance of communication and human relationships in software development.

James is a frequent and valued contributor to the various C++ newsgroups: comp.lang.c++.moderated and fr.comp.lang.c++, and occasionally de.comp.lang.iso-c++ and it.comp.lang.c++. He has published several articles, and has been cited in various articles and books by Herb Sutter and Scott Meyers. He has also participated in the C++ standardization effort,

TECHNICAL SKILLS


Design methodologies: UML
Programming languages: C++, Java, Unix shell script, SQL (Sybase, Oracle)
Documentation tools: HTML, Rational Rose, TeX/LaTeX
Environments: Unix (principally Solaris and Linux), some Windows NT.
Other skills: UML, Design Patterns, Swing, various TCP/IP protocols, ASN.1, Clearcase, lex and yacc (and compatibles)

EXPERIENCE


June 2002–present: Calyon (CAI) Cheuvreux
Environment: C++, Unix (Solaris, Linux), SQL (Sybase), UML, some lex and yacc
Activities: Maintenance and extensions to trading station software, maintenance and implementation of various trading automata. Maintenance and various developments on a system for tracking orders on international stock markets, including e.g. the implementation of transaction integrity, a script based client simulator and some work on a system for dispatching up-to-date market quotes based on shared memory.
July 2001–March 2002: T-Mobil
Environment: C++, Unix (Solaris), SQL (Oracle), Rational Rose, UML
Activities: Redesign and development of the dynamic IP address allocation for WAP manager. Implemented low level protocol (RADIUS), improved performance by means of grouping several requests into one transaction.
Nov., 1998–June 2001: Dresdner Bank
Environment: Java (Swing), XML, Windows NT, AIX, UML
Activities: Design and development of an information system, using Java for both client and server, with COBOL on the host system, communications via RMI. Mainly responsible for the client-server communications, the GUI framework (extensive use of Swing), configuration (using XML and a custom class loader) and thread safety issues.
Nov., 1997–Oct., 1998: IBM Germany
Environment: C++, Java, Windows NT, AIX, Visigenics CORBA, Oracle, MS-Word, Rational Rose, UML
Activities: Development of a programming framework for a CORBA and Oracle based applicaiton, including the programming guidelines for both C++ and Java, the evaluation of class libraries, the definition of trace tools, the definition of memory management conventions (including the interface with the memory management of CORBA and the mapping OO-Oracle).
Dec., 1997–Jan., 1998: Direction Générale de l'Armement
Environment: C++, Solaris, LaTeX
Activities: Review of code and development process of a programming framework for image processing, written in C++. Definition of the requirements for passing from an experimental stage to an industrial stage with regards to the software development process.
Oct., 1996–Aug., 1997: Alcatel-Alsthom Research
Environment: C++, Solaris, Booch, Rational Rose, LaTeX
Activities: Design of the system architechture for a telephone network management system. Design and realization of a data cache for MIB objects.
Mar., 1995–Oct., 1996: Alcatel SEL
Environment: C++, SunOS, Unix System V on Motorola 8800, Rational Rose, Booch, LaTeX, Clearcase.
Activities: Design and realization of installation software for new telephone network management products. This software read the existing hardware configuration from low level processes and built a persistent configuration file so that when the new software started, it would take over the existing configuration. I then modified this software to rebuild corrupt configuration files. Design and realization of software to update persist configuration files to new formats; this software was designed to be easily adaptable to the updating of the configuration files of different products.
June, 1993–Oct., 1996: Alcatel SEL
Environment: C++, Unix (SunOS), ASN.1, Clearcase
Activities: Design of an "adaptable" cross-connect management program. Extended use of reusable software components and automatically generated code to reduce the development time of specific information models by an order of magnitude. First as team member, from March, 1995, intermittent consulting.
June, 1992–Oct., 1996: Alcatel SEL
Environment: C++, Clearcase (at the end)
Activities: Process consultant for C++ program development, in connection with the evolution of the customer from SEI level 1 to level 2. Definition of coding and design standars, file organization, source code control systems, etc. Definition of code review procedure. Compiler evaluation.
Dec., 1995–Jan., 1996: private
Environment: Unix shell scripts
Activities: Realization of moderation software for comp.lang.c++.moderated, a set of highly configurable shell scripts which analyzed the information in the various headers of a submitted article in order to ventilate the postings to the moderators, inject the approved articles into news, etc.
Mar., 1992–June, 1993: Alcatel SEL
Environment: Booch, Interleaf, C++, SunOS and Unix System V on Motorola 68000/88000
Activities: Development of an information modeling software for a digital cross-connect, according to the latest CCITT standards. Consultant on the project for numerous technical problems: the elimination of memory leaks, algorithmic optimizations, etc.
Dec., 1991–Jan. 1992: MAS
Environment: ASM-86, C, MS-DOS
Activities: Development of a co-process environment for extended memory under MS_DOS.
April, 1988–May, 1991 Siemens
Environment: C, lex, yacc, Unix (Siemens)
Activities: Specification, design and realization of the first stage of a Basic compiler. (More that 18000 lines of code in a man-year.) Specification and project lead for the runtime library for this compiler.
Aug., 1987–Sept., 1987 Siemens
Environment: C, Unix (Siemens)
Activities: Design and realization of a communications interface between a Unix processor and a digital PABX.
June, 1997–Dec., 1987 Siemens
Environment: C, Unix (Siemens)
Activities: Reimplementation of the symbol table management in a BASIC interpreter, for an acceleration of interpreted programs by a factor of three. (Roughly 10000 lines of code in 5 man-months.)
Mar., 1985–Sept., 1986 Siemens
Environment: C, Unix (Siemens)
Activities: Port of a BASIC interpreter to two UNIX systems, with important speed improvements and the correction of several hundred errors.
Dec., 1983–Mar., 1985 Siemens
Environment: Assembler, Pascal
Activities: Various real-time applications on Z80.
June, 1982–Dec., 1983 Siemens
Environment: ASM 86, C, MS-DOS, CP/M 86
Activities: System software (BIOS, debugger, IBM 3270 emulator, system library for C compiler) for personal computer.
Sept., 1981–June, 1982 Kontron
Activities: Software technical support engineer.
Feb., 1979–Sept., 1981 Duval, Moreillon et Assc.
Activities: Consultant for software development on Intel microprocessors:
  • Design and realization of a real-time kernel for 8086.
  • Realization of numerous real-time applications on 8085 and 8086.
  • Customer training under contract with Intel France (8085, 8086).
Feb., 1978–Feb., 1979 Perkin-Elmer, France
Activities: Technical support for the Fortran compiler and the operating system. Realization of various custom peripheral drivers.
June, 1976–Feb., 1978 Steria
Activities: Process control and graphics systems.
June, 1974–June, 1976 SFENA/DSI
Activities: Technical support for the field service of intelligent terminals (IBM terminal emulators).
Mar., 1973–June, 1974 LogAbax
Activities: Realization of test software for small office computers and terminals.

EDUCATION


1962–1966 Zion-Benton Twp. H.S. (Zion, Il., U.S.A)
1966–1969 Georgia Institute of Technology (Atlanta, Ga., U.S.A.)
1972–1974 Conservatoire national des arts et métiers (Paris, France)