Curriculum Vitae

PDF version

Frederik
Vanderveken

Agile Solutions

Personal Details

Name

Frederik Vanderveken

Date of birth

17th May 1972

Address

Oudenaardsesteenweg 162, 8580 Avelgem West-Vlaanderen

Phone

+32 (0) 495.257.047

Email

Mother Tongue

Dutch

Other languages

English and French

Experience Summary

Technical Summary
Subject Type Context Years
UML (2.0) Modeling/Documentation Project +10
C, C++ Programming Language Project +15
C#, VB.NET Programming Language Project +10
Visual Basic Programming Language Project +5
T–SQL Programming Language Project +12
(X)HTML/JavaScript/Ajax Markup/scripting Language Project +3
COM (ActiveX) Technology/Library Project +10
.NET Technology/Library Project +6
ASP.NET Development Framework Project +2
MS SQL Server Relational database server Project +12
CouchDB Document database server Research 1
Visual Source Safe Version Control System Project +5
Subversion Version Control System Project +5
Windows CE Embedded Real Time Operating System Project +10
PLC Hardware & Software Industrial Automation Project +10
HMI/SCADA Industrial Automation Project +10
CodeSys Industrial Automation Project <1

Project Roles Summary
Role Years
Developer +15
Senior Developer +10
Software architect +12
Coach +10
Lead Developer +5
Project Planning +5
Technical Documentation +15
End user Documentation <1
End user training +3

Experience Details

Industrial Automation

August 2010 – ...

Various independent small scale industrial projects involving remote monitoring and control.

Project roles:

  • Analysis
  • Solution Proposals
  • Modeling
  • Hardware Selection
  • Software development
  • Documentation

Technical environment

Hardware:

  • WAGO–I/O–SYSTEM 750.
  • WAGO–I/O–SYSTEM 758.
  • Mitsubishi MELSEC FX series.
  • ...

Operating Systems:

  • Windows XP, Windows 7.
  • Windows 2008 Standard edition.
  • Embedded Linux.

Technologies:

  • .NET 3.5, .NET 4.0, COM.
  • Network programming (TCP–UDP/IP) in C, C++ and .NET.
  • RS232 and RS485.
  • CAN, Modbus, Modbus TCP/UDP.
  • SQL Server 2005, 2008.

Programming languages

  • C, C++, Managed C++, C#.
  • CodeSys
  • Progress.
  • T–SQL.

Project support tools

  • Star UML (UML tool).
  • MS Visio, Word, Excel.
  • MS Project.
  • Subversion (versioning tool).
  • NUnit (unit–testing).

Home Construction

September 2009 – June 2010

For economic and technical reasons, I decided to build parts of my home myself and assist in the parts I couldn't do myself.

The house has become a very low energy, wood skeleton house, in which I did the following things:

Project roles:

  • Research; how to build a house.
  • 3D visualization before construction.
  • Quality assurance.
  • Electrical System.
  • Ventilation System.
  • Insulation and Airtightness.

Atlas Copco

April 2001 – August 2009

I joined Engineering department at Atlas Copco Airpower, Oilfree Air Division, in 2001. The first two years as an employee of Amon Technologies and after the bankruptcy of that company in July 2003, as an independent external consultant.

Atlas Copco was building a central controller for their compressors, with energy savings as main purpose. ES 130

My initial role within this team was senior developer, responsible for the data management on the controller and data upload to a web application.

Over the years, this role expanded to lead developer and eventually software architect responsible for the architecture of their new controller, the ES 360

Overview of projects

ES 130

The ES 130 controls multiple compressors to achieve substantial power savings, better maintenance schedules and a thorough monitoring of a compressor room via the internet.

The development team consisted of 1 project manager, 2 senior software developers, 2 junior software developers, 4 support engineers. Development on the device was done using C and a limited version of C++ without C++ exception handling and initially no STL. Desktop development, web development, configuration and testing tools, were implemented using the .NET framework (1.1/2.0) using C# and Managed C++.

Technical environment

The hardware of the first controller:

  • 206 MHz Intel StrongARM SA–1110 processor.
  • 32MB SDRAM.
  • 128 Kbytes of EPROM.
  • 10 TTL Digital Software configurable Inputs/Outputs.
  • 6x Analogue Inputs (0–7.5V).
  • 2x COM ports.
  • 1x Intel 82527 CAN port.
  • 1x 10Mbps Ethernet port.
  • Windows CE 3.0 operating system.

