lundak.org — Scrum • Java • Software • Craftsman You are here   Home   Projects   Curriculum Vitae   Thoughts   Downloads   About © 2007 Jiri Lundak

"Few things are impossible to diligence and skill. Great works are performed not by strength, but perseverance."
- Samuel Johnson (1709 - 1784)

Skills are acquired through training and hands-on experience. In a life as software engineer you never can stand still. You always try to perfect your skills. So what I state here is only a snapshot of my personal evolution, which is always in flux and will hopefully permanently change for the better (a printable version can be found here).

Project Management

As a Head of Development with Löwenfels Partner AG, Lucerne I am responsible for...

  • helping the company to adopt a development process that all parties support and live (this is currently Scrum).
  • serving as a contact to a key customer account.
  • supporting the development teams by removing obstacles.
  • making progress evident and problems immediately visible to upper management.
  • leading as a living example for the values I share.
  • facilitating the transition from a waterfall driven company to an agile one.
  • driving out fears that are obstacles to change.
  • co-defining the companies technical core architecture.

Prior to that I was working as a senior software engineer and project lead responsible for...

  • Technical coordination of a 5 man team (including 2 external experts) and the planning of the new catalog management solution OpenMedia (All releases from 1.0 to 2.5).
  • Requirements gatherung using Use Cases and release planning based on current project necessities.
  • Priorization of features and development tasks together with product management.
  • Project progress tracking comparing estimates with the actual time spend on tasks.
  • Project documentation and status reports.
  • Leading planning meetings and project post-mortem reviews.
Development Methodologies

Over the years I have seen a lot of approaches to software development come and go:

  • No process at all
  • Top-Down design
  • Waterfall-like processes
  • OOAD (RUP-like) with big upfront analysis and design using UML and Use Cases
  • eXtreme Programming
  • Currently my employer is transitioning to adopt agile practices (Scrum)...
  • I personally tend heavily to the agile movement
  • While creating the MetaworX application framework I try to go down the Test Driven Development lane, though this is not so easy, when you are refactoring an existing framework
  • I am a Certified ScrumMaster Practicing and participated in the first Scrum Gathering in 2004 in Vienna (Austria). You can find a picture of the class here
Programming Paradigms and Languages

I have seen many of them:

  • Structured and procedural programming (Pascal, COBOL, Modula, C)
  • 4th generation languages (Dataflex, Progress)
  • Scripting languages (JavaScript, Jython)
  • Currently I do object-oriented programming (Java), now in the 8th year.
  • Code Generation (having written one myself).
Persistence

The style of data storage has also changed over the years. I have worked with...

  • Flat files
  • ISAM files (KSAM on HP3000)
  • Network databases (IMAGE on HP3000)
  • Relational databases (non-SQL: Dataflex, Progress and SQL-based: Oracle, Progress, MS SQL-Server, MySQL).
  • XML files
  • Currently I use mainly Oracle, MS SQL Server and MySQL
  • O/R Mapping Tools: Cocobase, TopLink, Hibernate
Tools

They come and go faster than you can blink with an eye!

  • IDEs: from different editors (like EDIT/3000, IBM's PE2, vi, etc.) to full blown tools like Visual Studio, JBuilder, IBM VisualAge for Java to Eclipse and Altova XML Spy.
  • Design: From Visio to Rational Rose to Select Component Architect to (currently) Sparx Enterprise Architect.
  • Libraries and frameworks: XML parsers (Xerces, JDOM, dom4j, web frameworks (ASP, Servlets, Tapestry), RMI, Jini, JAI, Quest Software's JClass ServerChart, different JDBC-drivers, Swing
  • Office software: MS Office products, OpenOffice.
Technology Interests

There are some main areas I am interested in as software craftsman:

  • Agile project management and processes (especially Scrum and eXtreme Programming)
  • Distributed systems (Jini) and Service Oriented Architectures (SOA)
  • Framework development and object-oriented system architecture
  • Aspect Oriented Programming (AOP) and its impact on OO principles
Other Skills

Some other useful things...

  • I am fluent in German, English, Italien, Czech and also know some French
  • Since more 8 years I give once a week lessons in speaking in public
  • I give talks at conferences and publish articles
  • I have given several courses and workshops teaching software development skills, like an overview of the UML2 standard (you can download the presentation slides and the accompaining outline, sorry only in German).
Character

Traits you can observe, when you get to know me:

Positive

  • Searching to see the big picture
  • Always trying to look beyond my nose
  • Highly self-motivated
  • Love to work in a team
  • Pass skills on to others (teaching)
  • Able to take and give constructive criticism
  • Do not run from responsibility
  • Speak my mind
  • Open-minded and accessible

Negative (?)

  • Unable to hide my thoughts (not always the best to do, when working with other people, especially managers)
  • Strong direct communication (whether you like it or not)
  • Sometimes pedantic when it comes to code quality (my own and of others)
Beyond Professional Interests

Life does also consist of other pleasures...

  • My caring wife Maria and my lovely twin daughters Michelle and Vanessa
  • Astronomy
  • Reading (my wife says, whatever I get in my hands)
  • Playing Basketball
  • Italian (especially Sardinian) food and wine
  • A good relationship with God

I am currently reading...

  • The Infinite Book: A Short Guide to the Boundless, Timeless and Endless - John D. Barrow (for pleasure)
  • Collaboration Explained: Facilitation Skills for Software Project Leaders - Jean Tabaka (for work)
  • Coping with Chaos: Seven Simple Tools - Glenda H. Eoyang (for work)
  • Domain Driven Design: Tackling Complexity in the Heart of Software - Eric Evans (for work)

I am currently listening to...

  • The Allman Brothers Band: Live at Fillmore East
  • Tony Joe White: The Train I'm On
  • Various Artists: Nu Jazz