Tuesday, April 27, 2010

We are Looking for Java/J2EE Developers and a Technology Team Leader

If you're a talented programmer and/or team leader living in the NYC metro area looking to work for a cool up-and-coming company where the sky is the limit, we want to hear from you!

Required Experience:

  • at least 6 years Java development experience in a team environment
  • team leadership experience
  • experience with J2EE and either Servlets or JSPs, the more the better
  • developed at least one multi-tier application that connects to a relational DB using JDBC
  • experience using an IDE (ideally Eclipse, but IntelliJ or other is fine)
  • at least basic comfort working with HTML/CSS
  • comfortable working as a user on both Windows XP and at least one linux distribution or unix OS
  • 4-year computer science bachelors degree, or equivalent
  • experience using a source-code-control tool (CVS, SVN, etc.)
  • strong oral and written communication skills
  • experience with a widely-used relational database, and comfort writing SQL queries by hand (ideally MySQL, but PostgreSQL, Oracle, SQL Server also ok)



Desired Experience (the more the better):

  • J2EE application servers (especially Tomcat, JBoss) and EJBs
  • core java (multi-threading, performance analysis/optimization, JVM configuration)
  • messaging systems and SOA architectures (TCP/IP-level protocols, web services)
  • design patterns for OO development
  • comfort with UML and/or ability to write and understand high-level software design documents
  • experience with the MVC architectural pattern and at least one Java-based MVC framework (Struts, Spring, etc.)
  • an object-data binding framework for Java (Hibernate, JDO, etc.)
  • sysadmin experience on a linux distribution or other unix OS
  • general networking experience
  • experience with production web application environments and web servers, especially Apache
  • javascript experience, particularly experience with AJAX toolkits
  • experience supporting a live web application in production



No recruiters - we already work with ones we want to work with. I repeat no recruiters or head-hunters etc. Only candidates should respond.

Please send a cover letter, resume and approximate desired salary to: careers@traveltripper.com

For more info on the company and the position, see the full job posting here:
http://www.meetup.com/ny-tech/messages/boards/thread/9017120/#35357662

Friday, April 16, 2010

Generics in UiBinder



Generics!

One of the most exciting things about GWT is that you get to use Java. And one of the most exciting things about Java is that you get to use Generics.

 




UiBinder!

Another great thing about GWT is the UiBinder, a tool that makes it really easy to create and (most importantly) modify and maintain ui layouts.

 




For a long time, though, I was stuck, because I was creating a bunch of fancy UI widgets that used Generics, but I didn't know how to specify them in my .ui.xml files.

There wasn't any mention of generics in the official google ui:binder tutorial, so I just sort of assumed it was impossible. As a workaround, I created <g:SimplePanel> instances in the .ui.xml files, and then filled them dynamically in the corresponding java files when calling createAndBindUi().

The other day, though, I was surfing through our app's DOM via Firebug (thank you OOPHM!) and I was getting a little annoyed at all the extra DIVs that were being created due to the wrapping SimplePanel instances.

So I looked a little deeper and I found a hit on the "google-web-toolkit" google code page entitled GWT UIBinder Use Cases.



Comment by rjrjr@google.com, Dec 13, 2009

@johan.rydberg, generics support is anemic, trying only not to break things. You can't specify generics in your ui.xml file, and you'll need to instantiate your Table in your owner class.

I'm pretty sure this should work (making some presumptions about your typed Table class):

 ui:field='rowTypeTable' />
@UiField(provided = true)

final Table<RowType> rowTypeTable = new Table<RowType>() {}




Very happily, I don't have a single thing to add here, the solution above works perfectly, no modifications needed.

Probably would be a good addition to the UiBinder tutorial page on the gwt homepage, but in the meantime, I figure putting it up here might help others who hit this same problem.