The hardware of the second controller (as drop–in replacement):

  • Intel Celeron 400 MHz.
  • 128MB SDRAM.
  • 10 TTL Digital Software configurable Inputs/Outputs.
  • 6x Analogue Inputs (0–7.5V).
  • 2x COM ports.
  • 2x Philips SJA1000 CAN port.
  • 1x 10/100Mbps Ethernet port.
  • Windows CE 4.2 operating system.

Operating Systems:

  • Windows 2000, XP.
  • Windows 2003 Standard edition.
  • Windows CE 3.0, 4.x.

Technologies:

  • .NET 1.0, 1.1, 2.0, COM.
  • HTTP, XML, SOAP 1.1, Web services, ASP.NET.
  • Network programming (TCP–UDP/IP) in C, C++ and .NET.
  • RS232 and RS485.
  • CAN, Modbus.
  • SQL Server 2000, 2005.

Programming languages

  • C, C++, Managed C++, C#.
  • Visual Basic.NET, Visual Basic 6.0.
  • T–SQL.

Project support tools

  • Star UML (UML tool).
  • Enterprise Architect (UML tool).
  • MS Project.
  • Subversion (versioning tool).
  • NUnit (unit–testing).
  • Bugzilla (Bug tracking).

My contributions to the ES 130 project:

  • Introduced the waterfall development process.
  • Data management and upload to web application.
  • Created a test bed to test the upload, using a RAS server and an ASP.NET website. Functionality was continuously added to this website so that after some time, it was used as an internal monitor and control tool for monitoring and controlling test setups at customer locations from our offices.
  • Ported the application to the desktop. This allowed us to use better development tools (visual studio 2003), better debugging tools (WinDbg, NuMega,) and better testing tools.
  • Refactored the application to improve functionality separation, needed to implement new features and support unit testing.
  • Rewritten the device driver for the Intel 82527 CAN chip due to buffering issues with the original driver.
  • Rewritten the CAN Application Layer because of data refresh issues in the first version.
  • Implemented CAN over Ethernet.
  • Implemented Modbus I/O for 3rd party integration.
  • Implemented simple webserver, only HTTP GET functionality for 3rd party data requests.
  • Analyzed, implemented and tested different regulation modes (Forced Sequence, Equal Wear, Group Management).
  • Assisted in a lot of hardware trouble shooting.
  • Closely involved in improving the regulation algorithm, including many site visits.

ES 130 support projects

Several sub projects supported the main project

Atlas Copco technical reference database (ATR):

Analyzed and developed the database that contains performance data of all standard and custom compressors from Atlas Copco. This database is used by several applications within the divisions of Atlas Copco Airpower. Before this database was available, all performance data was kept in Excel and Word files or printed documents. The ES 130 and ES 360 use an extract of this database as input for their regulation algorithm.

Developed an input/viewer desktop application for this database using .NET 2.0 and VB.NET. The class library and data–access layer of this application were reused to develop a web service and a website for internal applications.

ES 130 installation wizard:

Analyzed and implemented a desktop application to commission compressor sites. Developed in VB.NET 1.1 and afterwards ported to C#.NET 2.0.

Compressor room simulator for ES 130:

This application was intended for internal use and can simulate a compressor room on a desktop. VB 6.0 was chosen because of the urgency and the fact that the developer was well acquainted with this programming language.

My main responsibility was to coach a junior developer in compressor–controller technology.

Implemented the different communication channels and protocols using C++, wrapped in a COM object for use in the VB 6.0 application:

  • CAN using IXXAT USB–to–CAN Interfaces.
  • CAN over UDP/IP.
  • Modbus over Ethernet.

Translated the mathematical models of different compressor types and air net to software using C++, wrapped in a COM object for use in the VB 6.0 application. Refactored the software on the device to be able to transparently switch communication channels and protocols.

ES 360

The ES 360 is implemented from the ground up with the knowledge and experience gained from the ES 130 project. Next to the ability to control more compressors, this controller can also control dryers, filters and valves. The regulation algorithm was reworked to take the new devices into account.

Development started in 2007, with a team of 20 persons, in which I was responsible for the software architecture of all involved applications:

Technical environment

The hardware of the controller:

  • Intel Celeron 600 MHz.
  • 256MB SDRAM.
  • Wago digital and analog IO over CANopen.
  • 2x COM ports.
  • 2x Philips SJA1000 CAN port.
  • 2x 10/100Mbps Ethernet port.
  • Windows CE 6.0 operating system.

Operating Systems:

  • Windows 2003, XP, Vista, Windows 7.
  • Windows CE 6.0.

