The " Heroes of Java " series continues. Interview 17 came a long way from the tropical island of Curaçao. Bauke took the time to answer my questions and I am happy to have him joining the series!is more commonly known under his nickname "BalusC". With nearly 12k answers on stackoverflow.com and a quite impressive contribution to the JSF community whenever possible. Born and raised in the Netherlands he migrated to Curaçao in 2007. He is the prototype of the "Web Application Specialist" I love to work with. Highly engaged, committed to his technology and giving back to the community!I am a deaf Java EE web developer who lives on the tropical island of Curaçao. I work currently almost 2 years as a freelancer for the affiliate marketing network zanox-M4N. I am by my nickname "BalusC" also pretty well known in the JSF world thanks to my Java EE / JSF blog at balusc.blogspot.com, my answers at stackoverflow.com and since recently also the JSF utility library OmniFaces.The current contract just generically states "Software developer" along with the detail "Programming in Java EE in the M4N software system". I am mainly the web/UI guy of the M4N development team and I am mostly involved in Java EE "web profile" (read: JSF) and/or HTML/CSS/JS matters which are complex and/or needs to be solved quickly.I don't care about job titles in general.Yes, although "speaking" has a different meaning to me. I am deaf born in the Netherlands and raised with Dutch Sign Language as native tongue. I can read and write Dutch and English pretty fluently (Dutch better than English). I can read and write German and Papiamentu sufficiently. I can read/guess Spanish and Portuguese somewhat as Papiamentu is derived from them. I can speak phonetic languages like Dutch, German and Papiamentu somewhat understandable, but I cannot speak non-phonetic languages like English, at least not understandable enough (I don't hear myself speaking, so it's hard to correct myself, let alone based on how someone else is trying to correct me), so I tend to restrict to reading/writing in those languages.It depends. It can be only 1 minute, but it can also take up to 2 hours. I work at home, so I can after the wakeup easily go straight from bed to the computer and immediately start with my job. I drink at least 2 cups of Nespresso coffee daily, sometimes more, depending on how much I need to code. I am not really a news reader, I mostly learn new things from reading/answering stackoverflow.com questions. Email is mostly just job related. Very sometimes, especially if I need to clean my mind before starting my job for some reason, I maintain the garden first (which is a little 500m2).No, because I don't care about it. I however noticed that someone hijacked my nickname "balusc" on Twitter some time ago, but that's definitely not me. I do however have a Facebook profile where I usually only add people who I also really know in real life and I ignore others. I have also a Google+ profile where everyone can put me in a circle, but I use it rarely. I am not exactly socially inclined anyway.Windows 7 x64, Eclipse for Java EE, Mercurial and Git, PostgreSQL and MySQL, Trac and JIRA.JRebel plugin in Eclipse.Chat and/or email. There are basically no other ways as I work alone at home and my colleagues are in the Netherlands and other parts of the world (Germany, India, China, etc).Issue tickets (Trac, JIRA, etc).It really doesn't matter as long as I can just telecommute from home and can participate in a team of great software developers and get paid well enough for challenging Java EE / JSF related projects.Actually, it wasn't my choice, it was IBM's choice. I was initially a REXX developer with some PHP experiences and around 2003 IBM decided to switch to Java in our department, so everyone got courses on that. As of now, I'm very happy to have learnt Java at IBM, it's after all a brilliant software platform, certainly since the open-sourcing.I think the learning curve should not be underestimated, certainly not if you were initially familiar with procedural languages like REXX and PHP. The SCJP is a great course, but it doesn't cover "best practices". I was in the beginning almost constantly looking for "best practices" and they are hard to find for Java in general, also for Java EE. You'd definitely need to build some years of solid experience first. My blog was initially also less or more kind of a collection of those "best practices" which I found so that I can spread the knowledge into the world wide web (which was also greatly appreciated, after all).Support for lambda expressions (closures) in Java, but that's already planned for Java 8. No other things comes to mind, Java as language is in general just fine to me, although I sometimes rant at Generics in case of complex polymorphism situations where Generics is also involved.As far as my experience with dynamic languages reaches, that'll be JavaScript. I also work almost daily with it anyway. I am also familiar with PHP, but I don't like it. I have ever been through a basic tutorial of Ruby and Groovy, but for some reason they didn't really attract me enough to continue with them. The only thing which was really interesting in those languages was closures.DRY and KISS, because they easily forces you to properly separate the concerns which is pretty important in object oriented programming.As to existing projects, that'll be at IBM; the employee database at IBM and the whole J2EE web application on top of it for Human Resources which I partially worked on between 2004 and 2005 was really _huge_. As to new projects, that'll be at Vicksburg; between 2006 and 2008 we spent over 2 years on developing new web sites and web services for RDC (rdc.nl) in J2EE/JSF/JAX-RPC. That was also my first encounter with JSF and I became really quickly a JSF expert in the team and I continued polishing my JSF skills on a daily basis until the day of today.I honestly can't think of any serious one when it comes to Java, they are usually not that major and don't reach production stage at all. Like as every other starter in Java I have during my early Java ages of course made some conceptual mistakes like as declaring a SimpleDateFormat as a static variable without realizing that it's inherently not threadsafe at all, but I wouldn't consider any of them being "the worst mistake". When it comes to other languages, then it'll definitely be the fact that I have learned about SQL database normalization too late and the hard way. After all, this is blamed to those poor quality PHP tutorials found on the Internet. Fortunately it was "just" a hobby project.