Markus Winand's Blog

Skills and Experiences

The following is an excerpt of my recent experiences and skills.

You may also read some of my blog posts to get a better impression.

C/C++ CMMI DWH/OLAPHigh Availability Maintainability Metrics IBM MQ India ITIL Java KPI OLTP Oracle AQ Oracle DB OSS Performance Perl Processes Reliability Security SQL Test Automation UNIX

C/C++

I currently maintain some open source projects written in C (e.g., hatools) and C++ (ResourcePool).

During my early days (1995 – 2000) I have done excessive systems programming in C and collected quite a lot of practical experience that I can use every now and then. Recently I was able to fix a problem with the integration of a 3rd party C library into a tomcat based web service. The problem was related to the way the library used IPC (Inter Process Communication).

CMMI

I have had the “Introduction to Capability Maturity Model Integration (Staged and Continuous, V1.2)” in 2007. Since then I was involved in process alignment activities to reach the CMMI certification for the division I worked with.

DWH / OLAP

I was involved in a DWH offer based on Mondrian and Kettle. I have implemented an example cube and the required ETL scripts to demonstrate these products. The cube was a simplified version of the specified one and was filled with anonymized production data.

High Availability

Almost everything I did in the last years was intended for deployment in a HA environment. I have tested and debugged proprietary high availability solutions as well as some Open Source products (Tomcat, JBoss).

I have implemented Java software that works properly with an Oracle Parallel Server (OPS) and later Real Application Cluster (RAC) for maximum availability.

Back in 2000 I got certified as Sun Cluster 2.2 admin. Today I still maintain the hatools project that provides an open source re-implementation of the halockrun and hatimerun tools that are available in the Sun Cluster.

Maintainability

Maintainability is one of my primary domains. My business card provides the following definition:

The ease with which a software product can be modified
in order to correct defects and meet new requirements.

Please refer to my blog articles from the maintainability category.

Metrics (KPIs)

I have defined and implemented a Key Performance Indicator (KPI) based operational reporting for a client of the company I worked for. The KPIs covered the response time for a web application, the response time and error rates of various proprietary interfaces as well as some support process metrics.

I believe in the benefits of KPI based quality management but I am also aware of the dangers. KPIs can be read without detailed knowledge of its definition so that there is a high risk of misinterpretation.

IBM Websphere MQ

I have developed Java software to exchange messages with IBM Websphere MQ (previously MQ Series). My main focus was to ensure a reliable connectivity without the overhead of two-phase-commit (XA).

India

I have traveled several times to India for the projects I worked on. My last trip was in September 2009 to conduct acceptance tests.

I have experience to work with Indian outsourcing partners since 2001.

ITIL

I have passed the “ITIL V3 Foundation Exam” in 2008. Since then I was involved in the alignment of existing support processes. My most favorite task is to raise awareness for the difference between incidents and problems.

Java

I have worked as Java software developer from 2003 till 2007. Since then my focus moved on quality management but I was still able to join the development team occasionally, if needed.

I have more experience with “plain old java” than with EJB and related technologies and have debugged many thread and memory related problems in POJ.

Back in 2003 I wrote a paper to compare the C++ and Java resource management facilities.

OLTP

Most of my work was on OLTP (OnLine Transaction Processing) systems. There are some differences when working with OLTP or OLAP/DWH systems. Although I have collected some experiences with DWH my strongest skill is to get fast responses form a database in an online system.

Oracle Advanced Queues (AQ)

I have integrated Oracle Advanced Queues (on basis of Oracle 8i) into a Java framework. The very easy integration into conventional database transactions makes AQ to a perfect extension of the Oracle database.

Oracle Database

Since 1999 I have continuously used the Oracle database. I have great experience with performance tuning and high availability considerations.

Please refer to my Oracle related blog articles to get a better impression.

Free Open Source Software (FOSS)

I maintain a few Free Open Source Software packages and also enjoy using FOSS. Since Open Source does not mean “unsupported” I occasionally suggest well supported FOSS for commercial projects.

Performance

Performance is one of my primary domains. My business card provides the following definition:

Short response time for a given piece of work.
Low utilization of computing resources.

Please refer to my blog articles from the performance category.

Perl

I use the Perl programming language for many daily tasks. Almost every day I process some log files with some Perl scripts. I also maintain a few CPAN Perl Modules.

Processes

I have worked 7 years for banking related development companies. I am used to follow processes, have basic CMMI and ITIL certifications and was involved in a SAS70 project.

Reliability

Reliability is one of my primary domains. My business card provides the following definition:

The probability of failure free operation of a computer
program in a specified environment for a specified time.

Please refer to my blog articles from the reliability category.

Security

Security is the most important software quality aspect in the banking industry. I have worked in this industry for 7 year and got involved into several security audits during that period.

SQL

I have very strong SQL skills–especially for the Oracle database. Although my experience is more on the OLTP side I have strong skills with analytic functions.

Test Automation

Besides “traditional” unit tests, I have used OSS products like CruiseControl and Cobertura for continuous KPI based quality assurance.

UNIX

My first UNIX contact was in 1994. I use it professionally since then.

I have worked as UNIX system administrator a few years on Solaris, IBM, Linux, FreeBSD and a very little bit HP. I have administrated a Solaris Cluster in 2000 and a HACMP cluster in 2001.

I don’t offer system administration professionally but feel very safe and comfortable on UNIX systems.