Technologies:

  • .NET 3.5.
  • HTTP, XML, SOAP 1.1, Web services, ASP.NET, LINQ.
  • Network programming (TCP–UDP/IP) in C, C++ and .NET.
  • RS232 and RS485.
  • CAN, Modbus.
  • SQL Server 2005.

Programming languages

  • C, C++, Managed C++, C#.
  • T–SQL.

Project support tools

  • Star UML (UML tool).
  • MS Project.
  • Subversion (versioning tool).
  • NUnit (unit–testing).
  • Bugzilla (Bug tracking).

My contributions to the ES 360 project:

  • Feasibility studies:
    • Performance
    • Structure
    • Minimum hardware capabilities
  • Development effort and time analysis to support project management using MS Project
  • Defining software development ground rules:
    • Source Control
    • Project folder layout
    • branching strategy
    • coding standards
  • Documentation of the main architectural components with UML and MS Word
  • Implementation of the core functionality of the framework wherein components can be loaded, started, stopped and unloaded.
  • Implementation of several components that run in the framework.
  • Creating templates for the components running inside the framework.
  • Coaching, code reviews.

I remained available for occasional bug fixes and feature requests for the applications of the previous version.

With source portability and reusability in mind, all platform dependencies were abstracted using C++ classes and many were compatible with the .NET library. (e.g.: threads, IO, data streaming, (de)serializers, formatters, encoding …).

AirExpert

AirExpert will be a simulation engine which can simulate every aspect of an air net in software, with varying degrees of accuracy, depending on the timescale in which the results are needed.

The first version will be used by Atlas Copco sales companies to support sales proposals for new and existing sites. It will reuse source code and components developed for the ES 360 project and integrate them into a desktop application. The user will be able to select a set of compressors and other air net related components, together with a flow profile (measured, adapted or generated). When the simulation is finished, a database will be available with the simulation data from which reports can be created in Excel, Word ….

I performed the feasibility study, the preliminary development effort and cost estimation.

Project support tools:

  • Star UML (UML tool)
  • MS Project
  • MS Word

Amon Technologies

November 1996 – August 2003

Project @ Amon Technologies: Trend Analysis Application

Position: Senior Developer

Implemented a trend analysis application for marketing purposes. This application enables sales representatives to make new proposals to customers for optimal usage of their compressed air solution.

Project roles:

  • Implementation
  • Testing
  • Technical Documentation

Technical environment

Operating Systems:

  • Windows 2000, XP.

Technologies:

  • COM.
  • SQL Server 2000.

Programming languages

  • Visual Basic 6.0.
  • T–SQL.

Project @ Amon Technologies: WAP version Remote Monitoring and Control

Position: Senior Developer

Implementation of a WAP version of a website for Remote Monitoring and Control over the internet, using the Mobile Internet Toolkit from Microsoft.

Project roles:

  • R&D.
  • Modeling.
  • Implementation.
  • Testing.
  • Technical Documentation.

Technical environment

Operating Systems:

  • Windows 2000.

Technologies:

  • .NET, ASP.NET.
  • Web services, XML.
  • Mobile Internet Toolkit.

Programming languages

  • C#

Project @ Amon Technologies: IIS 5.0 Authentication component

Position: Senior Developer

Implementation of a custom authentication scheme using an ISAPI extension and filter. This component enables impersonation of a Windows account without using the built–in authentication features of IIS and without cookies. The component can be used to port an internet application that uses certificates, to an intranet application that uses a simple logon webpage, without changing any of the underlying components.

Project roles:

  • Modeling.
  • Implementation.
  • Testing.
  • Technical Documentation.

Technical environment

Operating Systems:

  • Windows 2000.

Technologies:

  • COM, COM+, ISAPI, OLEDB.
  • ASP, HTML.
  • SQL Server 2000, IIS 5.0.

Programming languages

  • C++.
  • T–SQL.

Project @ Aquafin

Position: Software architect/Senior developer

Participated in the analysis, modeling and development and testing of a Laboratory Information Management System.

Project roles:

  • Analysis.
  • Modeling.
  • Implementation.
  • Testing.
  • Technical Documentation.

Technical environment

Operating Systems:

  • WindowsNT 4.0, 2000.

Technologies:

  • COM, COM+
  • SQL Server 2000.

Programming languages

  • C++.
  • Visual Basic 6.0.
  • T–SQL.

Project @ BT Products Antwerp

Position: Software architect/Senior developer

