Markus is a Developer Advocate at Red Hat and focuses on JBoss Middleware. He is working with Java EE servers from different vendors since more than 14 years and talks about his favorite topics around Java EE on conferences all over the world. He has been a principle consultant and worked with different customers on all kinds of Java EE related applications and solutions. Beside that he has always been a prolific blogger, writer and tech editor for different Java EE related books. He is the Java Community leader of the German DOAG e.V. and it's representative on the iJUG e.V. As a Java Champion and former ACE Director he is well known in the community. Markus is a DZone MVB and is not an employee of DZone and has posted 179 posts at DZone. You can read more from them at their website. View Full User Profile

The Heroes of Java: Werner Keil

07.23.2012
| 3208 views |
  • submit to reddit

After a bit of silence I finally managed to continue my "Heroes of Java" interview series. The 16th edition is about Werner Keil.


Werner Keil has worked for more than 18 years as project manager, software architect, analyst and consultant on leading-edge technologies for Banking, Insurance, Telco/Mobile, Media and Public sector.
Among his earlier clients are Sony where Werner designed and implemented micro-format based tags for Sony Music.

 


He develops enterprise systems using Java, JEE, Oracle or IBM, does Web design and development using Adobe, Ajax/JavaScript or dynamic languages like Ruby, PHP, etc.
Besides work for major companies he runs his own creative, talent and consulting agency Creative Arts & Technologies. In his spare time, he runs and supports open-source projects, writes song lyrics, novels, screenplays and technical articles. He is committing member of the Eclipse Foundation and Java Community Process, including his role as JSR-275 Spec Lead and Executive Committee Member(SE/EE).

General part
Who are you?
I am Founder/Owner of a consultancy, Creative Arts & Technologies, Agile Coach, Java "Godfather" (founded or raised many Java projects and standard), Individual Executive Committee Member at JCP.org. Beside that I am involved in a couple of other Open Source communities like Eclipse, Apache, Java.net, Sourceforge or GitHub.

Your offical job title at your company?
Founder/Owner

Do you care about it?
I founded or helped found many projects and initiatives, so maybe the founder

Do you speak foreign languages? Which ones?
German, a little bit of French and some understanding of all languages derived from Latin (Italian, Spanish mostly)

How long is your daily "bootstrap" process? (Coffee, news, email)
News, Short Messages or email in most cases on a tablet. Coffee I save the office, unless I stay in a place (hotel, B&B) where it's ready before I leave

Twitter
You have a twitter handle? Why?
@wernerkeil It is a quick and often also direct way of communication. Some people or companies you also get attention there best;-)

Whom are you following in general?
Interesting people or accounts. Creative personalities or people I work with, mostly IT professionals

Do you have a personal "policy" for twitter?
Not really. I try to keep feeds by Android games or other channels away from it, funnel them e.g. into Facebook, but beside that I tweet both personal and professional.

Does your company restricts or encourages you with your twitter usage?
There were very few clients, especially in India (not that it would have increased their own productivity;-) who restricted it or preferred us to use Twitter only outside office hours. As it helps, e.g. to check with colleagues from a particular field very fast when you have a problem, most other clients these days tolerate or even appreciate it. Especially those clients and teams who really work in an Agile way, and not just claim to do so.

Work
What's your daily development setup? (OS/IDE/VC/other Tools)
Depends a lot on the project. Windows is usually the desktop OS, but some environments like the current one use it only to host a multitude of Virtual Linux instances. There tools are often console-based or plain text editors like VI or Emacs. When I develop Java in most cases an IDE is involved, either Eclipse or for tasks it's better suited NetBeans. Occasionally I use other IDEs like IntelliJ or JDeveloper, mostly if a team or work item prefers to use these.

Which is the tool providing most productivity to your work?
Hard to say, for the current requirement there are mostly Console based based Linux tools and programs. Too many to mention. The fact, that Eclipse makes products and tools feel familiar, even if you work with many different languages and environments is of course a benefit.

Your prefered way of interacting with co-workers?
If everybody is closely located, talking face to face is usually best. Otherwise some Instant Messenger, either internal or over the Internet (like Twitter, Google, MSN or Yahoo) works best. Email for longer conversations or if you need to attach more than an occasional image. I rarely use the phone, except for conference calls in some projects.

What's your favorite way of managing your todo's?
A Kanban board or tool

If you could make a wish for a job at your favorite company: What would that be?
Chief Architect, Evangelist or a role close to that. CTO maybe. The favorite company would probably a solid start-up either in a Social or Mobile business, or combination of both

Java
You're programming in Java. Why?
I got a bit sick of Microsoft languages and runtimes often behaving badly by turning my UI controls into a black or white rectangle. If just a single DLL had changed or similar configuration differences occured. Neither of these components were transparent or sources available. While not all of Java was when it came out, a much greater part of the system could be looked at and understood, how things work or why something doesn't. This way e.g. I managed to translate all of Swing into a Dozen languages, years before Sun did. Imagine that with most Microsoft solutions even today.

What's least fun with Java?
Boiler-plate code can be tedious to write, when you may just need a rather simple Business task. Lack of modularity and related classpath issues is probably worse.

If you could change one thing with Java, what would that be?
The classpath system I'd say, see above. There are more sometimes smaller things, but thanks to the JCP I already am involved in some changes.

What's your personal favorite in dynamic languages?
Fantom. Though it may be lesser known than e.g. Scala, it got some of the basic principles you need more often than you think like Date, Time or ther Measurement Units better supported than Java. Makes it a more Functional language. The only equivalent case would be F#, but Fantom is also among the few languages running either on the JVM or .NET CLR.

Which programming technique has moved you forwards most and why?
XTreme Programming, ideally going hand in hand with sufficient amount of Unit Tests written. There are a number of Java Enterprise Design Patterns like "Value List Handler" just to name one example, I applied and created frameworks for prior to it being named and identified by Sun or other industry players.

What was the biggest project you've ever worked on?
There were a few. DeutschePostWorldNet could be among the biggest in range and the people it reached. It also indirectly helped shape some Java standards like JSR-170 straight from our team of BEA, Day and Individual Consultants like myself. Nokia, part of Ovi probably another good example. The largest team in one place was I guess a bank that no longer exists by that name. We had up to 100 people in a single Stand-Up(!) far too many, but the Scrum Master managed that better than other projects I saw since then with 1/3 or less people;-D

Which was the worst programming mistake you did?
I was involved in writing an Application Server based on EJB 1 EntityBeans a long time ago. While it provided a lot of insight into e.g. the first version of JBoss ever written in the making, it went along a different path, involving a few Antipatterns those who defined the requirements demanded. I left the project eventually. And heard to little surprise, it took them at least 12x more time to write. And users 4-6x more memory on each client to run.
Published at DZone with permission of Markus Eisele, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)