Senior Software Engineer

Lead the development of complex software applications that require high throughput, performance and memory intensive and computational solutions. Develop solutions for complex problems where analysis of situations or data requires evaluation of intangible variance factors. Lead multiple modeling, simulations, and analysis efforts. Utilize deep understanding of technologies and architecture, best practices and standards. Perform requirement gathering and prepare software specifications, design, and test case documents. Perform software designing, modeling, prototyping, testing and documenting based on system specifications and requirements. Lead the team in delivering the software solutions in a timely manner. Architect creative solutions. Work with the diverse sets of domains such as LIMS, Clinical Trials, microarray data analysis, proteomics, qualitative and quantitative modeling and analysis, motif analysis, EHR and Clinical Information sharing. Mentor and train other team members on technologies, frameworks and architectures, domain knowledge. Provide creative ideas and solutions to other product development teams. Use a variety of software tools, technologies and development methodologies such as JDK, J2EE technologies, Struts, Ajax, Hibernate, Spring Framework, JBPM, JBoss, Websphere, Oracle, MySQL and IBM DB2, XML/XSL technologies, webservices tools such as Axis2 or Apache CXF, Swing, SVG, SemanticWeb, and Lucene. The position also requires the use of standards and protocols such as HL7, SOAP, SSL and HTTPS; SOA and ESB architectures and tools; security standards and architectures; and UML modeling tools like Enterprise Architect or Rational Rose.