Implementation of an application that supports the end user in the complete cycle from sales proposal to actual delivery. This application can perform pre and post calculations of added features to standard forklifts. This includes: parts that need to be ordered from the mother company and from third party suppliers, calculation of labor costs and production planning. The application integrates with several other applications: an MRP system, Outlook, AutoCAD, MS Office. This was a single person project that used an iterative approach for development.

Project roles:

  • Analysis.
  • Modeling.
  • Implementation.
  • Testing.
  • Documentation.
  • Instructing end users.

Technical environment

Operating Systems:

  • WindowsNT 4.0, 2000, 98.

Technologies:

  • COM, COM+
  • SQL Server 2000.

Programming languages

  • C++.
  • Visual Basic 6.0.
  • T–SQL.

Project @ Amon Technologies: Flobots

Position: Developer

Participated in the development of several "flobots".

"Flobots" provide totally integrated workflow automation, document management and groupware solutions. Amon Technologies developed a series of flobots (workflow robots) as building blocks of its knowledge management framework.

Project roles:

  • Modeling.
  • Implementation.
  • Testing.
  • Documentation.

Technical environment

Operating Systems:

  • WindowsNT 4.0, 98.

Technologies:

  • COM, MTS
  • SQL Server 7.0.

Programming languages

  • C++.
  • Visual Basic 6.0.
  • T–SQL.
  • JavaScript.

Project @ Amon Technologies: NatStar NoGAP

Position: Developer

Participated in the product development of NoGAP. This product allows NatStar, a 4GL programming language, to use any COM component that exposes an automation interface as a native NCL class.

Project roles:

  • Modeling.
  • Implementation.
  • Testing.
  • Documentation.
  • Examples.

Technical environment

Operating Systems:

  • WindowsNT 4.0.

Technologies:

  • COM.
  • NatStar.

Programming languages

  • C++.
  • NCL (NatStars programming language).

JK Engineering

October 1990 – November 1996

HMI, SCADA and PLC development.

Application development in an engineering environment.

Development of HMI visualization and SCADA software, using Visual Basic 5.0 and Genesis from ICONICS.

Development of PLC programs for Télémecanique, SIEMENS and Mitsubishi PLCs.

Project roles:

  • Analysis.
  • Modeling.
  • Implementation.
  • Testing.
  • Documentation.

Technical environment

Operating Systems:

  • WindowsNT 4.0, 95, 3.11.
  • MS–DOS.

Technologies:

  • COM, OPC.

Programming languages

  • C++.
  • Visual Basic 5.0.
  • Melsec Medoc (Mitsubishi PLC programming software).
  • Step 5 (Siemens PLC programming software).
  • PL7–1 (Télémecanique PLC programming software).

Education

Date

1990

Name of organization

H.R.I.T.O. Deurne

Title

Higher technical education in electro/mechanics, A2

Date

1992

Name of organization

Technicum Antwerpen

Title

Higher technical education in Electronics, B1

Certifications

IT Skills Summary

Programming languages

C, C++, Managed C++, C#, Visual Basic 6.0, Visual Basic.NET, T–SQL, PLC programming languages (Melsec, Siemens S5, Télémecanique), CodeSys, NCL (NatStar programming language), basic assembly

Scripting and mark–up languages

JavaScript, VBScript, HTML, XML

Operating systems

Windows CE 3.0 → 6.5, Windows NT 4.0, Windows 2000 (client & server), Windows XP, Windows Vista, Windows Server 2003, Windows 7, Windows Server 2008 R2, Ubuntu Linux

Technologies

COM, OLE, ActiveX, COM+, MTS, .NET 1.0 → 3.5, LINQ, TCP/IP & UDP/IP (.NET and BSD), Serial Communications (RS232 RS485), Win32 API, ISAPI, ASP, ASP.NET, OLEDB, SOAP, Web services, CAN, Modbus, PLC hardware, HMI and SCADA (Iconics Genesis32), OPC, Hyper–V

Libraries and components

ATL, WTL, STL, ADO, ADO.NET, LINQ, CDO, WCF, SQLCE, SQLite

Application Servers

COM+, SQL Server 6.0 → 2008 R2, IIS 5.0 → 7.0, MSMQ, Exchange Server 2007 & 2010, Apache 2.2, Team Foundation Server 2008 & 2010, CouchDB

Applications

Star UML, Enterprise Architect, MS Project, Subversion, TortoiseSVN, NUnit, Bugzilla, SysInternal tools, Wireshark, Debugging Tools for Windows (WinDbg, Application Verifier, Global Flags, DebugDiag, ...), MS Access, MS Excel, MS Word, MS PowerPoint

Development methodologies

Iterative Waterfall, SCRUM