Java Software Engineer/ Java Software Developer

  • San Francisco, CA
  • Full-time

Company Description

Job Description



•             Become an expert in technical aspects of our products

•             Analyze high-level requirements and translate these to component level design to be used for architectural prescription, cost/benefit analysis, and concept development

•             Identify, define, and communicate design tradeoffs using a structured, detail oriented approach

•             Develop creative solutions and write technical design documents.

•             Provide work estimates for proposed projects

•             Guide other software engineers to design and implement well-integrated products

•             Cross-train developers on product features that are implemented

•             Perform hands-on software design and development in Java

•             Develop and execute unit tests for product components

•             Encourage innovation of process and creative development methodologies

•             Perform peer code reviews and provide feedback

•             Promote high quality, scalability, and timely completion of projects

•             Work with geographically distributed teams




  • BS or MS in Computer Science or equivalent degree
  • 3-6 years of software development experience

•             Development experience in an enterprise-class system with multi-tier architecture

•             Enthusiastic in solving interesting problems

•             Java server-side and UI development experience

•             Broad experience with various java development frameworks such as MVC, Struts and Spring

•             Broad experience with various J2EE containers such as Weblogic, Tomcat, JBOSS, etc.

•             Expert in J2EE APIs including EJBs, Servlets, JMS, JCA, JTA, Persistence/ORM, JSPs, JSTL, web services (SOAP and REST), XSD, JAXB, XSLT and JDBC

•             Experience implementing successful distributed, scalable, high-performance multi-threaded server applications

•             Understanding of web optimization techniques (server/client side caching, compression, etc.)

•             Solid understanding of web data formats (XML, JSON)

•             Experience with Javascript, TCP/IP and network programming.

•             Experience with Design patterns.

•             Experience with Hadoop and Hazelcast (or similar data grid technologies)

•             Knowledge of the implications of developing for high-availability clustered environments

•             SQL development experience.

•             Experience with XML related APIs including SAX and DOM parsers and XSLT

•             Experience with open source Java technologies including Ant,  JUnit,  Hudson, Jenkins, Maven.

•             Working knowledge of Linux and Windows

•             Strong speaking and writing skills

•             Comfortable working in a flexible Agile development environment.






Additional Information