Senior Software Engineer
Ingenuity Systems - Redwood City, CA

This job posting is no longer available on Ingenuity Systems. Find similar jobs:Senior Software Engineer jobs - Ingenuity Systems jobs

Senior Software Engineer –

req 120154

Ingenuity is a group of creative, energetic people helping life science researchers understand the biological mechanisms that cause human disease. Ingenuity’s industry-leading technology platform was built by our team of interdisciplinary, entrepreneurial researchers, scientists and engineers that are passionate about improving human health through the intelligent use of semantic technologies. We have used this technology to develop the industry-leading analytic platform for pathway analysis and systems biology research, and are now expanding to develop new solutions for the life sciences and healthcare markets. We are passionate about our users, our products, our technology, and our vision, and are looking for intelligent, talented and entrepreneurial developers who are eager to join our world-class team. Ingenuity is a professional work environment, valuing work life balance. We guarantee a response within 4 working days.


This challenging position will require a self-starter who can effectively work on multiple projects simultaneously, meet aggressive deadlines, and thrives in a dynamic environment. You will work closely with other software engineers, usability engineers, biologists, quality assurance engineers, marketers, and customers.

In this position you will work on maintaining a rich suite of software for knowledge acquisition, knowledge modeling, knowledge consistency, and knowledge workflow. You will work with the team in building the next generation of highly modernized flexible suite of the software and extending its capabilities.


Essential Functions:
  • Design and implement the Ingenuity development (knowledge) platform and distributed web applications using J2EE, Spring Framework, XML, Web Services, JMS, Servlets, JSP, and Hibernate
  • Design and implement Knowledge-Base persistence, Knowledge-Base server crash recovery, integration with external databases and other data sources, Knowledge-Base version management, logging and querying of Knowledge-Base concepts and edits, resolving concept references across Component Knowledge-Bases, etc.
  • Design and implement easy-to-use, high-performance, high-quality, hosted and enterprise web-applications
  • Design and implement development platform and complex applications with limited or no direct supervision
Marginal Functions:
  • This challenging position will require a self-starter who can effectively work on multiple projects simultaneously, meet aggressive deadlines, and who thrives in a dynamic environment. You can expect a high-profile position on a great team with many challenges and rewards
  • Flexible and works well as part of a fast-paced interdisciplinary product development team


  • Strong object-oriented analysis and design skills
  • Strong analytical skills and attention to detail
  • Proficient with physical and logical database design
  • Understands advanced relational database concepts
  • Good communication and personal skills: ability to interact and work well with members of other functional groups in a project team and a strong sense of project ownership
  • Knowledge of Scrum and XP methodologies
  • Apt learner of any new software technologies and can research a variety of third party solutions which might fit problems on hand
  • Visual design skills for web page design and layout a plus
  • Knowledge of database theory
  • Strong background in data structures and algorithms


  • 4+ years experience in OO analysis, design, and implementation.
  • 4+ years experience in server side Java development using J2EE technologies, Spring, XML, Web Services, JMS, JSP, JavaScript, CSS, AJAX
  • 2+ years experience with at least one relational database management system
  • Experience in interfacing with databases from Java (Hibernate / Java Persistence API, etc.)
  • 4+ years experience in industry-standard software development methodologies, e.g. use case-driven and test-driven iterative software
    development methodologies (RUP, XP)
  • 2+ years experience in XML technologies (Xerces, Xalan, XSLT, Xpath) and concepts (DOM & SAX)
  • 4+ years experience in debugging, code-reviewing, code-refactoring, performance tuning
  • 4+ years experience with a variety of OSs such as Windows, Solaris and Linux
  • Experience developing Web Services and REST-based communication interfaces a plus.
  • Specific familiarity with JUnit, JMock, Fitnesse is a plus.
  • Specific familiarity with JQuery is a plus


  • B.S. in Computer Science
  • Masters or Ph.D. in Computer Science

About this company
Ingenuity can be found at the crossroads of information technology and biology. The company provides software tools that researchers use in...