Sr. JAVA Developer
Our client is looking to hire for the below Contract-to-hire position.
Application Engineer – Cloud
We are creating a new Cloud experience for consumers and professionals that will change how people think about sharing information. As we are preparing to launch our first generation product, this is a great time for you to join us on a journey that will stretch your technical and leadership skills in an environment to grow as you learn and apply leading-edge technologies for a global business.
We are seeking an experienced Software Engineer with strong Java development skills and an ability to develop the server-side modules for a new global cloud platform. The Application Engineer will work with other engineers to implement specific requirements as well as make individual contributions. The best candidates will have experience with highly scalable N-tier application servers (i.e., GlassFish, Tomcat, JBoss, etc.) as well as Java framework technologies (i.e., JPA 2.0, JMX , and JMS 1.1., EJB 3.1) As part of the engineering team, you will have the opportunity to contribute in additional areas, based on need and level of interest.
*Qualified applicants must know Java and have experience with enterprise environments.
Skills & Requirements
- Provide input to the application development team to develop, test, and integrate code into application stack in alignment with best practices.
- Collaborate with the technical leaders in a team environment to design new components and methods.
- Implement Java server-side components.
- Ensure that the application stack has unit tests for each software element.
- Create engineering design documentation.
- Able to perform application level debugging for issues – using tools such as Eclipse, analyzing log files, and observing symptoms for issues.
- Learn new technologies, based on team needs.
- Identify areas for making additional contributions to the team, taking initiative to improve.
- Bachelor’s degree in Computer Science, or equivalent experience.
- 3-7 years experience in professional software development teams developing applications on Windows while deploying applications to a Unix environment (ie Linux, AIX, Solaris, etc).
- At least 5 years developing Java applications, preferably using version 6 (1.6) or 7 (1.7).
- Java EE experience must include at least 2 years using Stateless session beans – including practical understanding of CDI.
- Strong Object Oriented Design (OOD) experience, including ability to clearly understand and/or convey ideas (eg verbal, written, & diagramming).
- Experience developing applications that access relational database management systems (RDBMS) – preferably MySQL.
- Strong knowledge of revision/version control tools (Subversion/SVN, CVS, RCS, GIT, etc)
- Strong understanding of software testing and debugging tools, practices, and methodologies.
- At least 2 years experience working with Java enterprise application server(s) such as Glassfish, JBoss, Websphere, or WebLogic.
- At least 2 years experience working with a Java framework technology (JPA, JMX, and JMS).
- Working understanding of project management, with at least 1 year experience using an Agile software development methodology.
- Strong written and verbal communication skills.
- Good teamwork skills and initiative to solve problems.
Ideal candidates will have:
- Intermediate (or greater) experience using Java EE 6 to create user application software with Eclipse (Indigo or Juno).
- Experience working with network communication protocols such as HTTP/HTTPS.
- Some experience with client-server enterprise application development for high volume traffic.
- Solid command-line experience with Linux (Redhat/RHEL, CentOS, etc.) at the command line level.
- Experience administering MySQL or other relational database management systems (RDBMS) including schema design, development, debug, and optimization.
- Experience using Hibernate or other database persistence framework.
- Glassfish 3.1.x experience (OpenSource version)
- Storage technology experience (NAS, SAN, etc.)
- Passion for developing high performance systems.
Preferred candidates will also have:
- Participation in an OpenSource community project.
- Network experience (LAN, WAN, etc.)
- Some experience using virtualization tools such as VirtualBox.
- Some experience using Gradle.