Java Developer - Technical Requirements
Requirements:
- BS, MS, or PhD in Computer Science or related technical discipline (or equivalent)
- A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design
- Extensive programming exposure/experience in Java (strong OO skills preferred). C++ Exposure and/or experience can be substituted
- At least 1 year of large scale and high volume software design and development experience
- Knowledge of Windows, UNIX or Linux Operating Systems
- Coding skills in JavaScript/AJAX, database design and SQL
- Knowledge of TCP/IP, HTTP and network programming are a plus
- Object Oriented Design Principles
- JDBC, ODBC and SQL
Additional Requirements:
- JavaScript and DOM API
- Understanding of Java Swing, AWT, or SWT helpful but not required
- Understanding of the Java Servlet API, Java Server Pages, Servlet Specification
- Understanding of and/or experience in Google Web Toolkit (GWT)
- Ajax experience including GWT. Knowledge of other Ajax and/or JavaScript API’s like DOJO, DWR, Script.aculo.us will be a plus
- Java Native Interface
- Web Services (SOAP, REST)
- Java EE and Enterprise Java Beans (EJB)
- JPA
- Remote Method Invocation (RMI)
- JSON/SONP
- Design Patterns
- Web Design using CSS and other design techniques
- Test Driven Development
Responsibilities:
- Write server-side code for web-based applications, create robust high-volume production applications, and develop prototypes quickly. You should also have a strong understanding of, and practical experience with, Java web application development
- Write database access software using any of the Java EE frameworks or using raw JDBC code
- Work with web designers to create web page layouts using CSS, HTML and other related technologies
- Write UI code using Java Swing/AWT/SWT or related UI frameworks
- Write AJAX code using GWT or other similar AJAX technologies
- Use JNI or other techniques to effect data interchange between Java and C/C++ or other languages
- Designing architectures for systems integration

