Staying strong, the " Heroes of Java " series reaches the 18th edition. This time it is about Çağatay Çivici who is the inventor and lead developer of my favorite JSF component library Primefaces.is a member of JavaServer Faces Expert Group, the founder and project lead of popular PrimeFaces Component Suite and PMC member of open source JSF implementation Apache MyFaces. He’s a recognized speaker in international conferences such as JavaOne, SpringOne, JAX, Jazoon, Confess, JSFSummit and many local events such as JUGs. Cagatay is also an author and technical reviewer of couple of books regarding web application development with Java and JSF. As an experienced trainer, he has trained over 300 developers on Java EE technologies mainly JSF, Spring, EJB 3.x and JPA. Cagatay is currently working as a consultant, mentor and instructor for Prime Teknoloji in Turkey.I'm Çağatay Çivici, the founder and lead developer of PrimeFaces, expert group member of JSF 2.x Specification and PMC member of Apache MyFaces. I'm the co-founder of Prime Teknoloji, a company specialized in Java EE and Agile Mentoring. I'm a regular speaker in Java Conferences where I really enjoy meeting-reuniting people face to face on my social network all around the world at one place.I like having various titles that I can use for different cases such as co-founder on my office id card, principal consultant when I do consulting and CEO when I want it to sound cool.My colleagues and PrimeFaces users call me Optimus Prime though.Not really, as you can see from my previous post. I especially do not care about employee title hierarchy in big corporates.Never spent time to understand those.I'm a native Turkish speaker and I also speak English fluently. I lived in London for 2 years which helped me to learn how to deal with various accents. Nowadays I'm self learning Spanish.When I woke up with an idea, there is no bootstrap, I go straight to my laptop and start coding. For a regular day I start with a coffee with milk followed by tea afternoon.I'm an NBA fan since my childhood and during season I start the day with watching NBA highlights.After that I check my emails, do quick replies if applies and organize some to reply later.I then check PrimeFaces forum, twitter, facebook group to see what community is up to before beginning to work.To keep my focus, I shut down any kind of notification during working like mail, twitter and anything else that changes the state of my screen automatically.Main reason is PR for work [ @cagataycivici ]. Most of my tweets are about PrimeFaces, well, @primefaces also has an official account but I tweet things that can be considered as "under the hood" activity.I also use "PrimeFaces" search a lot to get the feedback from twitter users about PrimeFaces.My friends and my colleagues mostly to see how they are doing. I'm not really a good follower, usually I just tweet things and just have a quick look (not read) at people I follow.We've asked our employees not to tweet about our clients, it is not professional for business.I also follow the same policy, I believe twitter can have be dangerous if you don't know how to use it effectively. Reverting a bad tweet might not always work once it is out. I really think sometimes alter egos of people do the tweets.It is free will, almost everyone in our company has a twitter account for personal use.I use macbook pro for development and NetBeans as my IDE. I've been a NetBeans fan for a long time and have started good relations with NetBeans team after they bundled PrimeFaces in NetBeans. I use maven to build things and subversion/git for version control. I only start Windows as a VM for Internet Explorer testing. I also use development tools of browsers like firebug a lot as well.Regarding servers I have glassfish, tomcat and jetty. For the past years, I lean towards being a front end developer so I don't use heavy duty server side stuff for some time. I can't really remember the last time I've written a code to persist an object to a datastore however I've written javascript-css half an hour ago.NetBeans for sure, it has all the features I want from an IDE. For Java EE development, it is just great and productive. To build things I use maven, I'm still on 2, well it works so why change it :) Firebug is also great as I can do the front end visuals with it and then move it back to PrimeFaces Core.Chat. Our main office is in Istanbul and majority of our team is based there so for meetings and discussions I use IM tools. Sometime emailing works as well.For personal todo, I was writing things on a piece of paper for a long time, lately I got an ipad and using a couple of apps on that.For business, we are using JIRA internally in our company. For PrimeFaces todos, we use google code issue tracker, it is not excellent but does the job, no complaints.My wish already came true already, my favorite company is Prime Teknoloji and I enjoy being self-employed.It was the first language I've learned in university and there were and still are many java developer jobs all around the world. So my choice is not technical but mainly due to popularity of Java.Strongly typed nature, lack of modular programming and class reloading on runtime. Without using tools like jRebel and an effective development environment, working with java could be a pain.I'm a fan of javascript so would like to do things I can do in javascript such has passing any type of object to a method, adding removing properties easily. So basically any feature in Javascript that is not possible in Java.Javascript for sure, at my job, I code more javascript than java. With latest frameworks like jQuery, it is more fun than ever. I never had the chance/time to work with ruby, groovy or another language. Just played with them a bit but it is not enough to decide a favorite without going to real development.I'd say DRY and KISS. I usually don't care about DRY part initially and focus on KISS part to keep things simple. I think being simple is one of the reasons why PrimeFaces is so popular. After implementing the requirement, I do a couple of refactoring phases to apply DRY.When I was a junior developer, I worked for a giant government project. I quit after a year and not sure what happened to the project.Any bug in PrimeFaces is a big programming mistake for me and my team :)